<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>기차 타는 사람들</title>
	<atom:link href="https://krailroad.co.kr/feed/" rel="self" type="application/rss+xml" />
	<link>https://krailroad.co.kr</link>
	<description>레일 위에서 만나는 세상, 가장 빠르고 정확한 기차여행 정보와 팁</description>
	<lastBuildDate>Tue, 12 May 2026 06:46:26 +0000</lastBuildDate>
	<language>ko-KR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://krailroad.co.kr/wp-content/uploads/2025/10/cropped-기차-타는-사람들-32x32.png</url>
	<title>기차 타는 사람들</title>
	<link>https://krailroad.co.kr</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>청량리역 기차 시간표 KTX ITX-마음 무궁화호 전체 노선 완벽정리</title>
		<link>https://krailroad.co.kr/%ec%b2%ad%eb%9f%89%eb%a6%ac%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%a0%84%ec%b2%b4-%eb%85%b8%ec%84%a0-%ec%99%84/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Tue, 12 May 2026 06:46:12 +0000</pubDate>
				<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[청량리역 기차 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=21020</guid>

					<description><![CDATA[청량리역 기차 시간표를 확인하며 여행을 시작하는 청량리역은 1911년부터 지금까지 100년 넘게 동북권 교통의 중심을 지켜왔습니다. 예전에는 춘천이나 안동으로 가는 정겨운 기차역의 대명사였다면, 이제는 강릉선·중앙선 KTX와 ITX-청춘, ITX-마음이 교차하는 초대형 철도 중심지로 멋지게 변신했습니다. 특히 최근에는 청량리역 기차 시간표를 통해 강원도와 경상도를 잇는 수많은 열차 정보를 한눈에 확인할 수 있어 여행객들에게 더욱 스마트한 안내자가 되어주고 있습니다. ... <a title="청량리역 기차 시간표 KTX ITX-마음 무궁화호 전체 노선 완벽정리" class="read-more button" href="https://krailroad.co.kr/%ec%b2%ad%eb%9f%89%eb%a6%ac%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%a0%84%ec%b2%b4-%eb%85%b8%ec%84%a0-%ec%99%84/" aria-label="청량리역 기차 시간표 KTX ITX-마음 무궁화호 전체 노선 완벽정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">청량리역 기차 시간표를 확인하며 여행을 시작하는 청량리역은 1911년부터 지금까지 100년 넘게 동북권 교통의 중심을 지켜왔습니다. 예전에는 춘천이나 <a href="https://krailroad.co.kr/%ec%95%88%eb%8f%99%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%a4%91%ec%95%99%ec%84%a0-%ec%9a%94/">안동</a>으로 가는 정겨운 기차역의 대명사였다면, 이제는 강릉선·중앙선 KTX와 ITX-청춘, ITX-마음이 교차하는 초대형 철도 중심지로 멋지게 변신했습니다. 특히 최근에는 청량리역 기차 시간표를 통해 강원도와 경상도를 잇는 수많은 열차 정보를 한눈에 확인할 수 있어 여행객들에게 더욱 스마트한 안내자가 되어주고 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">청량리역 기차 시간표 안내</h2>



<h3 class="wp-block-heading">실시간으로 확인 &#8216;나만의 열차&#8217;</h3>



<p class="wp-block-paragraph">청량리역 기차 시간표, 이제 단순히 나열된 숫자만 보지 마세요. 제가 만든 시스템은 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 자료와 공공데이터 실시간 API를 60초마다 실시간 데이터를 업데이트하여, 열차가 지금 어디쯤 오고 있는지 실시간으로 확인합니다. 강릉, 동해, 안동, 그리고 <a href="https://krailroad.co.kr/%eb%b6%80%ec%a0%84%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b2%ad%eb%9f%89%eb%a6%ac%c2%b7%ea%b0%95%eb%a6%89%c2%b7%ec%95%88%eb%8f%99%ed%96%89%ec%86%8d%ec%b4%88-%ed%8f%ac%ed%95%ad-%ec%a4%91/">부전역</a>으로 향하는 열차의 실제 운행 상황은 물론, 근처 주차장 요금과 버스로 갈아타려면 얼마나 기다려야 하는지도 한눈에 파악 할 수 있도록 제작하였으니 편리하게 이용 하실 수 있습니다.<br><br>1️⃣ <strong>귀로 듣는 안내 서비스</strong> : 카페에서 쉬거나 용무를 보느라 전광판을 놓치셨나요? 열차 들어오기 15분 전부터 자동으로 알려주는 음성 알림 서비스가 승강장으로 이동할 타이밍을 정확히 짚어 드립니다(아래 실시간 로직에 음성 안내를 켜 두시면 됩니다.).<br><br>2️⃣ <strong>날씨에 맞춘 추천 명소</strong> : 비가 오면 실내 식당가를, 맑은 날엔 산책하기 좋은 코스를 추천해 드려요. 날씨 변화 걱정 없이 청량리역 주변을 알차게 즐길 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">철도 교통의 중심</h3>



<p class="wp-block-paragraph">청량리역 기차 시간표를 이용한다면 강릉선 KTX 덕분에 강원도까지 가는 길을 획기적으로 줄여주었을 뿐만 아니라, 안동을 넘어 <a href="https://krailroad.co.kr/%eb%b6%80%ec%82%b0%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b5%9c%ec%8b%a0-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%9a%94%ea%b8%88-%eb%b0%8f-%ec%86%8c%ec%9a%94-%ec%8b%9c%ea%b0%84/">부산역</a>(부전역)까지 잇는 내륙 철도의 출발점 역할도 톡톡히 하고 있습니다. 빠른 고속열차도 많지만, 여전히 무궁화호 같은 일반 열차가 꾸준히 달리는 이유는 작은 간이역을 이용하는 분들의 소중한 발이 되어드리기 위해서입니다.</p>



<p class="wp-block-paragraph">1️⃣ <strong>아이와 함께라면?</strong> : 기차 타기 전후로 시간이 남는다면 근처 홍릉수목원이나 세종대왕기념관에 들러보세요. 아이들과 가벼운 학습 나들이를 즐기기에 안성맞춤입니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>앞으로가 더 기대되는 청량리역</strong> : 앞으로 GTX 노선이 들어서고 복합환승센터까지 완벽히 갖춰지면, 청량리역은 명실상부한 대한민국 철도 교통의 핵심 중 핵심이 될 전망입니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">청량리<strong>역 첫차 &amp; 막차 운행 정보</strong></h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">청량리<br>↓<br>서울</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">802호</span><div class="time-display">7:03</div><div class="arrival-info">7:23 도착</div></td><td><span class="train-detail">828호</span><div class="time-display">0:05</div><div class="arrival-info">0:25 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">청량리<br>↓<br>강릉</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">801호</span><div class="time-display">5:27</div><div class="arrival-info">7:03 도착</div></td><td><span class="train-detail">827호</span><div class="time-display">22:34</div><div class="arrival-info">0:05 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">청량리<br>↓<br>동해</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">841호</span><div class="time-display">7:05</div><div class="arrival-info">9:28 도착</div></td><td><span class="train-detail">849호</span><div class="time-display">20:11</div><div class="arrival-info">22:26 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="3" style="border-top:1px solid #ddd;">청량리<br>↓<br>제천</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">701호</span><div class="time-display">5:40</div><div class="arrival-info">6:47 도착</div></td><td><span class="train-detail">717호</span><div class="time-display">21:52</div><div class="arrival-info">23:06 도착</div></td></tr><tr><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1601호</span><div class="time-display">06:38</div><div class="arrival-info">08:14 도착</div></td><td><span class="train-detail">1613호</span><div class="time-display">17:38</div><div class="arrival-info">19:16 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1671호</span><div class="time-display">07:34</div><div class="arrival-info">09:31 도착</div></td><td><span class="train-detail">1661호</span><div class="time-display">22:00</div><div class="arrival-info">23:37 도착</div></td></tr><tr><td class="route-info" rowspan="3" style="border-top:1px solid #ddd;">청량리<br>↓<br>영주</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">701호</span><div class="time-display">5:40</div><div class="arrival-info">7:19 도착</div></td><td><span class="train-detail">717호</span><div class="time-display">21:52</div><div class="arrival-info">23:37 도착</div></td></tr><tr><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1601호</span><div class="time-display">06:38</div><div class="arrival-info">08:55 도착</div></td><td><span class="train-detail">1613호</span><div class="time-display">17:38</div><div class="arrival-info">19:56 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1661호</span><div class="time-display">22:00</div><div class="arrival-info">00:14 도착</div></td><td><span class="train-detail">1661호</span><div class="time-display">22:00</div><div class="arrival-info">00:14 도착</div></td></tr><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">청량리<br>↓<br>안동</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">701호</span><div class="time-display">5:40</div><div class="arrival-info">7:34 도착</div></td><td><span class="train-detail">717호</span><div class="time-display">21:52</div><div class="arrival-info">23:51 도착</div></td></tr><tr><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1601호</span><div class="time-display">06:38</div><div class="arrival-info">09:16 도착</div></td><td><span class="train-detail">1613호</span><div class="time-display">17:38</div><div class="arrival-info">20:15 도착</div></td></tr><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">청량리<br>↓<br>부전</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">701호</span><div class="time-display">5:40</div><div class="arrival-info">9:24 도착</div></td><td><span class="train-detail">715호</span><div class="time-display">19:00</div><div class="arrival-info">22:54 도착</div></td></tr><tr><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1601호</span><div class="time-display">06:38</div><div class="arrival-info">12:20 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">14:48</div><div class="arrival-info">20:28 도착</div></td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong><strong><strong><strong>청량리</strong></strong></strong>역 </strong>KTX-ITX 무궁화호 <strong>요금표</strong></h2>



<p class="wp-block-paragraph">👈 <strong><mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 스크롤하여 요금 확인</strong></mark></strong><br>💳 <a href="https://krailroad.co.kr/ktx-%EC%A0%84-%EB%85%B8%EC%84%A0-%EC%9A%94%EA%B8%88%ED%91%9C-%ED%95%9C%EB%88%88%EC%97%90-%EB%B3%B4%EA%B8%B0/" data-type="link" data-id="https://krailroad.co.kr/ktx-%EC%A0%84-%EB%85%B8%EC%84%A0-%EC%9A%94%EA%B8%88%ED%91%9C-%ED%95%9C%EB%88%88%EC%97%90-%EB%B3%B4%EA%B8%B0/">KTX 전체 요금표 한눈에 보기</a><br>🔎 <strong><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 요금 검색 바로가기</mark></a></strong></p>


<p style="text-align: right; font-size: small; color: #777; margin: 0;">최신 요금표 기준: 2026년 05월 24일</p><p style="text-align: right; font-size: small; color: #777; margin: 0;">(요금이 동일한 열차는 [무궁화·ITX·KTX] 3종으로 단순화)</p><div style="margin-top: 30px;"><div style="max-width: 100%; overflow-x: auto; margin: 20px 0;"><table class="train-table"><thead><tr><th>노선</th><th>종별</th><th>출발</th><th>도착</th><th>경유지</th><th>운임</th><th>일반</th><th>우등</th></tr></thead><tbody><tr><td>강릉K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">청량리</td><td>기본</td><td>0</td><td>8,400</td><td>11,400</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">청량리</td><td>기본</td><td>0</td><td>8,400</td><td>11,400</td></tr><tr><td>강릉K1</td><td>KTX</td><td class="highlight">청량리</td><td class="highlight">강릉</td><td>기본</td><td>0</td><td>26,000</td><td>31,200</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">동해</td><td>-</td><td>19,200</td><td>0</td><td>0</td></tr><tr><td>강릉K1</td><td>KTX</td><td class="highlight">청량리</td><td class="highlight">동해</td><td>기본</td><td>0</td><td>29,700</td><td>35,600</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">제천</td><td>-</td><td>9,200</td><td>0</td><td>0</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">제천</td><td>-</td><td>9,200</td><td>0</td><td>0</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">청량리</td><td class="highlight">제천</td><td>-</td><td>12,700</td><td>0</td><td>0</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">청량리</td><td class="highlight">제천</td><td>기본</td><td>0</td><td>15,400</td><td>18,500</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">영주</td><td>-</td><td>13,200</td><td>0</td><td>0</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">청량리</td><td class="highlight">영주</td><td>-</td><td>18,100</td><td>0</td><td>0</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">청량리</td><td class="highlight">영주</td><td>기본</td><td>0</td><td>23,300</td><td>28,000</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">안동</td><td>-</td><td>15,400</td><td>0</td><td>0</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">청량리</td><td class="highlight">안동</td><td>-</td><td>21,100</td><td>0</td><td>0</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">청량리</td><td class="highlight">안동</td><td>기본</td><td>0</td><td>27,700</td><td>33,200</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">부전</td><td>-</td><td>30,600</td><td>0</td><td>0</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">청량리</td><td class="highlight">부전</td><td>-</td><td>41,700</td><td>0</td><td>0</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">청량리</td><td class="highlight">부전</td><td>기본</td><td>0</td><td>55,400</td><td>66,500</td></tr></tbody></table></div></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading has-medium-font-size"><strong>청량리역 다른 열차 시간표</strong></h2>



<p class="wp-block-paragraph">✅ <a href="https://krailroad.co.kr/%ec%b2%ad%eb%9f%89%eb%a6%ac%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%a0%84%ec%b2%b4-%eb%85%b8%ec%84%a0-%ec%99%84/">청량리역 KTX 노선 바로가기</a><br>✅ <s>청량리역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%ec%b2%ad%eb%9f%89%eb%a6%ac%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%a0%84%ec%b2%b4-%eb%85%b8%ec%84%a0-%ec%99%84/">청량리역 ITX, 무궁화 시간표 바로가기</a></p>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>청량리역 KTX <strong><strong><strong>ITX 무궁화 </strong>시간표</strong></strong></strong></h2>



<h3 class="wp-block-heading">출발 : 청량리 → 도착 : 행신</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>청량리</th><th>서울</th><th>행신</th><th>비고</th></tr></thead><tbody><tr><td>826</td><td>KTX-이음</td><td>23:06</td><td>23:31</td><td>23:48</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 청량리 → 도착 : 서울</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>청량리</th><th>서울</th><th>비고</th></tr></thead><tbody><tr><td>802</td><td>KTX-이음</td><td>7:03</td><td>7:23</td><td>매일</td></tr><tr><td>804</td><td>KTX-이음</td><td>8:11</td><td>8:31</td><td>매일</td></tr><tr><td>806</td><td>KTX-이음</td><td>9:10</td><td>9:30</td><td>매일</td></tr><tr><td>840</td><td>KTX-이음</td><td>9:29</td><td>9:49</td><td>매일</td></tr><tr><td>808</td><td>KTX-이음</td><td>9:59</td><td>10:19</td><td>매일</td></tr><tr><td>810</td><td>KTX-이음</td><td>12:10</td><td>12:29</td><td>매일</td></tr><tr><td>812</td><td>KTX-이음</td><td>13:07</td><td>13:27</td><td>매일</td></tr><tr><td>814</td><td>KTX-이음</td><td>14:13</td><td>14:33</td><td>매일</td></tr><tr><td>844</td><td>KTX-이음</td><td>16:19</td><td>16:39</td><td>매일</td></tr><tr><td>816</td><td>KTX-이음</td><td>17:21</td><td>17:41</td><td>매일</td></tr><tr><td>818</td><td>KTX-이음</td><td>18:24</td><td>18:44</td><td>매일</td></tr><tr><td>820</td><td>KTX-이음</td><td>18:51</td><td>19:13</td><td>매일</td></tr><tr><td>822</td><td>KTX-이음</td><td>20:40</td><td>21:00</td><td>매일</td></tr><tr><td>846</td><td>KTX-이음</td><td>21:29</td><td>21:49</td><td>매일</td></tr><tr><td>824</td><td>KTX-이음</td><td>22:12</td><td>22:32</td><td>매일</td></tr><tr><td>826</td><td>KTX-이음</td><td>23:06</td><td>23:31</td><td>매일</td></tr><tr><td>848</td><td>KTX-이음</td><td>23:52</td><td>0:12</td><td>매일</td></tr><tr><td>828</td><td>KTX-이음</td><td>0:05</td><td>0:25</td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>청량리</th><th>서울</th><th>비고</th></tr></thead><tbody><tr><td>702</td><td>KTX-이음</td><td>8:11</td><td>8:31</td><td>매일</td></tr><tr><td>704</td><td>KTX-이음</td><td>9:59</td><td>10:19</td><td>매일</td></tr><tr><td>708</td><td>KTX-이음</td><td>14:13</td><td>14:33</td><td>매일</td></tr><tr><td>712</td><td>KTX-이음</td><td>17:21</td><td>17:41</td><td>매일</td></tr><tr><td>714</td><td>KTX-이음</td><td>18:51</td><td>19:13</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 청량리 → 도착 : 제천</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>청량리</th><th>덕소</th><th>양평</th><th>서원주</th><th>원주</th><th>제천</th><th>비고</th></tr></thead><tbody><tr><td>701</td><td>KTX-이음</td><td>5:40</td><td></td><td></td><td></td><td>6:30</td><td>6:47</td><td>매일</td></tr><tr><td>703</td><td>KTX-이음</td><td>6:27</td><td></td><td>6:54</td><td>7:18</td><td>7:24</td><td>7:40</td><td>매일</td></tr><tr><td>705</td><td>KTX-이음</td><td>9:18</td><td></td><td></td><td>10:05</td><td>10:13</td><td>10:30</td><td>매일</td></tr><tr><td>707</td><td>KTX-이음</td><td>11:20</td><td></td><td>11:47</td><td>12:11</td><td>12:18</td><td>12:36</td><td>매일</td></tr><tr><td>709</td><td>KTX-이음</td><td>13:16</td><td></td><td></td><td>14:03</td><td>14:10</td><td>14:27</td><td>매일</td></tr><tr><td>781</td><td>KTX-이음</td><td>13:57</td><td>14:11</td><td></td><td></td><td>14:47</td><td>15:04</td><td>토일</td></tr><tr><td>711</td><td>KTX-이음</td><td>14:40</td><td></td><td>15:07</td><td>15:30</td><td>15:38</td><td>15:56</td><td>매일</td></tr><tr><td>713</td><td>KTX-이음</td><td>16:32</td><td></td><td>16:58</td><td>17:22</td><td>17:30</td><td>17:48</td><td>매일</td></tr><tr><td>715</td><td>KTX-이음</td><td>19:00</td><td></td><td></td><td></td><td>19:49</td><td>20:06</td><td>매일</td></tr><tr><td>717</td><td>KTX-이음</td><td>21:52</td><td></td><td>22:18</td><td>22:42</td><td>22:49</td><td>23:06</td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>청량리</th><th>덕소</th><th>양평</th><th>용문</th><th>지평</th><th>석불</th><th>일신</th><th>매곡</th><th>양동</th><th>삼산</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</td><td>06:38</td><td></td><td>07:08</td><td>07:16</td><td>07:21</td><td></td><td></td><td></td><td>07:31</td><td></td><td>07:40</td><td>07:47</td><td>08:05</td><td>08:14</td></tr><tr><td>1671</td><td>무궁화</td><td>07:34</td><td>07:49</td><td>08:08</td><td>08:16</td><td>08:25</td><td>08:30</td><td>08:35</td><td>08:40</td><td>08:44</td><td>08:49</td><td>08:57</td><td>09:05</td><td></td><td>09:31</td></tr><tr><td>1673</td><td>무궁화</td><td>09:51</td><td></td><td>10:21</td><td>10:29</td><td></td><td></td><td></td><td></td><td>10:41</td><td>10:46</td><td>10:53</td><td>11:00</td><td>11:20</td><td>11:30</td></tr><tr><td>1611</td><td>ITX-마음</td><td>10:40</td><td>10:55</td><td>11:13</td><td>11:21</td><td></td><td></td><td></td><td></td><td>11:33</td><td></td><td>11:42</td><td>11:49</td><td></td><td>12:13</td></tr><tr><td>1675</td><td>무궁화</td><td>12:16</td><td>12:31</td><td>12:49</td><td>12:57</td><td>13:07</td><td>13:13</td><td>13:17</td><td>13:22</td><td>13:27</td><td></td><td>13:36</td><td>13:43</td><td></td><td>14:07</td></tr><tr><td>1603</td><td>ITX-마음</td><td>14:48</td><td></td><td>15:18</td><td>15:26</td><td>15:31</td><td></td><td></td><td></td><td>15:46</td><td></td><td>15:56</td><td>16:03</td><td></td><td>16:28</td></tr><tr><td>1641</td><td>ITX-마음</td><td>17:08</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>18:02</td><td></td><td>18:26</td></tr><tr><td>1613</td><td>ITX-마음</td><td>17:38</td><td>17:53</td><td>18:12</td><td>18:21</td><td></td><td></td><td></td><td></td><td>18:33</td><td></td><td>18:42</td><td>18:51</td><td></td><td>19:16</td></tr><tr><td>1677</td><td>무궁화</td><td>19:10</td><td>19:25</td><td>19:43</td><td>19:51</td><td>20:00</td><td>20:06</td><td>20:10</td><td>20:15</td><td>20:20</td><td></td><td>20:29</td><td>20:36</td><td></td><td>21:01</td></tr><tr><td>1651</td><td>무궁화</td><td>20:32</td><td>20:47</td><td>21:05</td><td>21:13</td><td>21:18</td><td>21:24</td><td>21:28</td><td>21:33</td><td>21:38</td><td>21:43</td><td>21:50</td><td>21:57</td><td>22:16</td><td>22:24</td></tr><tr><td>1661</td><td>무궁화</td><td>22:00</td><td>22:15</td><td>22:33</td><td>22:41</td><td>22:46</td><td></td><td></td><td></td><td>22:56</td><td></td><td>23:05</td><td>23:12</td><td></td><td>23:37</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 청량리 → 도착 : 영주</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>청량리</th><th>덕소</th><th>양평</th><th>서원주</th><th>원주</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th><th>비고</th></tr></thead><tbody><tr><td>701</td><td>KTX-이음</td><td>5:40</td><td></td><td></td><td></td><td>6:30</td><td>6:47</td><td>7:02</td><td></td><td>7:19</td><td>매일</td></tr><tr><td>703</td><td>KTX-이음</td><td>6:27</td><td></td><td>6:54</td><td>7:18</td><td>7:24</td><td>7:40</td><td>7:55</td><td>8:07</td><td>8:16</td><td>매일</td></tr><tr><td>705</td><td>KTX-이음</td><td>9:18</td><td></td><td></td><td>10:05</td><td>10:13</td><td>10:30</td><td></td><td></td><td>10:57</td><td>매일</td></tr><tr><td>707</td><td>KTX-이음</td><td>11:20</td><td></td><td>11:47</td><td>12:11</td><td>12:18</td><td>12:36</td><td>12:50</td><td>13:02</td><td>13:11</td><td>매일</td></tr><tr><td>709</td><td>KTX-이음</td><td>13:16</td><td></td><td></td><td>14:03</td><td>14:10</td><td>14:27</td><td>14:41</td><td></td><td>14:57</td><td>매일</td></tr><tr><td>781</td><td>KTX-이음</td><td>13:57</td><td>14:11</td><td></td><td></td><td>14:47</td><td>15:04</td><td></td><td></td><td>15:31</td><td>토일</td></tr><tr><td>711</td><td>KTX-이음</td><td>14:40</td><td></td><td>15:07</td><td>15:30</td><td>15:38</td><td>15:56</td><td></td><td></td><td>16:22</td><td>매일</td></tr><tr><td>713</td><td>KTX-이음</td><td>16:32</td><td></td><td>16:58</td><td>17:22</td><td>17:30</td><td>17:48</td><td>18:03</td><td>18:14</td><td>18:22</td><td>매일</td></tr><tr><td>715</td><td>KTX-이음</td><td>19:00</td><td></td><td></td><td></td><td>19:49</td><td>20:06</td><td>20:21</td><td>20:32</td><td>20:41</td><td>매일</td></tr><tr><td>717</td><td>KTX-이음</td><td>21:52</td><td></td><td>22:18</td><td>22:42</td><td>22:49</td><td>23:06</td><td></td><td>23:28</td><td>23:37</td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>청량리</th><th>덕소</th><th>양평</th><th>용문</th><th>지평</th><th>양동</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</td><td>06:38</td><td></td><td>07:08</td><td>07:16</td><td>07:21</td><td>07:31</td><td>07:40</td><td>07:47</td><td>08:05</td><td>08:14</td><td>08:31</td><td>08:44</td><td>08:55</td></tr><tr><td>1611</td><td>ITX-마음</td><td>10:40</td><td>10:55</td><td>11:13</td><td>11:21</td><td></td><td>11:33</td><td>11:42</td><td>11:49</td><td></td><td>12:13</td><td>12:30</td><td>12:43</td><td>12:53</td></tr><tr><td>1603</td><td>ITX-마음</td><td>14:48</td><td></td><td>15:18</td><td>15:26</td><td>15:31</td><td>15:46</td><td>15:56</td><td>16:03</td><td></td><td>16:28</td><td>16:45</td><td>16:58</td><td>17:10</td></tr><tr><td>1613</td><td>ITX-마음</td><td>17:38</td><td>17:53</td><td>18:12</td><td>18:21</td><td></td><td>18:33</td><td>18:42</td><td>18:51</td><td></td><td>19:16</td><td>19:32</td><td>19:45</td><td>19:56</td></tr><tr><td>1661</td><td>무궁화</td><td>22:00</td><td>22:15</td><td>22:33</td><td>22:41</td><td>22:46</td><td>22:56</td><td>23:05</td><td>23:12</td><td></td><td>23:37</td><td>23:52</td><td>00:05</td><td>00:14</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 청량리 → 도착 : 안동</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>청량리</th><th>덕소</th><th>양평</th><th>서원주</th><th>원주</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th><th>안동</th><th>비고</th></tr></thead><tbody><tr><td>701</td><td>KTX-이음</td><td>5:40</td><td></td><td></td><td></td><td>6:30</td><td>6:47</td><td>7:02</td><td></td><td>7:19</td><td>7:34</td><td>매일</td></tr><tr><td>703</td><td>KTX-이음</td><td>6:27</td><td></td><td>6:54</td><td>7:18</td><td>7:24</td><td>7:40</td><td>7:55</td><td>8:07</td><td>8:16</td><td>8:31</td><td>매일</td></tr><tr><td>705</td><td>KTX-이음</td><td>9:18</td><td></td><td></td><td>10:05</td><td>10:13</td><td>10:30</td><td></td><td></td><td>10:57</td><td>11:12</td><td>매일</td></tr><tr><td>707</td><td>KTX-이음</td><td>11:20</td><td></td><td>11:47</td><td>12:11</td><td>12:18</td><td>12:36</td><td>12:50</td><td>13:02</td><td>13:11</td><td>13:26</td><td>매일</td></tr><tr><td>709</td><td>KTX-이음</td><td>13:16</td><td></td><td></td><td>14:03</td><td>14:10</td><td>14:27</td><td>14:41</td><td></td><td>14:57</td><td>15:11</td><td>매일</td></tr><tr><td>781</td><td>KTX-이음</td><td>13:57</td><td>14:11</td><td></td><td></td><td>14:47</td><td>15:04</td><td></td><td></td><td>15:31</td><td>15:46</td><td>토일</td></tr><tr><td>711</td><td>KTX-이음</td><td>14:40</td><td></td><td>15:07</td><td>15:30</td><td>15:38</td><td>15:56</td><td></td><td></td><td>16:22</td><td>16:37</td><td>매일</td></tr><tr><td>713</td><td>KTX-이음</td><td>16:32</td><td></td><td>16:58</td><td>17:22</td><td>17:30</td><td>17:48</td><td>18:03</td><td>18:14</td><td>18:22</td><td>18:38</td><td>매일</td></tr><tr><td>715</td><td>KTX-이음</td><td>19:00</td><td></td><td></td><td></td><td>19:49</td><td>20:06</td><td>20:21</td><td>20:32</td><td>20:41</td><td>20:56</td><td>매일</td></tr><tr><td>717</td><td>KTX-이음</td><td>21:52</td><td></td><td>22:18</td><td>22:42</td><td>22:49</td><td>23:06</td><td></td><td>23:28</td><td>23:37</td><td>23:51</td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>청량리</th><th>덕소</th><th>양평</th><th>용문</th><th>지평</th><th>양동</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th><th>안동</th></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</td><td>06:38</td><td></td><td>07:08</td><td>07:16</td><td>07:21</td><td>07:31</td><td>07:40</td><td>07:47</td><td>08:05</td><td>08:14</td><td>08:31</td><td>08:44</td><td>08:55</td><td>09:16</td></tr><tr><td>1611</td><td>ITX-마음</td><td>10:40</td><td>10:55</td><td>11:13</td><td>11:21</td><td></td><td>11:33</td><td>11:42</td><td>11:49</td><td></td><td>12:13</td><td>12:30</td><td>12:43</td><td>12:53</td><td>13:13</td></tr><tr><td>1603</td><td>ITX-마음</td><td>14:48</td><td></td><td>15:18</td><td>15:26</td><td>15:31</td><td>15:46</td><td>15:56</td><td>16:03</td><td></td><td>16:28</td><td>16:45</td><td>16:58</td><td>17:10</td><td>17:31</td></tr><tr><td>1613</td><td>ITX-마음</td><td>17:38</td><td>17:53</td><td>18:12</td><td>18:21</td><td></td><td>18:33</td><td>18:42</td><td>18:51</td><td></td><td>19:16</td><td>19:32</td><td>19:45</td><td>19:56</td><td>20:15</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 청량리 → 도착 : 부전</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>청량리</th><th>덕소</th><th>양평</th><th>서원주</th><th>원주</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th><th>안동</th><th>의성</th><th>영천</th><th>경주</th><th>북울산</th><th>태화강</th><th>남창</th><th>기장</th><th>신해운대</th><th>센텀</th><th>부전</th><th>비고</th></tr></thead><tbody><tr><td>701</td><td>KTX-이음</td><td>5:40</td><td></td><td></td><td></td><td>6:30</td><td>6:47</td><td>7:02</td><td></td><td>7:19</td><td>7:34</td><td></td><td></td><td>8:19</td><td></td><td>8:40</td><td></td><td></td><td></td><td></td><td>9:24</td><td>매일</td></tr><tr><td>703</td><td>KTX-이음</td><td>6:27</td><td></td><td>6:54</td><td>7:18</td><td>7:24</td><td>7:40</td><td>7:55</td><td>8:07</td><td>8:16</td><td>8:31</td><td>8:44</td><td></td><td>9:22</td><td>9:39</td><td>9:48</td><td></td><td></td><td>10:21</td><td></td><td>10:34</td><td>매일</td></tr><tr><td>705</td><td>KTX-이음</td><td>9:18</td><td></td><td></td><td>10:05</td><td>10:13</td><td>10:30</td><td></td><td></td><td>10:57</td><td>11:12</td><td></td><td></td><td>11:57</td><td></td><td>12:18</td><td></td><td></td><td></td><td></td><td>13:01</td><td>매일</td></tr><tr><td>707</td><td>KTX-이음</td><td>11:20</td><td></td><td>11:47</td><td>12:11</td><td>12:18</td><td>12:36</td><td>12:50</td><td>13:02</td><td>13:11</td><td>13:26</td><td></td><td>13:57</td><td>14:16</td><td></td><td>14:39</td><td></td><td></td><td>15:12</td><td></td><td>15:27</td><td>매일</td></tr><tr><td>709</td><td>KTX-이음</td><td>13:16</td><td></td><td></td><td>14:03</td><td>14:10</td><td>14:27</td><td>14:41</td><td></td><td>14:57</td><td>15:11</td><td></td><td></td><td>15:57</td><td></td><td>16:18</td><td></td><td></td><td></td><td></td><td>17:00</td><td>매일</td></tr><tr><td>781</td><td>KTX-이음</td><td>13:57</td><td>14:11</td><td></td><td></td><td>14:47</td><td>15:04</td><td></td><td></td><td>15:31</td><td>15:46</td><td></td><td></td><td>16:31</td><td></td><td>16:52</td><td></td><td></td><td></td><td></td><td>17:35</td><td>토일</td></tr><tr><td>711</td><td>KTX-이음</td><td>14:40</td><td></td><td>15:07</td><td>15:30</td><td>15:38</td><td>15:56</td><td></td><td></td><td>16:22</td><td>16:37</td><td></td><td>17:08</td><td>17:27</td><td>17:44</td><td>17:51</td><td></td><td>18:17</td><td>18:27</td><td></td><td>18:41</td><td>매일</td></tr><tr><td>713</td><td>KTX-이음</td><td>16:32</td><td></td><td>16:58</td><td>17:22</td><td>17:30</td><td>17:48</td><td>18:03</td><td>18:14</td><td>18:22</td><td>18:38</td><td>18:50</td><td></td><td>19:25</td><td></td><td>19:46</td><td>19:59</td><td></td><td></td><td>20:25</td><td>20:36</td><td>매일</td></tr><tr><td>715</td><td>KTX-이음</td><td>19:00</td><td></td><td></td><td></td><td>19:49</td><td>20:06</td><td>20:21</td><td>20:32</td><td>20:41</td><td>20:56</td><td></td><td>21:27</td><td>21:46</td><td></td><td>22:08</td><td></td><td></td><td>22:40</td><td></td><td>22:54</td><td>매일</td></tr><tr><td>717</td><td>KTX-이음</td><td>21:52</td><td></td><td>22:18</td><td>22:42</td><td>22:49</td><td>23:06</td><td></td><td>23:28</td><td>23:37</td><td>23:51</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>청량리</th><th>양평</th><th>용문</th><th>지평</th><th>양동</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th><th>안동</th><th>의성</th><th>군위</th><th>영천</th><th>아화</th><th>경주</th><th>북울산</th><th>태화강</th><th>남창</th><th>기장</th><th>신해운대</th><th>센텀</th><th>부전</th></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</td><td>06:38</td><td>07:08</td><td>07:16</td><td>07:21</td><td>07:31</td><td>07:40</td><td>07:47</td><td>08:05</td><td>08:14</td><td>08:31</td><td>08:44</td><td>08:55</td><td>09:16</td><td>09:34</td><td>09:52</td><td>10:14</td><td>10:26</td><td>10:43</td><td>11:04</td><td>11:13</td><td>11:30</td><td>11:51</td><td>12:02</td><td>12:10</td><td>12:20</td></tr><tr><td>1603</td><td>ITX-마음</td><td>14:48</td><td>15:18</td><td>15:26</td><td>15:31</td><td>15:46</td><td>15:56</td><td>16:03</td><td></td><td>16:28</td><td>16:45</td><td>16:58</td><td>17:10</td><td>17:31</td><td>17:49</td><td>18:06</td><td>18:27</td><td>18:38</td><td>18:55</td><td>19:15</td><td>19:23</td><td>19:39</td><td>20:00</td><td>20:10</td><td>20:17</td><td>20:28</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 청량리 → 도착 : 강릉-동해</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>청량리</th><th>상봉</th><th>덕소</th><th>양평</th><th>서원주</th><th>만종</th><th>횡성</th><th>둔내</th><th>평창</th><th>진부(오대산)</th><th>강릉</th><th>정동진</th><th>묵호</th><th>동해</th><th>비고</th></tr></thead><tbody><tr><td>801</td><td>KTX-이음</td><td>5:27</td><td>5:33</td><td></td><td></td><td></td><td>6:18</td><td></td><td></td><td>6:39</td><td></td><td>7:03</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>803</td><td>KTX-이음</td><td>6:00</td><td></td><td></td><td>6:27</td><td></td><td>6:51</td><td></td><td>7:06</td><td>7:17</td><td>7:26</td><td>7:44</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>851</td><td>KTX-이음</td><td>6:27</td><td></td><td></td><td>6:54</td><td>7:14</td><td>7:19</td><td></td><td></td><td></td><td></td><td>7:59</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>841</td><td>KTX-이음</td><td>7:05</td><td>7:11</td><td></td><td>7:35</td><td></td><td>7:59</td><td>8:07</td><td></td><td>8:24</td><td>8:33</td><td></td><td>9:00</td><td>9:21</td><td>9:28</td><td>매일</td></tr><tr><td>853</td><td>KTX-이음</td><td>7:52</td><td></td><td></td><td></td><td></td><td>8:39</td><td></td><td></td><td></td><td>9:05</td><td>9:23</td><td></td><td></td><td></td><td>토일</td></tr><tr><td>805</td><td>KTX-이음</td><td>8:19</td><td></td><td></td><td>8:46</td><td></td><td>9:10</td><td>9:19</td><td>9:30</td><td>9:40</td><td></td><td>10:04</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>855</td><td>KTX-이음</td><td>8:52</td><td>8:58</td><td></td><td></td><td></td><td>9:42</td><td>9:50</td><td>10:01</td><td></td><td>10:15</td><td>10:34</td><td></td><td></td><td></td><td>토일</td></tr><tr><td>807</td><td>KTX-이음</td><td>9:18</td><td></td><td></td><td></td><td>10:02</td><td>10:09</td><td>10:18</td><td></td><td></td><td>10:39</td><td>10:58</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>881</td><td>KTX-이음</td><td>9:37</td><td></td><td>9:51</td><td>10:07</td><td>10:27</td><td></td><td></td><td></td><td>10:51</td><td></td><td></td><td>11:24</td><td>11:44</td><td>11:51</td><td>금토일</td></tr><tr><td>809</td><td>KTX-이음</td><td>10:15</td><td>10:21</td><td></td><td>10:45</td><td></td><td>11:08</td><td></td><td>11:24</td><td>11:34</td><td></td><td>11:58</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>843</td><td>KTX-이음</td><td>11:20</td><td></td><td></td><td>11:47</td><td>12:08</td><td></td><td>12:20</td><td></td><td></td><td>12:41</td><td></td><td>13:08</td><td>13:29</td><td>13:36</td><td>매일</td></tr><tr><td>857</td><td>KTX-이음</td><td>12:01</td><td></td><td></td><td></td><td></td><td>12:48</td><td></td><td>13:03</td><td></td><td></td><td>13:33</td><td></td><td></td><td></td><td>금토일</td></tr><tr><td>811</td><td>KTX-이음</td><td>12:31</td><td>12:38</td><td></td><td></td><td></td><td>13:21</td><td>13:30</td><td></td><td>13:47</td><td>13:56</td><td>14:14</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>883</td><td>KTX-이음</td><td>13:03</td><td>13:09</td><td></td><td></td><td></td><td>13:53</td><td></td><td></td><td></td><td></td><td></td><td>14:46</td><td>15:07</td><td>15:14</td><td>금토일</td></tr><tr><td>813</td><td>KTX-이음</td><td>13:16</td><td></td><td></td><td></td><td>14:00</td><td>14:06</td><td>14:15</td><td>14:26</td><td></td><td></td><td>14:56</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>869</td><td>KTX-이음</td><td>13:42</td><td></td><td></td><td>14:09</td><td></td><td>14:32</td><td></td><td></td><td>14:54</td><td></td><td>15:18</td><td></td><td></td><td></td><td>월화수목금</td></tr><tr><td>887</td><td>KTX-이음</td><td>13:42</td><td></td><td></td><td>14:09</td><td></td><td>14:32</td><td></td><td></td><td>14:54</td><td></td><td></td><td>15:27</td><td>15:49</td><td>15:56</td><td>토일</td></tr><tr><td>815</td><td>KTX-이음</td><td>14:15</td><td>14:21</td><td></td><td></td><td></td><td>15:05</td><td>15:14</td><td></td><td>15:30</td><td></td><td>15:54</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>859</td><td>KTX-이음</td><td>14:40</td><td></td><td></td><td>15:07</td><td>15:27</td><td>15:33</td><td></td><td>15:48</td><td></td><td></td><td>16:18</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>861</td><td>KTX-이음</td><td>15:02</td><td></td><td>15:16</td><td>15:32</td><td></td><td>15:55</td><td></td><td></td><td></td><td></td><td>16:35</td><td></td><td></td><td></td><td>금토일</td></tr><tr><td>845</td><td>KTX-이음</td><td>15:23</td><td></td><td></td><td></td><td>16:10</td><td></td><td>16:23</td><td></td><td></td><td>16:44</td><td></td><td>17:11</td><td>17:36</td><td>17:43</td><td>매일</td></tr><tr><td>863</td><td>KTX-이음</td><td>15:52</td><td></td><td></td><td></td><td></td><td>16:40</td><td></td><td></td><td></td><td></td><td>17:20</td><td></td><td></td><td></td><td>금토일</td></tr><tr><td>817</td><td>KTX-이음</td><td>16:32</td><td></td><td></td><td>16:58</td><td>17:19</td><td>17:25</td><td>17:34</td><td>17:45</td><td>17:55</td><td>18:04</td><td>18:22</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>819</td><td>KTX-이음</td><td>17:25</td><td>17:31</td><td></td><td>17:55</td><td></td><td></td><td>18:24</td><td>18:35</td><td>18:45</td><td>18:54</td><td>19:12</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>865</td><td>KTX-이음</td><td>18:05</td><td>18:11</td><td></td><td></td><td>18:51</td><td></td><td></td><td></td><td></td><td>19:20</td><td>19:39</td><td></td><td></td><td></td><td>금토일</td></tr><tr><td>847</td><td>KTX-이음</td><td>18:41</td><td></td><td></td><td></td><td></td><td>19:29</td><td></td><td>19:45</td><td>19:56</td><td></td><td></td><td>20:29</td><td>20:50</td><td>20:57</td><td>매일</td></tr><tr><td>821</td><td>KTX-이음</td><td>19:21</td><td>19:28</td><td></td><td>19:51</td><td></td><td>20:14</td><td>20:23</td><td>20:34</td><td>20:45</td><td></td><td>21:09</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>867</td><td>KTX-이음</td><td>19:55</td><td></td><td></td><td>20:22</td><td></td><td>20:45</td><td></td><td></td><td></td><td>21:10</td><td>21:29</td><td></td><td></td><td></td><td>금토일</td></tr><tr><td>849</td><td>KTX-이음</td><td>20:11</td><td></td><td></td><td></td><td></td><td>20:58</td><td>21:08</td><td></td><td>21:25</td><td></td><td></td><td>21:58</td><td>22:19</td><td>22:26</td><td>매일</td></tr><tr><td>823</td><td>KTX-이음</td><td>20:22</td><td>20:28</td><td></td><td>20:51</td><td></td><td>21:14</td><td></td><td></td><td></td><td>21:39</td><td>21:58</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>871</td><td>KTX-이음</td><td>21:38</td><td></td><td></td><td></td><td></td><td>22:25</td><td></td><td></td><td></td><td></td><td>23:05</td><td></td><td></td><td></td><td>토일</td></tr><tr><td>825</td><td>KTX-이음</td><td>21:52</td><td></td><td></td><td>22:18</td><td>22:39</td><td>22:45</td><td>22:54</td><td>23:05</td><td>23:16</td><td></td><td>23:41</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>827</td><td>KTX-이음</td><td>22:34</td><td></td><td></td><td></td><td></td><td>23:21</td><td></td><td></td><td></td><td>23:47</td><td>0:05</td><td></td><td></td><td></td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>청량리</th><th>덕소</th><th>양평</th><th>용문</th><th>지평</th><th>석불</th><th>일신</th><th>매곡</th><th>양동</th><th>삼산</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th><th>쌍룡</th><th>영월</th><th>예미</th><th>민둥산</th><th>사북</th><th>고한</th><th>태백</th><th>동백산</th><th>도계</th><th>신기</th><th>동해</th></tr></thead><tbody><tr><td>무궁화</td><td>1671</td><td>07:34</td><td>07:49</td><td>08:08</td><td>08:16</td><td>08:25</td><td>08:30</td><td>08:35</td><td>08:40</td><td>08:44</td><td>08:49</td><td>08:57</td><td>09:05</td><td></td><td>09:31</td><td></td><td>10:05</td><td>10:25</td><td>10:47</td><td>10:56</td><td>11:03</td><td>11:17</td><td>11:29</td><td>11:45</td><td>12:02</td><td>12:25</td></tr><tr><td>무궁화</td><td>1673</td><td>09:51</td><td></td><td>10:21</td><td>10:29</td><td></td><td></td><td></td><td></td><td>10:41</td><td>10:46</td><td>10:53</td><td>11:00</td><td>11:20</td><td>11:30</td><td></td><td>12:01</td><td>12:21</td><td>12:42</td><td>12:51</td><td>12:58</td><td>13:14</td><td>13:25</td><td>13:46</td><td></td><td>14:28</td></tr><tr><td>무궁화</td><td>1675</td><td>12:16</td><td>12:31</td><td>12:49</td><td>12:57</td><td>13:07</td><td>13:13</td><td>13:17</td><td>13:22</td><td>13:27</td><td></td><td>13:36</td><td>13:43</td><td></td><td>14:07</td><td>14:22</td><td>14:40</td><td>15:01</td><td>15:23</td><td>15:32</td><td>15:39</td><td>15:54</td><td>16:05</td><td>16:23</td><td></td><td>17:05</td></tr><tr><td>ITX-마음</td><td>1641</td><td>17:08</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>18:02</td><td></td><td>18:26</td><td></td><td>18:56</td><td></td><td>19:35</td><td>19:44</td><td></td><td>20:04</td><td></td><td>20:30</td><td></td><td>21:08</td></tr><tr><td>무궁화</td><td>1677</td><td>19:10</td><td>19:25</td><td>19:43</td><td>19:51</td><td>20:00</td><td>20:06</td><td>20:10</td><td>20:15</td><td>20:20</td><td></td><td>20:29</td><td>20:36</td><td></td><td>21:01</td><td></td><td>21:32</td><td>21:52</td><td>22:13</td><td>22:22</td><td>22:29</td><td>22:44</td><td>22:56</td><td>23:12</td><td></td><td>23:50</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>청량리역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '청량리'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">청량리역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">청량리역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '11';
            let curName = '청량리';
            let altCity = '';
            let altName = '';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">청량리역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">17℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">청량리역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A1%AF%EB%8D%B0%EB%B0%B1%ED%99%94%EC%A0%90+%EC%B2%AD%EB%9F%89%EB%A6%AC%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EB%8F%99%EB%8C%80%EB%AC%B8%EA%B5%AC+%EC%A0%84%EB%86%8D%EB%8F%99+591-92" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">롯데백화점 청량리점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">쇼핑,유통&gt;백화점</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 동대문구 전농동 591-92</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%8F%85%EB%A6%BD%EB%B0%80%EB%B0%A9+%EC%B2%AD%EB%9F%89%EB%A6%AC+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EB%8F%99%EB%8C%80%EB%AC%B8%EA%B5%AC+%EC%A0%84%EB%86%8D%EB%8F%99+547+%EC%B2%AD%EB%9F%89%EB%A6%AC%EC%97%AD%EC%82%AC+3%EC%B8%B5+308%ED%98%B8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">독립밀방 청량리</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;양식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 동대문구 전농동 547 청량리역사 3층 308호</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A1%AF%EB%8D%B0%EB%A6%AC%EC%95%84+%EC%B2%AD%EB%9F%89%EB%A6%AC%EC%97%AD%EC%82%AC%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EB%8F%99%EB%8C%80%EB%AC%B8%EA%B5%AC+%EC%A0%84%EB%86%8D%EB%8F%99+591-92+%EC%B2%AD%EB%9F%89%EB%A6%AC%EC%97%AD%EC%82%AC+3%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">롯데리아 청량리역사점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 동대문구 전농동 591-92 청량리역사 3층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%95%A0%EB%A8%B8%EB%8B%88%EB%83%89%EB%A9%B4+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EB%8F%99%EB%8C%80%EB%AC%B8%EA%B5%AC+%EC%A0%9C%EA%B8%B0%EB%8F%99+469" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">할머니냉면</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;냉면</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 동대문구 제기동 469</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%98%B8%EA%B0%90%ED%95%B4%EC%9E%A5+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EB%8F%99%EB%8C%80%EB%AC%B8%EA%B5%AC+%EC%B2%AD%EB%9F%89%EB%A6%AC%EB%8F%99+773+1%EC%B8%B5+%EC%A0%9C+15%ED%98%B8+%ED%98%B8%EA%B0%90%ED%95%B4%EC%9E%A5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">호감해장</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;해장국</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 동대문구 청량리동 773 1층 제 15호 호감해장</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">청량리역 실시간 주차장 요금</h4>
        
                    <div style="text-align: center; padding: 50px 20px; background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 12px; font-family: 'Noto Sans KR', sans-serif;">
                <p style="color: #64748b; margin: 0;">해당 역의 공식 주차 정보가 없습니다.</p>
            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">청량리역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 청량리역 인근 공영 및 노상주차장 이용 권장</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:1544-7788" style="color: #0052a4; font-weight: bold; text-decoration: none;">1544-7788</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%B2%AD%EB%9F%89%EB%A6%AC%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img fetchpriority="high" decoding="async" width="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/05/청량리역-기차-시간표-중앙선-강릉선-KTX-이음-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="청량리역-기차-시간표-중앙선-강릉선-KTX-이음-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-21042" srcset="https://krailroad.co.kr/wp-content/uploads/2026/05/청량리역-기차-시간표-중앙선-강릉선-KTX-이음-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/05/청량리역-기차-시간표-중앙선-강릉선-KTX-이음-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/05/청량리역-기차-시간표-중앙선-강릉선-KTX-이음-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="(max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>덕소역 시간표 요금(KTX ITX-마음 무궁화호) 강릉선, 중앙선 완벽정리</title>
		<link>https://krailroad.co.kr/%eb%8d%95%ec%86%8c%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%94%ea%b8%88ktx-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ea%b0%95%eb%a6%89%ec%84%a0-%ec%a4%91%ec%95%99%ec%84%a0/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Mon, 11 May 2026 01:41:30 +0000</pubDate>
				<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[덕소역 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=21005</guid>

					<description><![CDATA[시원한 한강 줄기가 한눈에 들어오는 남양주 덕소역 시간표 실시간 안내 API는 한강변의 여유와 도심의 속도를 동시에 연결하는 지능형 데이터로써, 사실 덕소역은 1939년 중앙선의 보통역으로 첫 영업을 시작한 이곳은 본래 남양주 와부읍 일대의 물류와 여객을 처리하기 위해 개소되었습니다. 이후 수도권 전철화와 사업을 거치며 단순한 시골 역에서 남양주 동남부권의 철도 교통 중심으로 변모하며 지역 경제와 주거 환경에 ... <a title="덕소역 시간표 요금(KTX ITX-마음 무궁화호) 강릉선, 중앙선 완벽정리" class="read-more button" href="https://krailroad.co.kr/%eb%8d%95%ec%86%8c%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%94%ea%b8%88ktx-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ea%b0%95%eb%a6%89%ec%84%a0-%ec%a4%91%ec%95%99%ec%84%a0/" aria-label="덕소역 시간표 요금(KTX ITX-마음 무궁화호) 강릉선, 중앙선 완벽정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">시원한 한강 줄기가 한눈에 들어오는 남양주 덕소역 시간표 실시간 안내 API는 한강변의 여유와 도심의 속도를 동시에 연결하는 지능형 데이터로써, 사실 덕소역은 1939년 중앙선의 보통역으로 첫 영업을 시작한 이곳은 본래 남양주 와부읍 일대의 물류와 여객을 처리하기 위해 개소되었습니다. 이후 수도권 전철화와 사업을 거치며 단순한 시골 역에서 남양주 동남부권의 철도 교통 중심으로 변모하며 지역 경제와 주거 환경에 결정적인 영향을 끼치고 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">덕소역 시간표 안내</h2>



<h3 class="wp-block-heading">데이터가 제안하는 이동 로직</h3>



<p class="wp-block-paragraph">정지된 정보의 한계를 넘어, 본 시스템은 <a href="https://www.data.go.kr/index.do" target="_blank" rel="noopener">공공데이터</a> API와 60초마다 교신하며 덕소역 시간표상의 열차 위치를 초 단위로 확인하며, 코레일 자료를 데이터베이스화한 DB서버와 실시간으로 동기화되는 로직을 통해 강릉선 KTX와 중앙선 일반 열차의 운행 현황을 오차 없이 파악할 수 있으며, 역 광장의 버스 도착 예보와 주차장 잔여 공간까지 한눈에 확인할 수 있도록 설계하였습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">강릉선과 중앙선의 교차 철길</h3>



<p class="wp-block-paragraph">덕소역 시간표를 살피다 보면 KTX-이음이라는 최신 고속열차와 정겨운 무궁화호가 공존하는 모습을 보게 됩니다. 2022년부터 고속열차가 정차하며 <a href="https://krailroad.co.kr/%ea%b0%95%eb%a6%89%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%84%9c%ec%9a%b8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%b6%80%ec%a0%84/">강릉역</a>과 <a href="https://krailroad.co.kr/%ec%95%88%eb%8f%99%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%a4%91%ec%95%99%ec%84%a0-%ec%9a%94/">안동역</a> 방면의 <a href="https://krailroad.co.kr/%eb%b6%80%ec%a0%84%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b2%ad%eb%9f%89%eb%a6%ac%c2%b7%ea%b0%95%eb%a6%89%c2%b7%ec%95%88%eb%8f%99%ed%96%89%ec%86%8d%ec%b4%88-%ed%8f%ac%ed%95%ad-%ec%a4%91/">부전역</a>으로의 접근성이 획기적으로 개선되었습니다. 다만, 모든 열차가 이곳에 서지 않는 이유는 광역전철과 일반 열차가 같은 선로를 공유하는 구간 특성상 선로 용량의 한계가 존재하기 때문입니다. 그럼에도 무궁화호를 여전히 유지하는 까닭은 고속열차가 서지 않는 작은 정거장들을 촘촘하게 잇는 보편적 교통 복지를 제공하기 위해서라고 합니다.</p>



<p class="wp-block-paragraph">1️⃣ <strong>당일치기 가족 나들이</strong> : 역에서 멀지 않은 곳에 한강 시민공원과 다산 생태공원이 위치해 특별한 준비 없이도 아이들과 함께 남한강의 정취를 느끼기 좋습니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>미래 발전 전망</strong> : 향후 주변 신도시 개발과 연계하여 환승 체계가 더욱 고도화될 예정이며, 수도권 동부의 철도망 효율성을 극대화하는 핵심 축으로 그 역할이 점차 확대될 전망이라고 합니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">덕소<strong>역 첫차 &amp; 막차 운행 정보</strong></h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="3" style="border-top:1px solid #ddd;">덕소<br>↓<br>청량리</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">886호</span><div class="time-display">17:32</div><div class="arrival-info">17:49 도착</div></td><td><span class="train-detail">870호</span><div class="time-display">21:35</div><div class="arrival-info">21:52 도착</div></td></tr><tr><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1612호</span><div class="time-display">09:34</div><div class="arrival-info">09:47 도착</div></td><td><span class="train-detail">1614호</span><div class="time-display">16:53</div><div class="arrival-info">17:06 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1652호</span><div class="time-display">07:08</div><div class="arrival-info">07:21 도착</div></td><td><span class="train-detail">1678호</span><div class="time-display">22:27</div><div class="arrival-info">22:40 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">덕소<br>↓<br>안동</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">781호</span><div class="time-display">14:11</div><div class="arrival-info">15:46 도착</div></td><td><span class="train-detail">781호</span><div class="time-display">14:11</div><div class="arrival-info">15:46 도착</div></td></tr><tr><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1611호</span><div class="time-display">10:55</div><div class="arrival-info">13:13 도착</div></td><td><span class="train-detail">1613호</span><div class="time-display">17:53</div><div class="arrival-info">20:15 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">덕소<br>↓<br>부전</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">781호</span><div class="time-display">14:11</div><div class="arrival-info">17:35 도착</div></td><td><span class="train-detail">781호</span><div class="time-display">14:11</div><div class="arrival-info">17:35 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">덕소<br>↓<br>태백</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1671호</span><div class="time-display">07:49</div><div class="arrival-info">11:17 도착</div></td><td><span class="train-detail">1677호</span><div class="time-display">19:25</div><div class="arrival-info">22:44 도착</div></td></tr><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">덕소<br>↓<br>동해</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">881호</span><div class="time-display">9:51</div><div class="arrival-info">11:51 도착</div></td><td><span class="train-detail">881호</span><div class="time-display">9:51</div><div class="arrival-info">11:51 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1671호</span><div class="time-display">07:49</div><div class="arrival-info">12:25 도착</div></td><td><span class="train-detail">1677호</span><div class="time-display">19:25</div><div class="arrival-info">23:50 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">덕소<br>↓<br>강릉</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">861호</span><div class="time-display">15:16</div><div class="arrival-info">16:35 도착</div></td><td><span class="train-detail">861호</span><div class="time-display">15:16</div><div class="arrival-info">16:35 도착</div></td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong><strong><strong><strong>덕소</strong></strong></strong>역 </strong>KTX-ITX 무궁화호 <strong>요금표</strong></h2>



<p class="wp-block-paragraph">👈 <strong><mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 스크롤하여 요금 확인</strong></mark></strong><br>💳 <a href="https://krailroad.co.kr/ktx-%EC%A0%84-%EB%85%B8%EC%84%A0-%EC%9A%94%EA%B8%88%ED%91%9C-%ED%95%9C%EB%88%88%EC%97%90-%EB%B3%B4%EA%B8%B0/" data-type="link" data-id="https://krailroad.co.kr/ktx-%EC%A0%84-%EB%85%B8%EC%84%A0-%EC%9A%94%EA%B8%88%ED%91%9C-%ED%95%9C%EB%88%88%EC%97%90-%EB%B3%B4%EA%B8%B0/">KTX 전체 요금표 한눈에 보기</a><br>🔎 <strong><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 요금 검색 바로가기</mark></a></strong></p>


<p style="text-align: right; font-size: small; color: #777; margin: 0;">최신 요금표 기준: 2026년 05월 24일</p><p style="text-align: right; font-size: small; color: #777; margin: 0;">(요금이 동일한 열차는 [무궁화·ITX·KTX] 3종으로 단순화)</p><div style="margin-top: 30px;"><div style="max-width: 100%; overflow-x: auto; margin: 20px 0;"><table class="train-table"><thead><tr><th>노선</th><th>종별</th><th>출발</th><th>도착</th><th>경유지</th><th>운임</th><th>일반</th><th>우등</th></tr></thead><tbody><tr><td>강릉K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">덕소</td><td>기본</td><td>0</td><td>8,400</td><td>11,400</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">덕소</td><td>기본</td><td>0</td><td>8,400</td><td>11,400</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">덕소</td><td>-</td><td>2,600</td><td>0</td><td>0</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">덕소</td><td>-</td><td>2,600</td><td>0</td><td>0</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">청량리</td><td class="highlight">덕소</td><td>-</td><td>4,800</td><td>0</td><td>0</td></tr><tr><td>강릉K1</td><td>KTX</td><td class="highlight">청량리</td><td class="highlight">덕소</td><td>기본</td><td>0</td><td>8,400</td><td>11,400</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">청량리</td><td class="highlight">덕소</td><td>기본</td><td>0</td><td>8,400</td><td>11,400</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">덕소</td><td class="highlight">경주</td><td>-</td><td>22,700</td><td>0</td><td>0</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">덕소</td><td class="highlight">경주</td><td>-</td><td>29,900</td><td>0</td><td>0</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">덕소</td><td class="highlight">경주</td><td>기본</td><td>0</td><td>41,100</td><td>49,300</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">덕소</td><td class="highlight">태화강</td><td>-</td><td>25,400</td><td>0</td><td>0</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">덕소</td><td class="highlight">태화강</td><td>-</td><td>33,900</td><td>0</td><td>0</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">덕소</td><td class="highlight">태화강</td><td>기본</td><td>0</td><td>47,000</td><td>56,400</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">덕소</td><td class="highlight">부전</td><td>-</td><td>29,500</td><td>0</td><td>0</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">덕소</td><td class="highlight">부전</td><td>-</td><td>40,000</td><td>0</td><td>0</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">덕소</td><td class="highlight">부전</td><td>기본</td><td>0</td><td>53,700</td><td>64,400</td></tr><tr><td>강릉K1</td><td>KTX</td><td class="highlight">덕소</td><td class="highlight">강릉</td><td>기본</td><td>0</td><td>24,200</td><td>29,000</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">덕소</td><td class="highlight">동해</td><td>-</td><td>18,100</td><td>0</td><td>0</td></tr><tr><td>강릉K1</td><td>KTX</td><td class="highlight">덕소</td><td class="highlight">동해</td><td>기본</td><td>0</td><td>27,900</td><td>33,500</td></tr></tbody></table></div></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading has-medium-font-size"><strong>덕소역 다른 열차 시간표</strong></h2>



<p class="wp-block-paragraph">✅ <a href="https://krailroad.co.kr/%eb%8d%95%ec%86%8c%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%94%ea%b8%88ktx-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ea%b0%95%eb%a6%89%ec%84%a0-%ec%a4%91%ec%95%99%ec%84%a0/">덕소역 KTX 노선 바로가기</a><br>✅ <s>덕소역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%eb%8d%95%ec%86%8c%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%94%ea%b8%88ktx-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ea%b0%95%eb%a6%89%ec%84%a0-%ec%a4%91%ec%95%99%ec%84%a0/">덕소역 ITX, 무궁화 시간표 바로가기</a></p>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>덕소역 KTX <strong><strong><strong>ITX 무궁화 </strong>시간표</strong></strong></strong></h2>



<h3 class="wp-block-heading">출발 : 덕소 → 도착 : 청량리-서울</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>덕소</th><th>상봉</th><th>청량리</th><th>비고</th></tr></thead><tbody><tr><td>886</td><td>KTX-이음</td><td>17:32</td><td>17:43</td><td>17:49</td><td>금토일</td></tr><tr><td>870</td><td>KTX-이음</td><td>21:35</td><td>21:46</td><td>21:52</td><td>금토일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>덕소</th><th>청량리</th><th>비고</th></tr></thead><tbody><tr><td>782</td><td>KTX-이음</td><td>20:59</td><td>21:13</td><td>토일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>덕소</th><th>청량리</th></tr></thead><tbody><tr><td>1652</td><td>무궁화</td><td>07:08</td><td>07:21</td></tr><tr><td>1662</td><td>무궁화</td><td>08:13</td><td>08:27</td></tr><tr><td>1612</td><td>ITX-마음</td><td>09:34</td><td>09:47</td></tr><tr><td>1672</td><td>무궁화</td><td>10:18</td><td>10:31</td></tr><tr><td>1614</td><td>ITX-마음</td><td>16:53</td><td>17:06</td></tr><tr><td>1674</td><td>무궁화</td><td>18:21</td><td>18:35</td></tr><tr><td>1676</td><td>무궁화</td><td>19:42</td><td>19:55</td></tr><tr><td>1678</td><td>무궁화</td><td>22:27</td><td>22:40</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 덕소 → 도착 : 부전</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>덕소</th><th>원주</th><th>제천</th><th>영주</th><th>안동</th><th>경주</th><th>태화강</th><th>부전</th><th>비고</th></tr></thead><tbody><tr><td>781</td><td>KTX-이음</td><td>14:11</td><td>14:47</td><td>15:04</td><td>15:31</td><td>15:46</td><td>16:31</td><td>16:52</td><td>17:35</td><td>토일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 덕소 → 도착 : 제천</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>덕소</th><th>양평</th><th>용문</th><th>지평</th><th>석불</th><th>일신</th><th>매곡</th><th>양동</th><th>삼산</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th></tr></thead><tbody><tr><td>1671</td><td>무궁화</td><td>07:49</td><td>08:08</td><td>08:16</td><td>08:25</td><td>08:30</td><td>08:35</td><td>08:40</td><td>08:44</td><td>08:49</td><td>08:57</td><td>09:05</td><td></td><td>09:31</td></tr><tr><td>1611</td><td>ITX-마음</td><td>10:55</td><td>11:13</td><td>11:21</td><td></td><td></td><td></td><td></td><td>11:33</td><td></td><td>11:42</td><td>11:49</td><td></td><td>12:13</td></tr><tr><td>1675</td><td>무궁화</td><td>12:31</td><td>12:49</td><td>12:57</td><td>13:07</td><td>13:13</td><td>13:17</td><td>13:22</td><td>13:27</td><td></td><td>13:36</td><td>13:43</td><td></td><td>14:07</td></tr><tr><td>1613</td><td>ITX-마음</td><td>17:53</td><td>18:12</td><td>18:21</td><td></td><td></td><td></td><td></td><td>18:33</td><td></td><td>18:42</td><td>18:51</td><td></td><td>19:16</td></tr><tr><td>1677</td><td>무궁화</td><td>19:25</td><td>19:43</td><td>19:51</td><td>20:00</td><td>20:06</td><td>20:10</td><td>20:15</td><td>20:20</td><td></td><td>20:29</td><td>20:36</td><td></td><td>21:01</td></tr><tr><td>1651</td><td>무궁화</td><td>20:47</td><td>21:05</td><td>21:13</td><td>21:18</td><td>21:24</td><td>21:28</td><td>21:33</td><td>21:38</td><td>21:43</td><td>21:50</td><td>21:57</td><td>22:16</td><td>22:24</td></tr><tr><td>1661</td><td>무궁화</td><td>22:15</td><td>22:33</td><td>22:41</td><td>22:46</td><td></td><td></td><td></td><td>22:56</td><td></td><td>23:05</td><td>23:12</td><td></td><td>23:37</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 덕소 → 도착 : 영주</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>덕소</th><th>양평</th><th>용문</th><th>지평</th><th>양동</th><th>서원주</th><th>원주</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th></tr></thead><tbody><tr><td>1611</td><td>ITX-마음</td><td>10:55</td><td>11:13</td><td>11:21</td><td></td><td>11:33</td><td>11:42</td><td>11:49</td><td>12:13</td><td>12:30</td><td>12:43</td><td>12:53</td></tr><tr><td>1613</td><td>ITX-마음</td><td>17:53</td><td>18:12</td><td>18:21</td><td></td><td>18:33</td><td>18:42</td><td>18:51</td><td>19:16</td><td>19:32</td><td>19:45</td><td>19:56</td></tr><tr><td>1661</td><td>무궁화</td><td>22:15</td><td>22:33</td><td>22:41</td><td>22:46</td><td>22:56</td><td>23:05</td><td>23:12</td><td>23:37</td><td>23:52</td><td>00:05</td><td>00:14</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 덕소 → 도착 : 안동</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>덕소</th><th>원주</th><th>제천</th><th>영주</th><th>안동</th><th>비고</th></tr></thead><tbody><tr><td>781</td><td>KTX-이음</td><td>14:11</td><td>14:47</td><td>15:04</td><td>15:31</td><td>15:46</td><td>토일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>덕소</th><th>양평</th><th>용문</th><th>양동</th><th>서원주</th><th>원주</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th><th>안동</th></tr></thead><tbody><tr><td>1611</td><td>ITX-마음</td><td>10:55</td><td>11:13</td><td>11:21</td><td>11:33</td><td>11:42</td><td>11:49</td><td>12:13</td><td>12:30</td><td>12:43</td><td>12:53</td><td>13:13</td></tr><tr><td>1613</td><td>ITX-마음</td><td>17:53</td><td>18:12</td><td>18:21</td><td>18:33</td><td>18:42</td><td>18:51</td><td>19:16</td><td>19:32</td><td>19:45</td><td>19:56</td><td>20:15</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 덕소 → 도착 : 강릉-동해</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>덕소</th><th>양평</th><th>서원주</th><th>만종</th><th>평창</th><th>강릉</th><th>정동진</th><th>묵호</th><th>동해</th><th>비고</th></tr></thead><tbody><tr><td>881</td><td>KTX-이음</td><td>9:51</td><td>10:07</td><td>10:27</td><td></td><td>10:51</td><td></td><td>11:24</td><td>11:44</td><td>11:51</td><td>금토일</td></tr><tr><td>861</td><td>KTX-이음</td><td>15:16</td><td>15:32</td><td></td><td>15:55</td><td></td><td>16:35</td><td></td><td></td><td></td><td>금토일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>덕소</th><th>양평</th><th>용문</th><th>지평</th><th>석불</th><th>일신</th><th>매곡</th><th>양동</th><th>삼산</th><th>서원주</th><th>원주</th><th>제천</th><th>쌍룡</th><th>영월</th><th>예미</th><th>민둥산</th><th>사북</th><th>고한</th><th>태백</th><th>동백산</th><th>도계</th><th>신기</th><th>동해</th></tr></thead><tbody><tr><td>무궁화</td><td>1671</td><td>07:49</td><td>08:08</td><td>08:16</td><td>08:25</td><td>08:30</td><td>08:35</td><td>08:40</td><td>08:44</td><td>08:49</td><td>08:57</td><td>09:05</td><td>09:31</td><td></td><td>10:05</td><td>10:25</td><td>10:47</td><td>10:56</td><td>11:03</td><td>11:17</td><td>11:29</td><td>11:45</td><td>12:02</td><td>12:25</td></tr><tr><td>무궁화</td><td>1675</td><td>12:31</td><td>12:49</td><td>12:57</td><td>13:07</td><td>13:13</td><td>13:17</td><td>13:22</td><td>13:27</td><td></td><td>13:36</td><td>13:43</td><td>14:07</td><td>14:22</td><td>14:40</td><td>15:01</td><td>15:23</td><td>15:32</td><td>15:39</td><td>15:54</td><td>16:05</td><td>16:23</td><td></td><td>17:05</td></tr><tr><td>무궁화</td><td>1677</td><td>19:25</td><td>19:43</td><td>19:51</td><td>20:00</td><td>20:06</td><td>20:10</td><td>20:15</td><td>20:20</td><td></td><td>20:29</td><td>20:36</td><td>21:01</td><td></td><td>21:32</td><td>21:52</td><td>22:13</td><td>22:22</td><td>22:29</td><td>22:44</td><td>22:56</td><td>23:12</td><td></td><td>23:50</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>덕소역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '덕소'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">덕소역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">덕소역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '31130';
            let curName = '덕소';
            let altCity = '';
            let altName = '';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">덕소역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">16℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">덕소역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A7%A5%EB%8F%84%EB%82%A0%EB%93%9C+%EB%8D%95%EC%86%8C%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EB%82%A8%EC%96%91%EC%A3%BC%EC%8B%9C+%EC%99%80%EB%B6%80%EC%9D%8D+%EB%8D%95%EC%86%8C%EB%A6%AC+474-5+%ED%9D%AC+%EB%B9%8C%EB%94%A9" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">맥도날드 덕소점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 남양주시 와부읍 덕소리 474-5 희 빌딩</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%8C%8C%EB%A6%AC%EB%B0%94%EA%B2%8C%EB%9C%A8+%EB%8D%95%EC%86%8C%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EB%82%A8%EC%96%91%EC%A3%BC%EC%8B%9C+%EC%99%80%EB%B6%80%EC%9D%8D+%EB%8D%95%EC%86%8C%EB%A6%AC+474-4+1%EC%B8%B5+%ED%8C%8C%EB%A6%AC%EB%B0%94%EA%B2%8C%EB%9C%A8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">파리바게뜨 덕소점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 남양주시 와부읍 덕소리 474-4 1층 파리바게뜨</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%B0%B0%EC%8A%A4%ED%82%A8%EB%9D%BC%EB%B9%88%EC%8A%A4+%EB%82%A8%EC%96%91%EC%A3%BC%EB%8D%95%EC%86%8C+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EB%82%A8%EC%96%91%EC%A3%BC%EC%8B%9C+%EC%99%80%EB%B6%80%EC%9D%8D+%EB%8D%95%EC%86%8C%EB%A6%AC+473-2" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">배스킨라빈스 남양주덕소</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;아이스크림</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 남양주시 와부읍 덕소리 473-2</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A9%94%EA%B0%80MGC%EC%BB%A4%ED%94%BC+%EB%8D%95%EC%86%8C%EC%82%BC%EA%B1%B0%EB%A6%AC%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EB%82%A8%EC%96%91%EC%A3%BC%EC%8B%9C+%EC%99%80%EB%B6%80%EC%9D%8D+%EB%8D%95%EC%86%8C%EB%A6%AC+474-28" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">메가MGC커피 덕소삼거리점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;카페</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 남양주시 와부읍 덕소리 474-28</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%8F%84%EB%A7%88%EB%8B%A4%EB%A6%AC%EB%BC%88%EB%8B%A4%EA%B7%80%EC%A0%84%EB%AC%B8%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EB%82%A8%EC%96%91%EC%A3%BC%EC%8B%9C+%EC%99%80%EB%B6%80%EC%9D%8D+%EB%8D%95%EC%86%8C%EB%A6%AC+600-14+%EC%84%B8%EC%96%91%EB%B9%8C%EB%94%A9" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">도마다리뼈다귀전문점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;감자탕</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 남양주시 와부읍 덕소리 600-14 세양빌딩</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">덕소역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 덕소역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">600원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">7,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 경기도 남양주시 와부읍 덕소리 590-17<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 031-523-2353                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">덕소역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 경기도 남양주시 와부읍 덕소리 590-17</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:031-523-2353" style="color: #0052a4; font-weight: bold; text-decoration: none;">031-523-2353</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EB%8D%95%EC%86%8C%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/05/덕소역-시간표-KTX-ITX-마음-무궁화호-서울-청량리-부전-강릉-동해-강릉선-중앙선-기차-첫기차-마지막기차-요금-정차역.jpg" alt="덕소역-시간표-KTX-ITX-마음-무궁화호-서울-청량리-부전-강릉-동해-강릉선-중앙선-기차-첫기차-마지막기차-요금-정차역" class="wp-image-21016" srcset="https://krailroad.co.kr/wp-content/uploads/2026/05/덕소역-시간표-KTX-ITX-마음-무궁화호-서울-청량리-부전-강릉-동해-강릉선-중앙선-기차-첫기차-마지막기차-요금-정차역.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/05/덕소역-시간표-KTX-ITX-마음-무궁화호-서울-청량리-부전-강릉-동해-강릉선-중앙선-기차-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/05/덕소역-시간표-KTX-ITX-마음-무궁화호-서울-청량리-부전-강릉-동해-강릉선-중앙선-기차-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="(max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>양평역 기차 시간표(KTX ITX-마음 무궁화호) 서울-부전-강릉 중앙/강릉선</title>
		<link>https://krailroad.co.kr/%ec%96%91%ed%8f%89%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94-%ec%84%9c%ec%9a%b8-%eb%b6%80%ec%a0%84-%ea%b0%95%eb%a6%89-%ec%a4%91/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Sat, 09 May 2026 00:07:25 +0000</pubDate>
				<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[양평역 기차 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20960</guid>

					<description><![CDATA[남한강의 수려한 풍광이 펼쳐지는 경기 동부의 중심, 양평역 기차 시간표 안내 로직은 수도권과 강원, 영남권을 관통하는 철도 인프라의 핵심적인 지표로써 이곳은 KTX-이음과 같은 고속열차부터 무궁화호, ITX-마음, 그리고 경의중앙선 전철까지 한 승강장에서 만나는 독특한 환승 체계를 갖추고 있으며, 이는 단순한 정거장을 넘어 지역 경제와 관광을 잇는 결정적인 가교 역할을 하고 있습니다. 양평역 기차 시간표 안내 실시간 ... <a title="양평역 기차 시간표(KTX ITX-마음 무궁화호) 서울-부전-강릉 중앙/강릉선" class="read-more button" href="https://krailroad.co.kr/%ec%96%91%ed%8f%89%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94-%ec%84%9c%ec%9a%b8-%eb%b6%80%ec%a0%84-%ea%b0%95%eb%a6%89-%ec%a4%91/" aria-label="양평역 기차 시간표(KTX ITX-마음 무궁화호) 서울-부전-강릉 중앙/강릉선 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">남한강의 수려한 풍광이 펼쳐지는 경기 동부의 중심, 양평역 기차 시간표 안내 로직은 수도권과 강원, 영남권을 관통하는 철도 인프라의 핵심적인 지표로써 이곳은 KTX-이음과 같은 고속열차부터 무궁화호, ITX-마음, 그리고 경의중앙선 전철까지 한 승강장에서 만나는 독특한 환승 체계를 갖추고 있으며, 이는 단순한 정거장을 넘어 지역 경제와 관광을 잇는 결정적인 가교 역할을 하고 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">양평역 기차 시간표 안내</h2>



<h3 class="wp-block-heading">실시간 데이터 로직</h3>



<p class="wp-block-paragraph">기존 블로그들의 양평역 기차 시간표의 틀을 벗어나, 아래 시간표는 살아있는 데이터를 기반으로 이용자의 편리함과 정확성을 위해 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 데이터베이스와 공공 API를 통해 1분 단위로 정보를 갱신하며, 선로 위 열차의 실시간 위치를 초 단위로 갱신하여 더욱더 정확한 시간표를 제공하기 위해 제작하였습니다. 실제로 저 또한 기차를 이용할때 신뢰를 위해 역내 전광판과 제가 제작한 로직과 비교하여 실시간 분석한 결과 오차가 거의 없었으니 믿고 이용하시면 됩니다.</p>



<p class="wp-block-paragraph">1️⃣ <strong>음성 기반 안내 로직</strong> : 대합실에서 책을 보거나 카페에서 커피 한잔하며 여유를 즐기다 보면 기차 시간을 놓칠까 봐 자꾸 시계를 보게 되죠? 아래 시간표는 열차 도착 15분 전부터 안내 방송이 자동으로 나오며, 방송 소리가 들릴 때 느긋하게 승강장으로 이동하시면 기차를 타실 수 있습니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>환경 연동 서비스</strong> : 역 주변 주차장이 얼마나 비어 있는지, 요금은 얼마인지 실시간으로 확인할 수 있으며, 특히 오늘 날씨에 딱 어울리는 근처 맛집이나 구경거리까지 추천해 드리고 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">양평역 축의 노선 연결</h3>



<p class="wp-block-paragraph">양평역 기차 시간표를 이용한 기차 이용은 서울 청량리를 시작으로 <a href="https://krailroad.co.kr/%ea%b0%95%eb%a6%89%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%84%9c%ec%9a%b8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%b6%80%ec%a0%84/">강릉역</a>, <a href="https://krailroad.co.kr/%eb%8f%99%ed%95%b4%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%eb%88%84%eb%a6%ac%eb%a1%9c-%eb%ac%b4%eb%a6%89%ea%b3%84%ea%b3%a1-%eb%a7%9d/">동해역</a>으로 향하는 영동선·태백선 계통은 물론, <a href="https://krailroad.co.kr/%ec%95%88%eb%8f%99%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%a4%91%ec%95%99%ec%84%a0-%ec%9a%94/">안동역</a>과 <a href="https://krailroad.co.kr/%eb%b6%80%ec%a0%84%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b2%ad%eb%9f%89%eb%a6%ac%c2%b7%ea%b0%95%eb%a6%89%c2%b7%ec%95%88%eb%8f%99%ed%96%89%ec%86%8d%ec%b4%88-%ed%8f%ac%ed%95%ad-%ec%a4%91/">부전역</a>으로 이어지는 중앙선 본선이 이 역에서 교차하기에 여러 방면으로 열차를 이용할 수 있습니다.</p>



<p class="wp-block-paragraph">1️⃣ <strong>서울에서 딱 20분</strong> : 서울 도심에서 양평역 기차 시간표 KTX를 타면 20분대에 도착하며, 이 정도면 동네 마실 가듯 가볍게 양평의 여유를 누릴 수 있는 수준입니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>가벼운 발걸음으로 즐기는 명소</strong> : 역 광장에서 걸어갈 수 있는 전통시장과 근처 두물머리, 세미원은 가족들과 함께 남한강 정취를 느끼며 쉬어 가기에 딱 좋은 곳입니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">양평<strong>역 첫차 &amp; 막차 운행 정보</strong></h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="3" style="border-top:1px solid #ddd;">양평<br>↓<br>청량리</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">802호</span><div class="time-display">6:36</div><div class="arrival-info">7:03 도착</div></td><td><span class="train-detail">848호</span><div class="time-display">23:23</div><div class="arrival-info">23:52 도착</div></td></tr><tr><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1612호</span><div class="time-display">09:16</div><div class="arrival-info">09:47 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">20:29</div><div class="arrival-info">20:56 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1652호</span><div class="time-display">06:51</div><div class="arrival-info">07:21 도착</div></td><td><span class="train-detail">1678호</span><div class="time-display">22:10</div><div class="arrival-info">22:40 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">양평<br>↓<br>서울</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">802호</span><div class="time-display">6:36</div><div class="arrival-info">7:23 도착</div></td><td><span class="train-detail">848호</span><div class="time-display">23:23</div><div class="arrival-info">0:12 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">양평<br>↓<br>안동</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">703호</span><div class="time-display">6:54</div><div class="arrival-info">8:31 도착</div></td><td><span class="train-detail">717호</span><div class="time-display">22:18</div><div class="arrival-info">23:51 도착</div></td></tr><tr><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1601호</span><div class="time-display">07:08</div><div class="arrival-info">09:16 도착</div></td><td><span class="train-detail">1613호</span><div class="time-display">18:12</div><div class="arrival-info">20:15 도착</div></td></tr><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">양평<br>↓<br>부전</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">703호</span><div class="time-display">6:54</div><div class="arrival-info">10:34 도착</div></td><td><span class="train-detail">713호</span><div class="time-display">16:58</div><div class="arrival-info">20:36 도착</div></td></tr><tr><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1601호</span><div class="time-display">07:08</div><div class="arrival-info">12:20 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">15:18</div><div class="arrival-info">20:28 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">양평<br>↓<br>태백</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1671호</span><div class="time-display">08:08</div><div class="arrival-info">11:17 도착</div></td><td><span class="train-detail">1677호</span><div class="time-display">19:43</div><div class="arrival-info">22:44 도착</div></td></tr><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">양평<br>↓<br>동해</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">841호</span><div class="time-display">7:35</div><div class="arrival-info">9:28 도착</div></td><td><span class="train-detail">887호</span><div class="time-display">14:09</div><div class="arrival-info">15:56 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1671호</span><div class="time-display">08:08</div><div class="arrival-info">12:25 도착</div></td><td><span class="train-detail">1677호</span><div class="time-display">19:43</div><div class="arrival-info">23:50 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">양평<br>↓<br>강릉</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">803호</span><div class="time-display">6:27</div><div class="arrival-info">7:44 도착</div></td><td><span class="train-detail">825호</span><div class="time-display">22:18</div><div class="arrival-info">23:41 도착</div></td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong><strong><strong><strong>양평</strong></strong></strong>역 </strong>KTX-ITX 무궁화호 <strong>요금표</strong></h2>



<p class="wp-block-paragraph">👈 <strong><mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 스크롤하여 요금 확인</strong></mark></strong><br>💳 <a href="https://krailroad.co.kr/ktx-%EC%A0%84-%EB%85%B8%EC%84%A0-%EC%9A%94%EA%B8%88%ED%91%9C-%ED%95%9C%EB%88%88%EC%97%90-%EB%B3%B4%EA%B8%B0/" data-type="link" data-id="https://krailroad.co.kr/ktx-%EC%A0%84-%EB%85%B8%EC%84%A0-%EC%9A%94%EA%B8%88%ED%91%9C-%ED%95%9C%EB%88%88%EC%97%90-%EB%B3%B4%EA%B8%B0/">KTX 전체 요금표 한눈에 보기</a><br>🔎 <strong><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 요금 검색 바로가기</mark></a></strong></p>


<p style="text-align: right; font-size: small; color: #777; margin: 0;">최신 요금표 기준: 2026년 05월 24일</p><p style="text-align: right; font-size: small; color: #777; margin: 0;">(요금이 동일한 열차는 [무궁화·ITX·KTX] 3종으로 단순화)</p><div style="margin-top: 30px;"><div style="max-width: 100%; overflow-x: auto; margin: 20px 0;"><table class="train-table"><thead><tr><th>노선</th><th>종별</th><th>출발</th><th>도착</th><th>경유지</th><th>운임</th><th>일반</th><th>우등</th></tr></thead><tbody><tr><td>강릉K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">양평</td><td>기본</td><td>0</td><td>8,400</td><td>11,400</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">양평</td><td>기본</td><td>0</td><td>8,400</td><td>11,400</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">양평</td><td>-</td><td>3,100</td><td>0</td><td>0</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">양평</td><td>-</td><td>3,100</td><td>0</td><td>0</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">청량리</td><td class="highlight">양평</td><td>-</td><td>4,800</td><td>0</td><td>0</td></tr><tr><td>강릉K1</td><td>KTX</td><td class="highlight">청량리</td><td class="highlight">양평</td><td>기본</td><td>0</td><td>8,400</td><td>11,400</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">청량리</td><td class="highlight">양평</td><td>기본</td><td>0</td><td>8,400</td><td>11,400</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">양평</td><td class="highlight">경주</td><td>-</td><td>20,700</td><td>0</td><td>0</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">양평</td><td class="highlight">경주</td><td>-</td><td>26,900</td><td>0</td><td>0</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">양평</td><td class="highlight">경주</td><td>기본</td><td>0</td><td>38,000</td><td>45,600</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">양평</td><td class="highlight">태화강</td><td>-</td><td>23,400</td><td>0</td><td>0</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">양평</td><td class="highlight">태화강</td><td>-</td><td>31,000</td><td>0</td><td>0</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">양평</td><td class="highlight">태화강</td><td>기본</td><td>0</td><td>43,900</td><td>52,700</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">양평</td><td class="highlight">부전</td><td>-</td><td>27,500</td><td>0</td><td>0</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">양평</td><td class="highlight">부전</td><td>-</td><td>37,100</td><td>0</td><td>0</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">양평</td><td class="highlight">부전</td><td>기본</td><td>0</td><td>50,500</td><td>60,600</td></tr><tr><td>강릉K1</td><td>KTX</td><td class="highlight">양평</td><td class="highlight">강릉</td><td>기본</td><td>0</td><td>21,000</td><td>25,200</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">양평</td><td class="highlight">동해</td><td>-</td><td>16,100</td><td>0</td><td>0</td></tr><tr><td>강릉K1</td><td>KTX</td><td class="highlight">양평</td><td class="highlight">동해</td><td>기본</td><td>0</td><td>24,700</td><td>29,600</td></tr></tbody></table></div></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading has-medium-font-size"><strong>양평역 다른 열차 시간표</strong></h2>



<p class="wp-block-paragraph">✅ <a href="https://krailroad.co.kr/%ec%96%91%ed%8f%89%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94-%ec%84%9c%ec%9a%b8-%eb%b6%80%ec%a0%84-%ea%b0%95%eb%a6%89-%ec%a4%91/">양평역 KTX 노선 바로가기</a><br>✅ <s>양평역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%ec%96%91%ed%8f%89%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94-%ec%84%9c%ec%9a%b8-%eb%b6%80%ec%a0%84-%ea%b0%95%eb%a6%89-%ec%a4%91/">양평역 ITX, 무궁화 시간표 바로가기</a></p>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>양평역 KTX <strong><strong><strong>ITX 무궁화 </strong>시간표</strong></strong></strong></h2>



<h3 class="wp-block-heading">출발 : 양평 → 도착 : 청량리-서울</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>양평</th><th>상봉</th><th>청량리</th><th>서울</th><th>비고</th></tr></thead><tbody><tr><td>802</td><td>KTX-이음</td><td>6:36</td><td></td><td>7:03</td><td>7:23</td><td>매일</td></tr><tr><td>804</td><td>KTX-이음</td><td>7:42</td><td></td><td>8:11</td><td>8:31</td><td>매일</td></tr><tr><td>806</td><td>KTX-이음</td><td>8:43</td><td></td><td>9:10</td><td>9:30</td><td>매일</td></tr><tr><td>840</td><td>KTX-이음</td><td>8:58</td><td>9:22</td><td>9:29</td><td>9:49</td><td>매일</td></tr><tr><td>842</td><td>KTX-이음</td><td>11:53</td><td>12:17</td><td>12:23</td><td></td><td>매일</td></tr><tr><td>858</td><td>KTX-이음</td><td>12:06</td><td>12:30</td><td>12:36</td><td></td><td>토일</td></tr><tr><td>812</td><td>KTX-이음</td><td>12:40</td><td></td><td>13:07</td><td>13:27</td><td>매일</td></tr><tr><td>814</td><td>KTX-이음</td><td>13:45</td><td></td><td>14:13</td><td>14:33</td><td>매일</td></tr><tr><td>860</td><td>KTX-이음</td><td>15:00</td><td>15:23</td><td>15:29</td><td></td><td>금토일</td></tr><tr><td>844</td><td>KTX-이음</td><td>15:51</td><td></td><td>16:19</td><td>16:39</td><td>매일</td></tr><tr><td>820</td><td>KTX-이음</td><td>18:23</td><td></td><td>18:51</td><td>19:13</td><td>매일</td></tr><tr><td>866</td><td>KTX-이음</td><td>19:05</td><td></td><td>19:31</td><td></td><td>금토일</td></tr><tr><td>822</td><td>KTX-이음</td><td>20:09</td><td>20:33</td><td>20:40</td><td>21:00</td><td>매일</td></tr><tr><td>846</td><td>KTX-이음</td><td>20:58</td><td>21:22</td><td>21:29</td><td>21:49</td><td>매일</td></tr><tr><td>824</td><td>KTX-이음</td><td>21:41</td><td>22:05</td><td>22:12</td><td>22:32</td><td>매일</td></tr><tr><td>848</td><td>KTX-이음</td><td>23:23</td><td></td><td>23:52</td><td>0:12</td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>양평</th><th>상봉</th><th>청량리</th><th>서울</th><th>비고</th></tr></thead><tbody><tr><td>702</td><td>KTX-이음</td><td>7:42</td><td></td><td>8:11</td><td>8:31</td><td>매일</td></tr><tr><td>708</td><td>KTX-이음</td><td>13:45</td><td></td><td>14:13</td><td>14:33</td><td>매일</td></tr><tr><td>710</td><td>KTX-이음</td><td>15:34</td><td>15:58</td><td>16:04</td><td></td><td>매일</td></tr><tr><td>714</td><td>KTX-이음</td><td>18:23</td><td></td><td>18:51</td><td>19:13</td><td>매일</td></tr><tr><td>718</td><td>KTX-이음</td><td>22:29</td><td>22:52</td><td>22:58</td><td></td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>양평</th><th>덕소</th><th>청량리</th></tr></thead><tbody><tr><td>1652</td><td>무궁화</td><td>06:51</td><td>07:08</td><td>07:21</td></tr><tr><td>1662</td><td>무궁화</td><td>07:56</td><td>08:13</td><td>08:27</td></tr><tr><td>1612</td><td>ITX-마음</td><td>09:16</td><td>09:34</td><td>09:47</td></tr><tr><td>1672</td><td>무궁화</td><td>10:01</td><td>10:18</td><td>10:31</td></tr><tr><td>1602</td><td>ITX-마음</td><td>12:29</td><td></td><td>12:56</td></tr><tr><td>1614</td><td>ITX-마음</td><td>16:36</td><td>16:53</td><td>17:06</td></tr><tr><td>1674</td><td>무궁화</td><td>18:04</td><td>18:21</td><td>18:35</td></tr><tr><td>1676</td><td>무궁화</td><td>19:25</td><td>19:42</td><td>19:55</td></tr><tr><td>1604</td><td>ITX-마음</td><td>20:29</td><td></td><td>20:56</td></tr><tr><td>1678</td><td>무궁화</td><td>22:10</td><td>22:27</td><td>22:40</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 양평 → 도착 : 부전</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>양평</th><th>서원주</th><th>원주</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th><th>안동</th><th>의성</th><th>영천</th><th>경주</th><th>북울산</th><th>태화강</th><th>남창</th><th>기장</th><th>신해운대</th><th>센텀</th><th>부전</th><th>비고</th></tr></thead><tbody><tr><td>703</td><td>KTX-이음</td><td>6:54</td><td>7:18</td><td>7:24</td><td>7:40</td><td>7:55</td><td>8:07</td><td>8:16</td><td>8:31</td><td>8:44</td><td></td><td>9:22</td><td>9:39</td><td>9:48</td><td></td><td></td><td>10:21</td><td></td><td>10:34</td><td>매일</td></tr><tr><td>707</td><td>KTX-이음</td><td>11:47</td><td>12:11</td><td>12:18</td><td>12:36</td><td>12:50</td><td>13:02</td><td>13:11</td><td>13:26</td><td></td><td>13:57</td><td>14:16</td><td></td><td>14:39</td><td></td><td></td><td>15:12</td><td></td><td>15:27</td><td>매일</td></tr><tr><td>711</td><td>KTX-이음</td><td>15:07</td><td>15:30</td><td>15:38</td><td>15:56</td><td></td><td></td><td>16:22</td><td>16:37</td><td></td><td>17:08</td><td>17:27</td><td>17:44</td><td>17:51</td><td></td><td>18:17</td><td>18:27</td><td></td><td>18:41</td><td>매일</td></tr><tr><td>713</td><td>KTX-이음</td><td>16:58</td><td>17:22</td><td>17:30</td><td>17:48</td><td>18:03</td><td>18:14</td><td>18:22</td><td>18:38</td><td>18:50</td><td></td><td>19:25</td><td></td><td>19:46</td><td>19:59</td><td></td><td></td><td>20:25</td><td>20:36</td><td>매일</td></tr><tr><td>717</td><td>KTX-이음</td><td>22:18</td><td>22:42</td><td>22:49</td><td>23:06</td><td></td><td>23:28</td><td>23:37</td><td>23:51</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>양평</th><th>용문</th><th>지평</th><th>양동</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th><th>안동</th><th>의성</th><th>군위</th><th>영천</th><th>아화</th><th>경주</th><th>북울산</th><th>태화강</th><th>남창</th><th>기장</th><th>신해운대</th><th>센텀</th><th>부전</th></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</td><td>07:08</td><td>07:16</td><td>07:21</td><td>07:31</td><td>07:40</td><td>07:47</td><td>08:05</td><td>08:14</td><td>08:31</td><td>08:44</td><td>08:55</td><td>09:16</td><td>09:34</td><td>09:52</td><td>10:14</td><td>10:26</td><td>10:43</td><td>11:04</td><td>11:13</td><td>11:30</td><td>11:51</td><td>12:02</td><td>12:10</td><td>12:20</td></tr><tr><td>1603</td><td>ITX-마음</td><td>15:18</td><td>15:26</td><td>15:31</td><td>15:46</td><td>15:56</td><td>16:03</td><td></td><td>16:28</td><td>16:45</td><td>16:58</td><td>17:10</td><td>17:31</td><td>17:49</td><td>18:06</td><td>18:27</td><td>18:38</td><td>18:55</td><td>19:15</td><td>19:23</td><td>19:39</td><td>20:00</td><td>20:10</td><td>20:17</td><td>20:28</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 양평 → 도착 : 제천</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>양평</th><th>용문</th><th>지평</th><th>석불</th><th>일신</th><th>매곡</th><th>양동</th><th>삼산</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</td><td>07:08</td><td>07:16</td><td>07:21</td><td></td><td></td><td></td><td>07:31</td><td></td><td>07:40</td><td>07:47</td><td>08:05</td><td>08:14</td></tr><tr><td>1671</td><td>무궁화</td><td>08:08</td><td>08:16</td><td>08:25</td><td>08:30</td><td>08:35</td><td>08:40</td><td>08:44</td><td>08:49</td><td>08:57</td><td>09:05</td><td></td><td>09:31</td></tr><tr><td>1673</td><td>무궁화</td><td>10:21</td><td>10:29</td><td></td><td></td><td></td><td></td><td>10:41</td><td>10:46</td><td>10:53</td><td>11:00</td><td>11:20</td><td>11:30</td></tr><tr><td>1611</td><td>ITX-마음</td><td>11:13</td><td>11:21</td><td></td><td></td><td></td><td></td><td>11:33</td><td></td><td>11:42</td><td>11:49</td><td></td><td>12:13</td></tr><tr><td>1675</td><td>무궁화</td><td>12:49</td><td>12:57</td><td>13:07</td><td>13:13</td><td>13:17</td><td>13:22</td><td>13:27</td><td></td><td>13:36</td><td>13:43</td><td></td><td>14:07</td></tr><tr><td>1603</td><td>ITX-마음</td><td>15:18</td><td>15:26</td><td>15:31</td><td></td><td></td><td></td><td>15:46</td><td></td><td>15:56</td><td>16:03</td><td></td><td>16:28</td></tr><tr><td>1613</td><td>ITX-마음</td><td>18:12</td><td>18:21</td><td></td><td></td><td></td><td></td><td>18:33</td><td></td><td>18:42</td><td>18:51</td><td></td><td>19:16</td></tr><tr><td>1677</td><td>무궁화</td><td>19:43</td><td>19:51</td><td>20:00</td><td>20:06</td><td>20:10</td><td>20:15</td><td>20:20</td><td></td><td>20:29</td><td>20:36</td><td></td><td>21:01</td></tr><tr><td>1651</td><td>무궁화</td><td>21:05</td><td>21:13</td><td>21:18</td><td>21:24</td><td>21:28</td><td>21:33</td><td>21:38</td><td>21:43</td><td>21:50</td><td>21:57</td><td>22:16</td><td>22:24</td></tr><tr><td>1661</td><td>무궁화</td><td>22:33</td><td>22:41</td><td>22:46</td><td></td><td></td><td></td><td>22:56</td><td></td><td>23:05</td><td>23:12</td><td></td><td>23:37</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 양평 → 도착 : 영주</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>양평</th><th>용문</th><th>지평</th><th>양동</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</td><td>07:08</td><td>07:16</td><td>07:21</td><td>07:31</td><td>07:40</td><td>07:47</td><td>08:05</td><td>08:14</td><td>08:31</td><td>08:44</td><td>08:55</td></tr><tr><td>1611</td><td>ITX-마음</td><td>11:13</td><td>11:21</td><td></td><td>11:33</td><td>11:42</td><td>11:49</td><td></td><td>12:13</td><td>12:30</td><td>12:43</td><td>12:53</td></tr><tr><td>1603</td><td>ITX-마음</td><td>15:18</td><td>15:26</td><td>15:31</td><td>15:46</td><td>15:56</td><td>16:03</td><td></td><td>16:28</td><td>16:45</td><td>16:58</td><td>17:10</td></tr><tr><td>1613</td><td>ITX-마음</td><td>18:12</td><td>18:21</td><td></td><td>18:33</td><td>18:42</td><td>18:51</td><td></td><td>19:16</td><td>19:32</td><td>19:45</td><td>19:56</td></tr><tr><td>1661</td><td>무궁화</td><td>22:33</td><td>22:41</td><td>22:46</td><td>22:56</td><td>23:05</td><td>23:12</td><td></td><td>23:37</td><td>23:52</td><td>00:05</td><td>00:14</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 양평 → 도착 : 안동</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>양평</th><th>서원주</th><th>원주</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th><th>안동</th><th>비고</th></tr></thead><tbody><tr><td>703</td><td>KTX-이음</td><td>6:54</td><td>7:18</td><td>7:24</td><td>7:40</td><td>7:55</td><td>8:07</td><td>8:16</td><td>8:31</td><td>매일</td></tr><tr><td>707</td><td>KTX-이음</td><td>11:47</td><td>12:11</td><td>12:18</td><td>12:36</td><td>12:50</td><td>13:02</td><td>13:11</td><td>13:26</td><td>매일</td></tr><tr><td>711</td><td>KTX-이음</td><td>15:07</td><td>15:30</td><td>15:38</td><td>15:56</td><td></td><td></td><td>16:22</td><td>16:37</td><td>매일</td></tr><tr><td>713</td><td>KTX-이음</td><td>16:58</td><td>17:22</td><td>17:30</td><td>17:48</td><td>18:03</td><td>18:14</td><td>18:22</td><td>18:38</td><td>매일</td></tr><tr><td>717</td><td>KTX-이음</td><td>22:18</td><td>22:42</td><td>22:49</td><td>23:06</td><td></td><td>23:28</td><td>23:37</td><td>23:51</td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>양평</th><th>용문</th><th>지평</th><th>양동</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th><th>안동</th></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</td><td>07:08</td><td>07:16</td><td>07:21</td><td>07:31</td><td>07:40</td><td>07:47</td><td>08:05</td><td>08:14</td><td>08:31</td><td>08:44</td><td>08:55</td><td>09:16</td></tr><tr><td>1611</td><td>ITX-마음</td><td>11:13</td><td>11:21</td><td></td><td>11:33</td><td>11:42</td><td>11:49</td><td></td><td>12:13</td><td>12:30</td><td>12:43</td><td>12:53</td><td>13:13</td></tr><tr><td>1603</td><td>ITX-마음</td><td>15:18</td><td>15:26</td><td>15:31</td><td>15:46</td><td>15:56</td><td>16:03</td><td></td><td>16:28</td><td>16:45</td><td>16:58</td><td>17:10</td><td>17:31</td></tr><tr><td>1613</td><td>ITX-마음</td><td>18:12</td><td>18:21</td><td></td><td>18:33</td><td>18:42</td><td>18:51</td><td></td><td>19:16</td><td>19:32</td><td>19:45</td><td>19:56</td><td>20:15</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 양평 → 도착 : 강릉-동해</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>양평</th><th>서원주</th><th>만종</th><th>횡성</th><th>둔내</th><th>평창</th><th>진부(오대산)</th><th>강릉</th><th>정동진</th><th>묵호</th><th>동해</th><th>비고</th></tr></thead><tbody><tr><td>803</td><td>KTX-이음</td><td>6:27</td><td></td><td>6:51</td><td></td><td>7:06</td><td>7:17</td><td>7:26</td><td>7:44</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>851</td><td>KTX-이음</td><td>6:54</td><td>7:14</td><td>7:19</td><td></td><td></td><td></td><td></td><td>7:59</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>841</td><td>KTX-이음</td><td>7:35</td><td></td><td>7:59</td><td>8:07</td><td></td><td>8:24</td><td>8:33</td><td></td><td>9:00</td><td>9:21</td><td>9:28</td><td>매일</td></tr><tr><td>805</td><td>KTX-이음</td><td>8:46</td><td></td><td>9:10</td><td>9:19</td><td>9:30</td><td>9:40</td><td></td><td>10:04</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>881</td><td>KTX-이음</td><td>10:07</td><td>10:27</td><td></td><td></td><td></td><td>10:51</td><td></td><td></td><td>11:24</td><td>11:44</td><td>11:51</td><td>금토일</td></tr><tr><td>809</td><td>KTX-이음</td><td>10:45</td><td></td><td>11:08</td><td></td><td>11:24</td><td>11:34</td><td></td><td>11:58</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>843</td><td>KTX-이음</td><td>11:47</td><td>12:08</td><td></td><td>12:20</td><td></td><td></td><td>12:41</td><td></td><td>13:08</td><td>13:29</td><td>13:36</td><td>매일</td></tr><tr><td>869</td><td>KTX-이음</td><td>14:09</td><td></td><td>14:32</td><td></td><td></td><td>14:54</td><td></td><td>15:18</td><td></td><td></td><td></td><td>월화수목금</td></tr><tr><td>887</td><td>KTX-이음</td><td>14:09</td><td></td><td>14:32</td><td></td><td></td><td>14:54</td><td></td><td></td><td>15:27</td><td>15:49</td><td>15:56</td><td>토일</td></tr><tr><td>859</td><td>KTX-이음</td><td>15:07</td><td>15:27</td><td>15:33</td><td></td><td>15:48</td><td></td><td></td><td>16:18</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>861</td><td>KTX-이음</td><td>15:32</td><td></td><td>15:55</td><td></td><td></td><td></td><td></td><td>16:35</td><td></td><td></td><td></td><td>금토일</td></tr><tr><td>817</td><td>KTX-이음</td><td>16:58</td><td>17:19</td><td>17:25</td><td>17:34</td><td>17:45</td><td>17:55</td><td>18:04</td><td>18:22</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>819</td><td>KTX-이음</td><td>17:55</td><td></td><td></td><td>18:24</td><td>18:35</td><td>18:45</td><td>18:54</td><td>19:12</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>821</td><td>KTX-이음</td><td>19:51</td><td></td><td>20:14</td><td>20:23</td><td>20:34</td><td>20:45</td><td></td><td>21:09</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>867</td><td>KTX-이음</td><td>20:22</td><td></td><td>20:45</td><td></td><td></td><td></td><td>21:10</td><td>21:29</td><td></td><td></td><td></td><td>금토일</td></tr><tr><td>823</td><td>KTX-이음</td><td>20:51</td><td></td><td>21:14</td><td></td><td></td><td></td><td>21:39</td><td>21:58</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>825</td><td>KTX-이음</td><td>22:18</td><td>22:39</td><td>22:45</td><td>22:54</td><td>23:05</td><td>23:16</td><td></td><td>23:41</td><td></td><td></td><td></td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>양평</th><th>용문</th><th>지평</th><th>석불</th><th>일신</th><th>매곡</th><th>양동</th><th>삼산</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th><th>쌍룡</th><th>영월</th><th>예미</th><th>민둥산</th><th>사북</th><th>고한</th><th>태백</th><th>동백산</th><th>도계</th><th>신기</th><th>동해</th></tr></thead><tbody><tr><td>무궁화</td><td>1671</td><td>08:08</td><td>08:16</td><td>08:25</td><td>08:30</td><td>08:35</td><td>08:40</td><td>08:44</td><td>08:49</td><td>08:57</td><td>09:05</td><td></td><td>09:31</td><td></td><td>10:05</td><td>10:25</td><td>10:47</td><td>10:56</td><td>11:03</td><td>11:17</td><td>11:29</td><td>11:45</td><td>12:02</td><td>12:25</td></tr><tr><td>무궁화</td><td>1673</td><td>10:21</td><td>10:29</td><td></td><td></td><td></td><td></td><td>10:41</td><td>10:46</td><td>10:53</td><td>11:00</td><td>11:20</td><td>11:30</td><td></td><td>12:01</td><td>12:21</td><td>12:42</td><td>12:51</td><td>12:58</td><td>13:14</td><td>13:25</td><td>13:46</td><td></td><td>14:28</td></tr><tr><td>무궁화</td><td>1675</td><td>12:49</td><td>12:57</td><td>13:07</td><td>13:13</td><td>13:17</td><td>13:22</td><td>13:27</td><td></td><td>13:36</td><td>13:43</td><td></td><td>14:07</td><td>14:22</td><td>14:40</td><td>15:01</td><td>15:23</td><td>15:32</td><td>15:39</td><td>15:54</td><td>16:05</td><td>16:23</td><td></td><td>17:05</td></tr><tr><td>무궁화</td><td>1677</td><td>19:43</td><td>19:51</td><td>20:00</td><td>20:06</td><td>20:10</td><td>20:15</td><td>20:20</td><td></td><td>20:29</td><td>20:36</td><td></td><td>21:01</td><td></td><td>21:32</td><td>21:52</td><td>22:13</td><td>22:22</td><td>22:29</td><td>22:44</td><td>22:56</td><td>23:12</td><td></td><td>23:50</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>양평역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '양평'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">양평역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">양평역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '31380';
            let curName = '양평';
            let altCity = '';
            let altName = '';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">양평역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">14℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">양평역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%B2%84%EA%B1%B0%ED%82%B9+%EA%B2%BD%EA%B8%B0%EC%96%91%ED%8F%89%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%96%91%ED%8F%89%EA%B5%B0+%EC%96%91%ED%8F%89%EC%9D%8D+%EC%96%91%EA%B7%BC%EB%A6%AC+409-7" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">버거킹 경기양평점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 양평군 양평읍 양근리 409-7</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%AA%85%EB%A5%9C%EC%A7%84%EC%82%AC%EA%B0%88%EB%B9%84+%EA%B2%BD%EA%B8%B0%EC%96%91%ED%8F%89%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%96%91%ED%8F%89%EA%B5%B0+%EC%96%91%ED%8F%89%EC%9D%8D+%EC%96%91%EA%B7%BC%EB%A6%AC+504-9+%EB%8B%A4%EB%8F%99+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">명륜진사갈비 경기양평점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;육류,고기요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 양평군 양평읍 양근리 504-9 다동 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%99%95%EC%B0%BD%EC%95%84%EA%B5%AC%EC%B0%9C+%EC%96%91%ED%8F%89%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%96%91%ED%8F%89%EA%B5%B0+%EC%96%91%ED%8F%89%EC%9D%8D+%EC%96%91%EA%B7%BC%EB%A6%AC+100-2+%EC%99%95%EC%B0%BD%EC%A3%BC%EB%8B%88%EA%B9%8C+%EC%99%95%EC%B0%BD%EC%95%84%EA%B5%AC%EC%B0%9C" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">왕창아구찜 양평점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;아귀찜,해물찜</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 양평군 양평읍 양근리 100-2 왕창주니까 왕창아구찜</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A7%98%EC%8A%A4%ED%84%B0%EC%B9%98+%EC%96%91%ED%8F%89%EC%97%AD%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%96%91%ED%8F%89%EA%B5%B0+%EC%96%91%ED%8F%89%EC%9D%8D+%EC%96%91%EA%B7%BC%EB%A6%AC+404-9" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">맘스터치 양평역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 양평군 양평읍 양근리 404-9</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%8C%80%ED%8F%AC%ED%95%AD%ED%9A%9F%EC%A7%91+%EC%96%91%ED%8F%89%EB%B3%B8%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%96%91%ED%8F%89%EA%B5%B0+%EC%96%91%ED%8F%89%EC%9D%8D+%EC%96%91%EA%B7%BC%EB%A6%AC+445-7+%EB%8C%80%ED%8F%AC%ED%95%AD%ED%9A%9F%EC%A7%91" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">대포항횟집 양평본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;생선회</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 양평군 양평읍 양근리 445-7 대포항횟집</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">양평역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 양평역1                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">600원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">7,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 경기도 양평군 양평읍 양근리 130-37<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 031-523-2353                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 양평역2                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">0원</strong> 
                                <small style="color: #94a3b8;">/ 0분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">0원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">0원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 경기도 양평군 역전길 30<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 031-523-2353                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">양평역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 경기도 양평군 양평읍 양근리 130-37</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:031-523-2353" style="color: #0052a4; font-weight: bold; text-decoration: none;">031-523-2353</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%96%91%ED%8F%89%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img decoding="async" width="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/05/양평역-기차-시간표-KTX-ITX-마음-무궁화호-서울-청량리-부전-강릉-동해-강릉선-중앙선-첫기차-마지막기차-요금-정차역.jpg" alt="양평역-기차-시간표-KTX-ITX-마음-무궁화호-서울-청량리-부전-강릉-동해-강릉선-중앙선-첫기차-마지막기차-요금-정차역" class="wp-image-20993" srcset="https://krailroad.co.kr/wp-content/uploads/2026/05/양평역-기차-시간표-KTX-ITX-마음-무궁화호-서울-청량리-부전-강릉-동해-강릉선-중앙선-첫기차-마지막기차-요금-정차역.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/05/양평역-기차-시간표-KTX-ITX-마음-무궁화호-서울-청량리-부전-강릉-동해-강릉선-중앙선-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/05/양평역-기차-시간표-KTX-ITX-마음-무궁화호-서울-청량리-부전-강릉-동해-강릉선-중앙선-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="(max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>용문역 열차 시간표 ITX-마음 무궁화호 청량리-부전-동해 중앙선 요금</title>
		<link>https://krailroad.co.kr/%ec%9a%a9%eb%ac%b8%ec%97%ad-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%b6%80%ec%a0%84-%eb%8f%99%ed%95%b4/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Fri, 08 May 2026 01:13:37 +0000</pubDate>
				<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[용문역 열차 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20944</guid>

					<description><![CDATA[양평의 넓은 품속에 자리 잡은 용문역 열차 시간표 안내 로직은 수도권 전철의 끝자락이자 강원도와 경북 내륙으로 연결해 나가는 철도 교통의 실질적인 요충지 정보를 제공합니다. 웅장한 역사 규모를 자랑하는 이곳은 경의중앙선 전철의 시종착역 역할을 수행하며 서울 도심과의 심리적 거리를 좁혀왔고, 동시에 무궁화호와 ITX-마음 같은 일반 열차가 쉴 새 없이 오가며 중부 내륙을 잇는 다리역할을 하고 있습니다. ... <a title="용문역 열차 시간표 ITX-마음 무궁화호 청량리-부전-동해 중앙선 요금" class="read-more button" href="https://krailroad.co.kr/%ec%9a%a9%eb%ac%b8%ec%97%ad-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%b6%80%ec%a0%84-%eb%8f%99%ed%95%b4/" aria-label="용문역 열차 시간표 ITX-마음 무궁화호 청량리-부전-동해 중앙선 요금 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">양평의 넓은 품속에 자리 잡은 용문역 열차 시간표 안내 로직은 수도권 전철의 끝자락이자 강원도와 경북 내륙으로 연결해 나가는 철도 교통의 실질적인 요충지 정보를 제공합니다. 웅장한 역사 규모를 자랑하는 이곳은 <a href="https://krailroad.co.kr/realtime-subway-timetable/">경의중앙선</a> 전철의 시종착역 역할을 수행하며 서울 도심과의 심리적 거리를 좁혀왔고, 동시에 무궁화호와 ITX-마음 같은 일반 열차가 쉴 새 없이 오가며 중부 내륙을 잇는 다리역할을 하고 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">용문역 열차 시간표 안내</h2>



<h3 class="wp-block-heading">데이터로 설계하는 이동 가이드</h3>



<p class="wp-block-paragraph">단순히 숫자로 적힌 용문역 열차 시간표를 확인하는 단계를 넘어, 본 시스템은 역에 도착하기 전부터 최종 목적지에 닿을 때까지의 모든 과정을 실시간 공공 데이터 API로 정확하게 안내받으실 수 있습니다. 또한 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 데이터베이스와 1분마다 동기화되는 API 로직은 용문역을 통과하는 열차 위치를 초 단위로 추적하며, 역 주변의 주차 현황과 시내로 연결되는 버스 도착 예보까지 하나의 화면에 통합했습니다.</p>



<p class="wp-block-paragraph">1️⃣ <strong>지능형 안내 서비스</strong> : 정보 확인이 어렵거나 다른 일을 해야하는 분들을 위해 도입된 음성 알림 기능을 활용하면, 열차 진입 15분 전부터 자동으로 음성 안내를 송출하여 정확한 시간에 열차를 탑승할 수 있습니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>실시간 연동 정보</strong> : 실시간 기상 상황과 맞물린 현지 식당가 정보는 날씨에 따른 최적의 동선을 제안하며, 처음 방문하는 지역 주변의 먹거리를 파악하고 주차장 요금과, 주차가능 대수를 쉽게 파악할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">용문역 기점으의 철길 여행</h3>



<p class="wp-block-paragraph">용문역 열차 시간표를 살피며 계획하는 나들이는 사계절 내내 각기 다른 매력을 선사합니다. 역에서 머지않은 곳에는 천년 고찰 용문사와 은행나무가 자리 잡고 있어 가족 단위 방문객에게 인기가 높으며, 여름철에는 인근 계곡에서 시원한 물놀이를 즐기기에도 제격입니다.</p>



<p class="wp-block-paragraph">1️⃣ <strong>노선의 다양성</strong> : 청량리역을 기점으로 <a href="https://krailroad.co.kr/%ec%a0%9c%ec%b2%9c%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-itx-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%84%9c%ec%9a%b8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%b6%80%ec%a0%84-%eb%8f%99/">제천역</a>, <a href="https://krailroad.co.kr/%ec%95%88%eb%8f%99%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%a4%91%ec%95%99%ec%84%a0-%ec%9a%94/">안동역</a>, <a href="https://krailroad.co.kr/%eb%b6%80%ec%a0%84%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b2%ad%eb%9f%89%eb%a6%ac%c2%b7%ea%b0%95%eb%a6%89%c2%b7%ec%95%88%eb%8f%99%ed%96%89%ec%86%8d%ec%b4%88-%ed%8f%ac%ed%95%ad-%ec%a4%91/">부전역</a>으로 향하는 중앙선 본선은 물론 태백선과 연결되는 강원도 방면 열차까지 이 역을 통과하므로 이용하는데 있어 선택의 폭이 매우 넓습니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>실시간 API 연동 자료</strong> : 정확하게 구축된 용문역 열차 시간표 자동 갱신 로직을 참고해, 중부 내륙의 정겨운 풍경 속에서 불필요한 기다림 없이 가장 효율적인 방식의 역별 소요시간, 구간요금, 주변 맛집, 날씨, 주차장정보, 주차요금등을 실시간 확인할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">용문<strong>역 첫차 &amp; 막차 운행 정보</strong></h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">용문<br>↓<br>청량리</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1612호</span><div class="time-display">09:08</div><div class="arrival-info">09:47 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">20:21</div><div class="arrival-info">20:56 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1652호</span><div class="time-display">06:43</div><div class="arrival-info">07:21 도착</div></td><td><span class="train-detail">1678호</span><div class="time-display">22:02</div><div class="arrival-info">22:40 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">용문<br>↓<br>안동</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1601호</span><div class="time-display">07:16</div><div class="arrival-info">09:16 도착</div></td><td><span class="train-detail">1613호</span><div class="time-display">18:21</div><div class="arrival-info">20:15 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">용문<br>↓<br>부전</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1601호</span><div class="time-display">07:16</div><div class="arrival-info">12:20 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">15:26</div><div class="arrival-info">20:28 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">용문<br>↓<br>태백</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1671호</span><div class="time-display">08:16</div><div class="arrival-info">11:17 도착</div></td><td><span class="train-detail">1677호</span><div class="time-display">19:51</div><div class="arrival-info">22:44 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">용문<br>↓<br>동해</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1671호</span><div class="time-display">08:16</div><div class="arrival-info">12:25 도착</div></td><td><span class="train-detail">1677호</span><div class="time-display">19:51</div><div class="arrival-info">23:50 도착</div></td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong><strong><strong><strong>용문</strong></strong></strong>역 </strong>ITX-마음 무궁화호 <strong>요금표</strong></h2>



<p class="wp-block-paragraph">👈 <strong><mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 스크롤하여 요금 확인</strong></mark></strong><br>💳 <a href="https://krailroad.co.kr/ktx-%EC%A0%84-%EB%85%B8%EC%84%A0-%EC%9A%94%EA%B8%88%ED%91%9C-%ED%95%9C%EB%88%88%EC%97%90-%EB%B3%B4%EA%B8%B0/" data-type="link" data-id="https://krailroad.co.kr/ktx-%EC%A0%84-%EB%85%B8%EC%84%A0-%EC%9A%94%EA%B8%88%ED%91%9C-%ED%95%9C%EB%88%88%EC%97%90-%EB%B3%B4%EA%B8%B0/">KTX 전체 요금표 한눈에 보기</a><br>🔎 <strong><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 요금 검색 바로가기</mark></a></strong></p>


<p style="text-align: right; font-size: small; color: #777; margin: 0;">최신 요금표 기준: 2026년 05월 24일</p><p style="text-align: right; font-size: small; color: #777; margin: 0;">(요금이 동일한 열차는 [무궁화·ITX·KTX] 3종으로 단순화)</p><div style="margin-top: 30px;"><div style="max-width: 100%; overflow-x: auto; margin: 20px 0;"><table class="train-table"><thead><tr><th>노선</th><th>종별</th><th>출발</th><th>도착</th><th>운임</th></tr></thead><tbody><tr><td>중앙1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">용문</td><td>3,800</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">용문</td><td>3,800</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">청량리</td><td class="highlight">용문</td><td>5,600</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">용문</td><td class="highlight">경주</td><td>20,000</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">용문</td><td class="highlight">경주</td><td>25,900</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">용문</td><td class="highlight">태화강</td><td>22,700</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">용문</td><td class="highlight">태화강</td><td>30,000</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">용문</td><td class="highlight">부전</td><td>26,800</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">용문</td><td class="highlight">부전</td><td>36,000</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">용문</td><td class="highlight">태백</td><td>11,400</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">용문</td><td class="highlight">동해</td><td>15,400</td></tr></tbody></table></div></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading has-medium-font-size"><strong>용문역 다른 열차 시간표</strong></h2>



<p class="wp-block-paragraph">✅ <s>용문역 KTX 노선 없음</s><br>✅ <s>용문역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%ec%9a%a9%eb%ac%b8%ec%97%ad-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%b6%80%ec%a0%84-%eb%8f%99%ed%95%b4/">용문역 ITX, 무궁화 시간표 바로가기</a></p>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>용문역 <strong><strong><strong>ITX-마음 무궁화호 </strong>시간표</strong></strong></strong></h2>



<h3 class="wp-block-heading">출발 : 용문 → 도착 : 청량리</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>용문</th><th>양평</th><th>덕소</th><th>청량리</th></tr></thead><tbody><tr><td>1652</td><td>무궁화</td><td>06:43</td><td>06:51</td><td>07:08</td><td>07:21</td></tr><tr><td>1662</td><td>무궁화</td><td>07:48</td><td>07:56</td><td>08:13</td><td>08:27</td></tr><tr><td>1612</td><td>ITX-마음</td><td>09:08</td><td>09:16</td><td>09:34</td><td>09:47</td></tr><tr><td>1672</td><td>무궁화</td><td>09:54</td><td>10:01</td><td>10:18</td><td>10:31</td></tr><tr><td>1602</td><td>ITX-마음</td><td>12:22</td><td>12:29</td><td></td><td>12:56</td></tr><tr><td>1614</td><td>ITX-마음</td><td>16:28</td><td>16:36</td><td>16:53</td><td>17:06</td></tr><tr><td>1674</td><td>무궁화</td><td>17:56</td><td>18:04</td><td>18:21</td><td>18:35</td></tr><tr><td>1676</td><td>무궁화</td><td>19:17</td><td>19:25</td><td>19:42</td><td>19:55</td></tr><tr><td>1604</td><td>ITX-마음</td><td>20:21</td><td>20:29</td><td></td><td>20:56</td></tr><tr><td>1678</td><td>무궁화</td><td>22:02</td><td>22:10</td><td>22:27</td><td>22:40</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 용문 → 도착 : 부전</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>용문</th><th>지평</th><th>양동</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th><th>안동</th><th>의성</th><th>군위</th><th>영천</th><th>아화</th><th>경주</th><th>북울산</th><th>태화강</th><th>남창</th><th>기장</th><th>신해운대</th><th>센텀</th><th>부전</th></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</td><td>07:16</td><td>07:21</td><td>07:31</td><td>07:40</td><td>07:47</td><td>08:05</td><td>08:14</td><td>08:31</td><td>08:44</td><td>08:55</td><td>09:16</td><td>09:34</td><td>09:52</td><td>10:14</td><td>10:26</td><td>10:43</td><td>11:04</td><td>11:13</td><td>11:30</td><td>11:51</td><td>12:02</td><td>12:10</td><td>12:20</td></tr><tr><td>1603</td><td>ITX-마음</td><td>15:26</td><td>15:31</td><td>15:46</td><td>15:56</td><td>16:03</td><td></td><td>16:28</td><td>16:45</td><td>16:58</td><td>17:10</td><td>17:31</td><td>17:49</td><td>18:06</td><td>18:27</td><td>18:38</td><td>18:55</td><td>19:15</td><td>19:23</td><td>19:39</td><td>20:00</td><td>20:10</td><td>20:17</td><td>20:28</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 용문 → 도착 : 제천</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>용문</th><th>지평</th><th>석불</th><th>일신</th><th>매곡</th><th>양동</th><th>삼산</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</td><td>07:16</td><td>07:21</td><td></td><td></td><td></td><td>07:31</td><td></td><td>07:40</td><td>07:47</td><td>08:05</td><td>08:14</td></tr><tr><td>1671</td><td>무궁화</td><td>08:16</td><td>08:25</td><td>08:30</td><td>08:35</td><td>08:40</td><td>08:44</td><td>08:49</td><td>08:57</td><td>09:05</td><td></td><td>09:31</td></tr><tr><td>1673</td><td>무궁화</td><td>10:29</td><td></td><td></td><td></td><td></td><td>10:41</td><td>10:46</td><td>10:53</td><td>11:00</td><td>11:20</td><td>11:30</td></tr><tr><td>1611</td><td>ITX-마음</td><td>11:21</td><td></td><td></td><td></td><td></td><td>11:33</td><td></td><td>11:42</td><td>11:49</td><td></td><td>12:13</td></tr><tr><td>1675</td><td>무궁화</td><td>12:57</td><td>13:07</td><td>13:13</td><td>13:17</td><td>13:22</td><td>13:27</td><td></td><td>13:36</td><td>13:43</td><td></td><td>14:07</td></tr><tr><td>1603</td><td>ITX-마음</td><td>15:26</td><td>15:31</td><td></td><td></td><td></td><td>15:46</td><td></td><td>15:56</td><td>16:03</td><td></td><td>16:28</td></tr><tr><td>1613</td><td>ITX-마음</td><td>18:21</td><td></td><td></td><td></td><td></td><td>18:33</td><td></td><td>18:42</td><td>18:51</td><td></td><td>19:16</td></tr><tr><td>1677</td><td>무궁화</td><td>19:51</td><td>20:00</td><td>20:06</td><td>20:10</td><td>20:15</td><td>20:20</td><td></td><td>20:29</td><td>20:36</td><td></td><td>21:01</td></tr><tr><td>1651</td><td>무궁화</td><td>21:13</td><td>21:18</td><td>21:24</td><td>21:28</td><td>21:33</td><td>21:38</td><td>21:43</td><td>21:50</td><td>21:57</td><td>22:16</td><td>22:24</td></tr><tr><td>1661</td><td>무궁화</td><td>22:41</td><td>22:46</td><td></td><td></td><td></td><td>22:56</td><td></td><td>23:05</td><td>23:12</td><td></td><td>23:37</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 용문 → 도착 : 영주</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>용문</th><th>지평</th><th>양동</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</td><td>07:16</td><td>07:21</td><td>07:31</td><td>07:40</td><td>07:47</td><td>08:05</td><td>08:14</td><td>08:31</td><td>08:44</td><td>08:55</td></tr><tr><td>1611</td><td>ITX-마음</td><td>11:21</td><td></td><td>11:33</td><td>11:42</td><td>11:49</td><td></td><td>12:13</td><td>12:30</td><td>12:43</td><td>12:53</td></tr><tr><td>1603</td><td>ITX-마음</td><td>15:26</td><td>15:31</td><td>15:46</td><td>15:56</td><td>16:03</td><td></td><td>16:28</td><td>16:45</td><td>16:58</td><td>17:10</td></tr><tr><td>1613</td><td>ITX-마음</td><td>18:21</td><td></td><td>18:33</td><td>18:42</td><td>18:51</td><td></td><td>19:16</td><td>19:32</td><td>19:45</td><td>19:56</td></tr><tr><td>1661</td><td>무궁화</td><td>22:41</td><td>22:46</td><td>22:56</td><td>23:05</td><td>23:12</td><td></td><td>23:37</td><td>23:52</td><td>00:05</td><td>00:14</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 용문 → 도착 : 안동</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>용문</th><th>지평</th><th>양동</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th><th>안동</th></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</td><td>07:16</td><td>07:21</td><td>07:31</td><td>07:40</td><td>07:47</td><td>08:05</td><td>08:14</td><td>08:31</td><td>08:44</td><td>08:55</td><td>09:16</td></tr><tr><td>1611</td><td>ITX-마음</td><td>11:21</td><td></td><td>11:33</td><td>11:42</td><td>11:49</td><td></td><td>12:13</td><td>12:30</td><td>12:43</td><td>12:53</td><td>13:13</td></tr><tr><td>1603</td><td>ITX-마음</td><td>15:26</td><td>15:31</td><td>15:46</td><td>15:56</td><td>16:03</td><td></td><td>16:28</td><td>16:45</td><td>16:58</td><td>17:10</td><td>17:31</td></tr><tr><td>1613</td><td>ITX-마음</td><td>18:21</td><td></td><td>18:33</td><td>18:42</td><td>18:51</td><td></td><td>19:16</td><td>19:32</td><td>19:45</td><td>19:56</td><td>20:15</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 용문 → 도착 : 동해</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>용문</th><th>지평</th><th>석불</th><th>일신</th><th>매곡</th><th>양동</th><th>삼산</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th><th>쌍룡</th><th>영월</th><th>예미</th><th>민둥산</th><th>사북</th><th>고한</th><th>태백</th><th>동백산</th><th>도계</th><th>신기</th><th>동해</th></tr></thead><tbody><tr><td>무궁화</td><td>1671</td><td>08:16</td><td>08:25</td><td>08:30</td><td>08:35</td><td>08:40</td><td>08:44</td><td>08:49</td><td>08:57</td><td>09:05</td><td></td><td>09:31</td><td></td><td>10:05</td><td>10:25</td><td>10:47</td><td>10:56</td><td>11:03</td><td>11:17</td><td>11:29</td><td>11:45</td><td>12:02</td><td>12:25</td></tr><tr><td>무궁화</td><td>1673</td><td>10:29</td><td></td><td></td><td></td><td></td><td>10:41</td><td>10:46</td><td>10:53</td><td>11:00</td><td>11:20</td><td>11:30</td><td></td><td>12:01</td><td>12:21</td><td>12:42</td><td>12:51</td><td>12:58</td><td>13:14</td><td>13:25</td><td>13:46</td><td></td><td>14:28</td></tr><tr><td>무궁화</td><td>1675</td><td>12:57</td><td>13:07</td><td>13:13</td><td>13:17</td><td>13:22</td><td>13:27</td><td></td><td>13:36</td><td>13:43</td><td></td><td>14:07</td><td>14:22</td><td>14:40</td><td>15:01</td><td>15:23</td><td>15:32</td><td>15:39</td><td>15:54</td><td>16:05</td><td>16:23</td><td></td><td>17:05</td></tr><tr><td>무궁화</td><td>1677</td><td>19:51</td><td>20:00</td><td>20:06</td><td>20:10</td><td>20:15</td><td>20:20</td><td></td><td>20:29</td><td>20:36</td><td></td><td>21:01</td><td></td><td>21:32</td><td>21:52</td><td>22:13</td><td>22:22</td><td>22:29</td><td>22:44</td><td>22:56</td><td>23:12</td><td></td><td>23:50</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>용문역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '용문'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">용문역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">용문역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '';
            let curName = '용문';
            let altCity = '';
            let altName = '';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">용문역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">13℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">용문역역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%8B%A4%EC%98%A4%EB%A6%AC%EB%8B%A4+%EC%96%91%ED%8F%89%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%96%91%ED%8F%89%EA%B5%B0+%EC%9A%A9%EB%AC%B8%EB%A9%B4+%EB%8B%A4%EB%AC%B8%EB%A6%AC+701-6+1%EC%B8%B5+%EB%8B%A4%EC%98%A4%EB%A6%AC%EB%8B%A4+%EC%96%91%ED%8F%89%EC%A0%90" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">다오리다 양평점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;오리요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 양평군 용문면 다문리 701-6 1층 다오리다 양평점</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%8C%8C%EB%A6%AC%EB%B0%94%EA%B2%8C%EB%9C%A8+%EC%96%91%ED%8F%89%EC%9A%A9%EB%AC%B8%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%96%91%ED%8F%89%EA%B5%B0+%EC%9A%A9%EB%AC%B8%EB%A9%B4+%EB%8B%A4%EB%AC%B8%EB%A6%AC+321-3" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">파리바게뜨 양평용문점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 양평군 용문면 다문리 321-3</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%9A%B0%EB%A6%AC%ED%95%9C%EC%9A%B0+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%96%91%ED%8F%89%EA%B5%B0+%EC%9A%A9%EB%AC%B8%EB%A9%B4+%EB%8B%A4%EB%AC%B8%EB%A6%AC+619+%EC%9A%B0%EB%A6%AC%ED%95%9C%EC%9A%B0" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">우리한우</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;육류,고기요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 양평군 용문면 다문리 619 우리한우</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%9A%A9%EB%AC%B8%EC%9B%90%EC%A1%B0%EB%8A%A5%EC%9D%B4%EB%B2%84%EC%84%AF%EA%B5%AD%EB%B0%A5+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%96%91%ED%8F%89%EA%B5%B0+%EC%9A%A9%EB%AC%B8%EB%A9%B4+%EB%8B%A4%EB%AC%B8%EB%A6%AC+737-34" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">용문원조능이버섯국밥</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;국밥</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 양평군 용문면 다문리 737-34</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A9%94%EA%B0%80MGC%EC%BB%A4%ED%94%BC+%EC%96%91%ED%8F%89%EC%9A%A9%EB%AC%B8%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%96%91%ED%8F%89%EA%B5%B0+%EC%9A%A9%EB%AC%B8%EB%A9%B4+%EB%8B%A4%EB%AC%B8%EB%A6%AC+737-56+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">메가MGC커피 양평용문점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;카페</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 양평군 용문면 다문리 737-56 1층</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">용문역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 용문역1                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">600원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">7,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 경기도 양평군 용문면 다문리 736-13<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 031-523-2353                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 용문역2                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">600원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">7,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 경기도 양평군 용문면 다문리 736-13<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 031-523-2353                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 용문역3                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">0원</strong> 
                                <small style="color: #94a3b8;">/ 0분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">0원</strong>
                                <small style="color: #94a3b8;">/ 0분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">0원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 경기도 양평군 용문면 다문리 736-13<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 031-523-2353                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">용문역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 경기도 양평군 용문면 다문리 736-13</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:031-523-2353" style="color: #0052a4; font-weight: bold; text-decoration: none;">031-523-2353</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%9A%A9%EB%AC%B8%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/05/용문역-열차-시간표-ITX-마음-무궁화호-중앙선-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="용문역-열차-시간표-ITX-마음-무궁화호-중앙선-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-20957" srcset="https://krailroad.co.kr/wp-content/uploads/2026/05/용문역-열차-시간표-ITX-마음-무궁화호-중앙선-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/05/용문역-열차-시간표-ITX-마음-무궁화호-중앙선-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/05/용문역-열차-시간표-ITX-마음-무궁화호-중앙선-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>누리로 시간표 태화강역~동대구~강릉역 동해선 대구선 최종정리</title>
		<link>https://krailroad.co.kr/%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%83%9c%ed%99%94%ea%b0%95%ec%97%ad%eb%8f%99%eb%8c%80%ea%b5%ac%ea%b0%95%eb%a6%89%ec%97%ad-%eb%8f%99%ed%95%b4%ec%84%a0-%eb%8c%80%ea%b5%ac/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 07 May 2026 01:25:57 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20924</guid>

					<description><![CDATA[경상권 내륙과 동해안을 잇는 누리로 시간표는 대구, 포항, 경주, 부산 지역을 오가는 시민들에게 실질적인 이동 수단이며, 누리로는 본래 무궁화호의 노후화에 대비해 도입된 열차로, 현재 전국에서 동해선과 대구선 구간을 중심으로 집중 배치되어 운행 중입니다. 이 열차가 특정 노선에 머물고 있는 이유는 단거리 및 중거리 구간에서 높은 가감속 성능을 발휘하여 정차역이 많은 로컬 노선에 최적화되어 있기 때문입니다. ... <a title="누리로 시간표 태화강역~동대구~강릉역 동해선 대구선 최종정리" class="read-more button" href="https://krailroad.co.kr/%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%83%9c%ed%99%94%ea%b0%95%ec%97%ad%eb%8f%99%eb%8c%80%ea%b5%ac%ea%b0%95%eb%a6%89%ec%97%ad-%eb%8f%99%ed%95%b4%ec%84%a0-%eb%8c%80%ea%b5%ac/" aria-label="누리로 시간표 태화강역~동대구~강릉역 동해선 대구선 최종정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">경상권 내륙과 동해안을 잇는 누리로 시간표는 대구, 포항, 경주, 부산 지역을 오가는 시민들에게 실질적인 이동 수단이며, 누리로는 본래 무궁화호의 노후화에 대비해 도입된 열차로, 현재 전국에서 동해선과 대구선 구간을 중심으로 집중 배치되어 운행 중입니다. 이 열차가 특정 노선에 머물고 있는 이유는 단거리 및 중거리 구간에서 높은 가감속 성능을 발휘하여 정차역이 많은 로컬 노선에 최적화되어 있기 때문입니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>누리로 시간표 안내</strong></h2>



<h3 class="wp-block-heading">노선별 운행 특징과 과거</h3>



<p class="wp-block-paragraph">과거 강릉~부전 구간은 누리로가 운행하며 동해안 북부와 남부를 길게 연결했으나, 현재는 해당 구간에서 누리로를 찾아보기 어렵습니다. 이는 열차 운영 효율화 과정에서 장거리 노선은 KTX-이음이나 ITX-마음으로 대체되고, 누리로는 대구선과 동해선 남부 구간인 동대구~포항, 동대구~태화강(부전) 구간의 셔틀 역할을 수행하도록 조정되었기 때문입니다[참고 : <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 자료에 따라 대구선, 동해선 누리로 정차역이 수정될 수 있으니 정확한 구간은 아래 실시간 API 검색을 하세요].</p>



<p class="wp-block-paragraph">1️⃣ <strong>대구선 구간</strong> : 동대구역에서 하양, <a href="https://krailroad.co.kr/%ec%98%81%ec%b2%9c%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%eb%b6%80%ec%a0%84-%ec%95%88%eb%8f%99-%ec%b2%ad%eb%9f%89%eb%a6%ac-%ec%84%9c/">영천역</a> 등을 잇는 구간으로 대구 도심과 경북 내륙을 연결하며 학생들과 직장인들의 이용 비중이 높습니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>동해선 구간</strong> : 포항, 경주, 태화강, <a href="https://krailroad.co.kr/%eb%b6%80%ec%a0%84%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%aa%a9%ed%8f%ac%c2%b7%ec%88%9c%ec%b2%9c%c2%b7%eb%8f%99%eb%8c%80%ea%b5%ac%ed%96%89%ec%a7%84%ec%a3%bc/">부전역</a> 등을 잇는 해안 노선으로, 광역전철과 일반 열차가 공존하는 독특한 체계를 가지고 있습니다.<br><br>3️⃣ <strong>무궁화호와의 공존</strong>: 현재 일부 역을 오가는 무궁화호가 남아있기는 하지만 노선 숫자가 과거에 비해 많지 않아, 실제 운행 간격 면에서는 누리로 시간표를 확인하는 것이 좋습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">누리로 열차의 장단점과 미래</h3>



<p class="wp-block-paragraph">열차를 이용할 때 누리로의 가장 큰 장점은 전동차 기반의 쾌적한 실내 환경과 낮은 계단 덕분에 노약자나 아이들이 승하차하기 편리하다는 점입니다. 반면 단점으로는 무궁화호에 있던 카페 객차나 넓은 좌석 간격에 비해 다소 좁게 느껴질 수 있다는 점이 꼽힙니다. 앞으로 동해선 전 구간 복선전철화가 완전히 마무리되면 누리로 시간표상의 열차들은 점차 <a href="https://krailroad.co.kr/%eb%8f%99%ed%95%b4%ec%84%a0-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%eb%b6%80%ec%a0%84-%eb%8f%99%eb%8c%80%ea%b5%ac%eb%8f%99%ed%95%b4-%ea%b0%95%eb%a6%89/">동해선 ITX-마음</a>으로 대체될 전망이며, 더 빠른 속도와 세련된 내부 시설을 갖춘 체계로 변화할 준비를 하고 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동대구 ↔&nbsp;강릉 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">강릉<br>↓<br>동대구</td><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1852호</span><div class="time-display">06:30</div><div class="arrival-info">11:36 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">12:30</div><div class="arrival-info">17:18 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">동대구<br>↓<br>강릉</td><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1851호</span><div class="time-display">06:25</div><div class="arrival-info">11:12 도착</div></td><td><span class="train-detail">1865호</span><div class="time-display">18:44</div><div class="arrival-info">23:13 도착</div></td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동대구 ↔&nbsp;태화강 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">동대구<br>↓<br>태화강</td><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1871호</span><div class="time-display">07:40</div><div class="arrival-info">09:00 도착</div></td><td><span class="train-detail">1887호</span><div class="time-display">19:47</div><div class="arrival-info">21:07 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">태화강<br>↓<br>동대구</td><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1874호</span><div class="time-display">09:30</div><div class="arrival-info">10:48 도착</div></td><td><span class="train-detail">1888호</span><div class="time-display">21:38</div><div class="arrival-info">22:56 도착</div></td></tr></tbody></table></div>


    
    <h2>태화강 ↔ 동대구 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">동대구 ↔ 태화강</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                10,200원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">동대구 ↔ 태화강</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                7,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">강릉 →&nbsp;동대구 누리로 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>강릉</th><th>정동진</th><th>묵호</th><th>동해</th><th>추암</th><th>삼척해변</th><th>삼척</th><th>근덕</th><th>임원</th><th>옥원</th><th>흥부</th><th>죽변</th><th>울진</th><th>매화</th><th>기성</th><th>평해</th><th>후포</th><th>고래불</th><th>영해</th><th>영덕</th><th>강구</th><th>장사</th><th>월포</th><th>포항</th><th>안강</th><th>서경주</th><th>아화</th><th>영천</th><th>하양</th><th>동대구</th><th>비 고</th></tr></thead><tbody><tr><td>1852</td><td>누리로</td><td>06:30</td><td>06:47</td><td>07:11</td><td>07:21</td><td></td><td></td><td>07:45</td><td>07:57</td><td>08:06</td><td>08:13</td><td>08:23</td><td>08:30</td><td>08:38</td><td>08:48</td><td>08:58</td><td>09:06</td><td>09:13</td><td>09:21</td><td>09:29</td><td>09:40</td><td>09:47</td><td>09:53</td><td>10:01</td><td>10:17</td><td>10:30</td><td>10:40</td><td>10:58</td><td>11:10</td><td>11:20</td><td>11:36</td><td>월화수목금</td></tr><tr><td>1862</td><td>누리로</td><td>06:30</td><td>06:47</td><td>07:11</td><td>07:21</td><td>07:31</td><td>07:35</td><td>07:45</td><td>07:57</td><td>08:06</td><td>08:13</td><td>08:23</td><td>08:30</td><td>08:38</td><td>08:48</td><td>08:58</td><td>09:06</td><td>09:13</td><td>09:21</td><td>09:29</td><td>09:40</td><td>09:47</td><td>09:53</td><td>10:01</td><td>10:17</td><td>10:30</td><td>10:40</td><td>10:58</td><td>11:10</td><td>11:20</td><td>11:36</td><td>토일</td></tr><tr><td>1854</td><td>누리로</td><td>08:55</td><td>09:11</td><td>09:30</td><td>09:39</td><td></td><td></td><td>10:01</td><td></td><td>10:19</td><td>10:28</td><td>10:38</td><td>10:45</td><td>10:53</td><td></td><td></td><td></td><td>11:20</td><td>11:33</td><td>11:41</td><td>11:52</td><td>11:59</td><td>12:04</td><td>12:13</td><td>12:26</td><td>12:40</td><td>12:51</td><td>13:08</td><td>13:19</td><td>13:29</td><td>13:45</td><td>월화수목금</td></tr><tr><td>1864</td><td>누리로</td><td>08:55</td><td>09:11</td><td>09:30</td><td>09:39</td><td>09:48</td><td>09:52</td><td>10:01</td><td></td><td>10:19</td><td>10:28</td><td>10:38</td><td>10:45</td><td>10:53</td><td></td><td></td><td></td><td>11:20</td><td>11:33</td><td>11:41</td><td>11:52</td><td>11:59</td><td>12:04</td><td>12:13</td><td>12:26</td><td>12:40</td><td>12:51</td><td>13:08</td><td>13:19</td><td>13:29</td><td>13:45</td><td>토일</td></tr><tr><td>1866</td><td>누리로</td><td>12:30</td><td>12:47</td><td>13:07</td><td>13:15</td><td></td><td></td><td>13:33</td><td>13:46</td><td>13:55</td><td>14:02</td><td>14:12</td><td>14:19</td><td>14:27</td><td>14:37</td><td>14:49</td><td></td><td>15:01</td><td>15:09</td><td></td><td>15:25</td><td></td><td>15:39</td><td>15:47</td><td>15:59</td><td>16:13</td><td>16:23</td><td>16:41</td><td>16:52</td><td>17:02</td><td>17:18</td><td></td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">태화강 →&nbsp;동대구 누리로 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>태화강</th><th>북울산</th><th>경주</th><th>아화</th><th>영천</th><th>하양</th><th>동대구</th></tr></thead><tbody><tr><td>1874</td><td>누리로</td><td>09:30</td><td>09:38</td><td>09:59</td><td></td><td>10:21</td><td>10:32</td><td>10:48</td></tr><tr><td>1876</td><td>누리로</td><td>14:20</td><td>14:28</td><td>14:49</td><td></td><td>15:11</td><td>15:22</td><td>15:38</td></tr><tr><td>1880</td><td>누리로</td><td>17:16</td><td>17:24</td><td>17:45</td><td>18:00</td><td>18:10</td><td>18:21</td><td>18:37</td></tr><tr><td>1882</td><td>누리로</td><td>17:57</td><td>18:05</td><td>18:26</td><td></td><td>18:56</td><td>19:07</td><td>19:27</td></tr><tr><td>1886</td><td>누리로</td><td>20:57</td><td>21:05</td><td>21:26</td><td></td><td>21:49</td><td>22:00</td><td>22:16</td></tr><tr><td>1888</td><td>누리로</td><td>21:38</td><td>21:46</td><td>22:07</td><td></td><td>22:29</td><td>22:40</td><td>22:56</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동대구 →&nbsp;강릉 누리로 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>동대구</th><th>하양</th><th>영천</th><th>아화</th><th>서경주</th><th>안강</th><th>포항</th><th>월포</th><th>장사</th><th>강구</th><th>영덕</th><th>영해</th><th>고래불</th><th>후포</th><th>평해</th><th>기성</th><th>매화</th><th>울진</th><th>죽변</th><th>흥부</th><th>옥원</th><th>임원</th><th>근덕</th><th>삼척</th><th>삼척해변</th><th>추암</th><th>동해</th><th>묵호</th><th>정동진</th><th>강릉</th><th>비 고</th></tr></thead><tbody><tr><td>1851</td><td>누리로</td><td>06:25</td><td>06:42</td><td>06:52</td><td>07:03</td><td>07:19</td><td>07:28</td><td>07:42</td><td>07:54</td><td></td><td>08:07</td><td>08:15</td><td>08:26</td><td>08:34</td><td>08:42</td><td>08:49</td><td>08:57</td><td></td><td>09:13</td><td>09:20</td><td>09:27</td><td>09:36</td><td>09:42</td><td></td><td>10:01</td><td></td><td></td><td>10:24</td><td>10:33</td><td>10:55</td><td>11:12</td><td>월화수목금</td></tr><tr><td>1861</td><td>누리로</td><td>06:25</td><td>06:42</td><td>06:52</td><td>07:03</td><td>07:19</td><td>07:28</td><td>07:42</td><td>07:54</td><td></td><td>08:07</td><td>08:15</td><td>08:26</td><td>08:34</td><td>08:42</td><td>08:49</td><td>08:57</td><td></td><td>09:13</td><td>09:20</td><td>09:27</td><td>09:36</td><td>09:42</td><td></td><td>10:01</td><td>10:09</td><td>10:13</td><td>10:24</td><td>10:33</td><td>10:55</td><td>11:12</td><td>토일</td></tr><tr><td>1853</td><td>누리로</td><td>12:14</td><td>12:31</td><td>12:42</td><td>12:53</td><td>13:09</td><td>13:19</td><td>13:32</td><td>13:43</td><td>13:51</td><td>13:59</td><td>14:07</td><td>14:18</td><td>14:26</td><td>14:35</td><td>14:42</td><td>14:50</td><td>15:00</td><td>15:10</td><td></td><td>15:20</td><td>15:30</td><td></td><td>15:41</td><td>15:55</td><td></td><td></td><td>16:16</td><td>16:24</td><td>16:45</td><td>17:00</td><td>월화수목금</td></tr><tr><td>1863</td><td>누리로</td><td>12:14</td><td>12:31</td><td>12:42</td><td>12:53</td><td>13:09</td><td>13:19</td><td>13:32</td><td>13:43</td><td>13:51</td><td>13:59</td><td>14:07</td><td>14:18</td><td>14:26</td><td>14:35</td><td>14:42</td><td>14:50</td><td>15:00</td><td>15:10</td><td></td><td>15:20</td><td>15:30</td><td></td><td>15:41</td><td>15:55</td><td>16:03</td><td>16:07</td><td>16:16</td><td>16:24</td><td>16:45</td><td>17:00</td><td>토일</td></tr><tr><td>1865</td><td>누리로</td><td>18:44</td><td>19:01</td><td>19:11</td><td></td><td>19:35</td><td></td><td>19:55</td><td>20:06</td><td>20:16</td><td>20:24</td><td>20:35</td><td>20:46</td><td>20:54</td><td>21:03</td><td>21:10</td><td>21:18</td><td>21:28</td><td>21:37</td><td></td><td></td><td></td><td></td><td></td><td>22:12</td><td></td><td></td><td>22:29</td><td>22:37</td><td>22:58</td><td>23:13</td><td></td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동대구 →&nbsp;태화강 누리로 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>동대구</th><th>하양</th><th>영천</th><th>아화</th><th>경주</th><th>북울산</th><th>태화강</th></tr></thead><tbody><tr><td>1871</td><td>누리로</td><td>07:40</td><td>07:57</td><td>08:07</td><td>08:18</td><td>08:34</td><td>08:53</td><td>09:00</td></tr><tr><td>1875</td><td>누리로</td><td>12:30</td><td>12:47</td><td>12:57</td><td></td><td>13:21</td><td>13:40</td><td>13:47</td></tr><tr><td>1879</td><td>누리로</td><td>15:23</td><td>15:40</td><td>15:50</td><td></td><td>16:14</td><td>16:33</td><td>16:40</td></tr><tr><td>1881</td><td>누리로</td><td>16:09</td><td>16:26</td><td>16:36</td><td></td><td>17:00</td><td>17:19</td><td>17:26</td></tr><tr><td>1885</td><td>누리로</td><td>19:07</td><td>19:24</td><td>19:35</td><td></td><td>19:59</td><td>20:19</td><td>20:27</td></tr><tr><td>1887</td><td>누리로</td><td>19:47</td><td>20:04</td><td>20:14</td><td>20:25</td><td>20:41</td><td>21:00</td><td>21:07</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">태화강역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">태화강역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '26';
            let curName = '태화강';
            let altCity = '32010';
            let altName = '강릉';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">태화강역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">14℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">태화강역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%B4%9D%EA%B0%81%EC%A7%AC%EB%BD%95+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%82%A8%EA%B5%AC+%EC%82%BC%EC%82%B0%EB%8F%99+187-3+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">총각짬뽕</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">중식&gt;중식당</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">울산광역시 남구 삼산동 187-3 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%99%8D%EC%9D%B5%EB%8F%88%EA%B9%8C%EC%8A%A4+%EC%9A%B8%EC%82%B0%EC%82%BC%EC%82%B0%EC%A0%90+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%82%A8%EA%B5%AC+%EC%82%BC%EC%82%B0%EB%8F%99+171-4" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">홍익돈까스 울산삼산점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;일식&gt;돈가스</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">울산광역시 남구 삼산동 171-4</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%82%BC%EC%82%B0%EB%B0%80%EB%A9%B4%EC%A0%84%EB%AC%B8%EC%A0%90+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%82%A8%EA%B5%AC+%EC%82%BC%EC%82%B0%EB%8F%99+1645-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">삼산밀면전문점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;국수</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">울산광역시 남구 삼산동 1645-1</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%95%84%EB%9D%BC%EC%88%AF%EB%B6%88%EB%8B%AD%EA%B0%88%EB%B9%84%26amp%3B%EC%AD%88%EA%BE%B8%EB%AF%B8+%EB%B3%B8%EC%A0%90+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%82%A8%EA%B5%AC+%EC%82%BC%EC%82%B0%EB%8F%99+200-3+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">아라숯불닭갈비&amp;쭈꾸미 본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;주꾸미요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">울산광역시 남구 삼산동 200-3 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%83%A4%EB%B8%8C%EC%98%AC%EB%8D%B0%EC%9D%B4+%EC%9A%B8%EC%82%B0%EC%82%BC%EC%82%B0%EC%A0%90+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%82%A8%EA%B5%AC+%EC%82%BC%EC%82%B0%EB%8F%99+189-1+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">샤브올데이 울산삼산점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;일식&gt;샤브샤브</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">울산광역시 남구 삼산동 189-1 1층</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">태화강역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 태화강역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">200원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 울산광역시 남구 산업로 654<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 051-441-7782                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">태화강역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 울산광역시 남구 산업로 654</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:051-441-7782" style="color: #0052a4; font-weight: bold; text-decoration: none;">051-441-7782</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%ED%83%9C%ED%99%94%EA%B0%95%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/05/누리로-시간표-동대구-강릉-동대구-태화강-부전-동해선-대구선-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="누리로-시간표-동대구-강릉-동대구-태화강-부전-동해선-대구선-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20942" srcset="https://krailroad.co.kr/wp-content/uploads/2026/05/누리로-시간표-동대구-강릉-동대구-태화강-부전-동해선-대구선-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/05/누리로-시간표-동대구-강릉-동대구-태화강-부전-동해선-대구선-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/05/누리로-시간표-동대구-강릉-동대구-태화강-부전-동해선-대구선-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>동해선 ITX-마음 시간표 및 요금 부전-동대구~동해-강릉 안내</title>
		<link>https://krailroad.co.kr/%eb%8f%99%ed%95%b4%ec%84%a0-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%eb%b6%80%ec%a0%84-%eb%8f%99%eb%8c%80%ea%b5%ac%eb%8f%99%ed%95%b4-%ea%b0%95%eb%a6%89/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Wed, 06 May 2026 00:11:24 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[동해선 ITX-마음 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20897</guid>

					<description><![CDATA[동해선 ITX-마음 시간표는 부산 부전역과 동대구역에서 시작해 태화강역과 포항역을 거쳐 강원도 동해역과 강릉역까지 이어지는 동해안 철도망의 핵심적인 노선으로, 과거 동해선은 단선 구간이 많아 접근성이 떨어졌으나, 남해안과 동해안을 잇는 거대 철도 축을 구축하기 위해 전 구간 현대화 사업이 진행되었습니다. 2023년 말부터 본격 투입된 ITX-마음은 부전~동해, 강릉~부전, 동대구~강릉, 동대구~동해 방면을 부지런히 오가며 영남과 강원권을 실시간으로 연결하고 있습니다. ... <a title="동해선 ITX-마음 시간표 및 요금 부전-동대구~동해-강릉 안내" class="read-more button" href="https://krailroad.co.kr/%eb%8f%99%ed%95%b4%ec%84%a0-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%eb%b6%80%ec%a0%84-%eb%8f%99%eb%8c%80%ea%b5%ac%eb%8f%99%ed%95%b4-%ea%b0%95%eb%a6%89/" aria-label="동해선 ITX-마음 시간표 및 요금 부전-동대구~동해-강릉 안내 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">동해선 ITX-마음 시간표는 부산 <a href="https://krailroad.co.kr/%eb%b6%80%ec%a0%84%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b2%ad%eb%9f%89%eb%a6%ac%c2%b7%ea%b0%95%eb%a6%89%c2%b7%ec%95%88%eb%8f%99%ed%96%89%ec%86%8d%ec%b4%88-%ed%8f%ac%ed%95%ad-%ec%a4%91/">부전역</a>과 동대구역에서 시작해 태화강역과 포항역을 거쳐 강원도 동해역과 강릉역까지 이어지는 동해안 철도망의 핵심적인 노선으로, 과거 동해선은 단선 구간이 많아 접근성이 떨어졌으나, 남해안과 동해안을 잇는 거대 철도 축을 구축하기 위해 전 구간 현대화 사업이 진행되었습니다. <br><br>2023년 말부터 본격 투입된 ITX-마음은 부전~동해, 강릉~부전, 동대구~강릉, 동대구~동해 방면을 부지런히 오가며 영남과 강원권을 실시간으로 연결하고 있습니다. 특히 동해선은 영천 인근에서 대구선과 합쳐지는 노선 계통을 가지고 있으며, 부전역의 경우는 향후 중앙선과도 긴밀히 연결되어 내륙과 해안을 아우르는 통합 교통망의 역할을 수행하고 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>동해선 ITX-마음 시간표 안내</strong></h2>



<h3 class="wp-block-heading">동해선 운행 목표와 미래 전망</h3>



<p class="wp-block-paragraph">현재 동해선 ITX-마음 시간표를 살펴보면 동해안의 절경을 창밖으로 감상하며 이동할 수 있는 최적의 노선으로, 이 노선은 단순히 인접 도시를 잇는 수준을 넘어, 향후 강릉 이후의 북쪽 노선까지 연결될 예정이라 한반도 동쪽을 관통하는 거대한 동해선 축의 완성을 목표로 삼고 있습니다.</p>



<p class="wp-block-paragraph">1️⃣ <strong>가족과 함께하는 동해안 여행</strong> : ITX-마음은 좌석마다 충전 시설과 쾌적한 실내 환경을 갖추고 있어 아이들과 함께하는 기차 여행에 제격으로, KTX보다 저렴한 비용으로 동해안의 푸른 바다 풍경을 즐길 수 있습니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>당일치기 코스 추천</strong> : 이전에 아이들과 동해선 영해역을 이용해 영해만세시장과 괴시마을을 다녀온 경험이 있는데, 역에서 멀지 않은 곳에서 역사와 전통 시장의 맛을 동시에 느낄 수 있어 만족도가 매우 높았습니다. [<a href="https://krailroad.co.kr/%ec%98%81%eb%8d%95-%ec%98%81%ed%95%b4%ec%97%ad-itx-%eb%a7%88%ec%9d%8c-%ea%b8%b0%ec%b0%a8-%ec%97%ac%ed%96%89-%ec%95%84%ec%9d%b4%ec%99%80-%ea%b1%b7%eb%8a%94-%ea%b7%bc%eb%8c%80%ec%82%ac-%ec%97%ad/">이곳을 터치해 당일치기 여행 참고</a>]</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">데이터가 제안하는 밀착형 정보</h3>



<p class="wp-block-paragraph">정확하게 구축된 동해선 ITX-마음 시간표 로직은 기차에서 내리는 순간 마주할 역 주변 인프라 활용법도 실시간으로 안내하며, 부전역 일대의 트렌디한 공간이나 동해안 정거장 인근의 숨겨진 정겨운 식당가 정보는 현재 기상 상황과 맞물려 제공되므로 갑작스러운 날씨 변화에도 당황하지 않고 이동할 수 있습니다. 또한 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식자료와 공공데이터 API를 이용한 정확한 검색 기능을 활용해 열차 번호별 상세 정보와 소요 시간을 확인할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">강릉-동해 ↔ 부전-동대구 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">강릉<br>↓<br>부전</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1822호</span><div class="time-display">05:46</div><div class="arrival-info">10:49 도착</div></td><td><span class="train-detail">1822호</span><div class="time-display">05:46</div><div class="arrival-info">10:49 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">강릉<br>↓<br>동대구</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1824호</span><div class="time-display">19:58</div><div class="arrival-info">00:04 도착</div></td><td><span class="train-detail">1824호</span><div class="time-display">19:58</div><div class="arrival-info">00:04 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">동해<br>↓<br>부전</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1822호</span><div class="time-display">06:30</div><div class="arrival-info">10:49 도착</div></td><td><span class="train-detail">1806호</span><div class="time-display">18:03</div><div class="arrival-info">22:33 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">동대구<br>↓<br>강릉</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1821호</span><div class="time-display">15:15</div><div class="arrival-info">19:27 도착</div></td><td><span class="train-detail">1831호</span><div class="time-display">15:15</div><div class="arrival-info">19:27 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">부전<br>↓<br>동해</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1801호</span><div class="time-display">05:11</div><div class="arrival-info">09:35 도착</div></td><td><span class="train-detail">1807호</span><div class="time-display">15:33</div><div class="arrival-info">20:08 도착</div></td></tr></tbody></table></div>


    
    <h2>동해 ↔ 부전 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">동해 ↔ 부전</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                30,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">동해 ↔ 부전</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">기본</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                42,100원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                50,500원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">동해 ↔ 부전</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                26,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">강릉 → 부전 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>강릉</th><th>정동진</th><th>묵호</th><th>동해</th><th>삼척</th><th>울진</th><th>후포</th><th>고래불</th><th>영덕</th><th>포항</th><th>서경주</th><th>경주</th><th>북울산</th><th>태화강</th><th>남창</th><th>기장</th><th>신해운대</th><th>센텀</th><th>부전</th></tr></thead><tbody><tr><td>1822</td><td>ITX-마음</td><td>05:46</td><td>06:02</td><td>06:21</td><td>06:30</td><td>06:47</td><td>07:22</td><td>07:48</td><td>07:57</td><td>08:13</td><td>08:38</td><td>08:58</td><td>09:11</td><td>09:31</td><td>09:39</td><td>10:01</td><td>10:22</td><td>10:32</td><td>10:39</td><td>10:49</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">강릉 → 동대구 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>강릉</th><th>정동진</th><th>묵호</th><th>동해</th><th>삼척</th><th>울진</th><th>기성</th><th>영덕</th><th>월포</th><th>포항</th><th>서경주</th><th>영천</th><th>하양</th><th>동대구</th></tr></thead><tbody><tr><td>1824</td><td>ITX-마음</td><td>19:58</td><td>20:15</td><td>20:34</td><td>20:42</td><td>20:59</td><td>21:36</td><td>21:55</td><td>22:25</td><td>22:42</td><td>22:53</td><td>23:13</td><td>23:38</td><td>23:48</td><td>00:04</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동해 → 부전 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>동해</th><th>추암</th><th>삼척해변</th><th>삼척</th><th>근덕</th><th>임원</th><th>옥원</th><th>흥부</th><th>죽변</th><th>울진</th><th>매화</th><th>기성</th><th>후포</th><th>고래불</th><th>영해</th><th>영덕</th><th>월포</th><th>포항</th><th>서경주</th><th>경주</th><th>북울산</th><th>태화강</th><th>남창</th><th>기장</th><th>신해운대</th><th>센텀</th><th>부전</th><th>비 고</th></tr></thead><tbody><tr><td>1822</td><td>ITX-마음</td><td>06:30</td><td></td><td></td><td>06:47</td><td></td><td></td><td></td><td></td><td></td><td>07:22</td><td></td><td></td><td>07:48</td><td>07:57</td><td></td><td>08:13</td><td></td><td>08:38</td><td>08:58</td><td>09:11</td><td>09:31</td><td>09:39</td><td>10:01</td><td>10:22</td><td>10:32</td><td>10:39</td><td>10:49</td><td></td></tr><tr><td>1802</td><td>ITX-마음</td><td>12:12</td><td></td><td></td><td>12:29</td><td></td><td></td><td></td><td>12:56</td><td>13:04</td><td>13:12</td><td></td><td>13:29</td><td></td><td>13:47</td><td>13:55</td><td>14:06</td><td></td><td>14:32</td><td>14:53</td><td>15:07</td><td>15:26</td><td>15:34</td><td></td><td>16:07</td><td>16:17</td><td></td><td>16:32</td><td></td></tr><tr><td>1814</td><td>ITX-마음</td><td>17:20</td><td></td><td></td><td>17:40</td><td></td><td></td><td>18:03</td><td>18:13</td><td>18:20</td><td>18:28</td><td>18:39</td><td>18:50</td><td>19:02</td><td>19:11</td><td></td><td>19:27</td><td></td><td>19:52</td><td>20:13</td><td>20:26</td><td>20:46</td><td>20:54</td><td>21:10</td><td>21:31</td><td>21:42</td><td>21:50</td><td>22:00</td><td>월화수목금</td></tr><tr><td>1804</td><td>ITX-마음</td><td>17:20</td><td>17:28</td><td>17:32</td><td>17:40</td><td></td><td></td><td>18:03</td><td>18:13</td><td>18:20</td><td>18:28</td><td>18:39</td><td>18:50</td><td>19:02</td><td>19:11</td><td></td><td>19:27</td><td></td><td>19:52</td><td>20:13</td><td>20:26</td><td>20:46</td><td>20:54</td><td>21:10</td><td>21:31</td><td>21:42</td><td>21:50</td><td>22:00</td><td>토일</td></tr><tr><td>1806</td><td>ITX-마음</td><td>18:03</td><td></td><td></td><td>18:21</td><td>18:33</td><td>18:41</td><td>18:48</td><td>18:57</td><td></td><td>19:08</td><td></td><td>19:25</td><td>19:38</td><td>19:47</td><td>19:55</td><td>20:06</td><td>20:23</td><td>20:34</td><td>20:54</td><td>21:07</td><td>21:26</td><td>21:34</td><td></td><td>22:02</td><td>22:18</td><td></td><td>22:33</td><td></td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동대구 → 강릉 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>동대구</th><th>하양</th><th>영천</th><th>서경주</th><th>포항</th><th>월포</th><th>영덕</th><th>영해</th><th>고래불</th><th>후포</th><th>울진</th><th>흥부</th><th>삼척</th><th>삼척해변</th><th>추암</th><th>동해</th><th>묵호</th><th>정동진</th><th>강릉</th><th>비 고</th></tr></thead><tbody><tr><td>1821</td><td>ITX-마음</td><td>15:15</td><td>15:32</td><td>15:43</td><td>16:06</td><td>16:27</td><td>16:39</td><td>16:56</td><td>17:06</td><td>17:13</td><td>17:22</td><td>17:46</td><td>17:56</td><td>18:22</td><td></td><td></td><td>18:42</td><td>18:50</td><td>19:12</td><td>19:27</td><td>월화수목금</td></tr><tr><td>1831</td><td>ITX-마음</td><td>15:15</td><td>15:32</td><td>15:43</td><td>16:06</td><td>16:27</td><td>16:39</td><td>16:56</td><td>17:06</td><td>17:13</td><td>17:22</td><td>17:46</td><td>17:56</td><td>18:22</td><td>18:29</td><td>18:33</td><td>18:42</td><td>18:50</td><td>19:12</td><td>19:27</td><td>토일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부전 → 동해 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>부전</th><th>센텀</th><th>신해운대</th><th>기장</th><th>남창</th><th>태화강</th><th>북울산</th><th>경주</th><th>서경주</th><th>포항</th><th>월포</th><th>장사</th><th>영덕</th><th>영해</th><th>고래불</th><th>후포</th><th>평해</th><th>기성</th><th>매화</th><th>울진</th><th>죽변</th><th>흥부</th><th>근덕</th><th>삼척</th><th>동해</th></tr></thead><tbody><tr><td>1801</td><td>ITX-마음</td><td>05:11</td><td>05:22</td><td>05:29</td><td>05:39</td><td>06:00</td><td>06:16</td><td>06:24</td><td>06:43</td><td>06:55</td><td>07:15</td><td></td><td>07:32</td><td>07:43</td><td></td><td>07:58</td><td>08:07</td><td></td><td>08:19</td><td>08:28</td><td>08:38</td><td>08:45</td><td>08:52</td><td></td><td>09:19</td><td>09:35</td></tr><tr><td>1803</td><td>ITX-마음</td><td>09:38</td><td></td><td>09:53</td><td>10:03</td><td></td><td>10:37</td><td>10:46</td><td>11:07</td><td>11:22</td><td>11:43</td><td>11:57</td><td>12:05</td><td>12:16</td><td>12:26</td><td>12:33</td><td>12:42</td><td>12:49</td><td></td><td>13:03</td><td>13:15</td><td>13:21</td><td>13:29</td><td>13:47</td><td>13:58</td><td>14:15</td></tr><tr><td>1805</td><td>ITX-마음</td><td>11:07</td><td></td><td>11:23</td><td>11:33</td><td></td><td>12:08</td><td>12:17</td><td>12:37</td><td>12:49</td><td>13:09</td><td></td><td></td><td>13:33</td><td></td><td>13:48</td><td></td><td></td><td>14:07</td><td></td><td>14:26</td><td>14:34</td><td></td><td></td><td>15:03</td><td>15:19</td></tr><tr><td>1807</td><td>ITX-마음</td><td>15:33</td><td>15:44</td><td>15:51</td><td>16:01</td><td>16:22</td><td>16:38</td><td>16:46</td><td>17:07</td><td>17:23</td><td>17:43</td><td></td><td>18:00</td><td>18:11</td><td></td><td>18:26</td><td>18:35</td><td></td><td>18:49</td><td></td><td>19:07</td><td></td><td>19:19</td><td>19:42</td><td>19:52</td><td>20:08</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>






<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">부전역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">16℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">부전역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A7%A5%EB%8F%84%EB%82%A0%EB%93%9C+%EB%B6%80%EC%82%B0%EB%B2%94%EC%A0%84DT+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EB%B2%94%EC%A0%84%EB%8F%99+383-25" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">맥도날드 부산범전DT</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 범전동 383-25</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%AA%85%EB%9E%80%EA%B9%80%EB%B0%A5+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EB%B6%80%EC%A0%84%EB%8F%99+573-3+%EB%AA%85%EB%9E%80%EA%B9%80%EB%B0%A5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">명란김밥</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">분식&gt;김밥</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 부전동 573-3 명란김밥</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%8A%A4%ED%83%80%EB%B2%85%EC%8A%A4+%EB%B6%80%EC%A0%84%EC%97%AD%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EB%B6%80%EC%A0%84%EB%8F%99+573-7+%EC%84%9C%EB%A9%B4%ED%98%B8%ED%85%94+%EB%B3%B5%ED%95%A9%EC%8B%9C%EC%84%A41%2C2%EC%B8%B5+%28%29" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">스타벅스 부전역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;카페</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 부전동 573-7 서면호텔 복합시설1,2층 ()</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%B6%80%EC%82%B0%ED%9A%9F%EC%A7%91+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EB%B6%80%EC%A0%84%EB%8F%99+341-43+%EB%B6%80%EC%82%B0%ED%9A%9F%EC%A7%91" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">부산횟집</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;생선회</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 부전동 341-43 부산횟집</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%9D%B4%EB%B0%94%EB%8F%94%EA%B0%90%EC%9E%90%ED%83%95+%EC%A0%84%ED%8F%AC%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EC%A0%84%ED%8F%AC%EB%8F%99+874-1+%EA%B8%88%EC%A0%95%EB%B9%8C%EB%94%A9" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">이바돔감자탕 전포점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;감자탕</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 전포동 874-1 금정빌딩</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">부전역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 부전역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,500원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">15,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 부산광역시 부산진구 부전동 573-1<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 051-441-7782                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 부전역2                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">0원</strong> 
                                <small style="color: #94a3b8;">/ 0분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">0원</strong>
                                <small style="color: #94a3b8;">/ 0분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">0원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 부산광역시 부산진구 부전로 181<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 051-441-7782                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">부전역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 부산광역시 부산진구 부전동 573-1</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:051-441-7782" style="color: #0052a4; font-weight: bold; text-decoration: none;">051-441-7782</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EB%B6%80%EC%A0%84%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/05/동해선-ITX-마음-시간표-동대구역-강릉역-부전역-동해역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="동해선-ITX-마음-시간표-동대구역-강릉역-부전역-동해역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20922" srcset="https://krailroad.co.kr/wp-content/uploads/2026/05/동해선-ITX-마음-시간표-동대구역-강릉역-부전역-동해역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/05/동해선-ITX-마음-시간표-동대구역-강릉역-부전역-동해역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/05/동해선-ITX-마음-시간표-동대구역-강릉역-부전역-동해역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>중앙선 ITX-마음 시간표 부전역~안동~청량리역 요금 정차역</title>
		<link>https://krailroad.co.kr/%ec%a4%91%ec%95%99%ec%84%a0-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b6%80%ec%a0%84%ec%97%ad%ec%95%88%eb%8f%99%ec%b2%ad%eb%9f%89%eb%a6%ac%ec%97%ad-%ec%9a%94%ea%b8%88-%ec%a0%95%ec%b0%a8/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Mon, 04 May 2026 02:45:48 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[중앙선 ITX-마음 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20886</guid>

					<description><![CDATA[수도권인 청량리역에서 시작해 충청과 경북 내륙을 거쳐 남해안의 부전역까지 이어지는 중앙선 ITX-마음 시간표는 중부 내륙의 교통 편의를 획기적으로 개선하는 핵심 데이터로, 과거 중앙선 단선 구간과 노후한 선로로 인해 이동 시간이 길었지만, 현대화 사업과 안동~영천 구간의 개량 사업이 마무리 단계에 접어들며 새로운 전환점을 맞이했습니다. 특히 2023년 말부터 도입된 ITX-마음은 기존 무궁화호의 빈자리를 채우며 청량리~안동, 청량리~동해, 청량리~부전 ... <a title="중앙선 ITX-마음 시간표 부전역~안동~청량리역 요금 정차역" class="read-more button" href="https://krailroad.co.kr/%ec%a4%91%ec%95%99%ec%84%a0-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b6%80%ec%a0%84%ec%97%ad%ec%95%88%eb%8f%99%ec%b2%ad%eb%9f%89%eb%a6%ac%ec%97%ad-%ec%9a%94%ea%b8%88-%ec%a0%95%ec%b0%a8/" aria-label="중앙선 ITX-마음 시간표 부전역~안동~청량리역 요금 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">수도권인 청량리역에서 시작해 충청과 경북 내륙을 거쳐 남해안의 <a href="https://krailroad.co.kr/%eb%b6%80%ec%a0%84%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b2%ad%eb%9f%89%eb%a6%ac%c2%b7%ea%b0%95%eb%a6%89%c2%b7%ec%95%88%eb%8f%99%ed%96%89%ec%86%8d%ec%b4%88-%ed%8f%ac%ed%95%ad-%ec%a4%91/">부전역</a>까지 이어지는 중앙선 ITX-마음 시간표는 중부 내륙의 교통 편의를 획기적으로 개선하는 핵심 데이터로, 과거 중앙선 단선 구간과 노후한 선로로 인해 이동 시간이 길었지만, 현대화 사업과 안동~영천 구간의 개량 사업이 마무리 단계에 접어들며 새로운 전환점을 맞이했습니다. 특히 2023년 말부터 도입된 ITX-마음은 기존 무궁화호의 빈자리를 채우며 청량리~안동, 청량리~동해, 청량리~부전 구간 등 주요 역을 더욱 빠르고 쾌적하게 연결하고 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>중앙선 ITX-마음 시간표 안내</strong></h2>



<h3 class="wp-block-heading">중앙선 노선 운영과 운행 배경</h3>



<p class="wp-block-paragraph">현재 중앙선 ITX-마음 시간표를 살펴보면 청량리를 기점으로 안동과 동해 부전 방향으로 운행되고 있으며, 이 열차가 중앙선에 투입된 이유는 고속열차인 KTX-이음과 일반 열차 사이의 간극을 메우고, 정차역이 많은 내륙 노선 특성에 맞춰 가속과 감속이 뛰어난 동력분산식 열차를 보급하여 전체적인 운행 효율을 높이기 위함입니다.</p>



<p class="wp-block-paragraph">1️⃣ <strong>주요 구간별 특징</strong> : 청량리~안동, 청량리~부전 노선은 경북 북부권과 부산의 관광과 비즈니스 수요를 책임지며, 청량리~동해 노선은 태백산맥을 넘어 동해안으로 향하는 여행객들에게 빠르고 편리한 이동을 책임지고 있습니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>미래 전망과 계획</strong> : 안동~영천~부전 구간의 공사가 완료되어 중앙선 ITX-마음 시간표는 대대적인 증편되었으며, 서울역에서 <a href="https://krailroad.co.kr/%eb%b6%80%ec%82%b0%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b2%ab%ec%b0%a8%eb%b6%80%ed%84%b0-%eb%a7%89%ec%b0%a8%ea%b9%8c%ec%a7%80/">부산역</a>까지 내륙을 관통하는 새로운 철도 축으로 자리 잡고 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 데이터 기반의 통합 로직</h3>



<p class="wp-block-paragraph">단순히 중앙선 ITX-마음 시간표를 조회하는 기능에 그치지 않고, 아래 로직은 역을 이용하기 전부터 역내 역사 전광판 처럼 실시간 데이터로 설계했습니다. <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 데이터베이스와 공공데이터 API를 60초마다 동기화하였읍며, 청량리역이나 안동역 등 각 주요 역의 주차장 위치와, 실시간 주차 요금 정보까지 제공하고 있습니다.</p>



<p class="wp-block-paragraph">그리고 시간 확인이 어렵거나 다른 용무를 해야하는 분들을 위해 상단 메뉴에 음성 안내 로직을 적용했으므로, 기능을 활성화하면 열차 진입 15분 전부터 자동으로 정보를 알려주고, 여기에 실시간 기상 데이터와 연계된 주변 맛집 리스트를 확익할 수 있습니다. 아래 구축된 중앙선 ITX-마음 시간표 안내 로직을 이용해 편리한 여행이 되었으면 합니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부전 ↔ 청량리 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">부전<br>↓<br>청량리</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1602호</span><div class="time-display">07:03</div><div class="arrival-info">12:56 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">15:14</div><div class="arrival-info">20:56 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">안동<br>↓<br>청량리</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1612호</span><div class="time-display">07:06</div><div class="arrival-info">09:47 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">18:22</div><div class="arrival-info">20:56 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">동해<br>↓<br>청량리</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1642호</span><div class="time-display">7:43</div><div class="arrival-info">11:46 도착</div></td><td><span class="train-detail">1642호</span><div class="time-display">7:43</div><div class="arrival-info">11:46 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">청량리<br>↓<br>부전</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1601호</span><div class="time-display">06:38</div><div class="arrival-info">12:20 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">14:48</div><div class="arrival-info">20:28 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">청량리<br>↓<br>안동</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1601호</span><div class="time-display">06:38</div><div class="arrival-info">09:16 도착</div></td><td><span class="train-detail">1613호</span><div class="time-display">17:38</div><div class="arrival-info">20:15 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">청량리<br>↓<br>동해</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1641호</span><div class="time-display">17:08</div><div class="arrival-info">21:08 도착</div></td><td><span class="train-detail">1641호</span><div class="time-display">17:08</div><div class="arrival-info">21:08 도착</div></td></tr></tbody></table></div>


    
    <h2>부전 ↔ 안동 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">안동 ↔ 부전</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                20,500원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">안동 ↔ 부전</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">기본</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                27,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                33,200원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">안동 ↔ 부전</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                15,100원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">안동 ↔ 부전</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                15,100원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부전 → 청량리 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>부전</th><th>센텀</th><th>신해운대</th><th>기장</th><th>남창</th><th>태화강</th><th>북울산</th><th>경주</th><th>아화</th><th>영천</th><th>군위</th><th>의성</th><th>안동</th><th>영주</th><th>풍기</th><th>단양</th><th>제천</th><th>원주</th><th>서원주</th><th>양동</th><th>매곡</th><th>일신</th><th>지평</th><th>용문</th><th>양평</th><th>청량리</th></tr></thead><tbody><tr><td>1602</td><td>ITX-마음</td><td>07:03</td><td>07:14</td><td>07:21</td><td>07:31</td><td>07:51</td><td>08:08</td><td>08:17</td><td>08:39</td><td>08:57</td><td>09:08</td><td>09:30</td><td>09:53</td><td>10:13</td><td>10:35</td><td>10:46</td><td>11:01</td><td>11:19</td><td>11:44</td><td>11:52</td><td>12:00</td><td>12:05</td><td>12:10</td><td>12:16</td><td>12:22</td><td>12:29</td><td>12:56</td></tr><tr><td>1604</td><td>ITX-마음</td><td>15:14</td><td>15:25</td><td>15:33</td><td>15:43</td><td>16:03</td><td>16:20</td><td>16:29</td><td>16:50</td><td>17:07</td><td>17:20</td><td>17:41</td><td>18:04</td><td>18:22</td><td>18:43</td><td>18:53</td><td>19:07</td><td>19:25</td><td>19:50</td><td>19:58</td><td>20:08</td><td></td><td></td><td></td><td>20:21</td><td>20:29</td><td>20:56</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동해 → 청량리 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>동해</th><th>도계</th><th>태백</th><th>사북</th><th>민둥산</th><th>영월</th><th>제천</th><th>원주</th><th>청량리</th></tr></thead><tbody><tr><td>ITX-마음</td><td>1642</td><td>7:43</td><td>8:23</td><td>8:49</td><td>9:10</td><td>9:19</td><td>9:58</td><td>10:31</td><td>10:55</td><td>11:46</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">안동 → 청량리 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>안동</th><th>영주</th><th>풍기</th><th>단양</th><th>제천</th><th>원주</th><th>서원주</th><th>양동</th><th>매곡</th><th>일신</th><th>지평</th><th>용문</th><th>양평</th><th>덕소</th><th>청량리</th></tr></thead><tbody><tr><td>1612</td><td>ITX-마음</td><td>07:06</td><td>07:27</td><td>07:36</td><td>07:49</td><td>08:07</td><td>08:31</td><td>08:44</td><td>08:54</td><td></td><td></td><td></td><td>09:08</td><td>09:16</td><td>09:34</td><td>09:47</td></tr><tr><td>1602</td><td>ITX-마음</td><td>10:13</td><td>10:35</td><td>10:46</td><td>11:01</td><td>11:19</td><td>11:44</td><td>11:52</td><td>12:00</td><td>12:05</td><td>12:10</td><td>12:16</td><td>12:22</td><td>12:29</td><td></td><td>12:56</td></tr><tr><td>1614</td><td>ITX-마음</td><td>14:30</td><td>14:51</td><td>15:00</td><td>15:13</td><td>15:31</td><td>15:55</td><td>16:04</td><td>16:14</td><td></td><td></td><td></td><td>16:28</td><td>16:36</td><td>16:53</td><td>17:06</td></tr><tr><td>1604</td><td>ITX-마음</td><td>18:22</td><td>18:43</td><td>18:53</td><td>19:07</td><td>19:25</td><td>19:50</td><td>19:58</td><td>20:08</td><td></td><td></td><td></td><td>20:21</td><td>20:29</td><td></td><td>20:56</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">청량리 → 부전 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>청량리</th><th>양평</th><th>용문</th><th>지평</th><th>양동</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th><th>안동</th><th>의성</th><th>군위</th><th>영천</th><th>아화</th><th>경주</th><th>북울산</th><th>태화강</th><th>남창</th><th>기장</th><th>신해운대</th><th>센텀</th><th>부전</th></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</td><td>06:38</td><td>07:08</td><td>07:16</td><td>07:21</td><td>07:31</td><td>07:40</td><td>07:47</td><td>08:05</td><td>08:14</td><td>08:31</td><td>08:44</td><td>08:55</td><td>09:16</td><td>09:34</td><td>09:52</td><td>10:14</td><td>10:26</td><td>10:43</td><td>11:04</td><td>11:13</td><td>11:30</td><td>11:51</td><td>12:02</td><td>12:10</td><td>12:20</td></tr><tr><td>1603</td><td>ITX-마음</td><td>14:48</td><td>15:18</td><td>15:26</td><td>15:31</td><td>15:46</td><td>15:56</td><td>16:03</td><td></td><td>16:28</td><td>16:45</td><td>16:58</td><td>17:10</td><td>17:31</td><td>17:49</td><td>18:06</td><td>18:27</td><td>18:38</td><td>18:55</td><td>19:15</td><td>19:23</td><td>19:39</td><td>20:00</td><td>20:10</td><td>20:17</td><td>20:28</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">청량리 → 동해 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>청량리</th><th>원주</th><th>제천</th><th>영월</th><th>민둥산</th><th>사북</th><th>태백</th><th>도계</th><th>동해</th></tr></thead><tbody><tr><td>ITX-마음</td><td>1641</td><td>17:08</td><td>18:02</td><td>18:26</td><td>18:56</td><td>19:35</td><td>19:44</td><td>20:04</td><td>20:30</td><td>21:08</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">청량리 → 안동 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>청량리</th><th>양평</th><th>용문</th><th>지평</th><th>양동</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th><th>안동</th><th>의성</th><th>군위</th><th>영천</th><th>아화</th><th>경주</th><th>북울산</th><th>태화강</th><th>남창</th><th>기장</th><th>신해운대</th><th>센텀</th><th>부전</th></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</td><td>06:38</td><td>07:08</td><td>07:16</td><td>07:21</td><td>07:31</td><td>07:40</td><td>07:47</td><td>08:05</td><td>08:14</td><td>08:31</td><td>08:44</td><td>08:55</td><td>09:16</td><td>09:34</td><td>09:52</td><td>10:14</td><td>10:26</td><td>10:43</td><td>11:04</td><td>11:13</td><td>11:30</td><td>11:51</td><td>12:02</td><td>12:10</td><td>12:20</td></tr><tr><td>1603</td><td>ITX-마음</td><td>14:48</td><td>15:18</td><td>15:26</td><td>15:31</td><td>15:46</td><td>15:56</td><td>16:03</td><td></td><td>16:28</td><td>16:45</td><td>16:58</td><td>17:10</td><td>17:31</td><td>17:49</td><td>18:06</td><td>18:27</td><td>18:38</td><td>18:55</td><td>19:15</td><td>19:23</td><td>19:39</td><td>20:00</td><td>20:10</td><td>20:17</td><td>20:28</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">부전역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">부전역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '21';
            let curName = '부전';
            let altCity = '11';
            let altName = '청량리';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">부전역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">16℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">부전역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A7%A5%EB%8F%84%EB%82%A0%EB%93%9C+%EB%B6%80%EC%82%B0%EB%B2%94%EC%A0%84DT+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EB%B2%94%EC%A0%84%EB%8F%99+383-25" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">맥도날드 부산범전DT</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 범전동 383-25</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%AA%85%EB%9E%80%EA%B9%80%EB%B0%A5+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EB%B6%80%EC%A0%84%EB%8F%99+573-3+%EB%AA%85%EB%9E%80%EA%B9%80%EB%B0%A5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">명란김밥</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">분식&gt;김밥</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 부전동 573-3 명란김밥</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%8A%A4%ED%83%80%EB%B2%85%EC%8A%A4+%EB%B6%80%EC%A0%84%EC%97%AD%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EB%B6%80%EC%A0%84%EB%8F%99+573-7+%EC%84%9C%EB%A9%B4%ED%98%B8%ED%85%94+%EB%B3%B5%ED%95%A9%EC%8B%9C%EC%84%A41%2C2%EC%B8%B5+%28%29" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">스타벅스 부전역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;카페</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 부전동 573-7 서면호텔 복합시설1,2층 ()</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%B6%80%EC%82%B0%ED%9A%9F%EC%A7%91+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EB%B6%80%EC%A0%84%EB%8F%99+341-43+%EB%B6%80%EC%82%B0%ED%9A%9F%EC%A7%91" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">부산횟집</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;생선회</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 부전동 341-43 부산횟집</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%9D%B4%EB%B0%94%EB%8F%94%EA%B0%90%EC%9E%90%ED%83%95+%EC%A0%84%ED%8F%AC%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EC%A0%84%ED%8F%AC%EB%8F%99+874-1+%EA%B8%88%EC%A0%95%EB%B9%8C%EB%94%A9" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">이바돔감자탕 전포점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;감자탕</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 전포동 874-1 금정빌딩</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">부전역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 부전역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,500원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">15,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 부산광역시 부산진구 부전동 573-1<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 051-441-7782                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 부전역2                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">0원</strong> 
                                <small style="color: #94a3b8;">/ 0분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">0원</strong>
                                <small style="color: #94a3b8;">/ 0분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">0원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 부산광역시 부산진구 부전로 181<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 051-441-7782                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">부전역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 부산광역시 부산진구 부전동 573-1</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:051-441-7782" style="color: #0052a4; font-weight: bold; text-decoration: none;">051-441-7782</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EB%B6%80%EC%A0%84%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/05/중앙선-ITX-마음-시간표-청량리역-안동역-동해역-부전역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="중앙선-ITX-마음-시간표-청량리역-안동역-동해역-부전역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20894" srcset="https://krailroad.co.kr/wp-content/uploads/2026/05/중앙선-ITX-마음-시간표-청량리역-안동역-동해역-부전역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/05/중앙선-ITX-마음-시간표-청량리역-안동역-동해역-부전역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/05/중앙선-ITX-마음-시간표-청량리역-안동역-동해역-부전역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>전라선 ITX-마음 시간표 및 요금 여수역~용산역 실시간 최종정리</title>
		<link>https://krailroad.co.kr/%ec%a0%84%eb%9d%bc%ec%84%a0-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%97%ac%ec%88%98%ec%97%ad%ec%9a%a9%ec%82%b0%ec%97%ad-%ec%8b%a4%ec%8b%9c%ea%b0%84/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Sat, 02 May 2026 00:16:10 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[전라선 ITX-마음 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20869</guid>

					<description><![CDATA[용산역에서 시작해 전북의 중심인 익산역과 전주역 그리고 전남 동부권의 중심 순천역을 지나 여수 바다까지 이어지는 전라선 ITX-마음 시간표는 지역 주민과 여행객을 잇는 중요한 정보입니다. 옛날 전라선은 지형적 특성상 곡선 구간이 많아 속도를 내기 어려운 환경이었지만, 복선전철화 사업을 거치며 한층 쾌적한 철길로 거듭났으며, 특히 2023년 말부터 기존의 노후된 새마을호를 대신해 ITX-마음이 투입된 이유는 차량의 안전성을 높이고, ... <a title="전라선 ITX-마음 시간표 및 요금 여수역~용산역 실시간 최종정리" class="read-more button" href="https://krailroad.co.kr/%ec%a0%84%eb%9d%bc%ec%84%a0-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%97%ac%ec%88%98%ec%97%ad%ec%9a%a9%ec%82%b0%ec%97%ad-%ec%8b%a4%ec%8b%9c%ea%b0%84/" aria-label="전라선 ITX-마음 시간표 및 요금 여수역~용산역 실시간 최종정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">용산역에서 시작해 전북의 중심인 <a href="https://krailroad.co.kr/%ec%9d%b5%ec%82%b0%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84-itx-%eb%a7%88%ec%9d%8c-%ec%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac-%ec%97%ac%ec%88%98-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ed%98%b8%eb%82%a8/">익산역</a>과 <a href="https://krailroad.co.kr/%ec%a0%84%ec%a3%bc%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84%c2%b7%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%95%9c%ec%98%a5%eb%a7%88%ec%9d%84-%ec%97%ac%ec%88%98%c2%b7%ec%9a%a9%ec%82%b0%ed%96%89/">전주역</a> 그리고 전남 동부권의 중심 <a href="https://krailroad.co.kr/%ec%88%9c%ec%b2%9c%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84%c2%b7%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%a9%ec%82%b0%c2%b7%ec%a0%84%ec%a3%bc%c2%b7%ec%97%ac%ec%88%98%ed%96%89-%ec%a0%84/">순천역</a>을 지나 여수 바다까지 이어지는 전라선 ITX-마음 시간표는 지역 주민과 여행객을 잇는 중요한 정보입니다. 옛날 전라선은 지형적 특성상 곡선 구간이 많아 속도를 내기 어려운 환경이었지만, 복선전철화 사업을 거치며 한층 쾌적한 철길로 거듭났으며, 특히 2023년 말부터 기존의 노후된 새마을호를 대신해 ITX-마음이 투입된 이유는 차량의 안전성을 높이고, 정차역이 많은 노선 특성에 맞춰 가속과 감속 성능이 뛰어난 최신 열차를 보급하기 위해서입니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>전라선 ITX-마음 시간표 안내</strong></h2>



<h3 class="wp-block-heading">노선 운영 현황과 이용 포인트</h3>



<p class="wp-block-paragraph">현재 전라선 ITX-마음 시간표를 확인해 보면 하루 왕복 2회라는 다소 적은 횟수로 운행 중임을 알 수 있습니다. 이는 신규 차량의 단계적 도입 과정에서 전국적인 배분과 장거리 노선 우선 배치 원칙에 따른 결과이며, 향후 열차 추가 도입이 마무리되면 운행 횟수는 점차 확대될 전망입니다. 특히 익산역과 <a href="https://krailroad.co.kr/%ec%97%ac%ec%88%98%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%88%9c%ec%b2%9c%ec%a0%84%ec%a3%bc%ec%9a%a9%ec%82%b0%ed%96%89-%ec%a0%84%eb%9d%bc%ec%84%a0-%ed%95%98%ed%96%89-%ec%83%81%ed%96%89-%eb%85%b8/">여수엑스포역</a> 사이 구간은 호남선과 갈라진 후 전라선 본선의 실질적인 수요가 집중되는 지점이라, 해당 구간 내 환승객과 관광객을 위한 데이터 활용도가 매우 높습니다.<br><br>1️⃣ <strong>당일 여행 추천</strong> : 기차를 타고 떠나는 당일치기 나들이로 전주 한옥마을이나 순천만 국가정원은 추천할만한 여행지이며, 철길의 끝인 여수역은 바다와 바로 맞닿아 있어 별도의 교통수단 없이도 여수의 정취를 느낄 수 있습니다.<br><br>2️⃣ <strong>가족 및 아이와 함께하는 여행 </strong>: ITX-마음의 경우 내부에는 수유실과 넓은 화장실, 자동판매기가 배치되어 아이를 동반한 가족 단위 여행시 편리하게 이용할 수 있으며, KTX보다 조금 느릴 수 있다는 점은 단점이지만, 창밖 풍경을 느긋하게 감상하며 적당한 비용으로 여행할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 데이터 지능형 서비스</h3>



<p class="wp-block-paragraph">아래 자료는 전라선 ITX-마음 시간표 정보를 조회하는 단계를 넘어, 역에 도착 하기 전부터 목적지까지 가는 열차 시간표와 도착시간, 그리고 소요히간까지 실시간 데이터로 안내받으실 수 있으며, <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 데이터베이스와 1분마다 자동 동기화되는 공공 API 로직을 통해 열차 위치를 분 단위로 확인 가능하며, 여수역이나 전역주 등 각 도착역의 주차 현황과 시내로 연결되는 버스 도착 정보까지 실시간으로 확인 가능합니다.</p>



<p class="wp-block-paragraph">특히 음성 알림 기능을 활용하면, 기차 진입 15분 전부터 자동으로 음성 안내를 받으실 수 있으며, 실시간 기상 데이터와 맞물린 주변 맛집 정보와 날씨를 확인 할수 있습니다. 앞으로 전라선 ITX-마음 시간표 확대 계획에 맞추어 실시간 API 기반의 서비스를 정확하게 이용하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">여수 ↔&nbsp;용산 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">여수엑스포<br>↓<br>용산</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1504호</span><div class="time-display">11:08</div><div class="arrival-info">15:40 도착</div></td><td><span class="train-detail">1508호</span><div class="time-display">15:49</div><div class="arrival-info">20:27 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">여수엑스포<br>↓<br>익산</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1522호</span><div class="time-display">06:51</div><div class="arrival-info">08:47 도착</div></td><td><span class="train-detail">1532호</span><div class="time-display">22:40</div><div class="arrival-info">00:30 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">용산<br>↓<br>여수엑스포</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1503호</span><div class="time-display">09:47</div><div class="arrival-info">14:26 도착</div></td><td><span class="train-detail">1507호</span><div class="time-display">17:18</div><div class="arrival-info">21:43 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">익산<br>↓<br>여수엑스포</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1521호</span><div class="time-display">06:42</div><div class="arrival-info">08:40 도착</div></td><td><span class="train-detail">1531호</span><div class="time-display">21:00</div><div class="arrival-info">22:56 도착</div></td></tr></tbody></table></div>


    
    <h2>여수 ↔ 용산 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 여수</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                41,100원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 여수엑스포</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">공주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                47,200원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                66,100원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 여수엑스포</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대전</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                46,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                64,400원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 여수</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                27,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">여수 →&nbsp;용산 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>여수엑스포</th><th>여천</th><th>순천</th><th>구례구</th><th>곡성</th><th>남원</th><th>전주</th><th>익산</th><th>논산</th><th>서대전</th><th>조치원</th><th>천안</th><th>평택</th><th>수원</th><th>영등포</th><th>용산</th></tr></thead><tbody><tr><td>1504</td><td>ITX-마음</td><td>11:08</td><td>11:16</td><td>11:32</td><td></td><td></td><td>12:06</td><td>12:34</td><td>12:56</td><td>13:22</td><td>13:53</td><td></td><td>14:37</td><td></td><td>15:06</td><td>15:31</td><td>15:40</td></tr><tr><td>1508</td><td>ITX-마음</td><td>15:49</td><td>15:57</td><td>16:12</td><td>16:28</td><td>16:40</td><td>16:51</td><td>17:19</td><td>17:41</td><td>18:07</td><td>18:38</td><td>19:04</td><td>19:25</td><td>19:37</td><td>19:57</td><td>20:18</td><td>20:27</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">여수 →&nbsp;익산 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>여수엑스포</th><th>여천</th><th>순천</th><th>구례구</th><th>곡성</th><th>남원</th><th>오수</th><th>임실</th><th>전주</th><th>삼례</th><th>익산</th></tr></thead><tbody><tr><td>1522</td><td>ITX-마음</td><td>06:51</td><td>06:59</td><td>07:14</td><td>07:30</td><td>07:42</td><td>07:53</td><td>08:03</td><td>08:11</td><td>08:27</td><td>08:36</td><td>08:47</td></tr><tr><td>1524</td><td>ITX-마음</td><td>10:00</td><td>10:08</td><td>10:23</td><td>10:38</td><td>10:51</td><td>11:02</td><td>11:13</td><td>11:26</td><td>11:44</td><td>11:53</td><td>12:03</td></tr><tr><td>1504</td><td>ITX-마음</td><td>11:08</td><td>11:16</td><td>11:32</td><td></td><td></td><td>12:06</td><td></td><td></td><td>12:34</td><td></td><td>12:56</td></tr><tr><td>1526</td><td>ITX-마음</td><td>12:15</td><td>12:23</td><td>12:39</td><td>12:56</td><td>13:08</td><td>13:19</td><td>13:30</td><td>13:38</td><td>13:55</td><td>14:04</td><td>14:14</td></tr><tr><td>1508</td><td>ITX-마음</td><td>15:49</td><td>15:57</td><td>16:12</td><td>16:28</td><td>16:40</td><td>16:51</td><td></td><td></td><td>17:19</td><td></td><td>17:41</td></tr><tr><td>1528</td><td>ITX-마음</td><td>16:47</td><td>16:55</td><td>17:10</td><td>17:26</td><td>17:38</td><td>17:49</td><td>17:59</td><td>18:07</td><td>18:23</td><td>18:32</td><td>18:43</td></tr><tr><td>1530</td><td>ITX-마음</td><td>21:00</td><td>21:08</td><td>21:24</td><td>21:41</td><td>21:53</td><td>22:04</td><td>22:15</td><td>22:23</td><td>22:41</td><td>22:50</td><td>23:00</td></tr><tr><td>1532</td><td>ITX-마음</td><td>22:40</td><td>22:48</td><td>23:04</td><td>23:21</td><td>23:33</td><td>23:44</td><td></td><td></td><td>00:15</td><td></td><td>00:30</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">용산 →&nbsp;여수 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>용산</th><th>영등포</th><th>수원</th><th>평택</th><th>천안</th><th>서대전</th><th>논산</th><th>익산</th><th>전주</th><th>남원</th><th>곡성</th><th>구례구</th><th>순천</th><th>여천</th><th>여수엑스포</th></tr></thead><tbody><tr><td>1503</td><td>ITX-마음</td><td>09:47</td><td>09:56</td><td>10:19</td><td>10:38</td><td>10:51</td><td>11:36</td><td>12:08</td><td>12:37</td><td>12:53</td><td>13:21</td><td>13:32</td><td>13:44</td><td>14:02</td><td>14:17</td><td>14:26</td></tr><tr><td>1507</td><td>ITX-마음</td><td>17:18</td><td>17:27</td><td>17:50</td><td></td><td>18:19</td><td>19:04</td><td>19:35</td><td>20:04</td><td>20:19</td><td>20:46</td><td></td><td></td><td>21:20</td><td>21:34</td><td>21:43</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">익산 →&nbsp;여수 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>익산</th><th>삼례</th><th>전주</th><th>임실</th><th>오수</th><th>남원</th><th>곡성</th><th>구례구</th><th>순천</th><th>여천</th><th>여수엑스포</th></tr></thead><tbody><tr><td>1521</td><td>ITX-마음</td><td>06:42</td><td>06:53</td><td>07:01</td><td>07:18</td><td>07:26</td><td>07:37</td><td>07:48</td><td>08:00</td><td>08:17</td><td>08:32</td><td>08:40</td></tr><tr><td>1523</td><td>ITX-마음</td><td>07:34</td><td>07:45</td><td>07:53</td><td>08:10</td><td>08:18</td><td>08:29</td><td>08:40</td><td>08:52</td><td>09:09</td><td>09:24</td><td>09:32</td></tr><tr><td>1525</td><td>ITX-마음</td><td>09:30</td><td>09:40</td><td>09:50</td><td>10:06</td><td>10:20</td><td>10:32</td><td>10:43</td><td>10:55</td><td>11:11</td><td>11:26</td><td>11:34</td></tr><tr><td>1503</td><td>ITX-마음</td><td>12:37</td><td></td><td>12:53</td><td></td><td></td><td>13:21</td><td>13:32</td><td>13:44</td><td>14:02</td><td>14:17</td><td>14:26</td></tr><tr><td>1527</td><td>ITX-마음</td><td>13:58</td><td>14:09</td><td>14:18</td><td>14:39</td><td>14:48</td><td>15:00</td><td>15:11</td><td>15:24</td><td>15:41</td><td>15:57</td><td>16:05</td></tr><tr><td>1529</td><td>ITX-마음</td><td>17:00</td><td>17:11</td><td>17:20</td><td>17:38</td><td>17:47</td><td>18:00</td><td>18:11</td><td>18:24</td><td>18:42</td><td>18:59</td><td>19:08</td></tr><tr><td>1531</td><td>ITX-마음</td><td>21:00</td><td>21:10</td><td>21:20</td><td>21:36</td><td>21:44</td><td>21:54</td><td>22:05</td><td>22:17</td><td>22:33</td><td>22:48</td><td>22:56</td></tr><tr><td>1507</td><td>ITX-마음</td><td>20:04</td><td></td><td>20:19</td><td></td><td></td><td>20:46</td><td></td><td></td><td>21:20</td><td>21:34</td><td>21:43</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">여수역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">여수역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '36020';
            let curName = '여수';
            let altCity = '11';
            let altName = '용산';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">여수역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">16℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 구름많음</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">20%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">여수역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%B0%94%EB%8B%A4%EA%B9%80%EB%B0%A5+%EC%A4%91%EC%95%99%EB%B3%B8%EC%A0%90+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%97%AC%EC%88%98%EC%8B%9C+%EC%A4%91%EC%95%99%EB%8F%99+667+1%EC%B8%B5+%EB%B0%94%EB%8B%A4%EA%B9%80%EB%B0%A5+%EC%A4%91%EC%95%99%EB%B3%B8%EC%A0%90" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">바다김밥 중앙본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;한식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 여수시 중앙동 667 1층 바다김밥 중앙본점</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%97%AC%EC%88%98%EB%94%B8%EA%B8%B0%EB%AA%A8%EC%B0%8C+%EC%82%BC%ED%95%A9%EB%8B%B9+%EB%B3%B8%EC%A0%90+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%97%AC%EC%88%98%EC%8B%9C+%EC%A4%91%EC%95%99%EB%8F%99+563+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">여수딸기모찌 삼합당 본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;카페,디저트</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 여수시 중앙동 563 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%84%9C%EB%85%B9%EC%94%A8+%EB%B3%B8%EC%A0%90+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%97%AC%EC%88%98%EC%8B%9C+%EC%A4%91%EC%95%99%EB%8F%99+562+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">서녹씨 본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;카페,디저트</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 여수시 중앙동 562 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%9D%B4%EC%88%9C%EC%8B%A0+%EC%88%98%EC%A0%9C%EB%B2%84%EA%B1%B0+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%97%AC%EC%88%98%EC%8B%9C+%EC%A4%91%EC%95%99%EB%8F%99+732+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">이순신 수제버거</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 여수시 중앙동 732 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%97%AC%EC%88%98%EB%8B%B9+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%97%AC%EC%88%98%EC%8B%9C+%EC%A4%91%EC%95%99%EB%8F%99+779" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">여수당</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;카페,디저트</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 여수시 중앙동 779</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">여수역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 여수엑스포역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">600원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 전라남도 여수시 덕충동 61-7<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">여수역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 전라남도 여수시 덕충동 61-7</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:062-941-0874" style="color: #0052a4; font-weight: bold; text-decoration: none;">062-941-0874</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%97%AC%EC%88%98%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/05/전라선-ITX-마음-시간표-용산역-익산역-전주역-여수역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="전라선-ITX-마음-시간표-용산역-익산역-전주역-여수역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20882" srcset="https://krailroad.co.kr/wp-content/uploads/2026/05/전라선-ITX-마음-시간표-용산역-익산역-전주역-여수역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/05/전라선-ITX-마음-시간표-용산역-익산역-전주역-여수역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/05/전라선-ITX-마음-시간표-용산역-익산역-전주역-여수역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>


<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>호남선 ITX-마음 시간표 목포역~용산역 요금 및 정차역 안내</title>
		<link>https://krailroad.co.kr/%ed%98%b8%eb%82%a8%ec%84%a0-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%aa%a9%ed%8f%ac%ec%97%ad%ec%9a%a9%ec%82%b0%ec%97%ad-%ec%9a%94%ea%b8%88-%eb%b0%8f-%ec%a0%95%ec%b0%a8%ec%97%ad/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 30 Apr 2026 01:30:07 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[호남선 ITX-마음 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20849</guid>

					<description><![CDATA[호남선 ITX-마음 시간표를 확인하며 남도의 평야 지대를 달리는 기차 여행은 전라권 주민들과 여행객들에게 없어서는 안 될 소중한 연결고리입니다. 2023년 말, 노후화된 기존 새마을호를 대체하며 본격적인 운행을 시작한 ITX-마음은 최신 동력분산식 설계를 채택하여 정차역이 많은 호남선 구간에서도 빠른 가감속과 안정적인 주행 성능을 자랑하는데요. 쾌적한 실내 환경과 합리적인 요금 체계를 갖춘 덕분에 이제는 호남선을 대표하는 새로운 주역으로 ... <a title="호남선 ITX-마음 시간표 목포역~용산역 요금 및 정차역 안내" class="read-more button" href="https://krailroad.co.kr/%ed%98%b8%eb%82%a8%ec%84%a0-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%aa%a9%ed%8f%ac%ec%97%ad%ec%9a%a9%ec%82%b0%ec%97%ad-%ec%9a%94%ea%b8%88-%eb%b0%8f-%ec%a0%95%ec%b0%a8%ec%97%ad/" aria-label="호남선 ITX-마음 시간표 목포역~용산역 요금 및 정차역 안내 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">호남선 ITX-마음 시간표를 확인하며 남도의 평야 지대를 달리는 기차 여행은 전라권 주민들과 여행객들에게 없어서는 안 될 소중한 연결고리입니다. 2023년 말, 노후화된 기존 새마을호를 대체하며 본격적인 운행을 시작한 ITX-마음은 최신 동력분산식 설계를 채택하여 정차역이 많은 호남선 구간에서도 빠른 가감속과 안정적인 주행 성능을 자랑하는데요. 쾌적한 실내 환경과 합리적인 요금 체계를 갖춘 덕분에 이제는 호남선을 대표하는 새로운 주역으로 자리 잡고 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>호남선 ITX-마음 시간표 안내</strong></h2>



<h3 class="wp-block-heading">행선지 구분과 노선 이용 포인트</h3>



<p class="wp-block-paragraph">호남선 ITX-마음 시간표를 이용하기 전 먼저 파악해야 할 점은 나의 목적지가 목포역인지 혹은 광주역인지 정확히 확인하셔야합니다(<a href="https://krailroad.co.kr/%eb%aa%a9%ed%8f%ac%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b5%9c%ec%8b%a0-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%9a%94%ea%b8%88-%eb%b0%8f-%ec%86%8c%ec%9a%94-%ec%8b%9c%ea%b0%84-%ec%a0%95%ec%b0%a8/">목포역 KTX 시간표</a>는 여기 참고). 왜냐하면 용산역을 시작으로 노선이 갈라지기 때문인데, 특히 KTX가 주로 서는 광주송정역에도 ITX-마음이 정차하며 광주 도심 접근을 돕고 있습니다.</p>



<p class="wp-block-paragraph">1️⃣ <strong>호남선 추천 여행지</strong> : 철길의 끝자락인 목포역은 역 주변에 근대 역사의 흔적과 남도 바다의 정취가 공존하여, 역에서 내리자마자 특별한 교통수단 없이도 풍성한 볼거리를 마주할 수 있는 가족 나들이 명소입니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>가족 및 나들이 맞춤형</strong> : 내부에는 수유실과 넓은 화장실, 자동판매기 등 편의 시설이 잘 갖춰져 있어 아이와 함께하는 가족 단위 방문객이나 홀로 이동하는 분들 모두 안심하고 이용할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">데이터과 지능형 통합 로직</h3>



<p class="wp-block-paragraph">단순히 열차 시각을 확인하는 단계를 넘어, 본 호남선 ITX-마음 시간표 로직은 역에 발을 들이는 순간부터 최종 목적지에 닿을 때까지의 모든 과정을 실시간 데이터로 정확하게 알려드립니다. <br><br>이는 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 데이터베이스와 60초마다 동기화되는 공공 API 로직을 통해 호남선을 달리는 열차 위치를 초 단위로 추적함은 물론, 목포역의 주차 현황과 시내로 연결되는 버스 도착 예보, 날씨, 주변 맛집, 주차장 요금까지 하나의 화면에 통합했는데요. 특히 정보 확인이 어렵거나 다른 용무에 집중하는 분들을 위해 도입된 음성 알림 기능을 활용하면, 열차 진입 15분 전부터 자동으로 안내를 받으실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">목포 ↔&nbsp;용산 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">목포<br>↓<br>용산</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1404호</span><div class="time-display">11:06</div><div class="arrival-info">15:40 도착</div></td><td><span class="train-detail">1406호</span><div class="time-display">15:57</div><div class="arrival-info">20:27 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">광주<br>↓<br>익산</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1302호</span><div class="time-display">07:08</div><div class="arrival-info">08:33 도착</div></td><td><span class="train-detail">1302호</span><div class="time-display">07:08</div><div class="arrival-info">08:33 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">목포<br>↓<br>익산</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1404호</span><div class="time-display">11:06</div><div class="arrival-info">12:56 도착</div></td><td><span class="train-detail">1314호</span><div class="time-display">18:30</div><div class="arrival-info">20:43 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">용산<br>↓<br>목포</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1403호</span><div class="time-display">09:47</div><div class="arrival-info">14:12 도착</div></td><td><span class="train-detail">1407호</span><div class="time-display">17:18</div><div class="arrival-info">21:38 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">익산<br>↓<br>광주</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1301호</span><div class="time-display">22:10</div><div class="arrival-info">23:27 도착</div></td><td><span class="train-detail">1301호</span><div class="time-display">22:10</div><div class="arrival-info">23:27 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">익산<br>↓<br>목포</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1311호</span><div class="time-display">09:34</div><div class="arrival-info">11:43 도착</div></td><td><span class="train-detail">1407호</span><div class="time-display">20:02</div><div class="arrival-info">21:38 도착</div></td></tr></tbody></table></div>


    
    <h2>목포 ↔ 용산 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 목포</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                39,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 목포</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">공주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                52,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                63,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                73,900원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 목포</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">김제,장성</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                44,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                62,600원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 목포</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                26,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">목포 →&nbsp;용산 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>목포</th><th>일로</th><th>함평</th><th>나주</th><th>광주송정</th><th>장성</th><th>정읍</th><th>김제</th><th>익산</th><th>논산</th><th>서대전</th><th>조치원</th><th>천안</th><th>평택</th><th>수원</th><th>영등포</th><th>용산</th></tr></thead><tbody><tr><td>1404</td><td>ITX-마음</td><td>11:06</td><td>11:16</td><td>11:28</td><td>11:38</td><td>11:50</td><td>12:05</td><td>12:22</td><td>12:37</td><td>12:56</td><td>13:22</td><td>13:53</td><td></td><td>14:37</td><td></td><td>15:06</td><td>15:31</td><td>15:40</td></tr><tr><td>1406</td><td>ITX-마음</td><td>15:57</td><td></td><td></td><td>16:24</td><td>16:36</td><td>16:50</td><td>17:07</td><td>17:22</td><td>17:41</td><td>18:07</td><td>18:38</td><td>19:04</td><td>19:25</td><td>19:37</td><td>19:57</td><td>20:18</td><td>20:27</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">광주 →&nbsp;익산 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>광주</th><th>장성</th><th>백양사</th><th>정읍</th><th>신태인</th><th>김제</th><th>익산</th></tr></thead><tbody><tr><td>1302</td><td>ITX-마음</td><td>07:08</td><td>07:35</td><td>07:47</td><td>07:59</td><td>08:09</td><td>08:20</td><td>08:33</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">목포 →&nbsp;익산 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>목포</th><th>일로</th><th>몽탄</th><th>무안</th><th>함평</th><th>나주</th><th>광주송정</th><th>장성</th><th>백양사</th><th>정읍</th><th>신태인</th><th>김제</th><th>익산</th></tr></thead><tbody><tr><td>1404</td><td>ITX-마음</td><td>11:06</td><td>11:16</td><td></td><td></td><td>11:28</td><td>11:38</td><td>11:50</td><td>12:05</td><td></td><td>12:22</td><td></td><td>12:37</td><td>12:56</td></tr><tr><td>1312</td><td>ITX-마음</td><td>12:28</td><td>12:40</td><td>12:47</td><td>12:52</td><td>13:03</td><td>13:17</td><td>13:29</td><td>13:44</td><td>13:54</td><td>14:06</td><td>14:16</td><td>14:26</td><td>14:39</td></tr><tr><td>1406</td><td>ITX-마음</td><td>15:57</td><td></td><td></td><td></td><td></td><td>16:24</td><td>16:36</td><td>16:50</td><td></td><td>17:07</td><td></td><td>17:22</td><td>17:41</td></tr><tr><td>1314</td><td>ITX-마음</td><td>18:30</td><td>18:42</td><td>18:50</td><td>18:56</td><td>19:07</td><td>19:21</td><td>19:33</td><td>19:48</td><td>19:58</td><td>20:10</td><td>20:20</td><td>20:30</td><td>20:43</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">용산 →&nbsp;목포 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>용산</th><th>영등포</th><th>수원</th><th>평택</th><th>천안</th><th>서대전</th><th>논산</th><th>익산</th><th>김제</th><th>정읍</th><th>장성</th><th>광주송정</th><th>나주</th><th>함평</th><th>목포</th></tr></thead><tbody><tr><td>1403</td><td>ITX-마음</td><td>09:47</td><td>09:56</td><td>10:19</td><td>10:38</td><td>10:51</td><td>11:36</td><td>12:08</td><td>12:34</td><td>12:46</td><td>13:01</td><td>13:19</td><td>13:32</td><td>13:42</td><td>13:53</td><td>14:12</td></tr><tr><td>1407</td><td>ITX-마음</td><td>17:18</td><td>17:27</td><td>17:50</td><td></td><td>18:19</td><td>19:04</td><td>19:35</td><td>20:02</td><td>20:14</td><td>20:29</td><td>20:47</td><td>21:00</td><td>21:10</td><td></td><td>21:38</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">익산 →&nbsp;광주 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>익산</th><th>김제</th><th>신태인</th><th>정읍</th><th>장성</th><th>광주</th></tr></thead><tbody><tr><td>1301</td><td>ITX-마음</td><td>22:10</td><td>22:23</td><td>22:33</td><td>22:43</td><td>23:02</td><td>23:27</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">익산 →&nbsp;목포 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>익산</th><th>김제</th><th>신태인</th><th>정읍</th><th>백양사</th><th>장성</th><th>광주송정</th><th>나주</th><th>다시</th><th>함평</th><th>무안</th><th>몽탄</th><th>일로</th><th>목포</th></tr></thead><tbody><tr><td>1311</td><td>ITX-마음</td><td>09:34</td><td>09:47</td><td>09:57</td><td>10:07</td><td>10:19</td><td>10:29</td><td>10:45</td><td>10:56</td><td>11:03</td><td>11:11</td><td>11:18</td><td>11:23</td><td>11:31</td><td>11:43</td></tr><tr><td>1403</td><td>ITX-마음</td><td>12:34</td><td>12:46</td><td></td><td>13:01</td><td></td><td>13:19</td><td>13:32</td><td>13:42</td><td></td><td>13:53</td><td></td><td></td><td></td><td>14:12</td></tr><tr><td>1313</td><td>ITX-마음</td><td>15:45</td><td>15:58</td><td>16:08</td><td>16:18</td><td>16:30</td><td>16:40</td><td>16:56</td><td>17:07</td><td>17:14</td><td>17:22</td><td>17:28</td><td>17:33</td><td>17:42</td><td>17:54</td></tr><tr><td>1407</td><td>ITX-마음</td><td>20:02</td><td>20:14</td><td></td><td>20:29</td><td></td><td>20:47</td><td>21:00</td><td>21:10</td><td></td><td></td><td></td><td></td><td></td><td>21:38</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">목포역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">목포역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '36010';
            let curName = '목포';
            let altCity = '11';
            let altName = '용산';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">목포역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">16℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☀️ 맑음</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">0%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">목포역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%94%A8%EC%97%98%EB%B9%84%EB%B2%A0%EC%9D%B4%EC%BB%A4%EB%A6%AC+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EB%AA%A9%ED%8F%AC%EC%8B%9C+%EB%AA%85%EB%A5%9C%EB%8F%99+13-4+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">씨엘비베이커리</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 목포시 명륜동 13-4 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%BD%94%EB%A1%AC%EB%B0%A9%EC%A0%9C%EA%B3%BC%EC%A0%90+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EB%AA%A9%ED%8F%AC%EC%8B%9C+%EB%AC%B4%EC%95%88%EB%8F%99+1-3" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">코롬방제과점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 목포시 무안동 1-3</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%83%9C%EB%8F%99%EB%B0%98%EC%A0%90+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EB%AA%A9%ED%8F%AC%EC%8B%9C+%EC%A3%BD%EB%8F%99+223-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">태동반점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">중식&gt;중식당</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 목포시 죽동 223-1</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%91%A5%EA%BF%80%EB%A0%88+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EB%AA%A9%ED%8F%AC%EC%8B%9C+%EC%A3%BD%EB%8F%99+64-7" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">쑥꿀레</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">분식&gt;종합분식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 목포시 죽동 64-7</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%9C%A0%EB%8B%AC%EC%BD%A9%EB%AC%BC+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EB%AA%A9%ED%8F%AC%EC%8B%9C+%EB%8C%80%EC%95%88%EB%8F%99+11-5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">유달콩물</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;한식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 목포시 대안동 11-5</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">목포역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 목포역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,000원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 전라남도 목포시 호남동 1-1<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">목포역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 전라남도 목포시 호남동 1-1</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:062-941-0874" style="color: #0052a4; font-weight: bold; text-decoration: none;">062-941-0874</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EB%AA%A9%ED%8F%AC%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/호남선-ITX-마음-시간표-용산역-익산역-광주역-목포역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="호남선-ITX-마음-시간표-용산역-익산역-광주역-목포역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20867" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/호남선-ITX-마음-시간표-용산역-익산역-광주역-목포역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/호남선-ITX-마음-시간표-용산역-익산역-광주역-목포역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/호남선-ITX-마음-시간표-용산역-익산역-광주역-목포역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>경부선 ITX-마음 시간표 서울역~부산역 실시간 API 요금 정차역</title>
		<link>https://krailroad.co.kr/%ea%b2%bd%eb%b6%80%ec%84%a0-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%84%9c%ec%9a%b8%ec%97%ad%eb%b6%80%ec%82%b0%ec%97%ad-%ec%8b%a4%ec%8b%9c%ea%b0%84-api-%ec%9a%94%ea%b8%88-%ec%a0%95/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Wed, 29 Apr 2026 01:25:56 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[경부선 ITX-마음 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20834</guid>

					<description><![CDATA[경부선 철길은 서울과 부산을 연결하며 지난 수십 년간 우리나라의 흐름을 지탱해 온 핵심 선로입니다. 예전의 열차 이용이 단순히 빠른 속도만을 지향했다면, 최근 도입된 ITX-마음은 이용자의 편의와 쾌적한 실내 환경에 집중하며 이동의 질을 한 단계 높이고 있는데요. 기존 무궁화호의 경제성과 KTX의 정시성을 적절히 조화시킨 이 열차는, 적절한 비용으로 장거리 이동을 원하는 분들에게 실속 있는 열차로 알려져 ... <a title="경부선 ITX-마음 시간표 서울역~부산역 실시간 API 요금 정차역" class="read-more button" href="https://krailroad.co.kr/%ea%b2%bd%eb%b6%80%ec%84%a0-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%84%9c%ec%9a%b8%ec%97%ad%eb%b6%80%ec%82%b0%ec%97%ad-%ec%8b%a4%ec%8b%9c%ea%b0%84-api-%ec%9a%94%ea%b8%88-%ec%a0%95/" aria-label="경부선 ITX-마음 시간표 서울역~부산역 실시간 API 요금 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">경부선 철길은 서울과 부산을 연결하며 지난 수십 년간 우리나라의 흐름을 지탱해 온 핵심 선로입니다. 예전의 열차 이용이 단순히 빠른 속도만을 지향했다면, 최근 도입된 ITX-마음은 이용자의 편의와 쾌적한 실내 환경에 집중하며 이동의 질을 한 단계 높이고 있는데요. 기존 무궁화호의 경제성과 KTX의 정시성을 적절히 조화시킨 이 열차는, 적절한 비용으로 장거리 이동을 원하는 분들에게 실속 있는 열차로 알려져 있습니다. 특히 ITX-마음은 충전시설도 갖추어져 있어 이용하기 편리합니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>경부선 ITX-마음 시간표 안내</strong></h2>



<h3 class="wp-block-heading">지능형 데이터로 설계</h3>



<p class="wp-block-paragraph">역사 내부의 복잡한 인파 속에서 작은 전광판에서 경부선 ITX-마음 시간표를 찾거나 개인 블로그의 불확실한 기록에 의지해, 경부선 ITX-마음 시간표를 찾는 시대는 지났으며, 국가 공공 API와 60초마다 동기화되는 로직과 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a>과 공공데이터에서 제공하는 자료를 DB화 하여 실시간 호출을 하고 있어 정확한 경부선 ITX-시간표를 제공해 드리고 있습니다(경부선 <a href="https://krailroad.co.kr/%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%84%9c%ec%9a%b8%ec%97%ad%eb%b6%80%ec%82%b0%ec%97%ad-%ec%8b%a4%ec%8b%9c/">새마을호 시간표</a>는 여기 참고).</p>



<p class="wp-block-paragraph">1️⃣ <strong>통합 인프라 체크</strong>: 기차 시각뿐만 아니라 서울역의 실시간 주차 잔여 공간, 부산역 광장에서 시내로 연결되는 버스 도착 현황까지 하나의 화면에서 관리할 수 있어 동선의 끊김을 방지합니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>실시간 위치 확인</strong>: 서울역에서 출발해 영등포, 수원, 대전, 동대구 등 전국 중심역을 거쳐 <a href="https://krailroad.co.kr/%eb%b6%80%ec%82%b0%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b2%ab%ec%b0%a8%eb%b6%80%ed%84%b0-%eb%a7%89%ec%b0%a8%ea%b9%8c%ec%a7%80/">부산역</a>에 닿기까지의 전 과정을 실제 상황과 동일하게 파악할 수 있습니다.</p>



<p class="wp-block-paragraph">3️⃣ <strong>음성 브리핑 기능</strong>: 다른 용무를 보거나 대합실 카페에 머무는 분들을 위해, 열차 진입 15분 전부터 자동으로 정보를 읽어주는 로직을 탑재했습니다. (상단 메뉴에서 소리 활성화가 필요합니다)</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">데이터가 제안하는 밀착형 정보</h3>



<p class="wp-block-paragraph">경부선 ITX-마음 시간표를 이용해 기차에서 내리는 순간 마주하게 될 역 주변 인프라 활용법도 아래 공공데이터 API로 실시간 안내하고 있으며, 서울역 일대의 트렌디한 공간과 부산역 인근에 숨겨진 정겨운 식당가 정보는 현재 기상 상황과 맞물려 제공되는데요. 갑작스러운 날씨 변화에도 당황하지 않도록 자료를 제공합니다.</p>



<p class="wp-block-paragraph">또한 정확하게 구축된 검색 기능을 활용해 열차 번호별 상세 정보, 열차 시간표 검색, 열차 소요시간 검색을 이용하면, 정확한 공공 데이터와 코레일 공식 자료를 확인하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부산 ↔&nbsp;서울 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">부산<br>↓<br>서울</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1002호</span><div class="time-display">06:26</div><div class="arrival-info">11:07 도착</div></td><td><span class="train-detail">1024호</span><div class="time-display">18:29</div><div class="arrival-info">23:19 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">서울<br>↓<br>부산</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1005호</span><div class="time-display">07:02</div><div class="arrival-info">11:45 도착</div></td><td><span class="train-detail">1025호</span><div class="time-display">20:18</div><div class="arrival-info">00:57 도착</div></td></tr></tbody></table></div>


    
    <h2>서울 ↔ 부산 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                42,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">경주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                59,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                71,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                83,700원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">구포</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                53,900원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                75,500원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구,경주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                59,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                83,200원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구,구포</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                53,500원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                74,900원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">수원,경주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                48,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                68,300원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                28,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부산 →&nbsp;서울 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>부산</th><th>구포</th><th>물금</th><th>밀양</th><th>청도</th><th>경산</th><th>동대구</th><th>대구</th><th>왜관</th><th>구미</th><th>김천</th><th>영동</th><th>옥천</th><th>대전</th><th>신탄진</th><th>조치원</th><th>천안</th><th>평택</th><th>수원</th><th>영등포</th><th>서울</th></tr></thead><tbody><tr><td>1002</td><td>ITX-마음</td><td>06:26</td><td>06:39</td><td></td><td>07:03</td><td>07:16</td><td></td><td>07:39</td><td>07:45</td><td></td><td>08:14</td><td>08:29</td><td></td><td></td><td>09:22</td><td></td><td>09:46</td><td>10:07</td><td></td><td>10:36</td><td>10:56</td><td>11:07</td></tr><tr><td>1006</td><td>ITX-마음</td><td>10:45</td><td>10:58</td><td></td><td></td><td></td><td></td><td>11:54</td><td>12:00</td><td></td><td>12:29</td><td>12:45</td><td></td><td></td><td>13:39</td><td></td><td></td><td>14:21</td><td>14:35</td><td>14:55</td><td>15:21</td><td>15:32</td></tr><tr><td>1010</td><td>ITX-마음</td><td>13:14</td><td>13:27</td><td>13:36</td><td>13:59</td><td>14:14</td><td></td><td>14:37</td><td>14:43</td><td></td><td>15:12</td><td>15:28</td><td>15:55</td><td></td><td>16:24</td><td></td><td>16:48</td><td>17:09</td><td>17:22</td><td>17:44</td><td>18:05</td><td>18:15</td></tr><tr><td>1018</td><td>ITX-마음</td><td>17:08</td><td>17:21</td><td></td><td></td><td></td><td></td><td>18:17</td><td>18:23</td><td></td><td>18:52</td><td>19:07</td><td></td><td></td><td>20:01</td><td></td><td></td><td>20:43</td><td>20:56</td><td>21:16</td><td>21:37</td><td>21:47</td></tr><tr><td>1020</td><td>ITX-마음</td><td>17:27</td><td>17:41</td><td></td><td>18:05</td><td>18:19</td><td>18:34</td><td>18:45</td><td>18:51</td><td>19:10</td><td>19:23</td><td>19:38</td><td>20:05</td><td>20:24</td><td>20:36</td><td>20:47</td><td>21:03</td><td>21:23</td><td>21:36</td><td>21:55</td><td>22:16</td><td>22:26</td></tr><tr><td>1024</td><td>ITX-마음</td><td>18:29</td><td>18:41</td><td></td><td>19:05</td><td>19:19</td><td></td><td>19:42</td><td>19:48</td><td>20:06</td><td>20:20</td><td>20:35</td><td>21:02</td><td>21:21</td><td>21:34</td><td></td><td>21:57</td><td>22:18</td><td></td><td>22:48</td><td>23:09</td><td>23:19</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">서울 →&nbsp;부산 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>서울</th><th>영등포</th><th>수원</th><th>평택</th><th>천안</th><th>조치원</th><th>신탄진</th><th>대전</th><th>옥천</th><th>영동</th><th>김천</th><th>구미</th><th>왜관</th><th>대구</th><th>동대구</th><th>경산</th><th>청도</th><th>밀양</th><th>삼랑진</th><th>물금</th><th>구포</th><th>부산</th></tr></thead><tbody><tr><td>1005</td><td>ITX-마음</td><td>07:02</td><td>07:12</td><td>07:34</td><td>07:53</td><td>08:06</td><td>08:27</td><td></td><td>08:51</td><td></td><td></td><td>09:42</td><td>09:58</td><td></td><td>10:29</td><td>10:35</td><td>10:44</td><td></td><td>11:09</td><td></td><td></td><td>11:34</td><td>11:45</td></tr><tr><td>1011</td><td>ITX-마음</td><td>10:48</td><td>11:01</td><td>11:25</td><td></td><td>11:55</td><td></td><td></td><td>12:38</td><td></td><td></td><td>13:30</td><td>13:46</td><td></td><td>14:15</td><td>14:21</td><td></td><td></td><td></td><td></td><td></td><td>15:15</td><td>15:28</td></tr><tr><td>1015</td><td>ITX-마음</td><td>12:02</td><td>12:12</td><td>12:35</td><td>12:54</td><td>13:07</td><td>13:28</td><td>13:43</td><td>13:56</td><td></td><td></td><td>14:48</td><td>15:04</td><td></td><td>15:33</td><td>15:39</td><td></td><td></td><td>16:11</td><td></td><td></td><td>16:36</td><td>16:48</td></tr><tr><td>1017</td><td>ITX-마음</td><td>12:21</td><td>12:34</td><td>12:57</td><td>13:16</td><td>13:29</td><td>13:50</td><td></td><td>14:14</td><td>14:26</td><td>14:45</td><td>15:11</td><td>15:27</td><td>15:40</td><td>15:59</td><td>16:05</td><td>16:15</td><td>16:29</td><td>16:42</td><td>16:52</td><td>17:03</td><td>17:13</td><td>17:25</td></tr><tr><td>1021</td><td>ITX-마음</td><td>15:39</td><td>15:49</td><td>16:12</td><td>16:31</td><td>16:45</td><td>17:05</td><td></td><td>17:30</td><td></td><td>17:57</td><td>18:24</td><td>18:40</td><td>18:53</td><td>19:12</td><td>19:18</td><td>19:27</td><td></td><td>19:53</td><td></td><td></td><td>20:18</td><td>20:30</td></tr><tr><td>1025</td><td>ITX-마음</td><td>20:18</td><td>20:28</td><td>20:50</td><td></td><td>21:19</td><td>21:40</td><td></td><td>22:04</td><td></td><td>22:32</td><td>22:58</td><td>23:14</td><td></td><td>23:43</td><td>23:49</td><td></td><td></td><td>00:20</td><td></td><td></td><td>00:45</td><td>00:57</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">서울역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">서울역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '11';
            let curName = '서울';
            let altCity = '21';
            let altName = '부산';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">서울역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">17℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">서울역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A7%A5%EB%8F%84%EB%82%A0%EB%93%9C+%EC%84%9C%EC%9A%B8%EC%97%AD%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%EB%8F%99%EC%9E%90%EB%8F%99+43-205+%EC%84%9C%EC%9A%B8%EC%97%AD%28%EC%B2%A0%EB%8F%84%EC%97%AD%29" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">맥도날드 서울역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 동자동 43-205 서울역(철도역)</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%8F%85%EB%A6%BD%EB%B0%80%EB%B0%A9+%EC%84%9C%EC%9A%B8%EC%97%AD+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%EB%8F%99%EC%9E%90%EB%8F%99+43-205+%EC%84%9C%EC%9A%B8%EC%97%AD%EC%82%AC+4%EC%B8%B5+%EB%8F%85%EB%A6%BD%EB%B0%80%EB%B0%A9" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">독립밀방 서울역</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;양식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 동자동 43-205 서울역사 4층 독립밀방</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A1%AF%EB%8D%B0%EB%A6%AC%EC%95%84+%EC%84%9C%EC%9A%B8%EC%97%AD%EC%82%AC%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%EB%8F%99%EC%9E%90%EB%8F%99+43-205+109%ED%98%B8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">롯데리아 서울역사점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 동자동 43-205 109호</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%8C%8C%EB%A6%AC%ED%81%AC%EB%9D%BC%EC%83%81+%EC%84%9C%EC%9A%B8%EC%97%AD%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%EB%8F%99%EC%9E%90%EB%8F%99+43-205+2%EC%B8%B5+108%ED%98%B8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">파리크라상 서울역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 동자동 43-205 2층 108호</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EA%B0%80%EB%A9%94%EA%B3%A8%EC%86%90%EC%99%95%EB%A7%8C%EB%91%90+%EB%82%A8%EB%8C%80%EB%AC%B8%EB%B3%B8%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%A4%91%EA%B5%AC+%EB%82%A8%EC%B0%BD%EB%8F%99+60-2" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">가메골손왕만두 남대문본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">분식&gt;만두</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 중구 남창동 60-2</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">서울역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 서울역 KTX빌딩                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">2,400원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">800원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">25,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 서울특별시 용산구 동자동 43-230<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 02-6952-8100                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">서울역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 서울특별시 용산구 동자동 43-230</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:02-6952-8100" style="color: #0052a4; font-weight: bold; text-decoration: none;">02-6952-8100</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%84%9C%EC%9A%B8%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/경부선-ITX-마음-시간표-서울역-부산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="경부선-ITX-마음-시간표-서울역-부산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20847" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/경부선-ITX-마음-시간표-서울역-부산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/경부선-ITX-마음-시간표-서울역-부산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/경부선-ITX-마음-시간표-서울역-부산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>지평역 기차 시간표 중앙선 ITX-마음 무궁화호 청량리-부전-동해 요금 안내</title>
		<link>https://krailroad.co.kr/%ec%a7%80%ed%8f%89%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%a4%91%ec%95%99%ec%84%a0-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%b6%80/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 01:52:51 +0000</pubDate>
				<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[지평역 기차 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20817</guid>

					<description><![CDATA[지평역은 1940년 첫 기적 소리를 울린 이래 80년 넘게 양평 동부의 관문 자리를 지켜온 철길의 산증인입니다. 지평역 기차 시간표를 이용한 단선 철길 위를 달리던 소박한 마을 역이었던 이곳은, 2012년 중앙선 현대화 사업을 거치며 이제는 수도권 전철과 일반 열차가 나란히 멈춰 서는 입체적인 교통 지점으로 거듭났는데요. 현재 무궁화호와 더불어 차세대 주력 모델인 ITX-마음이 교차하며 청량리부터 멀리 ... <a title="지평역 기차 시간표 중앙선 ITX-마음 무궁화호 청량리-부전-동해 요금 안내" class="read-more button" href="https://krailroad.co.kr/%ec%a7%80%ed%8f%89%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%a4%91%ec%95%99%ec%84%a0-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%b6%80/" aria-label="지평역 기차 시간표 중앙선 ITX-마음 무궁화호 청량리-부전-동해 요금 안내 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">지평역은 1940년 첫 기적 소리를 울린 이래 80년 넘게 양평 동부의 관문 자리를 지켜온 철길의 산증인입니다. 지평역 기차 시간표를 이용한 단선 철길 위를 달리던 소박한 마을 역이었던 이곳은, 2012년 중앙선 현대화 사업을 거치며 이제는 수도권 전철과 일반 열차가 나란히 멈춰 서는 입체적인 교통 지점으로 거듭났는데요. 현재 무궁화호와 더불어 차세대 주력 모델인 ITX-마음이 교차하며 청량리부터 멀리 부전, 동해까지 연결하는 내륙 교통의 핵심적인 징검다리 역할을 수행 중입니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">지평역 기차 시간표 안내</h2>



<h3 class="wp-block-heading">중앙선과 태백선을 연결하는 철길</h3>



<p class="wp-block-paragraph">지평역 기차 시간표를 살필 때 주목할 점은 이곳이 단순히 경기권에 머무는 노선이 아니라는 사실이며, <a href="https://krailroad.co.kr/%ec%a0%9c%ec%b2%9c%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-itx-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%84%9c%ec%9a%b8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%b6%80%ec%a0%84-%eb%8f%99/">제천역</a>을 기점으로 태백선과 운행 계통이 맞물려 있어 강원권과 경북권을 동시에 아우르는 광범위한 노선망입니다.</p>



<p class="wp-block-paragraph">1️⃣ <strong>미래 가치</strong>: 향후 복선전철 구간의 완전 개통과 운행 횟수 증편이 예고되어 있어, 양평 동부권이 서울의 인프라와 실시간으로 교류하는 결정적인 배경이 되고 있습니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>노선망의 확장성</strong>: 서울 청량리를 기점으로 제천역, 안동역, <a href="https://krailroad.co.kr/%eb%b6%80%ec%a0%84%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b2%ad%eb%9f%89%eb%a6%ac%c2%b7%ea%b0%95%eb%a6%89%c2%b7%ec%95%88%eb%8f%99%ed%96%89%ec%86%8d%ec%b4%88-%ed%8f%ac%ed%95%ad-%ec%a4%91/">부전역</a>으로 향하는 중앙선 본선은 물론, 강원도 <a href="https://krailroad.co.kr/%eb%8f%99%ed%95%b4%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%eb%88%84%eb%a6%ac%eb%a1%9c-%eb%ac%b4%eb%a6%89%ea%b3%84%ea%b3%a1-%eb%a7%9d/">동해역</a>까지 연결되는 철길이 이 정거장을 통과합니다.</p>



<p class="wp-block-paragraph">3️⃣ <strong>간이역의 정취</strong>: 지평역 주변으로는 석불, 일신, 매곡 등 정겨운 간이역들이 연결되어 있어 완행열차 특유의 느긋함을 체감하기 좋으며, 평균적으로 시간당 1~2대 내외의 열차가 운행되어 수도권 접근이 큰 불편함이 없을것입니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">계절을 담은 풍경과 현지 연계 서비스</h3>



<p class="wp-block-paragraph">본 지평역 기차 시간표는 열차 시간표 확인에 그치지 않고, 지평역에 내리는 순간 시작될 현지의 활용법을 함께 제공하며(단 실시간 버스, 실시간 주차장 요금은 공식 정보가 없는 경우도 있습니다.), 지평역 인근은 100년 역사의 지평 양조장과 같은 근대 문화유산부터 사계절 내내 각기 다른 매력을 뽐내는 관광지들이 즐비합니다.</p>



<p class="wp-block-paragraph">또한 무더운 여름철 지평역 기차를 이용한다면 인근 계곡에서 시원한 물놀이를 즐기기에 제격이며, 하얀 눈이 덮이는 겨울에는 고가 역사 위에서 내려다보는 지평면의 설경을 보실 수 있습니다. 아래 자료는 실시간 기상 데이터와 연동된 주변 식당가 정보는 날씨에 따른 동선을 파악하여, 처음 방문하는 역에서 느낄 수 있는 막막함을 정확하게 구축된 <a href="https://www.data.go.kr/index.do" target="_blank" rel="noopener">공공 데이터</a> API의 15분 음성안내 시스템과 1분단위 지평역 기차 시간표 자동 갱신 로직을 길잡이 삼아 편리하게 이용하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">지평<strong>역 첫차 &amp; 막차 운행 정보</strong></h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">지평<br>↓<br>청량리</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1602호</span><div class="time-display">12:16</div><div class="arrival-info">12:56 도착</div></td><td><span class="train-detail">1602호</span><div class="time-display">12:16</div><div class="arrival-info">12:56 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1652호</span><div class="time-display">06:37</div><div class="arrival-info">07:21 도착</div></td><td><span class="train-detail">1676호</span><div class="time-display">19:12</div><div class="arrival-info">19:55 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">지평<br>↓<br>안동</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1601호</span><div class="time-display">07:21</div><div class="arrival-info">09:16 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">15:31</div><div class="arrival-info">17:31 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">지평<br>↓<br>부전</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1601호</span><div class="time-display">07:21</div><div class="arrival-info">12:20 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">15:31</div><div class="arrival-info">20:28 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">지평<br>↓<br>태백</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1671호</span><div class="time-display">08:25</div><div class="arrival-info">11:17 도착</div></td><td><span class="train-detail">1677호</span><div class="time-display">20:00</div><div class="arrival-info">22:44 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">지평<br>↓<br>동해</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1671호</span><div class="time-display">08:25</div><div class="arrival-info">12:25 도착</div></td><td><span class="train-detail">1677호</span><div class="time-display">20:00</div><div class="arrival-info">23:50 도착</div></td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong><strong><strong><strong>지평</strong></strong></strong>역 </strong>ITX-마음 무궁화호 <strong>요금표</strong></h2>



<p class="wp-block-paragraph">👈 <strong><mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 스크롤하여 요금 확인</strong></mark></strong><br>💳 <a href="https://krailroad.co.kr/ktx-%EC%A0%84-%EB%85%B8%EC%84%A0-%EC%9A%94%EA%B8%88%ED%91%9C-%ED%95%9C%EB%88%88%EC%97%90-%EB%B3%B4%EA%B8%B0/" data-type="link" data-id="https://krailroad.co.kr/ktx-%EC%A0%84-%EB%85%B8%EC%84%A0-%EC%9A%94%EA%B8%88%ED%91%9C-%ED%95%9C%EB%88%88%EC%97%90-%EB%B3%B4%EA%B8%B0/">KTX 전체 요금표 한눈에 보기</a><br>🔎 <strong><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 요금 검색 바로가기</mark></a></strong></p>


<p style="text-align: right; font-size: small; color: #777; margin: 0;">최신 요금표 기준: 2026년 05월 24일</p><p style="text-align: right; font-size: small; color: #777; margin: 0;">(요금이 동일한 열차는 [무궁화·ITX·KTX] 3종으로 단순화)</p><div style="margin-top: 30px;"><div style="max-width: 100%; overflow-x: auto; margin: 20px 0;"><table class="train-table"><thead><tr><th>노선</th><th>종별</th><th>출발</th><th>도착</th><th>운임</th></tr></thead><tbody><tr><td>중앙1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">지평</td><td>4,000</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">지평</td><td>4,000</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">청량리</td><td class="highlight">지평</td><td>6,000</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">지평</td><td class="highlight">경주</td><td>19,800</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">지평</td><td class="highlight">경주</td><td>25,600</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">지평</td><td class="highlight">태화강</td><td>22,500</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">지평</td><td class="highlight">태화강</td><td>29,600</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">지평</td><td class="highlight">부전</td><td>26,600</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">지평</td><td class="highlight">부전</td><td>35,700</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">지평</td><td class="highlight">태백</td><td>11,200</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">지평</td><td class="highlight">동해</td><td>15,200</td></tr></tbody></table></div></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading has-medium-font-size"><strong>지평역 다른 열차 시간표</strong></h2>



<p class="wp-block-paragraph">✅ <s>지평역 KTX 노선 없음</s><br>✅ <s>지평역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%ec%a7%80%ed%8f%89%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%a4%91%ec%95%99%ec%84%a0-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%b6%80/">지평역 ITX, 무궁화 시간표 바로가기</a></p>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>지평역 <strong><strong><strong>ITX-마음 무궁화호 </strong>시간표</strong></strong></strong></h2>



<h3 class="wp-block-heading">출발 : 지평 → 도착 : 청량리</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>지평</th><th>용문</th><th>양평</th><th>덕소</th><th>청량리</th></tr></thead><tbody><tr><td>1652</td><td>무궁화</td><td>06:37</td><td>06:43</td><td>06:51</td><td>07:08</td><td>07:21</td></tr><tr><td>1662</td><td>무궁화</td><td>07:42</td><td>07:48</td><td>07:56</td><td>08:13</td><td>08:27</td></tr><tr><td>1672</td><td>무궁화</td><td>09:48</td><td>09:54</td><td>10:01</td><td>10:18</td><td>10:31</td></tr><tr><td>1602</td><td>ITX-마음</td><td>12:16</td><td>12:22</td><td>12:29</td><td></td><td>12:56</td></tr><tr><td>1674</td><td>무궁화</td><td>17:50</td><td>17:56</td><td>18:04</td><td>18:21</td><td>18:35</td></tr><tr><td>1676</td><td>무궁화</td><td>19:12</td><td>19:17</td><td>19:25</td><td>19:42</td><td>19:55</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 지평 → 도착 : 부전</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>지평</th><th>양동</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th><th>안동</th><th>의성</th><th>군위</th><th>영천</th><th>아화</th><th>경주</th><th>북울산</th><th>태화강</th><th>남창</th><th>기장</th><th>신해운대</th><th>센텀</th><th>부전</th></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</td><td>07:21</td><td>07:31</td><td>07:40</td><td>07:47</td><td>08:05</td><td>08:14</td><td>08:31</td><td>08:44</td><td>08:55</td><td>09:16</td><td>09:34</td><td>09:52</td><td>10:14</td><td>10:26</td><td>10:43</td><td>11:04</td><td>11:13</td><td>11:30</td><td>11:51</td><td>12:02</td><td>12:10</td><td>12:20</td></tr><tr><td>1603</td><td>ITX-마음</td><td>15:31</td><td>15:46</td><td>15:56</td><td>16:03</td><td></td><td>16:28</td><td>16:45</td><td>16:58</td><td>17:10</td><td>17:31</td><td>17:49</td><td>18:06</td><td>18:27</td><td>18:38</td><td>18:55</td><td>19:15</td><td>19:23</td><td>19:39</td><td>20:00</td><td>20:10</td><td>20:17</td><td>20:28</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 지평 → 도착 : 제천</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>지평</th><th>석불</th><th>일신</th><th>매곡</th><th>양동</th><th>삼산</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</td><td>07:21</td><td></td><td></td><td></td><td>07:31</td><td></td><td>07:40</td><td>07:47</td><td>08:05</td><td>08:14</td></tr><tr><td>1671</td><td>무궁화</td><td>08:25</td><td>08:30</td><td>08:35</td><td>08:40</td><td>08:44</td><td>08:49</td><td>08:57</td><td>09:05</td><td></td><td>09:31</td></tr><tr><td>1675</td><td>무궁화</td><td>13:07</td><td>13:13</td><td>13:17</td><td>13:22</td><td>13:27</td><td></td><td>13:36</td><td>13:43</td><td></td><td>14:07</td></tr><tr><td>1603</td><td>ITX-마음</td><td>15:31</td><td></td><td></td><td></td><td>15:46</td><td></td><td>15:56</td><td>16:03</td><td></td><td>16:28</td></tr><tr><td>1677</td><td>무궁화</td><td>20:00</td><td>20:06</td><td>20:10</td><td>20:15</td><td>20:20</td><td></td><td>20:29</td><td>20:36</td><td></td><td>21:01</td></tr><tr><td>1651</td><td>무궁화</td><td>21:18</td><td>21:24</td><td>21:28</td><td>21:33</td><td>21:38</td><td>21:43</td><td>21:50</td><td>21:57</td><td>22:16</td><td>22:24</td></tr><tr><td>1661</td><td>무궁화</td><td>22:46</td><td></td><td></td><td></td><td>22:56</td><td></td><td>23:05</td><td>23:12</td><td></td><td>23:37</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 지평 → 도착 : 영주</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>지평</th><th>양동</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</td><td>07:21</td><td>07:31</td><td>07:40</td><td>07:47</td><td>08:05</td><td>08:14</td><td>08:31</td><td>08:44</td><td>08:55</td></tr><tr><td>1603</td><td>ITX-마음</td><td>15:31</td><td>15:46</td><td>15:56</td><td>16:03</td><td></td><td>16:28</td><td>16:45</td><td>16:58</td><td>17:10</td></tr><tr><td>1661</td><td>무궁화</td><td>22:46</td><td>22:56</td><td>23:05</td><td>23:12</td><td></td><td>23:37</td><td>23:52</td><td>00:05</td><td>00:14</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 지평 → 도착 : 안동</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>지평</th><th>양동</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th><th>안동</th></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</td><td>07:21</td><td>07:31</td><td>07:40</td><td>07:47</td><td>08:05</td><td>08:14</td><td>08:31</td><td>08:44</td><td>08:55</td><td>09:16</td></tr><tr><td>1603</td><td>ITX-마음</td><td>15:31</td><td>15:46</td><td>15:56</td><td>16:03</td><td></td><td>16:28</td><td>16:45</td><td>16:58</td><td>17:10</td><td>17:31</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 지평 → 도착 : 동해</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>지평</th><th>석불</th><th>일신</th><th>매곡</th><th>양동</th><th>삼산</th><th>서원주</th><th>원주</th><th>제천</th><th>쌍룡</th><th>영월</th><th>예미</th><th>민둥산</th><th>사북</th><th>고한</th><th>태백</th><th>동백산</th><th>도계</th><th>신기</th><th>동해</th></tr></thead><tbody><tr><td>무궁화</td><td>1671</td><td>08:25</td><td>08:30</td><td>08:35</td><td>08:40</td><td>08:44</td><td>08:49</td><td>08:57</td><td>09:05</td><td>09:31</td><td></td><td>10:05</td><td>10:25</td><td>10:47</td><td>10:56</td><td>11:03</td><td>11:17</td><td>11:29</td><td>11:45</td><td>12:02</td><td>12:25</td></tr><tr><td>무궁화</td><td>1675</td><td>13:07</td><td>13:13</td><td>13:17</td><td>13:22</td><td>13:27</td><td></td><td>13:36</td><td>13:43</td><td>14:07</td><td>14:22</td><td>14:40</td><td>15:01</td><td>15:23</td><td>15:32</td><td>15:39</td><td>15:54</td><td>16:05</td><td>16:23</td><td></td><td>17:05</td></tr><tr><td>무궁화</td><td>1677</td><td>20:00</td><td>20:06</td><td>20:10</td><td>20:15</td><td>20:20</td><td></td><td>20:29</td><td>20:36</td><td>21:01</td><td></td><td>21:32</td><td>21:52</td><td>22:13</td><td>22:22</td><td>22:29</td><td>22:44</td><td>22:56</td><td>23:12</td><td></td><td>23:50</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>지평역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '지평'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">지평역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">지평역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '';
            let curName = '지평';
            let altCity = '';
            let altName = '';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">지평역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">13℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">지평역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EA%B3%A0%EB%B0%94%EC%9A%B0%EC%84%A4%EB%A0%81%ED%83%95+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%96%91%ED%8F%89%EA%B5%B0+%EC%9A%A9%EB%AC%B8%EB%A9%B4+%EA%B4%91%ED%83%84%EB%A6%AC+83-1+%EA%B3%A0%EB%B0%94%EC%9A%B0%EC%84%A4%EB%A0%81%ED%83%95" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">고바우설렁탕</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;곰탕,설렁탕</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 양평군 용문면 광탄리 83-1 고바우설렁탕</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%9A%A9%EB%AC%B8%EC%82%B0%EB%B9%B5%EA%B3%B5%EC%9E%A5+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%96%91%ED%8F%89%EA%B5%B0+%EC%9A%A9%EB%AC%B8%EB%A9%B4+%EB%8D%95%EC%B4%8C%EB%A6%AC+112-8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">용문산빵공장</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;카페,디저트</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 양평군 용문면 덕촌리 112-8</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%8F%97%EA%B0%80%EB%B9%84+%EB%B6%88%EC%AD%88%EA%BE%B8%EB%AF%B8+%EB%B3%B8%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%96%91%ED%8F%89%EA%B5%B0+%EC%9A%A9%EB%AC%B8%EB%A9%B4+%EB%8D%95%EC%B4%8C%EB%A6%AC+99-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">돗가비 불쭈꾸미 본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;주꾸미요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 양평군 용문면 덕촌리 99-1</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%8B%A4%EC%98%A4%EB%A6%AC%EB%8B%A4+%EC%96%91%ED%8F%89%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%96%91%ED%8F%89%EA%B5%B0+%EC%9A%A9%EB%AC%B8%EB%A9%B4+%EB%8B%A4%EB%AC%B8%EB%A6%AC+701-6+1%EC%B8%B5+%EB%8B%A4%EC%98%A4%EB%A6%AC%EB%8B%A4+%EC%96%91%ED%8F%89%EC%A0%90" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">다오리다 양평점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;오리요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 양평군 용문면 다문리 701-6 1층 다오리다 양평점</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%94%8C%EB%A1%9C%EB%9D%BC%EB%8A%98%EC%B9%B4%ED%8E%98+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%96%91%ED%8F%89%EA%B5%B0+%EC%9A%A9%EB%AC%B8%EB%A9%B4+%EB%8D%95%EC%B4%8C%EB%A6%AC+27-2" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">플로라늘카페</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;카페</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 양평군 용문면 덕촌리 27-2</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">지평역 실시간 주차장 요금</h4>
        
                    <div style="text-align: center; padding: 50px 20px; background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 12px; font-family: 'Noto Sans KR', sans-serif;">
                <p style="color: #64748b; margin: 0;">해당 역의 공식 주차 정보가 없습니다.</p>
            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">지평역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 지평역 인근 공영 및 노상주차장 이용 권장</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:1544-7788" style="color: #0052a4; font-weight: bold; text-decoration: none;">1544-7788</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%A7%80%ED%8F%89%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/04/지평역-기차-시간표-ITX-마음-무궁화호-중앙선-태백선-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="지평역-기차-시간표-ITX-마음-무궁화호-중앙선-태백선-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-20832" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/지평역-기차-시간표-ITX-마음-무궁화호-중앙선-태백선-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/04/지평역-기차-시간표-ITX-마음-무궁화호-중앙선-태백선-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/지평역-기차-시간표-ITX-마음-무궁화호-중앙선-태백선-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>석불역 무궁화호 시간표 청량리-동해-제천 중앙선 요금 최종정리</title>
		<link>https://krailroad.co.kr/%ec%84%9d%eb%b6%88%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%8f%99%ed%95%b4-%ec%a0%9c%ec%b2%9c-%ec%a4%91%ec%95%99%ec%84%a0-%ec%9a%94/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Mon, 27 Apr 2026 00:10:26 +0000</pubDate>
				<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[석불역 무궁화호 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20795</guid>

					<description><![CDATA[석불역 무궁화호 시간표를 이용한 중앙선 석불역 열차는 양평의 조용한 들녘 사이에 우뚝 솟은 역으로 중앙선 현대화 사업을 통해 고가 역사로 거듭난 양평 동부권의 주요 정거장입니다. 역무원이 상주하지 않는 무인역이라는 특수성 때문에 열차를 기다리는 동안 실시간 정보 확인이 무엇보다 중요한 곳인데요. 고속열차의 속도감에 가려지기 쉬운 간이역 이용객들을 위해 코레일 공식 자료와 공공 API를 연동하여, 현장 안내원이 ... <a title="석불역 무궁화호 시간표 청량리-동해-제천 중앙선 요금 최종정리" class="read-more button" href="https://krailroad.co.kr/%ec%84%9d%eb%b6%88%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%8f%99%ed%95%b4-%ec%a0%9c%ec%b2%9c-%ec%a4%91%ec%95%99%ec%84%a0-%ec%9a%94/" aria-label="석불역 무궁화호 시간표 청량리-동해-제천 중앙선 요금 최종정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">석불역 무궁화호 시간표를 이용한 중앙선 석불역 열차는 양평의 조용한 들녘 사이에 우뚝 솟은 역으로 중앙선 현대화 사업을 통해 고가 역사로 거듭난 양평 동부권의 주요 정거장입니다. 역무원이 상주하지 않는 무인역이라는 특수성 때문에 열차를 기다리는 동안 실시간 정보 확인이 무엇보다 중요한 곳인데요. 고속열차의 속도감에 가려지기 쉬운 간이역 이용객들을 위해 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 자료와 공공 API를 연동하여, 현장 안내원이 없어도 정확한 운행 상황을 파악할 수 있는 실시간 석불역 무궁화호 시간표 로직을 정리했습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">석불역 무궁화호 시간표 안내</h2>



<h3 class="wp-block-heading">중앙선과 태백선이 만나 체계</h3>



<p class="wp-block-paragraph">석불역 무궁화호 시간표를 이해하려면 이곳이 단순히 중앙선에 머무는 것이 아니라, 제천을 기점으로 태백선과 운행 계통이 활발히 교차하는 구간임을 알아야 합니다. 청량리에서 출발한 열차가 <a href="https://krailroad.co.kr/%ec%9b%90%ec%a3%bc%ec%97%ad-%ea%b8%b0%ec%b0%a8-ktx-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%84%9c%ec%9a%b8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%b6%80/">원주역</a>이나 <a href="https://krailroad.co.kr/%ec%a0%9c%ec%b2%9c%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-itx-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%84%9c%ec%9a%b8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%b6%80%ec%a0%84-%eb%8f%99/">제천역</a>을 거쳐 태백, <a href="https://krailroad.co.kr/%eb%8f%99%ed%95%b4%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%eb%88%84%eb%a6%ac%eb%a1%9c-%eb%ac%b4%eb%a6%89%ea%b3%84%ea%b3%a1-%eb%a7%9d/">동해역</a> 방면으로 뻗어나가는 길목에 위치해 있어 하행선의 최종 목적지가 다양하게 나뉘는 특징이 있는데요.</p>



<p class="wp-block-paragraph">1️⃣ <strong>주요 정거장 연결</strong>: 수도권으로 향하는 상행선과 내륙 깊숙이 들어가는 하행선의 교차는 지역 주민들의 생활권 이동은 물론, 강원권으로 향하는 경제적인 이동 통로가 됩니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>운임 데이터의 특이점</strong>: 코레일 공식 자료를 확인해 보면 현재 정차 중인 무궁화호 외에도 ITX 관련 요금 데이터가 포함되어 있습니다. 이는 과거의 운행 흔적이거나 향후 ITX-마음 같은 신형 열차의 정차 가능성을 염두에 둔 기초 자료로 보이는데, 실제 시간표에 ITX 계통이 추가되는 시점에 맞춰 즉시 정보를 업데이트할 예정입니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 로직과 스마트한 이동</h3>



<p class="wp-block-paragraph">단순히 열차 시간을 확인하는 단계를 넘어, 본 시스템은 무인역이라는 환경에서도 사용자가 안심하고 동선을 파악할 수 있도록 정밀한 데이터를 제공하며, 1분마다 자동 업데이트되는 공공 API 로직을 통해 석불역을 지나는 열차의 위치를 실시간으로 추적함은 물론, 역사 인근의 주차 여건과 양평 시내로 이어지는 교통 흐름까지 하나의 화면에 통합했는데요. 특히 시각 정보 확인이 어렵거나 다른 용무에 집중하는 분들을 위해 도입된 음성 알림 기능을 활용하면, 기차 진입 15분 전부터 자동 음성 안내를 들으실 수 있습니다.</p>



<p class="wp-block-paragraph">또한 여기에 실시간 기상 상황과 맞물린 주변 식당가 정보는 날씨에 따른 최적의 동선을 제안하며, 낯선 간이역에 내렸을 때 마주할 수 있는 막막함을 확신으로 바꿔주는데요. 정확하게 구축된 데이터를 참고하여 열차를 이용하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">석불<strong>역 첫차 &amp; 막차 운행 정보</strong></h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">석불<br>↓<br>청량리</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1652호</span><div class="time-display">06:32</div><div class="arrival-info">07:21 도착</div></td><td><span class="train-detail">1676호</span><div class="time-display">19:08</div><div class="arrival-info">19:55 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">석불<br>↓<br>제천</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1671호</span><div class="time-display">08:30</div><div class="arrival-info">09:31 도착</div></td><td><span class="train-detail">1651호</span><div class="time-display">21:24</div><div class="arrival-info">22:24 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">석불<br>↓<br>동해</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1671호</span><div class="time-display">08:30</div><div class="arrival-info">12:25 도착</div></td><td><span class="train-detail">1677호</span><div class="time-display">20:06</div><div class="arrival-info">23:50 도착</div></td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">석불역 무궁화호 <strong>요금표</strong></h2>



<p class="wp-block-paragraph">👈 <strong><mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 스크롤하여 요금 확인</strong></mark></strong><br>💳 <a href="https://krailroad.co.kr/ktx-%EC%A0%84-%EB%85%B8%EC%84%A0-%EC%9A%94%EA%B8%88%ED%91%9C-%ED%95%9C%EB%88%88%EC%97%90-%EB%B3%B4%EA%B8%B0/" data-type="link" data-id="https://krailroad.co.kr/ktx-%EC%A0%84-%EB%85%B8%EC%84%A0-%EC%9A%94%EA%B8%88%ED%91%9C-%ED%95%9C%EB%88%88%EC%97%90-%EB%B3%B4%EA%B8%B0/">KTX 전체 요금표 한눈에 보기</a><br>🔎 <strong><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 요금 검색 바로가기</mark></a></strong></p>


<p style="text-align: right; font-size: small; color: #777; margin: 0;">최신 요금표 기준: 2026년 05월 24일</p><p style="text-align: right; font-size: small; color: #777; margin: 0;">(요금이 동일한 열차는 [무궁화·ITX·KTX] 3종으로 단순화)</p><div style="margin-top: 30px;"><div style="max-width: 100%; overflow-x: auto; margin: 20px 0;"><table class="train-table"><thead><tr><th>노선</th><th>종별</th><th>출발</th><th>도착</th><th>운임</th></tr></thead><tbody><tr><td>중앙1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">석불</td><td>4,200</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">석불</td><td>4,200</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">청량리</td><td class="highlight">석불</td><td>6,300</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">석불</td><td class="highlight">제천</td><td>5,000</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">석불</td><td class="highlight">제천</td><td>5,000</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">석불</td><td class="highlight">제천</td><td>6,500</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">석불</td><td class="highlight">동해</td><td>15,000</td></tr></tbody></table></div></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading has-medium-font-size"><strong>석불역 다른 열차 시간표</strong></h2>



<p class="wp-block-paragraph">✅ <s>석불역 KTX 노선 없음</s><br>✅ <s>석불역 SRT 노선 없음</s><br>✅ <s>석불역 ITX 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%ec%84%9d%eb%b6%88%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%8f%99%ed%95%b4-%ec%a0%9c%ec%b2%9c-%ec%a4%91%ec%95%99%ec%84%a0-%ec%9a%94/">석불역 무궁화 시간표 바로가기</a></p>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>석불역 <strong><strong><strong>무궁화호 </strong>시간표</strong></strong></strong></h2>



<h3 class="wp-block-heading">출발 : 석불 → 도착 : 청량리</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>석불</th><th>지평</th><th>용문</th><th>양평</th><th>덕소</th><th>청량리</th></tr></thead><tbody><tr><td>1652</td><td>무궁화</td><td>06:32</td><td>06:37</td><td>06:43</td><td>06:51</td><td>07:08</td><td>07:21</td></tr><tr><td>1662</td><td>무궁화</td><td>07:38</td><td>07:42</td><td>07:48</td><td>07:56</td><td>08:13</td><td>08:27</td></tr><tr><td>1674</td><td>무궁화</td><td>17:41</td><td>17:50</td><td>17:56</td><td>18:04</td><td>18:21</td><td>18:35</td></tr><tr><td>1676</td><td>무궁화</td><td>19:08</td><td>19:12</td><td>19:17</td><td>19:25</td><td>19:42</td><td>19:55</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 석불 → 도착 : 제천</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>석불</th><th>일신</th><th>매곡</th><th>양동</th><th>삼산</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th></tr></thead><tbody><tr><td>1671</td><td>무궁화</td><td>08:30</td><td>08:35</td><td>08:40</td><td>08:44</td><td>08:49</td><td>08:57</td><td>09:05</td><td></td><td>09:31</td></tr><tr><td>1675</td><td>무궁화</td><td>13:13</td><td>13:17</td><td>13:22</td><td>13:27</td><td></td><td>13:36</td><td>13:43</td><td></td><td>14:07</td></tr><tr><td>1677</td><td>무궁화</td><td>20:06</td><td>20:10</td><td>20:15</td><td>20:20</td><td></td><td>20:29</td><td>20:36</td><td></td><td>21:01</td></tr><tr><td>1651</td><td>무궁화</td><td>21:24</td><td>21:28</td><td>21:33</td><td>21:38</td><td>21:43</td><td>21:50</td><td>21:57</td><td>22:16</td><td>22:24</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 석불 → 도착 : 동해</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>석불</th><th>일신</th><th>매곡</th><th>양동</th><th>삼산</th><th>서원주</th><th>원주</th><th>제천</th><th>쌍룡</th><th>영월</th><th>예미</th><th>민둥산</th><th>사북</th><th>고한</th><th>태백</th><th>동백산</th><th>도계</th><th>신기</th><th>동해</th></tr></thead><tbody><tr><td>무궁화</td><td>1671</td><td>08:30</td><td>08:35</td><td>08:40</td><td>08:44</td><td>08:49</td><td>08:57</td><td>09:05</td><td>09:31</td><td></td><td>10:05</td><td>10:25</td><td>10:47</td><td>10:56</td><td>11:03</td><td>11:17</td><td>11:29</td><td>11:45</td><td>12:02</td><td>12:25</td></tr><tr><td>무궁화</td><td>1675</td><td>13:13</td><td>13:17</td><td>13:22</td><td>13:27</td><td></td><td>13:36</td><td>13:43</td><td>14:07</td><td>14:22</td><td>14:40</td><td>15:01</td><td>15:23</td><td>15:32</td><td>15:39</td><td>15:54</td><td>16:05</td><td>16:23</td><td></td><td>17:05</td></tr><tr><td>무궁화</td><td>1677</td><td>20:06</td><td>20:10</td><td>20:15</td><td>20:20</td><td></td><td>20:29</td><td>20:36</td><td>21:01</td><td></td><td>21:32</td><td>21:52</td><td>22:13</td><td>22:22</td><td>22:29</td><td>22:44</td><td>22:56</td><td>23:12</td><td></td><td>23:50</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>석불역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '석불'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">석불역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">석불역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '';
            let curName = '석불';
            let altCity = '';
            let altName = '';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">석불역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">13℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">석불역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EA%B3%A0%EB%B0%94%EC%9A%B0%EC%84%A4%EB%A0%81%ED%83%95+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%96%91%ED%8F%89%EA%B5%B0+%EC%9A%A9%EB%AC%B8%EB%A9%B4+%EA%B4%91%ED%83%84%EB%A6%AC+83-1+%EA%B3%A0%EB%B0%94%EC%9A%B0%EC%84%A4%EB%A0%81%ED%83%95" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">고바우설렁탕</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;곰탕,설렁탕</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 양평군 용문면 광탄리 83-1 고바우설렁탕</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%9A%A9%EB%AC%B8%EC%82%B0%EB%B9%B5%EA%B3%B5%EC%9E%A5+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%96%91%ED%8F%89%EA%B5%B0+%EC%9A%A9%EB%AC%B8%EB%A9%B4+%EB%8D%95%EC%B4%8C%EB%A6%AC+112-8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">용문산빵공장</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;카페,디저트</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 양평군 용문면 덕촌리 112-8</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%8F%97%EA%B0%80%EB%B9%84+%EB%B6%88%EC%AD%88%EA%BE%B8%EB%AF%B8+%EB%B3%B8%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%96%91%ED%8F%89%EA%B5%B0+%EC%9A%A9%EB%AC%B8%EB%A9%B4+%EB%8D%95%EC%B4%8C%EB%A6%AC+99-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">돗가비 불쭈꾸미 본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;주꾸미요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 양평군 용문면 덕촌리 99-1</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%8B%A4%EC%98%A4%EB%A6%AC%EB%8B%A4+%EC%96%91%ED%8F%89%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%96%91%ED%8F%89%EA%B5%B0+%EC%9A%A9%EB%AC%B8%EB%A9%B4+%EB%8B%A4%EB%AC%B8%EB%A6%AC+701-6+1%EC%B8%B5+%EB%8B%A4%EC%98%A4%EB%A6%AC%EB%8B%A4+%EC%96%91%ED%8F%89%EC%A0%90" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">다오리다 양평점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;오리요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 양평군 용문면 다문리 701-6 1층 다오리다 양평점</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%94%8C%EB%A1%9C%EB%9D%BC%EB%8A%98%EC%B9%B4%ED%8E%98+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%96%91%ED%8F%89%EA%B5%B0+%EC%9A%A9%EB%AC%B8%EB%A9%B4+%EB%8D%95%EC%B4%8C%EB%A6%AC+27-2" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">플로라늘카페</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;카페</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 양평군 용문면 덕촌리 27-2</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">석불역 실시간 주차장 요금</h4>
        
                    <div style="text-align: center; padding: 50px 20px; background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 12px; font-family: 'Noto Sans KR', sans-serif;">
                <p style="color: #64748b; margin: 0;">해당 역의 공식 주차 정보가 없습니다.</p>
            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">석불역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 석불역 인근 공영 및 노상주차장 이용 권장</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:1544-7788" style="color: #0052a4; font-weight: bold; text-decoration: none;">1544-7788</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%84%9D%EB%B6%88%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/04/석불역-무궁화호-시간표-중앙선-태백선-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="석불역-무궁화호-시간표-중앙선-태백선-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-20814" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/석불역-무궁화호-시간표-중앙선-태백선-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/04/석불역-무궁화호-시간표-중앙선-태백선-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/석불역-무궁화호-시간표-중앙선-태백선-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>서해선 ITX-마음 시간표 홍성(출발)~홍성(도착) 정차역 안내</title>
		<link>https://krailroad.co.kr/%ec%84%9c%ed%95%b4%ec%84%a0-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%99%8d%ec%84%b1%ec%b6%9c%eb%b0%9c%ed%99%8d%ec%84%b1%eb%8f%84%ec%b0%a9-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%95%88/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Sat, 25 Apr 2026 00:22:58 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[서해선 ITX-마음 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20764</guid>

					<description><![CDATA[충남 홍성에서 시작해 다시 홍성으로 돌아오는 독특한 순환 구조를 가진 서해선 ITX-마음 시간표를 이용한 이동은 남북을 잇는 단순한 철길을 넘어, 서해안권 교통의 새로운 중심축으로 떠오르고 있습니다. 2024년 말 정식 개통과 함께 본격적인 운행을 시작한 이 노선은 충남 서북부와 경기도를 직선으로 연결하며 수도권 접근성을 획기적으로 개선했는데요. 과거 철도교통에서 다소 소외되었던 서해안 지역의 물류와 여객을 원활하게 수송하기 ... <a title="서해선 ITX-마음 시간표 홍성(출발)~홍성(도착) 정차역 안내" class="read-more button" href="https://krailroad.co.kr/%ec%84%9c%ed%95%b4%ec%84%a0-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%99%8d%ec%84%b1%ec%b6%9c%eb%b0%9c%ed%99%8d%ec%84%b1%eb%8f%84%ec%b0%a9-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%95%88/" aria-label="서해선 ITX-마음 시간표 홍성(출발)~홍성(도착) 정차역 안내 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">충남 홍성에서 시작해 다시 홍성으로 돌아오는 독특한 순환 구조를 가진 서해선 ITX-마음 시간표를 이용한 이동은 남북을 잇는 단순한 철길을 넘어, 서해안권 교통의 새로운 중심축으로 떠오르고 있습니다. 2024년 말 정식 개통과 함께 본격적인 운행을 시작한 이 노선은 충남 서북부와 경기도를 직선으로 연결하며 수도권 접근성을 획기적으로 개선했는데요. 과거 철도교통에서 다소 소외되었던 서해안 지역의 물류와 여객을 원활하게 수송하기 위해 탄생한 만큼, 현재는 최신형 열차인 ITX-마음이 투입되어 쾌적하면서도 빠른 이동을 책임지고 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>서해선 ITX-마음 시간표 안내</strong></h2>



<h3 class="wp-block-heading">서해선 ITX-마음 순환 구조</h3>



<p class="wp-block-paragraph">서해선 ITX-마음 시간표를 살필 때 가장 눈에 띄는 점은 홍성역을 출발해 서화성역을 거쳐 다시 홍성으로 돌아오는 순환 형태의 운행 방식으로, 이는 현재 신안산선 등 수도권 본선 구간의 공사가 진행 중인 상황에서, 서해안 지역 주민들의 이동권을 선제적으로 보장하기 위한 전략적인 운영 방식입니다(장항선 시간표는 <a href="https://krailroad.co.kr/%ec%9e%a5%ed%95%ad%ec%84%a0-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9d%b5%ec%82%b0%ec%97%ad%ec%9a%a9%ec%82%b0%ec%97%ad-%ec%83%81%ed%95%98%ed%96%89-%ec%b5%9c%ec%8b%a0/">여기</a>를 참고하세요).<br><br>1️⃣ <strong>서화성역이 종착지인 이유</strong>: 현재 안산 방면 본선 구간이 아직 완전히 연결되지 않았기 때문에, 서화성역에서 임시 종착 및 셔틀 버스 연계를 통해 서울 도심으로의 이동을 돕고 있으며, 향후 전 구간이 개통되면 더욱 강력한 수도권 직결 노선이 될 전망입니다.<br><br>2️⃣ <strong>ITX-마음 도입 배경</strong>: 서해선의 고속화된 선로 스펙에 맞춰 도입된 ITX-마음은 무궁화호보다는 빠르고 KTX보다는 합리적인 비용으로 이용할 수 있어, 통근이나 장거리 여행객 모두에게 적합한 열차입니다.<br><br>3️⃣ <strong>노선 계통</strong>: 홍성을 기점으로 합덕, 인주, 안중, 향남, 화성시청을 거쳐 서화성까지 이어지는 이 길은 충남의 내포 신도시와 경기의 주요 거점을 가장 빠르게 연결하는 통로가 됩니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">데이터로 설계하는 지능형 이동</h3>



<p class="wp-block-paragraph">단순히 열차의 출발 시각만 확인하던 방식에서 벗어나, 본 로직은 역에 도착하는 순간부터 최종 목적지에 닿을 때까지의 서해선 ITX-마음 시간표를 데이터로 제공하며, <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a>의 공식 데이터베이스와 1분마다 자동 동기화되는 공공 API 로직은 홍성역이나 서화성역 등 주요 역의 열차 시간을 실시간으로 보여주는데요. 특히 정보 확인에 제약이 있거나 다른 용무를 보시는 분들을 위해 마련된 음성 알림 기능을 활성화하면, 열차 진입 15분 전부터 신호를 보내주어 대합실이나 인근 대기 공간에서도 열차를 편리하게 이용할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">홍성 ↔&nbsp;홍성 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">홍성(출발)<br>↓<br>서화성</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1232호</span><div class="time-display">06:36</div><div class="arrival-info">07:43 도착</div></td><td><span class="train-detail">1238호</span><div class="time-display">17:38</div><div class="arrival-info">18:45 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">홍성(출발)<br>↓<br>홍성(도착)</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1241호</span><div class="time-display">09:24</div><div class="arrival-info">11:31 도착</div></td><td><span class="train-detail">1245호</span><div class="time-display">18:15</div><div class="arrival-info">20:20 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">서화성<br>↓<br>홍성(도착)</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1231호</span><div class="time-display">08:23</div><div class="arrival-info">09:30 도착</div></td><td><span class="train-detail">1237호</span><div class="time-display">19:25</div><div class="arrival-info">20:32 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">홍성(출발)<br>↓<br>홍성(도착)</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1242호</span><div class="time-display">06:17</div><div class="arrival-info">08:22 도착</div></td><td><span class="train-detail">1246호</span><div class="time-display">15:20</div><div class="arrival-info">17:24 도착</div></td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">홍성 →&nbsp;서화성 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>홍성(출발)</th><th>합덕</th><th>인주</th><th>안중</th><th>향남</th><th>화성시청</th><th>서화성</th></tr></thead><tbody><tr><td>ITX-마음</td><td>1232</td><td>06:36</td><td>06:52</td><td>07:01</td><td>07:14</td><td>07:27</td><td>07:37</td><td>07:43</td></tr><tr><td>ITX-마음</td><td>1234</td><td>10:14</td><td>10:30</td><td>10:39</td><td>10:52</td><td>11:05</td><td>11:15</td><td>11:21</td></tr><tr><td>ITX-마음</td><td>1236</td><td>13:58</td><td>14:14</td><td>14:23</td><td>14:36</td><td>14:49</td><td>14:59</td><td>15:05</td></tr><tr><td>ITX-마음</td><td>1238</td><td>17:38</td><td>17:54</td><td>18:03</td><td>18:16</td><td>18:29</td><td>18:39</td><td>18:45</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">홍성 →&nbsp;홍성 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>홍성(출발)</th><th>합덕</th><th>인주</th><th>안중</th><th>평택</th><th>천안</th><th>아산</th><th>온양온천</th><th>신례원</th><th>예산</th><th>삽교</th><th>홍성(도착)</th></tr></thead><tbody><tr><td>ITX-마음</td><td>1241</td><td>09:24</td><td>09:40</td><td>09:49</td><td>10:06</td><td>10:20</td><td>10:39</td><td>10:45</td><td>10:55</td><td>11:10</td><td>11:16</td><td>11:22</td><td>11:31</td></tr><tr><td>ITX-마음</td><td>1243</td><td>12:03</td><td>12:19</td><td>12:28</td><td>12:45</td><td>12:58</td><td>13:17</td><td>13:23</td><td>13:33</td><td>13:48</td><td>13:54</td><td>14:00</td><td>14:09</td></tr><tr><td>ITX-마음</td><td>1245</td><td>18:15</td><td>18:31</td><td>18:40</td><td>18:57</td><td>19:10</td><td>19:29</td><td>19:35</td><td>19:45</td><td>19:59</td><td>20:05</td><td>20:11</td><td>20:20</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">서화성 →&nbsp;홍성 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>서화성</th><th>화성시청</th><th>향남</th><th>안중</th><th>인주</th><th>합덕</th><th>홍성(도착)</th></tr></thead><tbody><tr><td>ITX-마음</td><td>1231</td><td>08:23</td><td>08:31</td><td>08:40</td><td>08:54</td><td>09:07</td><td>09:15</td><td>09:30</td></tr><tr><td>ITX-마음</td><td>1233</td><td>12:11</td><td>12:19</td><td>12:28</td><td>12:42</td><td>12:55</td><td>13:03</td><td>13:18</td></tr><tr><td>ITX-마음</td><td>1235</td><td>15:47</td><td>15:55</td><td>16:04</td><td>16:18</td><td>16:31</td><td>16:39</td><td>16:54</td></tr><tr><td>ITX-마음</td><td>1237</td><td>19:25</td><td>19:33</td><td>19:42</td><td>19:56</td><td>20:09</td><td>20:17</td><td>20:32</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">홍성 →&nbsp;홍성 ITX-마음 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>홍성(출발)</th><th>삽교</th><th>예산</th><th>신례원</th><th>온양온천</th><th>아산</th><th>천안</th><th>평택</th><th>안중</th><th>인주</th><th>합덕</th><th>홍성(도착)</th></tr></thead><tbody><tr><td>ITX-마음</td><td>1242</td><td>06:17</td><td>06:26</td><td>06:33</td><td>06:38</td><td>06:54</td><td>07:02</td><td>07:09</td><td>07:28</td><td>07:45</td><td>07:59</td><td>08:07</td><td>08:22</td></tr><tr><td>ITX-마음</td><td>1244</td><td>12:12</td><td>12:21</td><td>12:28</td><td>12:34</td><td>12:49</td><td>12:57</td><td>13:04</td><td>13:23</td><td>13:40</td><td>13:54</td><td>14:02</td><td>14:17</td></tr><tr><td>ITX-마음</td><td>1246</td><td>15:20</td><td>15:29</td><td>15:36</td><td>15:42</td><td>15:56</td><td>16:05</td><td>16:11</td><td>16:30</td><td>16:47</td><td>17:01</td><td>17:09</td><td>17:24</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">정차역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">정차역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '';
            let curName = '정차';
            let altCity = '';
            let altName = '';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">홍성역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">14℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">홍성역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A7%A5%EB%8F%84%EB%82%A0%EB%93%9C+%EC%B6%A9%EB%82%A8%ED%99%8D%EC%84%B1DT%EC%A0%90+%EC%B6%A9%EC%B2%AD%EB%82%A8%EB%8F%84+%ED%99%8D%EC%84%B1%EA%B5%B0+%ED%99%8D%EC%84%B1%EC%9D%8D+%EC%86%8C%ED%96%A5%EB%A6%AC+72-4" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">맥도날드 충남홍성DT점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">충청남도 홍성군 홍성읍 소향리 72-4</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%8D%94%ED%98%B8%EB%B4%89+%EC%B6%A9%EC%B2%AD%EB%82%A8%EB%8F%84+%ED%99%8D%EC%84%B1%EA%B5%B0+%ED%99%8D%EC%84%B1%EC%9D%8D+%EC%98%A4%EA%B4%80%EB%A6%AC+437-6+2%EB%8F%99" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">더호봉</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;카페</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">충청남도 홍성군 홍성읍 오관리 437-6 2동</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%82%B4%EB%8B%B9%ED%95%9C%EC%9A%B0+%EC%B6%A9%EC%B2%AD%EB%82%A8%EB%8F%84+%ED%99%8D%EC%84%B1%EA%B5%B0+%ED%99%8D%EC%84%B1%EC%9D%8D+%EC%98%A4%EA%B4%80%EB%A6%AC+393-2" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">내당한우</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;소고기구이</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">충청남도 홍성군 홍성읍 오관리 393-2</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A1%AF%EB%8D%B0%EB%A6%AC%EC%95%84+%ED%99%8D%EC%84%B1%EC%A0%90+%EC%B6%A9%EC%B2%AD%EB%82%A8%EB%8F%84+%ED%99%8D%EC%84%B1%EA%B5%B0+%ED%99%8D%EC%84%B1%EC%9D%8D+%EC%98%A4%EA%B4%80%EB%A6%AC+306-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">롯데리아 홍성점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">충청남도 홍성군 홍성읍 오관리 306-1</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A7%88%EB%9D%BC%EC%BA%A1%ED%8B%B4+%ED%99%8D%EC%84%B1%EC%A0%90+%EC%B6%A9%EC%B2%AD%EB%82%A8%EB%8F%84+%ED%99%8D%EC%84%B1%EA%B5%B0+%ED%99%8D%EC%84%B1%EC%9D%8D+%EC%98%A4%EA%B4%80%EB%A6%AC+254+2%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">마라캡틴 홍성점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">중식&gt;중식당</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">충청남도 홍성군 홍성읍 오관리 254 2층</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">홍성역 실시간 주차장 요금</h4>
        
                    <div style="text-align: center; padding: 50px 20px; background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 12px; font-family: 'Noto Sans KR', sans-serif;">
                <p style="color: #64748b; margin: 0;">해당 역의 공식 주차 정보가 없습니다.</p>
            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">홍성역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 홍성역 인근 공영 및 노상주차장 이용 권장</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:1544-7788" style="color: #0052a4; font-weight: bold; text-decoration: none;">1544-7788</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%ED%99%8D%EC%84%B1%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/서해선-ITX-마음-시간표-홍성역-서화성역-홍성역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="서해선-ITX-마음-시간표-홍성역-서화성역-홍성역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20793" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/서해선-ITX-마음-시간표-홍성역-서화성역-홍성역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/서해선-ITX-마음-시간표-홍성역-서화성역-홍성역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/서해선-ITX-마음-시간표-홍성역-서화성역-홍성역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>부전역~동대구역 대구선 기차 시간표(누리로-무궁화호) 요금 안내</title>
		<link>https://krailroad.co.kr/%eb%b6%80%ec%a0%84%ec%97%ad%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad-%eb%8c%80%ea%b5%ac%ec%84%a0-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c%eb%88%84%eb%a6%ac%eb%a1%9c-%eb%ac%b4%ea%b6%81%ed%99%94/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Fri, 24 Apr 2026 00:39:20 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[대구선 기차 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20733</guid>

					<description><![CDATA[동대구역에서 출발해 영남권의 젖줄을 따라 달리는 대구선 기차 시간표는 도착지에 따라 두 갈래의 매력을 보여주며, 태화강역이나 부전역으로 향하는 이 길은 화려한 도심의 야경부터 조용한 간이역의 향기까지 고루 품고 있습니다. 무궁화호와 누리로가 교차로 운행되며 지역민들의 소중한 발이 되어주고 있는데요. 창밖으로 스쳐 지나가는 풍경 속에는 여전히 세월의 흔적이 묻어나는 작은 역들이 곳곳에 숨어 있어 가족들 또는 연인들의 ... <a title="부전역~동대구역 대구선 기차 시간표(누리로-무궁화호) 요금 안내" class="read-more button" href="https://krailroad.co.kr/%eb%b6%80%ec%a0%84%ec%97%ad%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad-%eb%8c%80%ea%b5%ac%ec%84%a0-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c%eb%88%84%eb%a6%ac%eb%a1%9c-%eb%ac%b4%ea%b6%81%ed%99%94/" aria-label="부전역~동대구역 대구선 기차 시간표(누리로-무궁화호) 요금 안내 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">동대구역에서 출발해 영남권의 젖줄을 따라 달리는 대구선 기차 시간표는 도착지에 따라 두 갈래의 매력을 보여주며, 태화강역이나 부전역으로 향하는 이 길은 화려한 도심의 야경부터 조용한 간이역의 향기까지 고루 품고 있습니다. 무궁화호와 누리로가 교차로 운행되며 지역민들의 소중한 발이 되어주고 있는데요. 창밖으로 스쳐 지나가는 풍경 속에는 여전히 세월의 흔적이 묻어나는 작은 역들이 곳곳에 숨어 있어 가족들 또는 연인들의 기차 여행을 하기에도 좋습니다. <br><br>이 대구선을 이용할 때 기억해야 할 점은 열차의 행선지에 따라 내리는 곳이 완전히 달라진다는 것입니다. 동대구 ↔ 태화강은 울산의 중심부로 향하는 노선으로, 현대적인 도심 접근성이 좋으며, 동대구 ↔ 부전은 부산의 서면권과 연결되어 쇼핑이나 비즈니스 수요가 많은 구간입니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>대구선 기차 시간표 안내</strong></h2>



<h3 class="wp-block-heading">누리로 무궁화호 이용 이유</h3>



<p class="wp-block-paragraph">대구선 기차 시간표를 보면 현재 고속열차 대신 누리로와 무궁화호가 주력으로 달리는 이유는 노선 특유의 범용성 때문으로, 누리로는 가감속이 빠르고 시설이 쾌적해서 단거리 광역 이동에 적합하며, 무궁화호는 오랫동안 지역을 지켜온 든든함이 있는데요. 대구선에는 역무원이 없는 무인역이나 작은 간이역들이 간간히 있어, 지형적 한계를 극복하고 마을과 마을을 세밀하게 연결하기 위해 이러한 열차들이 제 역할을 다하고 있습니다.<br><br>직원이 상주하지 않는 작은 역에서 대구선 기차 시간표를 1분단위 자동 갱신되는 공<a href="https://www.data.go.kr/index.do" target="_blank" rel="noopener">공데이터</a> API 데이터를 통해 내 스마트폰으로 열차가 몇 분 뒤에 들어올지, 혹은 내가 내릴 역 주변에 시내버스는 언제 도착하는지 분 단위로 추적할 수 있어 <a href="https://krailroad.co.kr/%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b5%9c%ec%8b%a0-%eb%85%b8%ec%84%a0-%ec%a0%95%eb%b3%b4%ec%99%80/">동대구역</a>, <a href="https://krailroad.co.kr/%eb%b6%80%ec%a0%84%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%aa%a9%ed%8f%ac%c2%b7%ec%88%9c%ec%b2%9c%c2%b7%eb%8f%99%eb%8c%80%ea%b5%ac%ed%96%89%ec%a7%84%ec%a3%bc/">부전역</a>, <a href="https://krailroad.co.kr/%ed%83%9c%ed%99%94%ea%b0%95%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%8c%80%ea%b5%ac%ec%84%a0-%eb%8f%99%eb%8c%80%ea%b5%ac%c2%b7/">태화강역</a>등 중심 역에서는 열차 진입 15분 전부터 음성으로 정보를 읽어주므로, 대기실에서 여유롭게 시간을 보내다가 탑승하면 됩니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">앞으로의 변화와 광역전철 전망</h3>



<p class="wp-block-paragraph">대구선은 앞으로 더 큰 변화를 앞두고 있습니다. 현재는 누리로와 무궁화호가 중심이지만, 전 구간 전철화와 복선화 작업이 고도화되면서 향후 광역전철 개통에 대한 기대감도 커지고 있는데요. 광역전철이 본격적으로 도입되면 기차 간격이 획기적으로 줄어들어 출퇴근 환경이 개선됨은 물론, 잊혀가던 간이역들이 새로운 노선으로 거듭날 가능성이 큽니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부전 ↔&nbsp;동대구 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">동대구<br>↓<br>태화강</td><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1871호</span><div class="time-display">07:40</div><div class="arrival-info">09:00 도착</div></td><td><span class="train-detail">1887호</span><div class="time-display">19:47</div><div class="arrival-info">21:07 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1873호</span><div class="time-display">09:00</div><div class="arrival-info">10:26 도착</div></td><td><span class="train-detail">1883호</span><div class="time-display">17:25</div><div class="arrival-info">18:51 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">동대구<br>↓<br>부전</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1873호</span><div class="time-display">09:00</div><div class="arrival-info">11:30 도착</div></td><td><span class="train-detail">1883호</span><div class="time-display">17:25</div><div class="arrival-info">19:57 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">부전<br>↓<br>동대구</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1872호</span><div class="time-display">06:00</div><div class="arrival-info">08:32 도착</div></td><td><span class="train-detail">1884호</span><div class="time-display">17:36</div><div class="arrival-info">20:10 도착</div></td></tr><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">태화강<br>↓<br>동대구</td><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1874호</span><div class="time-display">09:30</div><div class="arrival-info">10:48 도착</div></td><td><span class="train-detail">1888호</span><div class="time-display">21:38</div><div class="arrival-info">22:56 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1872호</span><div class="time-display">07:05</div><div class="arrival-info">08:32 도착</div></td><td><span class="train-detail">1884호</span><div class="time-display">18:42</div><div class="arrival-info">20:10 도착</div></td></tr></tbody></table></div>


    
    <h2>부전 ↔ 동대구 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">동대구 ↔ 부전</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                10,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">동대구 ↔ 부전</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                16,300원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">동대구 ↔ 부전</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                11,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동대구 →&nbsp;부전 누리로 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>동대구</th><th>하양</th><th>영천</th><th>경주</th><th>북울산</th><th>태화강</th><th>남창</th><th>기장</th><th>신해운대</th><th>센텀</th><th>부전</th></tr></thead><tbody><tr><td>1873</td><td>무궁화</td><td>09:00</td><td>09:17</td><td>09:27</td><td>09:52</td><td>10:16</td><td>10:26</td><td>10:42</td><td>11:02</td><td>11:12</td><td>11:20</td><td>11:30</td></tr><tr><td>1877</td><td>무궁화</td><td>12:36</td><td>12:53</td><td>13:04</td><td>13:29</td><td>13:53</td><td>14:02</td><td>14:18</td><td>14:39</td><td>14:49</td><td>14:57</td><td>15:07</td></tr><tr><td>1883</td><td>무궁화</td><td>17:25</td><td>17:42</td><td>17:53</td><td>18:18</td><td>18:41</td><td>18:51</td><td>19:07</td><td>19:29</td><td>19:39</td><td>19:47</td><td>19:57</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동대구 →&nbsp;태화강 누리로 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>동대구</th><th>하양</th><th>영천</th><th>아화</th><th>경주</th><th>북울산</th><th>태화강</th></tr></thead><tbody><tr><td>1871</td><td>누리로</td><td>07:40</td><td>07:57</td><td>08:07</td><td>08:18</td><td>08:34</td><td>08:53</td><td>09:00</td></tr><tr><td>1873</td><td>무궁화</td><td>09:00</td><td>09:17</td><td>09:27</td><td></td><td>09:52</td><td>10:16</td><td>10:26</td></tr><tr><td>1875</td><td>누리로</td><td>12:30</td><td>12:47</td><td>12:57</td><td></td><td>13:21</td><td>13:40</td><td>13:47</td></tr><tr><td>1877</td><td>무궁화</td><td>12:36</td><td>12:53</td><td>13:04</td><td></td><td>13:29</td><td>13:53</td><td>14:02</td></tr><tr><td>1879</td><td>누리로</td><td>15:23</td><td>15:40</td><td>15:50</td><td></td><td>16:14</td><td>16:33</td><td>16:40</td></tr><tr><td>1881</td><td>누리로</td><td>16:09</td><td>16:26</td><td>16:36</td><td></td><td>17:00</td><td>17:19</td><td>17:26</td></tr><tr><td>1883</td><td>무궁화</td><td>17:25</td><td>17:42</td><td>17:53</td><td></td><td>18:18</td><td>18:41</td><td>18:51</td></tr><tr><td>1885</td><td>누리로</td><td>19:07</td><td>19:24</td><td>19:35</td><td></td><td>19:59</td><td>20:19</td><td>20:27</td></tr><tr><td>1887</td><td>누리로</td><td>19:47</td><td>20:04</td><td>20:14</td><td>20:25</td><td>20:41</td><td>21:00</td><td>21:07</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부전 →&nbsp;동대구 누리로 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>부전</th><th>센텀</th><th>신해운대</th><th>기장</th><th>남창</th><th>태화강</th><th>북울산</th><th>경주</th><th>영천</th><th>하양</th><th>동대구</th></tr></thead><tbody><tr><td>1872</td><td>무궁화</td><td>06:00</td><td>06:11</td><td>06:18</td><td>06:28</td><td>06:49</td><td>07:05</td><td>07:15</td><td>07:38</td><td>08:03</td><td>08:15</td><td>08:32</td></tr><tr><td>1878</td><td>무궁화</td><td>13:39</td><td>13:50</td><td>13:57</td><td>14:07</td><td>14:32</td><td>14:48</td><td>14:58</td><td>15:22</td><td>15:48</td><td>16:01</td><td>16:23</td></tr><tr><td>1884</td><td>무궁화</td><td>17:36</td><td>17:47</td><td>17:54</td><td>18:04</td><td>18:25</td><td>18:42</td><td>18:52</td><td>19:15</td><td>19:41</td><td>19:53</td><td>20:10</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">태화강 →&nbsp;동대구 누리로 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>태화강</th><th>북울산</th><th>경주</th><th>아화</th><th>영천</th><th>하양</th><th>동대구</th></tr></thead><tbody><tr><td>1872</td><td>무궁화</td><td>07:05</td><td>07:15</td><td>07:38</td><td></td><td>08:03</td><td>08:15</td><td>08:32</td></tr><tr><td>1874</td><td>누리로</td><td>09:30</td><td>09:38</td><td>09:59</td><td></td><td>10:21</td><td>10:32</td><td>10:48</td></tr><tr><td>1876</td><td>누리로</td><td>14:20</td><td>14:28</td><td>14:49</td><td></td><td>15:11</td><td>15:22</td><td>15:38</td></tr><tr><td>1878</td><td>무궁화</td><td>14:48</td><td>14:58</td><td>15:22</td><td></td><td>15:48</td><td>16:01</td><td>16:23</td></tr><tr><td>1880</td><td>누리로</td><td>17:16</td><td>17:24</td><td>17:45</td><td>18:00</td><td>18:10</td><td>18:21</td><td>18:37</td></tr><tr><td>1882</td><td>누리로</td><td>17:57</td><td>18:05</td><td>18:26</td><td></td><td>18:56</td><td>19:07</td><td>19:27</td></tr><tr><td>1884</td><td>무궁화</td><td>18:42</td><td>18:52</td><td>19:15</td><td></td><td>19:41</td><td>19:53</td><td>20:10</td></tr><tr><td>1886</td><td>누리로</td><td>20:57</td><td>21:05</td><td>21:26</td><td></td><td>21:49</td><td>22:00</td><td>22:16</td></tr><tr><td>1888</td><td>누리로</td><td>21:38</td><td>21:46</td><td>22:07</td><td></td><td>22:29</td><td>22:40</td><td>22:56</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">부전역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">부전역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '21';
            let curName = '부전';
            let altCity = '22';
            let altName = '동대구';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">부전역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">16℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">부전역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A7%A5%EB%8F%84%EB%82%A0%EB%93%9C+%EB%B6%80%EC%82%B0%EB%B2%94%EC%A0%84DT+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EB%B2%94%EC%A0%84%EB%8F%99+383-25" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">맥도날드 부산범전DT</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 범전동 383-25</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%AA%85%EB%9E%80%EA%B9%80%EB%B0%A5+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EB%B6%80%EC%A0%84%EB%8F%99+573-3+%EB%AA%85%EB%9E%80%EA%B9%80%EB%B0%A5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">명란김밥</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">분식&gt;김밥</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 부전동 573-3 명란김밥</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%8A%A4%ED%83%80%EB%B2%85%EC%8A%A4+%EB%B6%80%EC%A0%84%EC%97%AD%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EB%B6%80%EC%A0%84%EB%8F%99+573-7+%EC%84%9C%EB%A9%B4%ED%98%B8%ED%85%94+%EB%B3%B5%ED%95%A9%EC%8B%9C%EC%84%A41%2C2%EC%B8%B5+%28%29" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">스타벅스 부전역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;카페</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 부전동 573-7 서면호텔 복합시설1,2층 ()</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%B6%80%EC%82%B0%ED%9A%9F%EC%A7%91+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EB%B6%80%EC%A0%84%EB%8F%99+341-43+%EB%B6%80%EC%82%B0%ED%9A%9F%EC%A7%91" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">부산횟집</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;생선회</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 부전동 341-43 부산횟집</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%9D%B4%EB%B0%94%EB%8F%94%EA%B0%90%EC%9E%90%ED%83%95+%EC%A0%84%ED%8F%AC%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EC%A0%84%ED%8F%AC%EB%8F%99+874-1+%EA%B8%88%EC%A0%95%EB%B9%8C%EB%94%A9" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">이바돔감자탕 전포점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;감자탕</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 전포동 874-1 금정빌딩</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">부전역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 부전역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,500원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">15,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 부산광역시 부산진구 부전동 573-1<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 051-441-7782                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 부전역2                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">0원</strong> 
                                <small style="color: #94a3b8;">/ 0분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">0원</strong>
                                <small style="color: #94a3b8;">/ 0분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">0원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 부산광역시 부산진구 부전로 181<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 051-441-7782                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">부전역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 부산광역시 부산진구 부전동 573-1</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:051-441-7782" style="color: #0052a4; font-weight: bold; text-decoration: none;">051-441-7782</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EB%B6%80%EC%A0%84%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/대구선-기차-시간표-누리로-무궁화호-동대구역-태화강역-부전역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="대구선-기차-시간표-누리로-무궁화호-동대구역-태화강역-부전역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20760" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/대구선-기차-시간표-누리로-무궁화호-동대구역-태화강역-부전역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/대구선-기차-시간표-누리로-무궁화호-동대구역-태화강역-부전역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/대구선-기차-시간표-누리로-무궁화호-동대구역-태화강역-부전역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>강릉역~동대구역 동해선 누리로 시간표 및 요금 실시간 총정리</title>
		<link>https://krailroad.co.kr/%ea%b0%95%eb%a6%89%ec%97%ad%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad-%eb%8f%99%ed%95%b4%ec%84%a0-%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%8b%a4%ec%8b%9c/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 23 Apr 2026 01:19:38 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[동해선 누리로 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20716</guid>

					<description><![CDATA[동해선 누리로 시간표를 이용한 동대구와 강릉 사이를 잇는 동해선 철길은 화려한 도시 풍경보다는 조용한 자연의 얼굴을 더 많이 볼수 있으며, 누리로가 이 구간에 투입되면서 예전보다 빠르고 쾌적해지긴 했으나, 창밖으로 스쳐 지나가는 풍경 속에는 여전히 세월의 흔적이 묻어나는 작은 간이역들이 곳곳에 숨어 있습니다. 그리고 역무원이 없는 역에 내렸을 때 마주하게 되는 막막함은 60초마다 갱신되는 공공데이터인 실시간 ... <a title="강릉역~동대구역 동해선 누리로 시간표 및 요금 실시간 총정리" class="read-more button" href="https://krailroad.co.kr/%ea%b0%95%eb%a6%89%ec%97%ad%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad-%eb%8f%99%ed%95%b4%ec%84%a0-%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%8b%a4%ec%8b%9c/" aria-label="강릉역~동대구역 동해선 누리로 시간표 및 요금 실시간 총정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">동해선 누리로 시간표를 이용한 동대구와 강릉 사이를 잇는 동해선 철길은 화려한 도시 풍경보다는 조용한 자연의 얼굴을 더 많이 볼수 있으며, 누리로가 이 구간에 투입되면서 예전보다 빠르고 쾌적해지긴 했으나, 창밖으로 스쳐 지나가는 풍경 속에는 여전히 세월의 흔적이 묻어나는 작은 간이역들이 곳곳에 숨어 있습니다.<br><br>그리고 역무원이 없는 역에 내렸을 때 마주하게 되는 막막함은 60초마다 갱신되는 <a href="https://www.data.go.kr/index.do" target="_blank" rel="noopener">공공데이터</a>인 실시간 API 데이터로 덜어낼 수 있습니다. 스마트폰 화면을 지속적으로 켜 놓으면 열차가 지금 몇분뒤 도착할지와 출발시간을 확인할 수 있고, 내가 내릴 역 주변에 시내버스는 언제 오는지 분 단위로 추적할 수 있어서인데요. 특히 <a href="https://krailroad.co.kr/%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b5%9c%ec%8b%a0-%eb%85%b8%ec%84%a0-%ec%a0%95%eb%b3%b4%ec%99%80/">동대구역</a>이나 <a href="https://krailroad.co.kr/%ea%b0%95%eb%a6%89%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%84%9c%ec%9a%b8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%b6%80%ec%a0%84/">강릉역</a> 같은 중심 역에서는 열차 진입 15분 전부터 음성으로 신호를 보내주니, 낯선 곳에서도 정확한 동해선 누리로 시간표를 보실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>동해선 누리로 시간표 안내</strong></h2>



<h3 class="wp-block-heading">무인역과 간이역 노선</h3>



<p class="wp-block-paragraph">동해선 누리로 시간표를 이용한 여행을하다 보면 역무원이 없는 무인역을 꽤 자주 만나게 됩니다. 이는 과거에 비해 이용객이 줄어든 탓도 있지만, 기술의 발달로 승무원이 없는 상태에서도 열차 제어가 가능해진 덕분이기도 한데요. 화려한 역사 대신 낡은 승강장과 비바람을 피할 작은 대기실만 덩그러니 남은 이 무인역들은, 역설적으로 가장 순수한 철길의 모습을 간직하고 있어 조용한 여행을 즐기는 이들에게는 편리한 역사 이기도 합니다.<br><br>이 동해안 노선은 험준한 해안선을 따라 놓인 철도로 지형적 특성상 마을과 마을을 세밀하게 연결해야 했으며, 큰 도시가 드문 지역적 한계를 극복하기 위해 주민들의 발이 되어주던 작은 역들이 촘촘하게 연결되어 있 가족들과 함께 동해선 정차역들을 이용한 여행도 충분히 가능합니다(참고: <a href="https://krailroad.co.kr/%ec%98%81%eb%8d%95-%ec%98%81%ed%95%b4%ec%97%ad-itx-%eb%a7%88%ec%9d%8c-%ea%b8%b0%ec%b0%a8-%ec%97%ac%ed%96%89-%ec%95%84%ec%9d%b4%ec%99%80-%ea%b1%b7%eb%8a%94-%ea%b7%bc%eb%8c%80%ec%82%ac-%ec%97%ad/">영덕 영해역 ITX-마음 기차 여행 아이와 걷는 근대사 역사 탐방 코스</a>).</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">앞으로의 변화와 지능형 동선</h3>



<p class="wp-block-paragraph">동해선 전 구간의 전철화가 마무리되면 이러한 무인역과 간이역들의 가치는 또 한 번 변할 것으로 보입니다. 누리로를 시작으로 더 다양한 열차가 투입되면 지역 간의 심리적 거리가 줄어들고, 잊혀가던 작은 역들이 새로운 관광 거점으로 거듭날 가능성이 크기 때문인데요. 기술이 주는 확신을 바탕으로 동해안의 푸른 바다와 산맥을 잇는 이 특별한 노선을 경험해 보는 건 어떨까요.</p>



<p class="wp-block-paragraph">비가 오거나 바람이 강한 날, 간이역에서 내리면 어디로 가야 할지 막막할 수 있죠. 현재 기상 상황과 연동된 주변 정보는 날씨에 맞는 최적의 동선을 제안하며 근처 식당가 정보를 실시간으로 알려줍니다. 정교하게 구축된 검색 기능을 이정표 삼아, 불필요한 대기 시간 없이 경북과 강원을 잇는 철길 위에서 차질 없는 일정을 꾸릴 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">강릉 ↔&nbsp;동대구 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">강릉<br>↓<br>동대구</td><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1852호</span><div class="time-display">06:30</div><div class="arrival-info">11:36 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">12:30</div><div class="arrival-info">17:18 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">동대구<br>↓<br>강릉</td><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1851호</span><div class="time-display">06:25</div><div class="arrival-info">11:12 도착</div></td><td><span class="train-detail">1865호</span><div class="time-display">18:44</div><div class="arrival-info">23:13 도착</div></td></tr></tbody></table></div>


    
    <h2>강릉 ↔ 동대구 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">강릉 ↔ 동대구</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                29,900원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">강릉 ↔ 동대구</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                21,300원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">강릉 ↔ 동대구</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                21,300원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">강릉 →&nbsp;동대구 누리로 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>강릉</th><th>정동진</th><th>묵호</th><th>동해</th><th>추암</th><th>삼척해변</th><th>삼척</th><th>근덕</th><th>임원</th><th>옥원</th><th>흥부</th><th>죽변</th><th>울진</th><th>매화</th><th>기성</th><th>평해</th><th>후포</th><th>고래불</th><th>영해</th><th>영덕</th><th>강구</th><th>장사</th><th>월포</th><th>포항</th><th>안강</th><th>서경주</th><th>아화</th><th>영천</th><th>하양</th><th>동대구</th><th>비 고</th></tr></thead><tbody><tr><td>1852</td><td>누리로</td><td>06:30</td><td>06:47</td><td>07:11</td><td>07:21</td><td></td><td></td><td>07:45</td><td>07:57</td><td>08:06</td><td>08:13</td><td>08:23</td><td>08:30</td><td>08:38</td><td>08:48</td><td>08:58</td><td>09:06</td><td>09:13</td><td>09:21</td><td>09:29</td><td>09:40</td><td>09:47</td><td>09:53</td><td>10:01</td><td>10:17</td><td>10:30</td><td>10:40</td><td>10:58</td><td>11:10</td><td>11:20</td><td>11:36</td><td>월화수목금</td></tr><tr><td>1862</td><td>누리로</td><td>06:30</td><td>06:47</td><td>07:11</td><td>07:21</td><td>07:31</td><td>07:35</td><td>07:45</td><td>07:57</td><td>08:06</td><td>08:13</td><td>08:23</td><td>08:30</td><td>08:38</td><td>08:48</td><td>08:58</td><td>09:06</td><td>09:13</td><td>09:21</td><td>09:29</td><td>09:40</td><td>09:47</td><td>09:53</td><td>10:01</td><td>10:17</td><td>10:30</td><td>10:40</td><td>10:58</td><td>11:10</td><td>11:20</td><td>11:36</td><td>토일</td></tr><tr><td>1854</td><td>누리로</td><td>08:55</td><td>09:11</td><td>09:30</td><td>09:39</td><td></td><td></td><td>10:01</td><td></td><td>10:19</td><td>10:28</td><td>10:38</td><td>10:45</td><td>10:53</td><td></td><td></td><td></td><td>11:20</td><td>11:33</td><td>11:41</td><td>11:52</td><td>11:59</td><td>12:04</td><td>12:13</td><td>12:26</td><td>12:40</td><td>12:51</td><td>13:08</td><td>13:19</td><td>13:29</td><td>13:45</td><td>월화수목금</td></tr><tr><td>1864</td><td>누리로</td><td>08:55</td><td>09:11</td><td>09:30</td><td>09:39</td><td>09:48</td><td>09:52</td><td>10:01</td><td></td><td>10:19</td><td>10:28</td><td>10:38</td><td>10:45</td><td>10:53</td><td></td><td></td><td></td><td>11:20</td><td>11:33</td><td>11:41</td><td>11:52</td><td>11:59</td><td>12:04</td><td>12:13</td><td>12:26</td><td>12:40</td><td>12:51</td><td>13:08</td><td>13:19</td><td>13:29</td><td>13:45</td><td>토일</td></tr><tr><td>1866</td><td>누리로</td><td>12:30</td><td>12:47</td><td>13:07</td><td>13:15</td><td></td><td></td><td>13:33</td><td>13:46</td><td>13:55</td><td>14:02</td><td>14:12</td><td>14:19</td><td>14:27</td><td>14:37</td><td>14:49</td><td></td><td>15:01</td><td>15:09</td><td></td><td>15:25</td><td></td><td>15:39</td><td>15:47</td><td>15:59</td><td>16:13</td><td>16:23</td><td>16:41</td><td>16:52</td><td>17:02</td><td>17:18</td><td></td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동대구 →&nbsp;강릉 누리로 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>동대구</th><th>하양</th><th>영천</th><th>아화</th><th>서경주</th><th>안강</th><th>포항</th><th>월포</th><th>장사</th><th>강구</th><th>영덕</th><th>영해</th><th>고래불</th><th>후포</th><th>평해</th><th>기성</th><th>매화</th><th>울진</th><th>죽변</th><th>흥부</th><th>옥원</th><th>임원</th><th>근덕</th><th>삼척</th><th>삼척해변</th><th>추암</th><th>동해</th><th>묵호</th><th>정동진</th><th>강릉</th><th>비 고</th></tr></thead><tbody><tr><td>1851</td><td>누리로</td><td>06:25</td><td>06:42</td><td>06:52</td><td>07:03</td><td>07:19</td><td>07:28</td><td>07:42</td><td>07:54</td><td></td><td>08:07</td><td>08:15</td><td>08:26</td><td>08:34</td><td>08:42</td><td>08:49</td><td>08:57</td><td></td><td>09:13</td><td>09:20</td><td>09:27</td><td>09:36</td><td>09:42</td><td></td><td>10:01</td><td></td><td></td><td>10:24</td><td>10:33</td><td>10:55</td><td>11:12</td><td>월화수목금</td></tr><tr><td>1861</td><td>누리로</td><td>06:25</td><td>06:42</td><td>06:52</td><td>07:03</td><td>07:19</td><td>07:28</td><td>07:42</td><td>07:54</td><td></td><td>08:07</td><td>08:15</td><td>08:26</td><td>08:34</td><td>08:42</td><td>08:49</td><td>08:57</td><td></td><td>09:13</td><td>09:20</td><td>09:27</td><td>09:36</td><td>09:42</td><td></td><td>10:01</td><td>10:09</td><td>10:13</td><td>10:24</td><td>10:33</td><td>10:55</td><td>11:12</td><td>토일</td></tr><tr><td>1853</td><td>누리로</td><td>12:14</td><td>12:31</td><td>12:42</td><td>12:53</td><td>13:09</td><td>13:19</td><td>13:32</td><td>13:43</td><td>13:51</td><td>13:59</td><td>14:07</td><td>14:18</td><td>14:26</td><td>14:35</td><td>14:42</td><td>14:50</td><td>15:00</td><td>15:10</td><td></td><td>15:20</td><td>15:30</td><td></td><td>15:41</td><td>15:55</td><td></td><td></td><td>16:16</td><td>16:24</td><td>16:45</td><td>17:00</td><td>월화수목금</td></tr><tr><td>1863</td><td>누리로</td><td>12:14</td><td>12:31</td><td>12:42</td><td>12:53</td><td>13:09</td><td>13:19</td><td>13:32</td><td>13:43</td><td>13:51</td><td>13:59</td><td>14:07</td><td>14:18</td><td>14:26</td><td>14:35</td><td>14:42</td><td>14:50</td><td>15:00</td><td>15:10</td><td></td><td>15:20</td><td>15:30</td><td></td><td>15:41</td><td>15:55</td><td>16:03</td><td>16:07</td><td>16:16</td><td>16:24</td><td>16:45</td><td>17:00</td><td>토일</td></tr><tr><td>1865</td><td>누리로</td><td>18:44</td><td>19:01</td><td>19:11</td><td></td><td>19:35</td><td></td><td>19:55</td><td>20:06</td><td>20:16</td><td>20:24</td><td>20:35</td><td>20:46</td><td>20:54</td><td>21:03</td><td>21:10</td><td>21:18</td><td>21:28</td><td>21:37</td><td></td><td></td><td></td><td></td><td></td><td>22:12</td><td></td><td></td><td>22:29</td><td>22:37</td><td>22:58</td><td>23:13</td><td></td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">강릉역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">강릉역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '32010';
            let curName = '강릉';
            let altCity = '22';
            let altName = '동대구';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">강릉역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">12℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 구름많음</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">20%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">강릉역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%97%84%EC%A7%80%EB%84%A4%ED%8F%AC%EC%9E%A5%EB%A7%88%EC%B0%A8+%EB%B3%B8%EC%A0%90+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EA%B0%95%EB%A6%89%EC%8B%9C+%ED%8F%AC%EB%82%A8%EB%8F%99+1155" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">엄지네포장마차 본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;해물,생선요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">강원특별자치도 강릉시 포남동 1155</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EA%B0%95%EB%A6%89%EC%97%AD+%EC%98%B9%EB%A7%89+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EA%B0%95%EB%A6%89%EC%8B%9C+%EC%98%A5%EC%B2%9C%EB%8F%99+312-3+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">강릉역 옹막</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;막국수</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">강원특별자치도 강릉시 옥천동 312-3 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%92%8D%ED%98%B8%EB%A7%9B%EB%9C%A8%EB%9D%BD%EA%B0%95%EB%A6%89%EB%B3%B8%EC%A0%90+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EA%B0%95%EB%A6%89%EC%8B%9C+%EB%85%B8%EC%95%94%EB%8F%99+664-1+%ED%92%8D%ED%98%B8%EB%A7%9B%EB%9C%A8%EB%9D%BD%EA%B0%95%EB%A6%89%EB%B3%B8%EC%A0%90" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">풍호맛뜨락강릉본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;한식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">강원특별자치도 강릉시 노암동 664-1 풍호맛뜨락강릉본점</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EA%B9%8C%EC%B9%98%EC%B9%BC%EA%B5%AD%EC%88%98+%EA%B0%95%EB%A6%89%EC%97%AD+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EA%B0%95%EB%A6%89%EC%8B%9C+%ED%8F%AC%EB%82%A8%EB%8F%99+1107-4+%EA%B9%8C%EC%B9%98%EC%B9%BC%EA%B5%AD%EC%88%98" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">까치칼국수 강릉역</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;칼국수,만두</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">강원특별자치도 강릉시 포남동 1107-4 까치칼국수</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%A7%AC%EB%BD%951%EB%B2%88%EC%A7%80+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EA%B0%95%EB%A6%89%EC%8B%9C+%EC%86%A1%EC%A0%95%EB%8F%99+216-5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">짬뽕1번지</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">중식&gt;중식당</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">강원특별자치도 강릉시 송정동 216-5</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">강릉역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 강릉역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 강원도 강릉시 교동 118<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 031-523-2353                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 강릉역2                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 강원도 강릉시 교동 118<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 031-523-2353                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">강릉역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 강원도 강릉시 교동 118</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:031-523-2353" style="color: #0052a4; font-weight: bold; text-decoration: none;">031-523-2353</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EA%B0%95%EB%A6%89%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/동해선-누리로-시간표-동대구역-강릉역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="동해선-누리로-시간표-동대구역-강릉역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20755" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/동해선-누리로-시간표-동대구역-강릉역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/동해선-누리로-시간표-동대구역-강릉역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/동해선-누리로-시간표-동대구역-강릉역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>교외선 무궁화호 시간표 와 요금 (대곡역~의정부역) 정차역 안내</title>
		<link>https://krailroad.co.kr/%ea%b5%90%ec%99%b8%ec%84%a0-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%99%80-%ec%9a%94%ea%b8%88-%eb%8c%80%ea%b3%a1%ec%97%ad%ec%9d%98%ec%a0%95%eb%b6%80%ec%97%ad-%ec%a0%95/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Wed, 22 Apr 2026 02:23:28 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[교외선 무궁화호 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20698</guid>

					<description><![CDATA[오랜 시간 멈춰있던 철길이 다시 숨을 쉬기 시작한 교외선은 수도권 북부의 대곡역과 의정부역을 잇는 독특한 노선으로, 과거의 향수와 현대의 실용성이 공존하는 구간입니다. 20여 년의 공백을 깨고 다시 달리는 교외선 무궁화호 시간표는 단순히 역과 역을 잇는 것을 넘어, 고양, 양주, 의정부를 직선으로 연결하며 경기 북부 지역민들의 이동 편의를 획기적으로 개선하고 있는데요. 화려한 고속열차는 아니지만, 북한산 자락의 ... <a title="교외선 무궁화호 시간표 와 요금 (대곡역~의정부역) 정차역 안내" class="read-more button" href="https://krailroad.co.kr/%ea%b5%90%ec%99%b8%ec%84%a0-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%99%80-%ec%9a%94%ea%b8%88-%eb%8c%80%ea%b3%a1%ec%97%ad%ec%9d%98%ec%a0%95%eb%b6%80%ec%97%ad-%ec%a0%95/" aria-label="교외선 무궁화호 시간표 와 요금 (대곡역~의정부역) 정차역 안내 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">오랜 시간 멈춰있던 철길이 다시 숨을 쉬기 시작한 교외선은 수도권 북부의 대곡역과 의정부역을 잇는 독특한 노선으로, 과거의 향수와 현대의 실용성이 공존하는 구간입니다. 20여 년의 공백을 깨고 다시 달리는 교외선 무궁화호 시간표는 단순히 역과 역을 잇는 것을 넘어, 고양, 양주, 의정부를 직선으로 연결하며 경기 북부 지역민들의 이동 편의를 획기적으로 개선하고 있는데요. 화려한 고속열차는 아니지만, 북한산 자락의 수려한 능선을 따라 창밖으로 펼쳐지는 계절의 변화를 가장 담백하게 즐길 수 있는 이 철길은 복잡한 도심 속에서 찾을 수 있는 여유로운 노선입니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>교외선 무궁화호 시간표 안내</strong></h2>



<h3 class="wp-block-heading">교외선 운행 계통과 목적지 확인</h3>



<p class="wp-block-paragraph">교외선 무궁화호 시간표를 이용할 때 가장 먼저 파악해야 할 점은 기존 노선들과는 다른 독립적인 운행 방식입니다. 수도권 외곽을 반원 형태로 감싸며 도는 특성상, 본인의 출발지와 최종 목적지에 맞는 환승 거점을 확인하는 것이 중요한데요.</p>



<p class="wp-block-paragraph">1️⃣ <strong>열차 이용</strong>: 현재 교외선은 무궁화호 등급 위주로 편성되어 있으며, 조금 더 넓은 광역 철도망 정보가 필요하다면 <a href="https://krailroad.co.kr/realtime-subway-timetable/">수도권 전철</a> 및 ITX 시간표를 통해 연계 노선을 확인하실 수 있습니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>대곡 ↔ 의정부</strong>: 경기 서북부와 동북부를 가로지르는 주력 구간으로, 경의중앙선이나 서해선, 1호선 등으로 갈아타기 편리한 역들을 경유합니다.</p>



<p class="wp-block-paragraph"><strong>주요 정거장 안내</strong>: 원릉, 일영, 장흥, 송추 등 과거 여행객들의 사랑을 받던 정거장들이 다시 문을 열었으며, 각 역마다 주변 관광지나 군 부대 면회객들의 수요가 집중되는 특색이 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 데이터 파악과 서비스</h3>



<p class="wp-block-paragraph">교외선 무궁화호 시간표를 확인하는 단계를 넘어, 개발한 로직은 역에 발을 들이는 순간부터 최종 목적지에 닿을 때까지의 모든 동선을 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 데이터와 60초마다 자동 갱신되는 공공 API 로직을 통해 대곡역이나 의정부역 등 주요 역의 열차 위치를 분 단위로 추적함은 물론, 역사 주변 주차장의 공간과 시내로 향하는 버스의 도착 예보까지 하나의 화면에 통합했는데요. 특히 정보 확인에 제약이 있는 분들을 위해 도입된 음성 알림 기능을 활용하면, 열차 진입 15분 전부터 자동으로 신호를 보내주어 대기 공간에서 다른 용무를 보다가도 승강장으로 이동할 타이밍을 정확히 파악할 수 있습니다.</p>



<p class="wp-block-paragraph">또한 현재 기상 상황과 연동된 주변 식당가 정보는 날씨에 따른 최적의 동선을 제안하며, 낯선 역에 내렸을 때 마주하게 되는 막막함을 기술이 주는 확신으로 바꿔주는데요. 정교하게 구축된 검색 기능을 이정표 삼아, 불필요한 대기 시간 없이 경기 북부 철길 위에서 차질 없는 일정을 준비할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">대곡 ↔&nbsp;의정부 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">의정부<br>↓<br>대곡</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">2602호</span><div class="time-display">06:55</div><div class="arrival-info">07:49 도착</div></td><td><span class="train-detail">2620호</span><div class="time-display">21:12</div><div class="arrival-info">22:06 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">대곡<br>↓<br>의정부</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">2601호</span><div class="time-display">07:02</div><div class="arrival-info">07:56 도착</div></td><td><span class="train-detail">2619호</span><div class="time-display">21:19</div><div class="arrival-info">22:13 도착</div></td></tr></tbody></table></div>


    
    <h2>대곡 ↔ 의정부 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">대곡 ↔ 의정부</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                2,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">대곡 →&nbsp;의정부 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>의정부</th><th>송추</th><th>장흥</th><th>일영</th><th>원릉</th><th>대곡</th></tr></thead><tbody><tr><td>무궁화</td><td>2602</td><td>06:55</td><td>07:11</td><td>07:19</td><td>07:27</td><td>07:42</td><td>07:49</td></tr><tr><td>무궁화</td><td>2604</td><td>08:22</td><td>08:38</td><td>08:46</td><td>08:54</td><td>09:09</td><td>09:16</td></tr><tr><td>무궁화</td><td>2606</td><td>09:49</td><td>10:05</td><td>10:13</td><td>10:21</td><td>10:36</td><td>10:43</td></tr><tr><td>무궁화</td><td>2608</td><td>11:16</td><td>11:32</td><td>11:40</td><td>11:48</td><td>12:03</td><td>12:10</td></tr><tr><td>무궁화</td><td>2628</td><td>11:15</td><td>11:31</td><td>11:39</td><td>11:54</td><td>12:09</td><td>12:16</td></tr><tr><td>무궁화</td><td>2610</td><td>12:43</td><td>12:59</td><td>13:07</td><td>13:15</td><td>13:30</td><td>13:37</td></tr><tr><td>무궁화</td><td>2630</td><td>12:50</td><td>13:06</td><td>13:14</td><td>13:29</td><td>13:44</td><td>13:51</td></tr><tr><td>무궁화</td><td>2612</td><td>14:10</td><td>14:26</td><td>14:34</td><td>14:42</td><td>14:57</td><td>15:04</td></tr><tr><td>무궁화</td><td>2632</td><td>14:25</td><td>14:41</td><td>14:49</td><td>15:04</td><td>15:19</td><td>15:26</td></tr><tr><td>무궁화</td><td>2634</td><td>17:10</td><td>17:26</td><td>17:34</td><td>17:40</td><td>17:55</td><td>18:02</td></tr><tr><td>무궁화</td><td>2616</td><td>18:20</td><td>18:36</td><td>18:44</td><td>18:52</td><td>19:07</td><td>19:14</td></tr><tr><td>무궁화</td><td>2618</td><td>19:46</td><td>20:02</td><td>20:10</td><td>00:00</td><td>20:33</td><td>20:40</td></tr><tr><td>무궁화</td><td>2620</td><td>21:12</td><td>21:28</td><td>21:36</td><td>21:44</td><td>21:59</td><td>22:06</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">의정부 →&nbsp;대곡 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>대곡</th><th>원릉</th><th>일영</th><th>장흥</th><th>송추</th><th>의정부</th></tr></thead><tbody><tr><td>무궁화</td><td>2601</td><td>07:02</td><td>07:10</td><td>07:28</td><td>07:34</td><td>07:42</td><td>07:56</td></tr><tr><td>무궁화</td><td>2603</td><td>08:29</td><td>08:37</td><td>08:55</td><td>09:01</td><td>09:09</td><td>09:23</td></tr><tr><td>무궁화</td><td>2605</td><td>09:56</td><td>10:04</td><td>10:22</td><td>10:28</td><td>10:36</td><td>10:50</td></tr><tr><td>무궁화</td><td>2607</td><td>11:23</td><td>11:31</td><td>11:49</td><td>11:55</td><td>12:03</td><td>12:17</td></tr><tr><td>무궁화</td><td>2627</td><td>11:22</td><td>11:30</td><td>11:57</td><td>12:03</td><td>12:11</td><td>12:25</td></tr><tr><td>무궁화</td><td>2609</td><td>12:50</td><td>12:58</td><td>13:16</td><td>13:22</td><td>13:30</td><td>13:44</td></tr><tr><td>무궁화</td><td>2629</td><td>12:57</td><td>13:05</td><td>13:32</td><td>13:38</td><td>13:46</td><td>14:00</td></tr><tr><td>무궁화</td><td>2611</td><td>14:17</td><td>14:25</td><td>14:43</td><td>14:49</td><td>14:57</td><td>15:11</td></tr><tr><td>무궁화</td><td>2631</td><td>14:32</td><td>14:40</td><td>15:07</td><td>15:13</td><td>15:21</td><td>15:35</td></tr><tr><td>무궁화</td><td>2633</td><td>15:51</td><td>15:59</td><td>16:17</td><td>16:23</td><td>16:31</td><td>16:45</td></tr><tr><td>무궁화</td><td>2615</td><td>18:27</td><td>18:35</td><td>18:53</td><td>18:59</td><td>19:07</td><td>19:21</td></tr><tr><td>무궁화</td><td>2617</td><td>19:53</td><td>20:01</td><td>20:19</td><td>20:25</td><td>20:33</td><td>20:47</td></tr><tr><td>무궁화</td><td>2619</td><td>21:19</td><td>21:27</td><td>21:45</td><td>21:51</td><td>21:59</td><td>22:13</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">대곡역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">대곡역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '';
            let curName = '대곡';
            let altCity = '';
            let altName = '의정부';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">대곡역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">16℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">대곡역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%A7%80%ED%96%A5%ED%95%9C%EC%9A%B0%EB%A7%88%EC%9D%84+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EA%B3%A0%EC%96%91%EC%8B%9C+%EB%8D%95%EC%96%91%EA%B5%AC+%EB%8C%80%EC%9E%A5%EB%8F%99+380-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">지향한우마을</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;소고기구이</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 고양시 덕양구 대장동 380-1</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%9E%A5%EC%96%B4%EC%82%AC%EB%83%A5+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EA%B3%A0%EC%96%91%EC%8B%9C+%EB%8D%95%EC%96%91%EA%B5%AC+%ED%86%A0%EB%8B%B9%EB%8F%99+667" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">장어사냥</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;장어,먹장어요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 고양시 덕양구 토당동 667</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%B2%AD%EB%8B%B4%EC%B6%94%EC%96%B4%EC%A0%95+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EA%B3%A0%EC%96%91%EC%8B%9C+%EB%8D%95%EC%96%91%EA%B5%AC+%ED%86%A0%EB%8B%B9%EB%8F%99+654-23" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">청담추어정</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;한식&gt;추어탕</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 고양시 덕양구 토당동 654-23</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%96%91%ED%8F%89%ED%95%B4%EC%9E%A5%EA%B5%AD+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EA%B3%A0%EC%96%91%EC%8B%9C+%EB%8D%95%EC%96%91%EA%B5%AC+%ED%86%A0%EB%8B%B9%EB%8F%99+597-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">양평해장국</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;해장국</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 고양시 덕양구 토당동 597-1</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%84%9C%EA%B6%81+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EA%B3%A0%EC%96%91%EC%8B%9C+%EB%8D%95%EC%96%91%EA%B5%AC+%ED%86%A0%EB%8B%B9%EB%8F%99+565-5+%EC%84%9C%EA%B6%81+%ED%95%9C%EC%A0%95%EC%8B%9D" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">서궁</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;한정식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 고양시 덕양구 토당동 565-5 서궁 한정식</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">대곡역 실시간 주차장 요금</h4>
        
                    <div style="text-align: center; padding: 50px 20px; background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 12px; font-family: 'Noto Sans KR', sans-serif;">
                <p style="color: #64748b; margin: 0;">해당 역의 공식 주차 정보가 없습니다.</p>
            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">대곡역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 대곡역 인근 공영 및 노상주차장 이용 권장</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:1544-7788" style="color: #0052a4; font-weight: bold; text-decoration: none;">1544-7788</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EB%8C%80%EA%B3%A1%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/교회선-무궁화호-시간표-대곡역-의정부역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="교외선-무궁화호-시간표-대곡역-의정부역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20712" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/교회선-무궁화호-시간표-대곡역-의정부역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/교회선-무궁화호-시간표-대곡역-의정부역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/교회선-무궁화호-시간표-대곡역-의정부역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>경북선 무궁화호 시간표 및 요금 (김천역~영주역) 실시간 정리</title>
		<link>https://krailroad.co.kr/%ea%b2%bd%eb%b6%81%ec%84%a0-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ea%b9%80%ec%b2%9c%ec%97%ad%ec%98%81%ec%a3%bc%ec%97%ad-%ec%8b%a4%ec%8b%9c/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Tue, 21 Apr 2026 05:04:20 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[경북선 무궁화호 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20681</guid>

					<description><![CDATA[경북 내륙을 대각선으로 가로지르는 경북선 무궁화호 시간표 노선은 김천역과 영주역을 잇는 독특한 위치 덕분에 예나 지금이나 지역민들의 소중한 통로가 되어주고 있습니다. 거창한 고속열차는 다니지 않지만, 오히려 그 덕분에 낙동강 상류의 비경과 소박한 시골역 풍경을 오롯이 간직할 수 있었는데요. 수익성보다는 상주, 문경, 예천 등 철도 사각지대에 놓인 내륙 거점 도시들을 연결하는 공익적 목적이 큰 노선인 만큼, ... <a title="경북선 무궁화호 시간표 및 요금 (김천역~영주역) 실시간 정리" class="read-more button" href="https://krailroad.co.kr/%ea%b2%bd%eb%b6%81%ec%84%a0-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ea%b9%80%ec%b2%9c%ec%97%ad%ec%98%81%ec%a3%bc%ec%97%ad-%ec%8b%a4%ec%8b%9c/" aria-label="경북선 무궁화호 시간표 및 요금 (김천역~영주역) 실시간 정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">경북 내륙을 대각선으로 가로지르는 경북선 무궁화호 시간표 노선은 <a href="https://krailroad.co.kr/%ea%b9%80%ec%b2%9c%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c%ec%99%80-%ec%98%81%ec%a3%bc-%eb%b6%80%ec%82%b0-%eb%b0%a9%eb%a9%b4-%eb%85%b8%ec%84%a0-%ec%83%81%ec%84%b8/">김천역</a>과 <a href="https://krailroad.co.kr/%ec%98%81%ec%a3%bc%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%a4%91%ec%95%99%ec%84%a0-ktx-itx-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%84%9c%ec%9a%b8-%eb%b6%80%ec%a0%84-%eb%8f%99%ed%95%b4-%eb%8f%99/">영주역</a>을 잇는 독특한 위치 덕분에 예나 지금이나 지역민들의 소중한 통로가 되어주고 있습니다. 거창한 고속열차는 다니지 않지만, 오히려 그 덕분에 낙동강 상류의 비경과 소박한 시골역 풍경을 오롯이 간직할 수 있었는데요. 수익성보다는 상주, 문경, 예천 등 철도 사각지대에 놓인 내륙 거점 도시들을 연결하는 공익적 목적이 큰 노선인 만큼, 무궁화호는 여전히 이 지역의 보편적인 이동권을 실천하는 핵심적인 존재입니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>경북선 무궁화호 시간표 안내</strong></h2>



<h3 class="wp-block-heading">노선별 운행 특징과 주요 구간</h3>



<p class="wp-block-paragraph">경북선 무궁화호 시간표를 이용할 때 가장 주의할 점은 열차의 시작과 끝이 단순히 한 구간으로 고정되어 있지 않다는 점입니다. 상주나 점촌처럼 특정 지역 안에서 움직이는 분들도 많지만, 일부 열차는 부산역에서 출발해 김천을 거쳐 영주나 강릉까지 길게 이어지는 계통도 섞여 있는데요.</p>



<p class="wp-block-paragraph">1️⃣ <strong>장거리 연계 노선</strong> : 경부선 주요 역에서 출발해 경북선으로 진입하는 열차도 있으므로, 이동 거리가 길다면 [<a href="https://krailroad.co.kr/%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%84%9c%ec%9a%b8%ec%97%ad%eb%b6%80%ec%82%b0%ec%97%ad-%ec%8b%a4%ec%8b%9c/">경부선 새마을호 시간표 안내</a>] 자료를 함께 참고해 보는 것도 도임이 될것입니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>김천 ↔ 영주</strong> : 상주, 점촌, 예천을 통과하며 경북 북부를 관통하는 주력 노선으로, 지역 대학생들의 통학이나 인근 공군 부대 면회객들에게 필수적인 구간입니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 데이터 기반 이동</h3>



<p class="wp-block-paragraph">이제는 경북선 무궁화호 시간표를 확인 하려고 대합실 구석에 붙은 낡은 종이 안내문을 확인하거나 전광판의 정보가 바뀌기만을 기다릴 필요없이 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식자료를 데이터베이스화 정보나 공공 API를 통해 선로 위 열차의 움직임을 즉각적으로 호출하는 아래 시스템을 이용하면 됩니다.</p>



<p class="wp-block-paragraph">단순히 기차 시간만 확인하는 수준을 넘어, 역에 내리는 순간 마주하게 될 현지의 인프라 활용법까지 한 화면에 통합했으며, 김천역이나 영주역 주변의 주차 공간 확인은 물론, 예천역이나 점촌역 광장에서 시내로 이어지는 실시간 버스 도착 현황까지 제공되어 불필요한 대기 시간을 획기적으로 줄여주는데요.</p>



<p class="wp-block-paragraph">낯선 역에 내렸을 때 느끼는 막막함을 데이터가 주는 확신으로 바꿔드리기 위해 현재 기상 상황에 맞춘 현지 식당가 정보도 함께 연동했습니다. </p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">영주 ↔&nbsp;김천 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">영주<br>↓<br>김천</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1792호</span><div class="time-display">05:50</div><div class="arrival-info">08:04 도착</div></td><td><span class="train-detail">1800호</span><div class="time-display">16:35</div><div class="arrival-info">18:54 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">김천<br>↓<br>영주</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1791호</span><div class="time-display">09:14</div><div class="arrival-info">11:31 도착</div></td><td><span class="train-detail">1799호</span><div class="time-display">20:23</div><div class="arrival-info">22:36 도착</div></td></tr></tbody></table></div>


    
    <h2>김천 ↔ 영주 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">영주 ↔ 김천</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                7,200원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">영주 →&nbsp;김천 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>영주</th><th>예천</th><th>개포</th><th>용궁</th><th>점촌</th><th>함창</th><th>상주</th><th>청리</th><th>옥산</th><th>김천</th></tr></thead><tbody><tr><td>무궁화</td><td>1792</td><td>05:50</td><td>06:26</td><td>06:40</td><td>06:49</td><td>06:59</td><td>07:05</td><td>07:25</td><td>07:35</td><td>07:43</td><td>08:04</td></tr><tr><td>무궁화</td><td>1794</td><td>08:21</td><td>08:57</td><td>09:11</td><td>09:20</td><td>09:30</td><td>09:36</td><td>09:57</td><td>10:07</td><td>10:15</td><td>10:36</td></tr><tr><td>무궁화</td><td>1796</td><td>10:57</td><td>11:33</td><td>11:47</td><td>11:56</td><td>12:06</td><td>12:12</td><td>12:32</td><td>12:42</td><td>12:50</td><td>13:10</td></tr><tr><td>무궁화</td><td>1798</td><td>14:06</td><td>14:41</td><td>14:55</td><td>15:04</td><td>15:14</td><td>15:20</td><td>15:40</td><td>15:50</td><td>15:58</td><td>16:19</td></tr><tr><td>무궁화</td><td>1800</td><td>16:35</td><td>17:16</td><td>17:30</td><td>17:39</td><td>17:49</td><td>17:55</td><td>18:15</td><td>18:25</td><td>18:33</td><td>18:54</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">김천 →&nbsp;영주 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>김천</th><th>옥산</th><th>청리</th><th>상주</th><th>함창</th><th>점촌</th><th>용궁</th><th>개포</th><th>예천</th><th>영주</th></tr></thead><tbody><tr><td>무궁화</td><td>1791</td><td>09:14</td><td>09:36</td><td>09:44</td><td>09:55</td><td>10:13</td><td>10:19</td><td>10:28</td><td>10:37</td><td>10:52</td><td>11:31</td></tr><tr><td>무궁화</td><td>1793</td><td>11:51</td><td>12:13</td><td>12:21</td><td>12:31</td><td>12:51</td><td>12:57</td><td>13:06</td><td>13:15</td><td>13:30</td><td>14:05</td></tr><tr><td>무궁화</td><td>1795</td><td>14:58</td><td>15:20</td><td>15:28</td><td>15:39</td><td>15:57</td><td>16:03</td><td>16:12</td><td>16:21</td><td>16:36</td><td>17:13</td></tr><tr><td>무궁화</td><td>1797</td><td>18:54</td><td>19:16</td><td>19:24</td><td>19:34</td><td>19:52</td><td>19:58</td><td>20:07</td><td>20:16</td><td>20:31</td><td>21:07</td></tr><tr><td>무궁화</td><td>1799</td><td>20:23</td><td>20:45</td><td>20:53</td><td>21:03</td><td>21:21</td><td>21:27</td><td>21:36</td><td>21:45</td><td>22:00</td><td>22:36</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">김천역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">김천역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '37030';
            let curName = '김천';
            let altCity = '37060';
            let altName = '영주';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">김천역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">13℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">김천역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A7%A5%EB%8F%84%EB%82%A0%EB%93%9C+%EA%B9%80%EC%B2%9C%ED%8F%89%ED%99%94DT%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EA%B9%80%EC%B2%9C%EC%8B%9C+%ED%8F%89%ED%99%94%EB%8F%99+2-2" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">맥도날드 김천평화DT점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상북도 김천시 평화동 2-2</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%98%A4%EB%8B%A8%EC%9D%B4%EA%BC%AC%EB%A7%88%EA%B9%80%EB%B0%A5+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EA%B9%80%EC%B2%9C%EC%8B%9C+%EB%B6%80%EA%B3%A1%EB%8F%99+1237-166" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">오단이꼬마김밥</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">분식&gt;김밥</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상북도 김천시 부곡동 1237-166</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%B9%B4%ED%8E%98%EC%9E%90%EC%82%B0+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EA%B9%80%EC%B2%9C%EC%8B%9C+%EC%84%B1%EB%82%B4%EB%8F%99+135" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">카페자산</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상북도 김천시 성내동 135</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EA%B9%80%EC%B2%9C%EC%B6%95%EC%82%B0%EB%86%8D%ED%98%91+%EB%B6%80%EA%B3%A1%EB%8F%99%EC%A7%80%EC%A0%90+%EC%B6%95%EC%82%B0%EB%AC%BC%ED%8C%90%EB%A7%A4%EC%9E%A5+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EA%B9%80%EC%B2%9C%EC%8B%9C+%EB%B6%80%EA%B3%A1%EB%8F%99+1530+%EB%B6%80%EA%B3%A1%EC%9A%B0%EB%B0%A9%EC%83%81%EA%B0%80" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">김천축산농협 부곡동지점 축산물판매장</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;육류,고기요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상북도 김천시 부곡동 1530 부곡우방상가</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%9C%A8%EB%8F%88+%EA%B9%80%EC%B2%9C%EB%B6%80%EA%B3%A1%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EA%B9%80%EC%B2%9C%EC%8B%9C+%EB%B6%80%EA%B3%A1%EB%8F%99+506+%EB%B6%80%EA%B3%A1%EB%B9%8C%EB%94%A9+401%ED%98%B8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">뜨돈 김천부곡점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;일식&gt;돈가스</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상북도 김천시 부곡동 506 부곡빌딩 401호</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">김천역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 김천구미역A주차장                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,000원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">13,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 경상북도 김천시 혁신1로 51<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 053-719-0270                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 김천역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">200원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 경상북도 김천시 평화동 264-1<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 053-719-0270                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">김천역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 경상북도 김천시 혁신1로 51</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:053-719-0270" style="color: #0052a4; font-weight: bold; text-decoration: none;">053-719-0270</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EA%B9%80%EC%B2%9C%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/경북선-무궁화호-시간표-영주역-김천역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="경북선-무궁화호-시간표-영주역-김천역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20695" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/경북선-무궁화호-시간표-영주역-김천역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/경북선-무궁화호-시간표-영주역-김천역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/경북선-무궁화호-시간표-영주역-김천역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>태백선 기차 시간표 ITX-마음-무궁화호 (동해역~청량리역) 요금 총정리</title>
		<link>https://krailroad.co.kr/%ed%83%9c%eb%b0%b1%ec%84%a0-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%eb%8f%99%ed%95%b4%ec%97%ad%ec%b2%ad%eb%9f%89%eb%a6%ac%ec%97%ad/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Mon, 20 Apr 2026 06:17:30 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[태백선 기차 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20648</guid>

					<description><![CDATA[태백선 기차 시간표를 이용한 강원도의 험준한 산맥을 뚫고 흐르는 태백선은 과거 우리나라의 에너지원이던 석탄을 나르던 산업의 대동맥에서, 이제는 백두대간의 절경을 품은 낭만 철길로 변모했습니다. 현재 이 구간은 전통의 무궁화호와 ITX-마음이 함께 운영되고 있는데요. 제천역에서 시작해 영월, 민둥산, 사북을 거쳐 동백산, 동해역까지 이어지는 이 길은 높은 고도 덕분에 창밖으로 구름 위를 달리는 듯한 풍경을 보실 수 ... <a title="태백선 기차 시간표 ITX-마음-무궁화호 (동해역~청량리역) 요금 총정리" class="read-more button" href="https://krailroad.co.kr/%ed%83%9c%eb%b0%b1%ec%84%a0-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%eb%8f%99%ed%95%b4%ec%97%ad%ec%b2%ad%eb%9f%89%eb%a6%ac%ec%97%ad/" aria-label="태백선 기차 시간표 ITX-마음-무궁화호 (동해역~청량리역) 요금 총정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">태백선 기차 시간표를 이용한 강원도의 험준한 산맥을 뚫고 흐르는 태백선은 과거 우리나라의 에너지원이던 석탄을 나르던 산업의 대동맥에서, 이제는 백두대간의 절경을 품은 낭만 철길로 변모했습니다. 현재 이 구간은 전통의 무궁화호와 ITX-마음이 함께 운영되고 있는데요. <a href="https://krailroad.co.kr/%ec%a0%9c%ec%b2%9c%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-itx-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%84%9c%ec%9a%b8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%b6%80%ec%a0%84-%eb%8f%99/">제천역</a>에서 시작해 영월, 민둥산, 사북을 거쳐 동백산, <a href="https://krailroad.co.kr/%eb%8f%99%ed%95%b4%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%eb%88%84%eb%a6%ac%eb%a1%9c-%eb%ac%b4%eb%a6%89%ea%b3%84%ea%b3%a1-%eb%a7%9d/">동해역</a>까지 이어지는 이 길은 높은 고도 덕분에 창밖으로 구름 위를 달리는 듯한 풍경을 보실 수 있습니다.</p>



<p class="wp-block-paragraph">특히 태백선은 수도권인 청량리역과 동해안을 잇는 장거리 노선으로, 강원 남부 내륙을 관통하며 서울과 바다를 연결하는 핵심적인 역할을 수행하는데요. 단순한 장거리 이동 외에도 제천에서 태백을 잇거나, 영동선과 맞물려 아우라지 방면으로 향하는 정선 아리랑 열차와 연계되는 등 지역 특색이 강한 구간들도 존재합니다. 특히 태백산의 눈꽃이나 민둥산의 억새가 장관을 이루는 축제 시즌에는 평소보다 많은 사람이 이용하는 구간입니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>태백선 기차 시간표 안내</strong></h2>



<h3 class="wp-block-heading">실시간 공공 데이터 연동</h3>



<p class="wp-block-paragraph">태백선 기차 시간표를 가장 정확하고 빠른 정보를 원하신다면 아래 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 자료와 국가 공공 데이터를 직접 호출하여 선로 위 열차의 움직임을 즉각적으로 반영하는 아래 시스템을 이용하면, 내가 탈 기차가 언제 출발하는지, 소요시간과 정차역은 어딘지 스마트폰 화면으로 즉시 파악할 수 있는데요. 특히 상단 메뉴에서 소리 설정을 활성화하면 기차 진입 15분 전부터 자동으로 안내 음성 로직이 작동 하므로, 이용해 보시는걸 추천해 드립니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">도착 이후의 여유, 통합 서비스</h3>



<p class="wp-block-paragraph">단순히 요금의 가성비를 따지는 수준을 넘어, 태백선 기차 시간표를 이용한 열차 이용은 험준한 지형을 가장 편안하게 가로지르는 구간으로 아래 구축된 정보는 열차 시간뿐만 아니라 영월역이나 태백역 주변의 주차장 현황, 역 광장에서 시내나 관광지로 연결되는 버스 도착 실시간 예보까지 한 화면에 담았는데요. 낯선 역에 내렸을 때의 막막함을 데이터가 주는 확신으로 바꿔드리기 위해 현재 기상 상황에 맞춘 식당가 리스트도 함께 제공되고 있으니 편리하게 이용하시면 됩니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동해 ↔&nbsp;청량리 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">동해<br>↓<br>제천</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1642호</span><div class="time-display">7:43</div><div class="arrival-info">10:31 도착</div></td><td><span class="train-detail">1642호</span><div class="time-display">7:43</div><div class="arrival-info">10:31 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1672호</span><div class="time-display">5:55</div><div class="arrival-info">8:48 도착</div></td><td><span class="train-detail">1678호</span><div class="time-display">18:14</div><div class="arrival-info">21:07 도착</div></td></tr><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">동해<br>↓<br>청량리</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1642호</span><div class="time-display">7:43</div><div class="arrival-info">11:46 도착</div></td><td><span class="train-detail">1642호</span><div class="time-display">7:43</div><div class="arrival-info">11:46 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1672호</span><div class="time-display">5:55</div><div class="arrival-info">10:31 도착</div></td><td><span class="train-detail">1678호</span><div class="time-display">18:14</div><div class="arrival-info">22:40 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">제천<br>↓<br>동해</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1641호</span><div class="time-display">18:26</div><div class="arrival-info">21:08 도착</div></td><td><span class="train-detail">1641호</span><div class="time-display">18:26</div><div class="arrival-info">21:08 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1671호</span><div class="time-display">09:31</div><div class="arrival-info">12:25 도착</div></td><td><span class="train-detail">1677호</span><div class="time-display">21:01</div><div class="arrival-info">23:50 도착</div></td></tr><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">청량리<br>↓<br>동해</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1641호</span><div class="time-display">17:08</div><div class="arrival-info">21:08 도착</div></td><td><span class="train-detail">1641호</span><div class="time-display">17:08</div><div class="arrival-info">21:08 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1671호</span><div class="time-display">07:34</div><div class="arrival-info">12:25 도착</div></td><td><span class="train-detail">1677호</span><div class="time-display">19:10</div><div class="arrival-info">23:50 도착</div></td></tr></tbody></table></div>


    
    <h2>동해 ↔ 청량리 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">청량리 ↔ 동해</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                27,500원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">청량리 ↔ 동해</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">기본</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                29,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                35,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">청량리 ↔ 동해</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                19,200원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동해 →&nbsp;청량리 ITX-무궁화 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>동해</th><th>신기</th><th>도계</th><th>동백산</th><th>태백</th><th>고한</th><th>사북</th><th>민둥산</th><th>예미</th><th>영월</th><th>쌍룡</th><th>제천</th><th>봉양</th><th>원주</th><th>서원주</th><th>삼산</th><th>양동</th><th>매곡</th><th>일신</th><th>석불</th><th>지평</th><th>용문</th><th>양평</th><th>덕소</th><th>청량리</th></tr></thead><tbody><tr><td>무궁화</td><td>1672</td><td>5:55</td><td></td><td>6:34</td><td></td><td>7:01</td><td>7:17</td><td>7:24</td><td>7:33</td><td>7:54</td><td>8:14</td><td>8:30</td><td>8:48</td><td></td><td>9:13</td><td>9:21</td><td>9:28</td><td>9:33</td><td></td><td>9:41</td><td></td><td>9:48</td><td>9:54</td><td>10:01</td><td>10:18</td><td>10:31</td></tr><tr><td>ITX-마음</td><td>1642</td><td>7:43</td><td></td><td>8:23</td><td></td><td>8:49</td><td></td><td>9:10</td><td>9:19</td><td></td><td>9:58</td><td></td><td>10:31</td><td></td><td>10:55</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>11:46</td></tr><tr><td>무궁화</td><td>1674</td><td>13:43</td><td></td><td>14:21</td><td>14:37</td><td>14:50</td><td>15:07</td><td>15:14</td><td>15:24</td><td>15:45</td><td>16:05</td><td></td><td>16:37</td><td>16:45</td><td>17:04</td><td>17:12</td><td>17:19</td><td>17:24</td><td>17:28</td><td>17:35</td><td>17:41</td><td>17:50</td><td>17:56</td><td>18:04</td><td>18:21</td><td>18:35</td></tr><tr><td>무궁화</td><td>1676</td><td>15:06</td><td>15:31</td><td>15:48</td><td>16:04</td><td>16:17</td><td>16:32</td><td>16:39</td><td>16:48</td><td>17:09</td><td>17:29</td><td>17:46</td><td>18:02</td><td></td><td>18:27</td><td>18:35</td><td>18:43</td><td>18:53</td><td>18:59</td><td>19:03</td><td>19:08</td><td>19:12</td><td>19:17</td><td>19:25</td><td>19:42</td><td>19:55</td></tr><tr><td>무궁화</td><td>1678</td><td>18:14</td><td></td><td>18:53</td><td></td><td>19:20</td><td>19:36</td><td>19:43</td><td>19:53</td><td>20:14</td><td>20:35</td><td></td><td>21:07</td><td>21:15</td><td>21:34</td><td>21:42</td><td></td><td>21:50</td><td></td><td></td><td></td><td></td><td>22:02</td><td>22:10</td><td>22:27</td><td>22:40</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동해 →&nbsp;제천 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>동해</th><th>신기</th><th>도계</th><th>동백산</th><th>태백</th><th>고한</th><th>사북</th><th>민둥산</th><th>예미</th><th>영월</th><th>쌍룡</th><th>제천</th></tr></thead><tbody><tr><td>무궁화</td><td>1672</td><td>5:55</td><td></td><td>6:34</td><td></td><td>7:01</td><td>7:17</td><td>7:24</td><td>7:33</td><td>7:54</td><td>8:14</td><td>8:30</td><td>8:48</td></tr><tr><td>ITX-마음</td><td>1642</td><td>7:43</td><td></td><td>8:23</td><td></td><td>8:49</td><td></td><td>9:10</td><td>9:19</td><td></td><td>9:58</td><td></td><td>10:31</td></tr><tr><td>무궁화</td><td>1674</td><td>13:43</td><td></td><td>14:21</td><td>14:37</td><td>14:50</td><td>15:07</td><td>15:14</td><td>15:24</td><td>15:45</td><td>16:05</td><td></td><td>16:37</td></tr><tr><td>무궁화</td><td>1676</td><td>15:06</td><td>15:31</td><td>15:48</td><td>16:04</td><td>16:17</td><td>16:32</td><td>16:39</td><td>16:48</td><td>17:09</td><td>17:29</td><td>17:46</td><td>18:02</td></tr><tr><td>무궁화</td><td>1678</td><td>18:14</td><td></td><td>18:53</td><td></td><td>19:20</td><td>19:36</td><td>19:43</td><td>19:53</td><td>20:14</td><td>20:35</td><td></td><td>21:07</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">청량리 →&nbsp;동해 ITX-무궁화 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>청량리</th><th>덕소</th><th>양평</th><th>용문</th><th>지평</th><th>석불</th><th>일신</th><th>매곡</th><th>양동</th><th>삼산</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th><th>쌍룡</th><th>영월</th><th>예미</th><th>민둥산</th><th>사북</th><th>고한</th><th>태백</th><th>동백산</th><th>도계</th><th>신기</th><th>동해</th></tr></thead><tbody><tr><td>무궁화</td><td>1671</td><td>07:34</td><td>07:49</td><td>08:08</td><td>08:16</td><td>08:25</td><td>08:30</td><td>08:35</td><td>08:40</td><td>08:44</td><td>08:49</td><td>08:57</td><td>09:05</td><td></td><td>09:31</td><td></td><td>10:05</td><td>10:25</td><td>10:47</td><td>10:56</td><td>11:03</td><td>11:17</td><td>11:29</td><td>11:45</td><td>12:02</td><td>12:25</td></tr><tr><td>무궁화</td><td>1673</td><td>09:51</td><td></td><td>10:21</td><td>10:29</td><td></td><td></td><td></td><td></td><td>10:41</td><td>10:46</td><td>10:53</td><td>11:00</td><td>11:20</td><td>11:30</td><td></td><td>12:01</td><td>12:21</td><td>12:42</td><td>12:51</td><td>12:58</td><td>13:14</td><td>13:25</td><td>13:46</td><td></td><td>14:28</td></tr><tr><td>무궁화</td><td>1675</td><td>12:16</td><td>12:31</td><td>12:49</td><td>12:57</td><td>13:07</td><td>13:13</td><td>13:17</td><td>13:22</td><td>13:27</td><td></td><td>13:36</td><td>13:43</td><td></td><td>14:07</td><td>14:22</td><td>14:40</td><td>15:01</td><td>15:23</td><td>15:32</td><td>15:39</td><td>15:54</td><td>16:05</td><td>16:23</td><td></td><td>17:05</td></tr><tr><td>ITX-마음</td><td>1641</td><td>17:08</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>18:02</td><td></td><td>18:26</td><td></td><td>18:56</td><td></td><td>19:35</td><td>19:44</td><td></td><td>20:04</td><td></td><td>20:30</td><td></td><td>21:08</td></tr><tr><td>무궁화</td><td>1677</td><td>19:10</td><td>19:25</td><td>19:43</td><td>19:51</td><td>20:00</td><td>20:06</td><td>20:10</td><td>20:15</td><td>20:20</td><td></td><td>20:29</td><td>20:36</td><td></td><td>21:01</td><td></td><td>21:32</td><td>21:52</td><td>22:13</td><td>22:22</td><td>22:29</td><td>22:44</td><td>22:56</td><td>23:12</td><td></td><td>23:50</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">제천 →&nbsp;동해 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>제천</th><th>쌍룡</th><th>영월</th><th>예미</th><th>민둥산</th><th>사북</th><th>고한</th><th>태백</th><th>동백산</th><th>도계</th><th>신기</th><th>동해</th></tr></thead><tbody><tr><td>무궁화</td><td>1671</td><td>09:31</td><td></td><td>10:05</td><td>10:25</td><td>10:47</td><td>10:56</td><td>11:03</td><td>11:17</td><td>11:29</td><td>11:45</td><td>12:02</td><td>12:25</td></tr><tr><td>무궁화</td><td>1673</td><td>11:30</td><td></td><td>12:01</td><td>12:21</td><td>12:42</td><td>12:51</td><td>12:58</td><td>13:14</td><td>13:25</td><td>13:46</td><td></td><td>14:28</td></tr><tr><td>무궁화</td><td>1675</td><td>14:07</td><td>14:22</td><td>14:40</td><td>15:01</td><td>15:23</td><td>15:32</td><td>15:39</td><td>15:54</td><td>16:05</td><td>16:23</td><td></td><td>17:05</td></tr><tr><td>ITX-마음</td><td>1641</td><td>18:26</td><td></td><td>18:56</td><td></td><td>19:35</td><td>19:44</td><td></td><td>20:04</td><td></td><td>20:30</td><td></td><td>21:08</td></tr><tr><td>무궁화</td><td>1677</td><td>21:01</td><td></td><td>21:32</td><td>21:52</td><td>22:13</td><td>22:22</td><td>22:29</td><td>22:44</td><td>22:56</td><td>23:12</td><td></td><td>23:50</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">동해역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">동해역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '32030';
            let curName = '동해';
            let altCity = '11';
            let altName = '청량리';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">태백역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">11℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">태백역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%83%9C%EB%B0%B1%EB%8B%AD%EA%B0%88%EB%B9%84+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%ED%83%9C%EB%B0%B1%EC%8B%9C+%ED%99%A9%EC%A7%80%EB%8F%99+44-164" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">태백닭갈비</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;닭갈비</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">강원특별자치도 태백시 황지동 44-164</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%83%9C%EB%B0%B1%ED%95%9C%EC%9A%B0%EB%A7%88%EC%9D%84+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%ED%83%9C%EB%B0%B1%EC%8B%9C+%ED%99%A9%EC%A7%80%EB%8F%99+42-51+%EC%9D%B4%EB%A6%BC%EC%83%81%EA%B0%80" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">태백한우마을</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;소고기구이</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">강원특별자치도 태백시 황지동 42-51 이림상가</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EA%B9%80%EC%84%9C%EB%B0%A9%EB%84%A4%EB%8B%AD%EA%B0%88%EB%B9%84+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%ED%83%9C%EB%B0%B1%EC%8B%9C+%ED%99%A9%EC%A7%80%EB%8F%99+39-33" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">김서방네닭갈비</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;닭갈비</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">강원특별자치도 태백시 황지동 39-33</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%8C%8C%EB%A6%AC%EB%B0%94%EA%B2%8C%EB%9C%A8+%ED%83%9C%EB%B0%B1%EC%A4%91%EC%95%99%EC%A0%90+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%ED%83%9C%EB%B0%B1%EC%8B%9C+%ED%99%A9%EC%A7%80%EB%8F%99+41-2" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">파리바게뜨 태백중앙점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">강원특별자치도 태백시 황지동 41-2</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A7%9B%EB%82%98%EB%B6%84%EC%8B%9D+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%ED%83%9C%EB%B0%B1%EC%8B%9C+%ED%99%A9%EC%A7%80%EB%8F%99+44-82+%EB%A7%9B%EB%82%98%EB%B6%84%EC%8B%9D" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">맛나분식</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">분식&gt;종합분식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">강원특별자치도 태백시 황지동 44-82 맛나분식</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">태백역 실시간 주차장 요금</h4>
        
                    <div style="text-align: center; padding: 50px 20px; background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 12px; font-family: 'Noto Sans KR', sans-serif;">
                <p style="color: #64748b; margin: 0;">해당 역의 공식 주차 정보가 없습니다.</p>
            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">태백역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 태백역 인근 공영 및 노상주차장 이용 권장</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:1544-7788" style="color: #0052a4; font-weight: bold; text-decoration: none;">1544-7788</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%ED%83%9C%EB%B0%B1%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/태백선-기차-시간표-ITX-무궁화호-청량리역-제천역-동해역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="태백선-기차-시간표-ITX-무궁화호-청량리역-제천역-동해역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20677" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/태백선-기차-시간표-ITX-무궁화호-청량리역-제천역-동해역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/태백선-기차-시간표-ITX-무궁화호-청량리역-제천역-동해역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/태백선-기차-시간표-ITX-무궁화호-청량리역-제천역-동해역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>충북선 무궁화호 시간표 (대전역~제천역) 요금과 정차역</title>
		<link>https://krailroad.co.kr/%ec%b6%a9%eb%b6%81%ec%84%a0-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%8c%80%ec%a0%84%ec%97%ad%ec%a0%9c%ec%b2%9c%ec%97%ad-%ec%9a%94%ea%b8%88%ea%b3%bc-%ec%a0%95%ec%b0%a8/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Sat, 18 Apr 2026 01:24:32 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[충북선 무궁화호 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20623</guid>

					<description><![CDATA[충청북도의 동서를 가로지르며 내륙 교통의 핵심 고리 역할을 하는 충북선 무궁화호 시간표는 경부선과 중앙선을 잇는 독특한 위치 덕분에 예나 지금이나 지역민들의 소중한 발이 되어주고 있습니다. 이 노선은 현재 고속열차 없이 전 구간이 무궁화호 노선으로만 운영되고 있는데요. 이는 수익성보다는 충주, 청주, 제천 등 내륙 거점 도시를 잇는 공익적 목적과 화물 수송의 비중이 높기 때문이며, 덕분에 우리는 ... <a title="충북선 무궁화호 시간표 (대전역~제천역) 요금과 정차역" class="read-more button" href="https://krailroad.co.kr/%ec%b6%a9%eb%b6%81%ec%84%a0-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%8c%80%ec%a0%84%ec%97%ad%ec%a0%9c%ec%b2%9c%ec%97%ad-%ec%9a%94%ea%b8%88%ea%b3%bc-%ec%a0%95%ec%b0%a8/" aria-label="충북선 무궁화호 시간표 (대전역~제천역) 요금과 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">충청북도의 동서를 가로지르며 내륙 교통의 핵심 고리 역할을 하는 충북선 무궁화호 시간표는 경부선과 중앙선을 잇는 독특한 위치 덕분에 예나 지금이나 지역민들의 소중한 발이 되어주고 있습니다. 이 노선은 현재 고속열차 없이 전 구간이 무궁화호 노선으로만 운영되고 있는데요. 이는 수익성보다는 충주, 청주, 제천 등 내륙 거점 도시를 잇는 공익적 목적과 화물 수송의 비중이 높기 때문이며, 덕분에 우리는 여전히 기차 특유의 정겨운 분위기를 간직한 채 충북의 수려한 산천을 감상할 수 있습니다.</p>



<p class="wp-block-paragraph">충북선 무궁화호 시간표를 이용한 조치원역에서 <a href="https://krailroad.co.kr/%eb%b4%89%ec%96%91%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%b6%80%ec%a0%84-%eb%8f%99%ed%95%b4/">봉양역</a>까지 이어지는 충북선 철길은 청주, 충주, 제천 노선이 핵심을 이룹니다. 이 구간은 주변 대학교가 많아 대학생들의 통학 수요가 상당하며, 인근 군부대로 면회를 가는 가족이나 휴가 나온 장병들에게도 필수적인 노선인데요. 특히 청주역은 시내 중심가와 다소 떨어져 있어 버스 연계 시간을 확인하는 것이 좋으며, 오근장역과 청주공항역은 서로 다른 역이므로 공항 이용객들은 역명을 혼동하지 않도록 주의가 필요합니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>충북선 무궁화호 시간표 안내</strong></h2>



<h3 class="wp-block-heading">출발지와 종착지 스마트한 이동</h3>



<p class="wp-block-paragraph">충북선 무궁화호 시간표를 이용할 때 가장 유의해야 할 점은 열차의 시작과 끝이 단순히 한 구간으로 고정되어 있지 않다는 사실입니다. 노선이 입체적으로 얽혀 있어 내가 타는 기차가 어디까지 가는지 미리 파악하는 것이 중요한데요.</p>



<p class="wp-block-paragraph">1️⃣ <strong>대전 ↔ 영주 / 영주 ↔ 동대구</strong>: 충청도에서 경상북도 내륙까지 깊숙이 연결되는 노선으로, 종착역과 출발역이 서로 다른 경우가 많으니 목차를 잘 구분해야 합니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>대전 ↔ 제천</strong>: 충북선의 가장 대표적인 상하행 노선으로 대전에서 제천까지 버스보다 편한 기차여행을 선사하며 강원권으로 가는 저렴한 이동 수단입니다.</p>



<p class="wp-block-paragraph">3️⃣ <strong>제천 ↔ 서울</strong>: 중앙선과 경부선을 연결하여 제천에서 수도권으로 직결되는 노선입니다.<br><br>이런 충북선 무궁화호 시간표를 쉽게 확인 할 수 있는데, 아래 자료를 수집한 것은 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식자료 기반과 국가 공공 API를 직접 호출하여 실시간 열차 출발과 도착위치, 그리고 1분마다 자동갱신 로직을 구현하였는데요. 화면을 보기 어려운 상황이거나 다른 용무를 보고 계신 분들을 위해 마련된 음성 안내 기능을 켜두시면, 기차 진입 15분 전부터 자동으로 정보를 읽어줍니다. (<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-accent-color">상단 메뉴에서 소리 활성화 필요</mark>)</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">연계 정보 통합 서비스</h3>



<p class="wp-block-paragraph">아래 로직은 충북선 무궁화호 시간표를 이용하여 역사에 내리자마자 바로 확인할 수 있는 역사 인근의 주차 가능 대수나 시내로 향하는 버스가 지금 어디쯤 오고 있는지에 대한 실시간 예보 시스템은 불필요한 대기 시간을 획기적으로 줄여주며, 여기에 현재 날씨를 반영하여 근처에서 바로 한 끼를 해결할 수 있는 식당가 정보까지 맞물려 있어, 낯선 역에 내렸을 때의 막막함을 데이터가 제안하는 확신으로 바꿔주는데요. 공공 API 기반의 정교한 데이터 흐름을 길잡이 삼아, 번거로운 계획 없이도 아래 북선열차 시간표와 소요시간, 정차역, 도착시간을 이용하신다면 큰 불편함 없는 여행을 하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">대전 ↔&nbsp;제천 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">제천<br>↓<br>대전</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1752호</span><div class="time-display">05:44</div><div class="arrival-info">07:52 도착</div></td><td><span class="train-detail">1766호</span><div class="time-display">21:40</div><div class="arrival-info">23:47 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">제천<br>↓<br>서울</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1182호</span><div class="time-display">9:14</div><div class="arrival-info">12:36 도착</div></td><td><span class="train-detail">1182호</span><div class="time-display">9:14</div><div class="arrival-info">12:36 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">동대구<br>↓<br>영주</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">4301호</span><div class="time-display">05:37</div><div class="arrival-info">11:02 도착</div></td><td><span class="train-detail">4303호</span><div class="time-display">18:03</div><div class="arrival-info">23:11 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">대전<br>↓<br>제천</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1751호</span><div class="time-display">06:06</div><div class="arrival-info">08:21 도착</div></td><td><span class="train-detail">1765호</span><div class="time-display">21:11</div><div class="arrival-info">23:20 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">서울<br>↓<br>제천</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1181호</span><div class="time-display">17:54</div><div class="arrival-info">21:12 도착</div></td><td><span class="train-detail">1181호</span><div class="time-display">17:54</div><div class="arrival-info">21:12 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">영주<br>↓<br>동대구</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">4302호</span><div class="time-display">06:35</div><div class="arrival-info">11:30 도착</div></td><td><span class="train-detail">4304호</span><div class="time-display">17:23</div><div class="arrival-info">22:21 도착</div></td></tr></tbody></table></div>


    
    <h2>대전 ↔ 제천 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">대전 ↔ 제천</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                10,100원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">제천 →&nbsp;대전 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>제천</th><th>봉양</th><th>삼탄</th><th>충주</th><th>주덕</th><th>음성</th><th>증평</th><th>청주공항</th><th>오근장</th><th>청주</th><th>오송</th><th>조치원</th><th>신탄진</th><th>대전</th></tr></thead><tbody><tr><td>1752</td><td>무궁화</td><td>05:44</td><td></td><td></td><td>06:13</td><td>06:21</td><td>06:31</td><td>06:48</td><td>06:58</td><td>07:02</td><td>07:10</td><td>07:17</td><td>07:23</td><td>07:40</td><td>07:52</td></tr><tr><td>4302</td><td>무궁화</td><td>07:17</td><td></td><td></td><td>07:45</td><td>07:54</td><td>08:04</td><td>08:21</td><td>08:30</td><td>08:35</td><td>08:43</td><td>08:51</td><td>08:58</td><td></td><td>09:28</td></tr><tr><td>1754</td><td>무궁화</td><td>08:15</td><td></td><td></td><td>08:43</td><td>08:52</td><td>09:02</td><td>09:19</td><td>09:28</td><td>09:32</td><td>09:40</td><td>09:47</td><td>09:54</td><td>10:11</td><td>10:23</td></tr><tr><td>1756</td><td>무궁화</td><td>11:14</td><td></td><td>11:31</td><td>11:45</td><td>11:54</td><td>12:04</td><td>12:21</td><td>12:30</td><td>12:34</td><td>12:42</td><td>12:49</td><td>12:55</td><td>13:12</td><td>13:24</td></tr><tr><td>1758</td><td>무궁화</td><td>13:18</td><td></td><td></td><td>13:46</td><td>13:55</td><td>14:05</td><td>14:22</td><td>14:31</td><td>14:35</td><td>14:43</td><td>14:50</td><td>14:56</td><td>15:13</td><td>15:25</td></tr><tr><td>1760</td><td>무궁화</td><td>15:26</td><td></td><td>15:43</td><td>15:58</td><td>16:06</td><td>16:16</td><td>16:33</td><td>16:43</td><td>16:47</td><td>16:55</td><td>17:02</td><td>17:08</td><td>17:25</td><td>17:37</td></tr><tr><td>1762</td><td>무궁화</td><td>17:01</td><td></td><td></td><td>17:30</td><td>17:38</td><td>17:48</td><td>18:05</td><td>18:15</td><td>18:19</td><td>18:27</td><td>18:34</td><td>18:40</td><td>18:57</td><td>19:09</td></tr><tr><td>1764</td><td>무궁화</td><td>19:13</td><td>19:21</td><td>19:33</td><td>19:48</td><td>19:56</td><td>20:06</td><td>20:23</td><td>20:33</td><td>20:37</td><td>20:45</td><td>20:52</td><td>20:58</td><td>21:15</td><td>21:27</td></tr><tr><td>1766</td><td>무궁화</td><td>21:40</td><td></td><td></td><td>22:08</td><td>22:17</td><td>22:27</td><td>22:44</td><td>22:53</td><td>22:57</td><td>23:05</td><td>23:12</td><td>23:18</td><td>23:35</td><td>23:47</td></tr><tr><td>4304</td><td>무궁화</td><td>18:05</td><td></td><td>18:22</td><td>18:36</td><td>18:45</td><td>18:55</td><td>19:12</td><td>19:21</td><td>19:25</td><td>19:33</td><td>19:40</td><td>19:47</td><td>20:07</td><td>20:20</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">제천 →&nbsp;서울 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>제천</th><th>봉양</th><th>삼탄</th><th>충주</th><th>주덕</th><th>음성</th><th>증평</th><th>청주공항</th><th>오근장</th><th>청주</th><th>오송</th><th>전의</th><th>천안</th><th>평택</th><th>수원</th><th>안양</th><th>영등포</th><th>서울</th></tr></thead><tbody><tr><td>1182</td><td>무궁화</td><td>9:14</td><td>9:22</td><td>9:34</td><td>9:49</td><td>9:57</td><td>10:07</td><td>10:24</td><td>10:34</td><td>10:38</td><td>10:46</td><td>10:54</td><td>11:09</td><td>11:23</td><td>11:37</td><td>11:57</td><td>12:10</td><td>12:25</td><td>12:36</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동대구 →&nbsp;영주 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>동대구</th><th>대구</th><th>신동</th><th>왜관</th><th>약목</th><th>구미</th><th>김천</th><th>추풍령</th><th>황간</th><th>영동</th><th>각계</th><th>심천</th><th>지탄</th><th>이원</th><th>옥천</th><th>대전</th><th>신탄진</th><th>조치원</th><th>오송</th><th>청주</th><th>오근장</th><th>청주공항</th><th>증평</th><th>음성</th><th>주덕</th><th>충주</th><th>삼탄</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th></tr></thead><tbody><tr><td>4301</td><td>무궁화</td><td>05:37</td><td>05:43</td><td>05:56</td><td>06:04</td><td></td><td>06:18</td><td>06:34</td><td>06:48</td><td>06:56</td><td>07:07</td><td>07:14</td><td>07:19</td><td>07:25</td><td>07:31</td><td>07:38</td><td>07:54</td><td>08:05</td><td>08:27</td><td>08:33</td><td>08:41</td><td>08:49</td><td>08:53</td><td>09:02</td><td>09:19</td><td>09:29</td><td>09:39</td><td>09:54</td><td>10:13</td><td>10:32</td><td>10:51</td><td>11:02</td></tr><tr><td>4303</td><td>무궁화</td><td>18:03</td><td>18:09</td><td></td><td></td><td>18:32</td><td>18:42</td><td>18:59</td><td></td><td></td><td>19:27</td><td></td><td>19:41</td><td></td><td>19:50</td><td>19:58</td><td>20:11</td><td>20:23</td><td>20:45</td><td>20:51</td><td>20:59</td><td>21:07</td><td>21:11</td><td>21:21</td><td>21:39</td><td>21:49</td><td>21:59</td><td></td><td>22:30</td><td>22:48</td><td>23:02</td><td>23:11</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">대전 →&nbsp;제천 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>대전</th><th>신탄진</th><th>조치원</th><th>오송</th><th>청주</th><th>오근장</th><th>청주공항</th><th>증평</th><th>음성</th><th>주덕</th><th>충주</th><th>삼탄</th><th>봉양</th><th>제천</th></tr></thead><tbody><tr><td>1751</td><td>무궁화</td><td>06:06</td><td>06:17</td><td>06:36</td><td>06:42</td><td>06:49</td><td>06:58</td><td>07:02</td><td>07:12</td><td>07:29</td><td>07:40</td><td>07:49</td><td></td><td>08:13</td><td>08:21</td></tr><tr><td>1753</td><td>무궁화</td><td>06:50</td><td>07:01</td><td>07:22</td><td>07:28</td><td>07:35</td><td>07:44</td><td>07:48</td><td>07:57</td><td>08:14</td><td>08:24</td><td>08:34</td><td>08:48</td><td></td><td>09:05</td></tr><tr><td>4301</td><td>무궁화</td><td>07:54</td><td>08:05</td><td>08:27</td><td>08:33</td><td>08:41</td><td>08:49</td><td>08:53</td><td>09:02</td><td>09:19</td><td>09:29</td><td>09:39</td><td>09:54</td><td></td><td>10:13</td></tr><tr><td>1755</td><td>무궁화</td><td>08:46</td><td>08:57</td><td>09:15</td><td>09:21</td><td>09:28</td><td>09:36</td><td>09:40</td><td>09:50</td><td>10:07</td><td>10:17</td><td>10:26</td><td>10:40</td><td></td><td>10:57</td></tr><tr><td>1757</td><td>무궁화</td><td>12:22</td><td>12:33</td><td>12:54</td><td>13:00</td><td>13:08</td><td>13:16</td><td>13:20</td><td>13:29</td><td>13:46</td><td>13:56</td><td>14:06</td><td>14:20</td><td></td><td>14:37</td></tr><tr><td>1759</td><td>무궁화</td><td>14:40</td><td>14:51</td><td>15:10</td><td>15:16</td><td>15:23</td><td>15:31</td><td>15:35</td><td>15:44</td><td>16:01</td><td>16:11</td><td>16:21</td><td></td><td></td><td>16:49</td></tr><tr><td>1761</td><td>무궁화</td><td>17:43</td><td>17:54</td><td>18:13</td><td>18:19</td><td>18:26</td><td>18:34</td><td>18:38</td><td>18:48</td><td>19:05</td><td>19:15</td><td>19:25</td><td>19:39</td><td>19:52</td><td>19:59</td></tr><tr><td>1763</td><td>무궁화</td><td>18:45</td><td>18:56</td><td>19:15</td><td>19:21</td><td>19:28</td><td>19:37</td><td>19:41</td><td>19:50</td><td>20:07</td><td>20:17</td><td>20:27</td><td></td><td></td><td>20:55</td></tr><tr><td>4303</td><td>무궁화</td><td>20:11</td><td>20:23</td><td>20:45</td><td>20:51</td><td>20:59</td><td>21:07</td><td>21:11</td><td>21:21</td><td>21:39</td><td>21:49</td><td>21:59</td><td></td><td></td><td>22:30</td></tr><tr><td>1765</td><td>무궁화</td><td>21:11</td><td>21:22</td><td>21:41</td><td>21:47</td><td>21:54</td><td>22:02</td><td>22:06</td><td>22:15</td><td>22:32</td><td>22:42</td><td>22:52</td><td></td><td></td><td>23:20</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">서울 →&nbsp;제천 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>서울</th><th>영등포</th><th>수원</th><th>오산</th><th>평택</th><th>천안</th><th>전의</th><th>오송</th><th>청주</th><th>오근장</th><th>청주공항</th><th>증평</th><th>음성</th><th>주덕</th><th>충주</th><th>제천</th></tr></thead><tbody><tr><td>1181</td><td>무궁화</td><td>17:54</td><td>18:07</td><td>18:32</td><td>18:43</td><td>18:55</td><td>19:09</td><td>19:23</td><td>19:38</td><td>19:46</td><td>19:54</td><td>19:58</td><td>20:07</td><td>20:24</td><td>20:34</td><td>20:44</td><td>21:12</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">영주 →&nbsp;동대구 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>대전</th><th>신탄진</th><th>조치원</th><th>오송</th><th>청주</th><th>오근장</th><th>청주공항</th><th>증평</th><th>음성</th><th>주덕</th><th>충주</th><th>삼탄</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th></tr></thead><tbody><tr><td>4301</td><td>무궁화</td><td>07:54</td><td>08:05</td><td>08:27</td><td>08:33</td><td>08:41</td><td>08:49</td><td>08:53</td><td>09:02</td><td>09:19</td><td>09:29</td><td>09:39</td><td>09:54</td><td>10:13</td><td>10:32</td><td>10:51</td><td>11:02</td></tr><tr><td>4303</td><td>무궁화</td><td>20:11</td><td>20:23</td><td>20:45</td><td>20:51</td><td>20:59</td><td>21:07</td><td>21:11</td><td>21:21</td><td>21:39</td><td>21:49</td><td>21:59</td><td></td><td>22:30</td><td>22:48</td><td>23:02</td><td>23:11</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">대전역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">대전역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '25';
            let curName = '대전';
            let altCity = '33030';
            let altName = '제천';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">대전역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">15℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">대전역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%84%B1%EC%8B%AC%EB%8B%B9+%EB%B3%B8%EC%A0%90+%EB%8C%80%EC%A0%84%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%A4%91%EA%B5%AC+%EC%9D%80%ED%96%89%EB%8F%99+145-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">성심당 본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대전광역시 중구 은행동 145-1</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%84%B1%EC%8B%AC%EB%8B%B9+%EC%BC%80%EC%9D%B5%EB%B6%80%EB%9D%A0%EB%81%84+%EB%8C%80%EC%A0%84%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%A4%91%EA%B5%AC+%EC%9D%80%ED%96%89%EB%8F%99+153" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">성심당 케익부띠끄</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대전광역시 중구 은행동 153</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%84%B1%EC%8B%AC%EB%8B%B9+%EB%8C%80%EC%A0%84%EC%97%AD%EC%A0%90+%EB%8C%80%EC%A0%84%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%8F%99%EA%B5%AC+%EC%A0%95%EB%8F%99+1-1+%EB%8C%80%EC%A0%84%EC%97%AD%EC%82%AC+2F" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">성심당 대전역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대전광역시 동구 정동 1-1 대전역사 2F</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A1%9C%EC%8F%98+%EB%8C%80%EC%A0%84%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%A4%91%EA%B5%AC+%EC%9D%80%ED%96%89%EB%8F%99+145-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">로쏘</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대전광역시 중구 은행동 145-1</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%8C%80%EC%A0%84%EC%9D%80%ED%96%89%EB%8F%99%EB%B3%84%EB%A6%AC%EB%8B%AC%EB%A6%AC%EB%8F%88%EA%B9%8C%EC%8A%A4+%EB%8C%80%EC%A0%84%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%A4%91%EA%B5%AC+%EC%9D%80%ED%96%89%EB%8F%99+144-1+2%EC%B8%B5+%EB%8C%80%EC%A0%84%EB%B3%84%EB%A6%AC%EB%8B%AC%EB%A6%AC+%EB%B3%84%EB%8B%AC%EB%8F%88%EA%B9%8C%EC%8A%A4" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">대전은행동별리달리돈까스</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;일식&gt;돈가스</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대전광역시 중구 은행동 144-1 2층 대전별리달리 별달돈까스</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">대전역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 대전역 동광장2                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,200원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">15,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 대전광역시 동구 소제동 291-6<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 042-221-7919                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 대전역 서광장1                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,200원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">15,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 대전광역시 동구 정동 1-1<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 042-221-7919                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 대전역 선상                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,200원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">15,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 대전광역시 동구 정동 1-1<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 042-221-7919                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 서대전역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,200원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">12,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 대전광역시 중구 오류동 170-32<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 042-221-7919                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">대전역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 대전광역시 동구 소제동 291-6</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:042-221-7919" style="color: #0052a4; font-weight: bold; text-decoration: none;">042-221-7919</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EB%8C%80%EC%A0%84%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/충북선-무궁화호-시간표-대전역-제천역-영주역-서울역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="충북선-무궁화호-시간표-대전역-제천역-영주역-서울역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20664" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/충북선-무궁화호-시간표-대전역-제천역-영주역-서울역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/충북선-무궁화호-시간표-대전역-제천역-영주역-서울역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/충북선-무궁화호-시간표-대전역-제천역-영주역-서울역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>장항선 무궁화호 시간표 익산역~용산역 상하행 최신 실시간 요금 총정리</title>
		<link>https://krailroad.co.kr/%ec%9e%a5%ed%95%ad%ec%84%a0-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9d%b5%ec%82%b0%ec%97%ad%ec%9a%a9%ec%82%b0%ec%97%ad-%ec%83%81%ed%95%98%ed%96%89-%ec%b5%9c%ec%8b%a0/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Fri, 17 Apr 2026 06:24:50 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[장항선 무궁화호 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20607</guid>

					<description><![CDATA[용산역에서 시작해 충청도와 전라도를 가로지르는 장항선 철길은 1922년 충남선이라는 이름으로 처음 세상에 나왔습니다. 다른 주요 간선들이 속도를 위해 산을 뚫고 직선으로 뻗어나갈 때, 장항선 무궁화호 시간표를 이용한 열차는 서해안의 굽이진 해안선과 평야를 따라 천천히 흐르는 방식을 택했는데요. 최근에는 ITX-마음 열차가 서해선과 연결되며 운행 효율이 높아졌지만, 여전히 창밖으로 펼쳐지는 낙조와 정겨운 시골 마을의 풍경은 이 노선만이 ... <a title="장항선 무궁화호 시간표 익산역~용산역 상하행 최신 실시간 요금 총정리" class="read-more button" href="https://krailroad.co.kr/%ec%9e%a5%ed%95%ad%ec%84%a0-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9d%b5%ec%82%b0%ec%97%ad%ec%9a%a9%ec%82%b0%ec%97%ad-%ec%83%81%ed%95%98%ed%96%89-%ec%b5%9c%ec%8b%a0/" aria-label="장항선 무궁화호 시간표 익산역~용산역 상하행 최신 실시간 요금 총정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">용산역에서 시작해 충청도와 전라도를 가로지르는 장항선 철길은 1922년 충남선이라는 이름으로 처음 세상에 나왔습니다. 다른 주요 간선들이 속도를 위해 산을 뚫고 직선으로 뻗어나갈 때, 장항선 무궁화호 시간표를 이용한 열차는 서해안의 굽이진 해안선과 평야를 따라 천천히 흐르는 방식을 택했는데요. 최근에는 ITX-마음 열차가 서해선과 연결되며 운행 효율이 높아졌지만, 여전히 창밖으로 펼쳐지는 낙조와 정겨운 시골 마을의 풍경은 이 노선만이 가진 독보적인 색깔입니다.</p>



<p class="wp-block-paragraph">장항선 무궁화호 시간표를 활용한 여행의 독특한 시작점은 서울역이 아닌 용산역입니다. 수도권 핵심부에서 출발해 충청도와 전라북도를 관통하는 이 노선은 지형적 특성상 KTX가 직접 운행되지 않지만, 오히려 그 덕분에 기차 여행 특유의 호젓함을 유지하고 있는데요. 특히 세계에서 유일하게 온돌마루 객실을 갖춘 서해금빛열차는 오직 이 선로에서만 만끽할 수 있는 특별한 경험을 할 수 있습니다. 하지만 조금 더 빠른 이동을 원하신다면 [<a href="https://krailroad.co.kr/%ec%9d%b5%ec%82%b0%ec%97%ad%ec%9a%a9%ec%82%b0%ec%97%ad-%ec%9e%a5%ed%95%ad%ec%84%a0-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b5%9c%ec%8b%a0-%ec%8b%a4%ec%8b%9c%ea%b0%84/">장항선 새마을호 시간표 및 운임 정보</a>]를 별도로 확인해 보시는 것이 좋습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>장항선 무궁화호 시간표 시스템</strong></h2>



<h3 class="wp-block-heading">용산에서 시작되는 서쪽 철길</h3>



<p class="wp-block-paragraph">장항선 무궁화호 시간표를 확인하기 위해 고개를 들고 전광판의 안내 문구를 확인하거나 역사내 형광등 간판의 불빛사이로 비치는 시간표를 일일이 확인 할 필요없이 아래 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a>의 공식 엔진과 공공데이터망을 연동하여 구축한 실시간 열차 출발 시스템은 현재 열차가 몇분뒤에 출발하고 도착할지 즉각적으로 보여주는데요. 특히 상단 메뉴에서 소리 설정을 켜두시면 열차 진입 15분 전부터 음성 안내를 받을 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">무궁화호 이용과 현지 일상</h3>



<p class="wp-block-paragraph">장항선 무궁화호 요금은 새마을호나 ITX-마음에 비해 합리적으로 책정되어 있어 장거리 이동 시에도 비교적 부담이 적은데요. 좌석 간격과 넓이 또한 KTX보다 오히려 여유로워 편안한 자세로 이동할 수 있으며, 노트북이나 스마트폰 사용자를 위한 장항선 무궁화호 콘센트 위치는 보통 객실의 맨 앞좌석과 뒷좌석 벽면에 마련되어 있으니 예매 시 참고하시면 됩니다.<br><br>현재 장항선은 고속화 사업을 통해 새로운 도약을 앞두고 있으며, 군산역 무궁화호 시간표나 여름철 축제로 붐비는 대천역 무궁화호 이용 정보 등 지역별 상세 구간 자료도 페이지 내에서 실시간으로 검색할 수 있습니다. 또한 용산역과 <a href="https://krailroad.co.kr/%ec%9d%b5%ec%82%b0%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ed%98%b8%eb%82%a8%ec%84%a0-%ec%a0%84%eb%9d%bc%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c%ec%99%80-%ec%9a%a9%ec%82%b0%c2%b7%eb%aa%a9%ed%8f%ac/">익산역</a> 내 유휴 주차 공간 확인부터 대천역 앞 버스의 실시간 도착 예보, 그리고 지역 주민들만 아는 숨은 식당 정보까지 한눈에 확인하여 정확한 데이터를 바탕으로 서해안의 여행이 좀더 정확하고 편리해질것입니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">익산 ↔&nbsp;용산 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">익산<br>↓<br>용산</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1272호</span><div class="time-display">05:15</div><div class="arrival-info">09:06 도착</div></td><td><span class="train-detail">1288호</span><div class="time-display">20:07</div><div class="arrival-info">23:55 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">용산<br>↓<br>익산</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1271호</span><div class="time-display">05:32</div><div class="arrival-info">09:21 도착</div></td><td><span class="train-detail">1287호</span><div class="time-display">20:43</div><div class="arrival-info">00:30 도착</div></td></tr></tbody></table></div>


    
    <h2>익산 ↔ 용산 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                23,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                23,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                23,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                23,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">공주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                32,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                38,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                44,800원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">공주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                32,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                44,800원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">김제,장성</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                30,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                42,800원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대전</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                30,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                42,800원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                16,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                16,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                16,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                15,900원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">익산 →&nbsp;용산 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>익산</th><th>대야</th><th>군산</th><th>장항</th><th>서천</th><th>판교</th><th>웅천</th><th>대천</th><th>청소</th><th>광천</th><th>홍성</th><th>삽교</th><th>예산</th><th>신례원</th><th>도고온천</th><th>온양온천</th><th>아산</th><th>천안</th><th>평택</th><th>수원</th><th>안양</th><th>영등포</th><th>용산</th></tr></thead><tbody><tr><td>1272</td><td>무궁화</td><td>05:15</td><td></td><td>05:34</td><td>05:42</td><td>05:48</td><td>05:56</td><td>06:06</td><td>06:17</td><td></td><td>06:34</td><td>06:47</td><td>06:58</td><td>07:06</td><td>07:12</td><td>07:18</td><td>07:30</td><td>07:39</td><td>07:47</td><td>08:05</td><td>08:28</td><td>08:41</td><td>08:56</td><td>09:06</td></tr><tr><td>1274</td><td>무궁화</td><td>06:50</td><td>07:02</td><td>07:12</td><td>07:20</td><td>07:26</td><td>07:34</td><td>07:44</td><td>07:55</td><td>08:08</td><td>08:17</td><td>08:30</td><td>08:41</td><td>08:50</td><td>08:56</td><td>09:02</td><td>09:14</td><td>09:23</td><td>09:31</td><td>09:49</td><td>10:11</td><td></td><td>10:34</td><td>10:43</td></tr><tr><td>1276</td><td>무궁화</td><td>08:41</td><td>08:53</td><td>09:04</td><td>09:11</td><td>09:18</td><td>09:27</td><td>09:37</td><td>09:49</td><td></td><td>10:11</td><td>10:24</td><td>10:35</td><td>10:43</td><td>10:50</td><td>10:57</td><td>11:09</td><td>11:18</td><td>11:26</td><td>11:45</td><td>12:06</td><td></td><td>12:28</td><td>12:37</td></tr><tr><td>1278</td><td>무궁화</td><td>11:44</td><td>11:56</td><td>12:07</td><td>12:14</td><td>12:21</td><td>12:30</td><td>12:40</td><td>12:52</td><td>13:05</td><td>13:14</td><td>13:28</td><td>13:39</td><td>13:48</td><td>13:55</td><td></td><td>14:10</td><td>14:19</td><td>14:27</td><td>14:49</td><td>15:13</td><td></td><td>15:40</td><td>15:49</td></tr><tr><td>1280</td><td>무궁화</td><td>12:50</td><td>13:02</td><td>13:12</td><td>13:20</td><td>13:26</td><td>13:35</td><td>13:44</td><td>13:55</td><td>14:06</td><td>14:15</td><td>14:28</td><td>14:39</td><td>14:48</td><td>14:54</td><td>15:00</td><td>15:12</td><td>15:21</td><td>15:29</td><td>15:47</td><td>16:08</td><td></td><td>16:37</td><td>16:46</td></tr><tr><td>1282</td><td>무궁화</td><td>14:58</td><td>15:10</td><td>15:20</td><td>15:28</td><td>15:34</td><td>15:42</td><td>15:52</td><td>16:04</td><td></td><td>16:25</td><td>16:39</td><td>16:50</td><td>16:59</td><td>17:06</td><td>17:12</td><td>17:25</td><td>17:34</td><td>17:43</td><td>18:01</td><td>18:24</td><td></td><td>18:50</td><td>18:59</td></tr><tr><td>1284</td><td>무궁화</td><td>16:53</td><td>17:05</td><td>17:15</td><td>17:23</td><td>17:29</td><td>17:37</td><td>17:47</td><td>17:58</td><td></td><td>18:15</td><td>18:29</td><td>18:39</td><td>18:48</td><td>18:54</td><td>19:00</td><td>19:12</td><td>19:21</td><td>19:28</td><td>19:46</td><td>20:07</td><td></td><td>20:30</td><td>20:39</td></tr><tr><td>1286</td><td>무궁화</td><td>18:10</td><td>18:23</td><td>18:34</td><td>18:42</td><td>18:48</td><td>18:57</td><td>19:06</td><td>19:18</td><td></td><td>19:36</td><td>19:50</td><td>20:01</td><td>20:10</td><td>20:16</td><td>20:22</td><td>20:34</td><td>20:43</td><td>20:51</td><td>21:09</td><td>21:32</td><td></td><td>21:56</td><td>22:06</td></tr><tr><td>1288</td><td>무궁화</td><td>20:07</td><td></td><td>20:26</td><td>20:34</td><td>20:40</td><td>20:50</td><td>20:59</td><td>21:11</td><td></td><td>21:28</td><td>21:42</td><td>21:53</td><td>22:02</td><td>22:08</td><td>22:14</td><td>22:26</td><td>22:35</td><td>22:44</td><td>23:02</td><td>23:23</td><td></td><td>23:46</td><td>23:55</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">용산 →&nbsp;익산 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>용산</th><th>영등포</th><th>안양</th><th>수원</th><th>평택</th><th>천안</th><th>아산</th><th>온양온천</th><th>도고온천</th><th>신례원</th><th>예산</th><th>삽교</th><th>홍성</th><th>광천</th><th>청소</th><th>대천</th><th>웅천</th><th>판교</th><th>서천</th><th>장항</th><th>군산</th><th>대야</th><th>익산</th></tr></thead><tbody><tr><td>1271</td><td>무궁화</td><td>05:32</td><td>05:42</td><td></td><td>06:06</td><td>06:28</td><td>06:48</td><td>06:55</td><td>07:04</td><td>07:16</td><td>07:22</td><td>07:28</td><td>07:36</td><td>07:47</td><td>08:00</td><td>08:09</td><td>08:20</td><td>08:31</td><td>08:42</td><td>08:50</td><td>08:55</td><td>09:03</td><td></td><td>09:21</td></tr><tr><td>1273</td><td>무궁화</td><td>06:18</td><td>06:28</td><td>06:40</td><td>06:55</td><td>07:15</td><td>07:35</td><td>07:42</td><td>07:51</td><td>08:03</td><td>08:09</td><td>08:15</td><td>08:23</td><td>08:34</td><td>08:47</td><td></td><td>09:05</td><td>09:16</td><td>09:25</td><td>09:32</td><td>09:38</td><td>09:45</td><td>09:54</td><td>10:05</td></tr><tr><td>1275</td><td>무궁화</td><td>07:24</td><td>07:36</td><td>07:49</td><td>08:04</td><td>08:24</td><td>08:43</td><td>08:50</td><td>09:00</td><td></td><td>09:14</td><td>09:21</td><td>09:29</td><td>09:40</td><td>09:54</td><td>10:03</td><td>10:17</td><td>10:30</td><td>10:40</td><td>10:47</td><td>10:53</td><td>11:00</td><td>11:09</td><td>11:20</td></tr><tr><td>1277</td><td>무궁화</td><td>10:33</td><td>10:42</td><td></td><td>11:06</td><td>11:26</td><td>11:46</td><td>11:53</td><td>12:02</td><td>12:14</td><td>12:20</td><td>12:26</td><td>12:34</td><td>12:45</td><td>12:58</td><td></td><td>13:15</td><td>13:26</td><td>13:36</td><td>13:43</td><td>13:49</td><td>13:56</td><td>14:05</td><td>14:16</td></tr><tr><td>1279</td><td>무궁화</td><td>12:53</td><td>13:03</td><td></td><td>13:26</td><td>13:46</td><td>14:06</td><td>14:13</td><td>14:22</td><td>14:34</td><td>14:40</td><td>14:46</td><td>14:54</td><td>15:05</td><td>15:18</td><td>15:27</td><td>15:39</td><td>15:51</td><td>16:00</td><td>16:08</td><td>16:13</td><td>16:20</td><td>16:30</td><td>16:41</td></tr><tr><td>1281</td><td>무궁화</td><td>14:25</td><td>14:37</td><td></td><td>15:01</td><td>15:21</td><td>15:41</td><td>15:48</td><td>15:57</td><td>16:09</td><td>16:15</td><td>16:21</td><td>16:29</td><td>16:40</td><td>16:53</td><td>17:02</td><td>17:14</td><td>17:26</td><td>17:36</td><td>17:44</td><td>17:50</td><td>17:58</td><td>18:08</td><td>18:20</td></tr><tr><td>1283</td><td>무궁화</td><td>16:25</td><td>16:37</td><td></td><td>17:01</td><td>17:21</td><td>17:42</td><td>17:49</td><td>17:59</td><td>18:11</td><td>18:17</td><td>18:24</td><td>18:32</td><td>18:43</td><td>18:57</td><td></td><td>19:16</td><td>19:27</td><td>19:36</td><td>19:44</td><td>19:49</td><td>19:56</td><td>20:06</td><td>20:17</td></tr><tr><td>1285</td><td>무궁화</td><td>18:21</td><td>18:34</td><td>18:46</td><td>19:01</td><td>19:21</td><td>19:40</td><td>19:48</td><td>19:57</td><td>20:09</td><td>20:15</td><td>20:22</td><td>20:30</td><td>20:42</td><td>20:55</td><td></td><td>21:13</td><td>21:24</td><td>21:33</td><td>21:41</td><td>21:46</td><td>21:53</td><td>22:03</td><td>22:14</td></tr><tr><td>1287</td><td>무궁화</td><td>20:43</td><td>20:53</td><td>21:05</td><td>21:20</td><td>21:40</td><td>21:59</td><td>22:06</td><td>22:16</td><td>22:28</td><td>22:33</td><td>22:40</td><td>22:47</td><td>22:59</td><td>23:12</td><td>23:21</td><td>23:32</td><td>23:43</td><td>23:52</td><td></td><td>00:05</td><td>00:12</td><td></td><td>00:30</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">익산역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">익산역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '35030';
            let curName = '익산';
            let altCity = '11';
            let altName = '용산';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">장항역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">15℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">장항역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%9E%A8%ED%94%84+%EC%B6%A9%EC%B2%AD%EB%82%A8%EB%8F%84+%EC%84%9C%EC%B2%9C%EA%B5%B0+%EC%9E%A5%ED%95%AD%EC%9D%8D+%EC%B0%BD%EC%84%A01%EB%A6%AC+166-3+%ED%95%98%EC%96%80%EA%B0%84%ED%8C%90%EC%97%90+%EA%B2%80%EC%A0%95%EC%83%89+%EA%B8%80%EC%94%A8%EB%A1%9C+Lamp" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">램프</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;카페,디저트</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">충청남도 서천군 장항읍 창선1리 166-3 하얀간판에 검정색 글씨로 Lamp</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%9C%A0%EC%A0%95%EC%8B%9D%EB%8B%B9+%EC%B6%A9%EC%B2%AD%EB%82%A8%EB%8F%84+%EC%84%9C%EC%B2%9C%EA%B5%B0+%EC%9E%A5%ED%95%AD%EC%9D%8D+%EC%B0%BD%EC%84%A01%EB%A6%AC+223-2+%EC%9C%A0%EC%A0%95%EC%8B%9D%EB%8B%B9" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">유정식당</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;한식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">충청남도 서천군 장항읍 창선1리 223-2 유정식당</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%9E%A5%ED%95%AD%EC%A7%91+%EC%B6%A9%EC%B2%AD%EB%82%A8%EB%8F%84+%EC%84%9C%EC%B2%9C%EA%B5%B0+%EC%9E%A5%ED%95%AD%EC%9D%8D+%EC%B0%BD%EC%84%A02%EB%A6%AC+604-4+%EC%9E%A5%ED%95%AD%EC%A7%91+%EB%B3%B8%EC%A0%90" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">장항집</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;백반,가정식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">충청남도 서천군 장항읍 창선2리 604-4 장항집 본점</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%9E%A5%ED%95%AD%EC%A0%90%EB%B9%B5+%EC%B6%A9%EC%B2%AD%EB%82%A8%EB%8F%84+%EC%84%9C%EC%B2%9C%EA%B5%B0+%EC%9E%A5%ED%95%AD%EC%9D%8D+%EC%B0%BD%EC%84%A01%EB%A6%AC+166-5+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">장항점빵</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;카페,디저트</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">충청남도 서천군 장항읍 창선1리 166-5 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%9B%90%EC%A1%B0+%ED%81%B0%EA%B8%B8%ED%9C%B4%EA%B2%8C%EC%8B%A4+%EC%B6%A9%EC%B2%AD%EB%82%A8%EB%8F%84+%EC%84%9C%EC%B2%9C%EA%B5%B0+%EC%9E%A5%ED%95%AD%EC%9D%8D+%EC%B0%BD%EC%84%A01%EB%A6%AC+226-1+%ED%81%B0%EA%B8%B8%ED%9C%B4%EA%B2%8C%EC%8B%A4" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">원조 큰길휴게실</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">분식&gt;종합분식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">충청남도 서천군 장항읍 창선1리 226-1 큰길휴게실</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">장항역 실시간 주차장 요금</h4>
        
                    <div style="text-align: center; padding: 50px 20px; background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 12px; font-family: 'Noto Sans KR', sans-serif;">
                <p style="color: #64748b; margin: 0;">해당 역의 공식 주차 정보가 없습니다.</p>
            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">장항역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 장항역 인근 공영 및 노상주차장 이용 권장</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:1544-7788" style="color: #0052a4; font-weight: bold; text-decoration: none;">1544-7788</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%9E%A5%ED%95%AD%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/장항선-무궁화호-시간표-용산역-대천역-홍성역-익산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="장항선-무궁화호-시간표-용산역-대천역-홍성역-익산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20660" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/장항선-무궁화호-시간표-용산역-대천역-홍성역-익산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/장항선-무궁화호-시간표-용산역-대천역-홍성역-익산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/장항선-무궁화호-시간표-용산역-대천역-홍성역-익산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>경전선 무궁화호 시간표 상하행 (부전역~목포역) 요금 정차역 완벽정리</title>
		<link>https://krailroad.co.kr/%ea%b2%bd%ec%a0%84%ec%84%a0-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%83%81%ed%95%98%ed%96%89-%eb%b6%80%ec%a0%84%ec%97%ad%eb%aa%a9%ed%8f%ac%ec%97%ad-%ec%9a%94%ea%b8%88/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Fri, 17 Apr 2026 06:17:21 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[경전선 무궁화호 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20570</guid>

					<description><![CDATA[영남과 호남의 남쪽 지역을 동서로 잇는 경전선은 경상도와 전라도의 문화를 하나로 묶어주는 결정적인 철길로써, 1900년대 초반부터 부분적으로 개통되어 긴 시간을 거쳐 완성된 이 노선은 영호남의 화합과 경제 교류를 위해 운행되어 왔는데요. 산세가 험하고 굴곡이 많은 지형을 따라 달리기 때문에 고속열차의 속도감보다는 창밖으로 흐르는 남도 특유의 풍경을 감상하며 이동하는 정취가 가득한 구간입니다. 경전선 무궁화호 시간표를 이용할 ... <a title="경전선 무궁화호 시간표 상하행 (부전역~목포역) 요금 정차역 완벽정리" class="read-more button" href="https://krailroad.co.kr/%ea%b2%bd%ec%a0%84%ec%84%a0-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%83%81%ed%95%98%ed%96%89-%eb%b6%80%ec%a0%84%ec%97%ad%eb%aa%a9%ed%8f%ac%ec%97%ad-%ec%9a%94%ea%b8%88/" aria-label="경전선 무궁화호 시간표 상하행 (부전역~목포역) 요금 정차역 완벽정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">영남과 호남의 남쪽 지역을 동서로 잇는 경전선은 경상도와 전라도의 문화를 하나로 묶어주는 결정적인 철길로써, 1900년대 초반부터 부분적으로 개통되어 긴 시간을 거쳐 완성된 이 노선은 영호남의 화합과 경제 교류를 위해 운행되어 왔는데요. 산세가 험하고 굴곡이 많은 지형을 따라 달리기 때문에 고속열차의 속도감보다는 창밖으로 흐르는 남도 특유의 풍경을 감상하며 이동하는 정취가 가득한 구간입니다.</p>



<p class="wp-block-paragraph">경전선 무궁화호 시간표를 이용할 때 가장 주의할 점은 운행 노선이 다른 간선에 비해 매우 다양하게 얽혀 있다는 사실입니다. 단순히 서울로 향하는 상하행 열차만 있는 것이 아니라, <a href="https://krailroad.co.kr/%eb%b6%80%ec%a0%84%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%aa%a9%ed%8f%ac%c2%b7%ec%88%9c%ec%b2%9c%c2%b7%eb%8f%99%eb%8c%80%ea%b5%ac%ed%96%89%ec%a7%84%ec%a3%bc/">부전역</a>에서 <a href="https://krailroad.co.kr/%eb%aa%a9%ed%8f%ac%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c%eb%85%b8%ec%84%a0%eb%b3%84-%ec%9a%b4%ec%9e%84-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%b5%9c%ec%8b%a0-%ed%98%b8/">목포역</a>까지 긴 거리를 운행하는 동서 횡단 노선부터 광주송정이나 순천, 부전 사이를 오가는 계통이 섞여 있는데요. 여기에 진주에서 동대구 방면으로 나가는 영남 내륙 연결 구간이나 마산, 진주에서 서울역으로 향하는 장거리 노선까지 포함되어 있어 본인이 타고자 하는 열차의 출발지와 도착지를 꼼꼼히 체크해야 합니다. 만약 일반 열차보다 정차역이 적은 등급을 찾으신다면 [<a href="https://krailroad.co.kr/%eb%aa%a9%ed%8f%ac-%eb%b3%b4%ec%84%b1%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%85%b8%ec%84%a0-%ec%9a%94%ea%b8%88-%ec%a0%95/">경전선 새마을호 목포 부전 시간표 정보</a>]를 별도로 확인해 보시는 것이 좋습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>경전선 무궁화호 시간표 안내</strong></h2>



<h3 class="wp-block-heading">실시간 데이터 검색과 편의성</h3>



<p class="wp-block-paragraph">경전선 무궁화호 시간표는 노선이 너무 많아 원하는 정보를 찾기 번거롭다면 목차에 있는 전국 기차 시간표 및 운임 조회 항목을 바로 터치하여 이동하면, <a href="https://www.data.go.kr/index.do" target="_blank" rel="noopener">공공데이터</a> API를 호출하여 현재 열차가 선로 어느 지점에 있는지와 정확한 출발 시각을 오차 없이 보여주는데요. 특히 화면을 확인하기 어려운 분들을 위해 상단 메뉴에 음성 안내 로직을 적용했으므로, 기능을 켜두면 기차 진입 15분 전부터 자동으로 정보를 알려주어 이동 타이밍을 놓치지 않게 도와줍니다. (<mark style="background-color:rgba(0, 0, 0, 0);color:#0d8eff" class="has-inline-color">단, 이 기능은 직접 소리 설정을 활성화해야 합니다.</mark>)</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">경전선의 가치와 스마트한 이용</h3>



<p class="wp-block-paragraph">과거에는 경전선 무궁화호 시간표를 이용한 경전선 전 구간 이용이 주역이었으나 현재는 ITX-새마을과 ITX-마음 고속열차가 점차 비중을 높여가고 있습니다. 여전히 무궁화호는 고속철도가 닿지 않는 영호남의 작은 마을들을 연결하며 주민들의 보편적인 이용을 보장하는 소중한 수단인데요. 최근 남해안권 교통망 확충의 일환으로 주목받는 목포 보성선 운행 정보 및 남해안 철도 안내 자료도 함께 참고하시면 향후 이동 계획을 세우는 데 도움이 될것입니다.<br><br>또한 본 페이지는 열차 시각뿐만 아니라 각 역의 주차장 위치, 실시간 버스 도착 상황, 현지 날씨에 맞는 식당 리스트까지 통합하여 제공하므로 데이터를 이정표 삼아 경전선 무궁화호 시간표를 확인하면 더욱 짜임새 있게 이용할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부전 ↔&nbsp;목포 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">광주송정<br>↓<br>순천</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1972호</span><div class="time-display">06:05</div><div class="arrival-info">08:23 도착</div></td><td><span class="train-detail">1978호</span><div class="time-display">20:04</div><div class="arrival-info">22:16 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">목포<br>↓<br>순천</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1992호</span><div class="time-display">11:53</div><div class="arrival-info">14:00 도착</div></td><td><span class="train-detail">1994호</span><div class="time-display">17:22</div><div class="arrival-info">19:33 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">순천<br>↓<br>부전</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1962호</span><div class="time-display">06:24</div><div class="arrival-info">09:32 도착</div></td><td><span class="train-detail">1982호</span><div class="time-display">17:03</div><div class="arrival-info">20:27 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">진주<br>↓<br>동대구</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1942호</span><div class="time-display">06:41</div><div class="arrival-info">09:16 도착</div></td><td><span class="train-detail">1952호</span><div class="time-display">21:20</div><div class="arrival-info">23:39 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">목포<br>↓<br>부전</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1982호</span><div class="time-display">14:50</div><div class="arrival-info">20:27 도착</div></td><td><span class="train-detail">1982호</span><div class="time-display">14:50</div><div class="arrival-info">20:27 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">순천<br>↓<br>광주송정</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1971호</span><div class="time-display">06:20</div><div class="arrival-info">08:42 도착</div></td><td><span class="train-detail">1977호</span><div class="time-display">18:43</div><div class="arrival-info">21:08 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">순천<br>↓<br>목포</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1991호</span><div class="time-display">07:38</div><div class="arrival-info">09:54 도착</div></td><td><span class="train-detail">1981호</span><div class="time-display">14:31</div><div class="arrival-info">16:38 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">부전<br>↓<br>순천</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1961호</span><div class="time-display">06:12</div><div class="arrival-info">09:39 도착</div></td><td><span class="train-detail">1963호</span><div class="time-display">18:53</div><div class="arrival-info">22:05 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">동대구<br>↓<br>진주</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1941호</span><div class="time-display">06:41</div><div class="arrival-info">08:51 도착</div></td><td><span class="train-detail">1949호</span><div class="time-display">19:36</div><div class="arrival-info">21:48 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">부전<br>↓<br>목포</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1981호</span><div class="time-display">11:17</div><div class="arrival-info">16:38 도착</div></td><td><span class="train-detail">1981호</span><div class="time-display">11:17</div><div class="arrival-info">16:38 도착</div></td></tr></tbody></table></div>


    
    <h2>부전 ↔ 목포 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">부전 ↔ 목포</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                32,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">부전 ↔ 목포</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                21,900원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">광주송정 →&nbsp;순천 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>광주송정</th><th>서광주</th><th>효천</th><th>화순</th><th>능주</th><th>이양</th><th>명봉</th><th>보성</th><th>득량</th><th>예당</th><th>조성</th><th>벌교</th><th>순천</th></tr></thead><tbody><tr><td>1972</td><td>무궁화</td><td>06:05</td><td>06:14</td><td>06:20</td><td>06:37</td><td>06:47</td><td>06:59</td><td>07:13</td><td>07:24</td><td>07:34</td><td>07:41</td><td>07:47</td><td>08:01</td><td>08:23</td></tr><tr><td>1974</td><td>무궁화</td><td>11:16</td><td>11:25</td><td>11:31</td><td>11:49</td><td>11:59</td><td>12:11</td><td>12:25</td><td>12:36</td><td>12:47</td><td>12:54</td><td>13:00</td><td>13:12</td><td>13:36</td></tr><tr><td>1976</td><td>무궁화</td><td>16:17</td><td>16:27</td><td>16:34</td><td>16:51</td><td>17:01</td><td>17:15</td><td>17:28</td><td>17:38</td><td>17:48</td><td>17:54</td><td>18:00</td><td>18:14</td><td>18:36</td></tr><tr><td>1978</td><td>무궁화</td><td>20:04</td><td>20:14</td><td>20:21</td><td>20:38</td><td>20:48</td><td>21:01</td><td>21:13</td><td>21:23</td><td>21:33</td><td></td><td></td><td>21:53</td><td>22:16</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">목포 →&nbsp;순천 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>목포</th><th>임성리</th><th>영암</th><th>해남</th><th>강진</th><th>전남장흥</th><th>장동</th><th>신보성</th><th>득량</th><th>벌교</th><th>순천</th></tr></thead><tbody><tr><td>1992</td><td>무궁화</td><td>11:53</td><td>12:02</td><td>12:13</td><td>12:27</td><td>12:38</td><td>12:50</td><td>13:01</td><td>13:09</td><td>13:20</td><td>13:38</td><td>14:00</td></tr><tr><td>1982</td><td>무궁화</td><td>14:50</td><td>14:59</td><td>15:11</td><td>15:24</td><td>15:35</td><td>15:46</td><td>15:56</td><td>16:05</td><td>16:18</td><td>16:38</td><td>17:03</td></tr><tr><td>1994</td><td>무궁화</td><td>17:22</td><td>17:31</td><td>17:42</td><td>17:56</td><td>18:07</td><td>18:19</td><td>18:29</td><td>18:40</td><td>18:50</td><td>19:11</td><td>19:33</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">순천 →&nbsp;부전 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>순천</th><th>광양</th><th>진상</th><th>하동</th><th>횡천</th><th>북천</th><th>완사</th><th>진주</th><th>반성</th><th>군북</th><th>함안</th><th>중리</th><th>마산</th><th>창원</th><th>창원중앙</th><th>진영</th><th>한림정</th><th>삼랑진</th><th>원동</th><th>물금</th><th>화명</th><th>구포</th><th>사상</th><th>부전</th></tr></thead><tbody><tr><td>1962</td><td>무궁화</td><td>06:24</td><td>06:33</td><td>06:43</td><td>06:50</td><td>06:56</td><td>07:04</td><td>07:12</td><td>07:21</td><td>07:32</td><td>07:42</td><td>07:49</td><td>07:56</td><td>08:04</td><td>08:10</td><td>08:19</td><td>08:30</td><td>08:35</td><td>08:46</td><td>08:55</td><td>09:03</td><td>09:11</td><td>09:16</td><td>09:22</td><td>09:32</td></tr><tr><td>1964</td><td>무궁화</td><td>15:10</td><td>15:20</td><td>15:31</td><td>15:39</td><td>15:46</td><td>15:54</td><td>16:03</td><td>16:14</td><td>16:25</td><td>16:36</td><td>16:43</td><td>16:51</td><td>16:59</td><td>17:06</td><td>17:15</td><td>17:26</td><td></td><td>17:39</td><td>17:48</td><td>17:55</td><td>18:03</td><td>18:08</td><td>18:14</td><td>18:24</td></tr><tr><td>1982</td><td>무궁화</td><td>17:03</td><td>17:13</td><td>17:24</td><td>17:32</td><td>17:39</td><td>17:47</td><td>17:56</td><td>18:08</td><td>18:19</td><td>18:29</td><td>18:37</td><td>18:45</td><td>18:53</td><td>18:59</td><td>19:09</td><td>19:20</td><td>19:26</td><td>19:36</td><td>19:50</td><td>19:58</td><td>20:05</td><td>20:11</td><td>20:17</td><td>20:27</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">진주 →&nbsp;동대구 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>진주</th><th>반성</th><th>군북</th><th>함안</th><th>중리</th><th>마산</th><th>창원</th><th>창원중앙</th><th>진례</th><th>진영</th><th>한림정</th><th>밀양</th><th>상동</th><th>청도</th><th>남성현</th><th>경산</th><th>동대구</th></tr></thead><tbody><tr><td>1942</td><td>무궁화</td><td>06:41</td><td>06:53</td><td>07:04</td><td>07:12</td><td>07:20</td><td>07:27</td><td>07:33</td><td>07:42</td><td>07:57</td><td>08:04</td><td>08:11</td><td>08:29</td><td></td><td>08:43</td><td>08:51</td><td>09:02</td><td>09:16</td></tr><tr><td>1944</td><td>무궁화</td><td>07:55</td><td></td><td></td><td>08:20</td><td></td><td>08:31</td><td>08:37</td><td>08:46</td><td>08:55</td><td>09:00</td><td></td><td>09:20</td><td>09:28</td><td>09:38</td><td></td><td>09:55</td><td>10:10</td></tr><tr><td>1946</td><td>무궁화</td><td>10:30</td><td>10:40</td><td>10:50</td><td>10:57</td><td>11:05</td><td>11:13</td><td>11:19</td><td>11:29</td><td>11:38</td><td>11:47</td><td>11:54</td><td>12:11</td><td>12:20</td><td>12:35</td><td>12:45</td><td>12:57</td><td>13:11</td></tr><tr><td>1948</td><td>무궁화</td><td>14:05</td><td></td><td></td><td>14:30</td><td></td><td>14:42</td><td>14:48</td><td>14:57</td><td></td><td>15:08</td><td>15:19</td><td>15:37</td><td>15:45</td><td>15:58</td><td></td><td>16:17</td><td>16:31</td></tr><tr><td>1950</td><td>무궁화</td><td>17:53</td><td></td><td></td><td>18:18</td><td></td><td>18:29</td><td>18:35</td><td>18:44</td><td>18:53</td><td>18:58</td><td></td><td>19:18</td><td>19:26</td><td>19:40</td><td>19:50</td><td>20:02</td><td>20:17</td></tr><tr><td>1952</td><td>무궁화</td><td>21:20</td><td>21:32</td><td>21:43</td><td>21:51</td><td>21:58</td><td>22:05</td><td>22:11</td><td>22:20</td><td></td><td>22:31</td><td></td><td>22:51</td><td></td><td>23:07</td><td></td><td>23:24</td><td>23:39</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">목포 →&nbsp;부전 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>목포</th><th>임성리</th><th>영암</th><th>해남</th><th>강진</th><th>전남장흥</th><th>장동</th><th>신보성</th><th>득량</th><th>벌교</th><th>순천</th><th>광양</th><th>진상</th><th>하동</th><th>횡천</th><th>북천</th><th>완사</th><th>진주</th><th>반성</th><th>군북</th><th>함안</th><th>중리</th><th>마산</th><th>창원</th><th>창원중앙</th><th>진영</th><th>한림정</th><th>삼랑진</th><th>원동</th><th>물금</th><th>화명</th><th>구포</th><th>사상</th><th>부전</th></tr></thead><tbody><tr><td>1982</td><td>무궁화</td><td>14:50</td><td>14:59</td><td>15:11</td><td>15:24</td><td>15:35</td><td>15:46</td><td>15:56</td><td>16:05</td><td>16:18</td><td>16:38</td><td>17:03</td><td>17:13</td><td>17:24</td><td>17:32</td><td>17:39</td><td>17:47</td><td>17:56</td><td>18:08</td><td>18:19</td><td>18:29</td><td>18:37</td><td>18:45</td><td>18:53</td><td>18:59</td><td>19:09</td><td>19:20</td><td>19:26</td><td>19:36</td><td>19:50</td><td>19:58</td><td>20:05</td><td>20:11</td><td>20:17</td><td>20:27</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">순천 →&nbsp;광주송정 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>순천</th><th>벌교</th><th>조성</th><th>예당</th><th>득량</th><th>보성</th><th>명봉</th><th>이양</th><th>능주</th><th>화순</th><th>효천</th><th>서광주</th><th>광주송정</th></tr></thead><tbody><tr><td>1971</td><td>무궁화</td><td>06:20</td><td>06:44</td><td>06:56</td><td>07:02</td><td>07:08</td><td>07:22</td><td>07:33</td><td>07:47</td><td>08:00</td><td>08:10</td><td>08:27</td><td>08:34</td><td>08:42</td></tr><tr><td>1973</td><td>무궁화</td><td>11:33</td><td>11:57</td><td>12:09</td><td>12:15</td><td>12:21</td><td>12:34</td><td>12:45</td><td>12:59</td><td>13:12</td><td>13:22</td><td>13:39</td><td>13:46</td><td>13:54</td></tr><tr><td>1975</td><td>무궁화</td><td>14:56</td><td>15:20</td><td>15:32</td><td>15:38</td><td>15:45</td><td>15:56</td><td>16:07</td><td>16:23</td><td>16:37</td><td>16:49</td><td>17:07</td><td>17:14</td><td>17:22</td></tr><tr><td>1977</td><td>무궁화</td><td>18:43</td><td>19:10</td><td>19:22</td><td>19:28</td><td>19:34</td><td>19:45</td><td>19:56</td><td>20:10</td><td>20:23</td><td>20:36</td><td>20:54</td><td>21:00</td><td>21:08</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">순천 →&nbsp;목포 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>순천</th><th>벌교</th><th>조성</th><th>예당</th><th>득량</th><th>신보성</th><th>장동</th><th>전남장흥</th><th>강진</th><th>해남</th><th>영암</th><th>임성리</th><th>목포</th></tr></thead><tbody><tr><td>1991</td><td>무궁화</td><td>07:38</td><td>08:02</td><td>08:14</td><td>08:20</td><td>08:26</td><td>08:38</td><td>08:46</td><td>08:58</td><td>09:12</td><td>09:23</td><td>09:35</td><td>09:46</td><td>09:54</td></tr><tr><td>1993</td><td>무궁화</td><td>10:17</td><td>10:41</td><td>10:54</td><td>11:00</td><td>11:07</td><td>11:19</td><td>11:28</td><td>11:37</td><td>11:48</td><td>12:01</td><td>12:14</td><td>12:24</td><td>12:33</td></tr><tr><td>1981</td><td>무궁화</td><td>14:31</td><td>14:55</td><td></td><td></td><td>15:16</td><td>15:27</td><td>15:36</td><td>15:45</td><td>15:56</td><td>16:07</td><td>16:19</td><td>16:30</td><td>16:38</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부전 →&nbsp;순천 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>부전</th><th>사상</th><th>구포</th><th>화명</th><th>물금</th><th>원동</th><th>삼랑진</th><th>한림정</th><th>진영</th><th>진례</th><th>창원중앙</th><th>창원</th><th>마산</th><th>중리</th><th>함안</th><th>군북</th><th>반성</th><th>진주</th><th>완사</th><th>북천</th><th>횡천</th><th>하동</th><th>진상</th><th>광양</th><th>순천</th></tr></thead><tbody><tr><td>1961</td><td>무궁화</td><td>06:12</td><td>06:24</td><td>06:30</td><td>06:35</td><td>06:48</td><td>06:56</td><td>07:05</td><td>07:16</td><td>07:22</td><td></td><td>07:34</td><td>07:43</td><td>07:50</td><td>07:58</td><td>08:06</td><td>08:13</td><td>08:27</td><td>08:39</td><td>08:49</td><td>08:57</td><td>09:05</td><td>09:12</td><td>09:19</td><td>09:29</td><td>09:39</td></tr><tr><td>1981</td><td>무궁화</td><td>11:17</td><td>11:29</td><td>11:36</td><td>11:41</td><td>11:50</td><td>11:58</td><td>12:07</td><td>12:17</td><td>12:23</td><td></td><td>12:34</td><td>12:43</td><td>12:49</td><td>12:57</td><td>13:04</td><td>13:11</td><td>13:21</td><td>13:32</td><td>13:42</td><td>13:50</td><td>13:57</td><td>14:03</td><td>14:10</td><td>14:20</td><td>14:31</td></tr><tr><td>1963</td><td>무궁화</td><td>18:53</td><td>19:05</td><td>19:11</td><td>19:16</td><td>19:24</td><td>19:32</td><td>19:40</td><td>19:51</td><td>19:56</td><td>20:01</td><td>20:10</td><td>20:19</td><td>20:26</td><td>20:33</td><td>20:41</td><td>20:48</td><td>20:58</td><td>21:08</td><td>21:18</td><td>21:26</td><td>21:33</td><td>21:39</td><td>21:46</td><td>21:56</td><td>22:05</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동대구 →&nbsp;진주 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>동대구</th><th>경산</th><th>남성현</th><th>청도</th><th>상동</th><th>밀양</th><th>한림정</th><th>진영</th><th>진례</th><th>창원중앙</th><th>창원</th><th>마산</th><th>중리</th><th>함안</th><th>군북</th><th>반성</th><th>진주</th></tr></thead><tbody><tr><td>1941</td><td>무궁화</td><td>06:41</td><td>06:52</td><td></td><td>07:12</td><td>07:22</td><td>07:30</td><td>07:46</td><td>07:52</td><td></td><td>08:03</td><td>08:12</td><td>08:18</td><td></td><td>08:29</td><td></td><td></td><td>08:51</td></tr><tr><td>1943</td><td>무궁화</td><td>10:24</td><td>10:35</td><td></td><td>10:51</td><td>11:05</td><td>11:14</td><td>11:31</td><td>11:36</td><td>11:42</td><td>11:51</td><td>12:00</td><td>12:05</td><td></td><td>12:17</td><td></td><td></td><td>12:39</td></tr><tr><td>1945</td><td>무궁화</td><td>14:24</td><td>14:35</td><td>14:46</td><td>14:53</td><td>15:07</td><td>15:15</td><td>15:32</td><td>15:37</td><td></td><td>15:48</td><td>15:57</td><td>16:03</td><td>16:09</td><td></td><td>16:22</td><td>16:33</td><td>16:43</td></tr><tr><td>1947</td><td>무궁화</td><td>17:40</td><td>17:51</td><td></td><td>18:06</td><td>18:15</td><td>18:23</td><td>18:40</td><td>18:45</td><td>18:51</td><td>19:00</td><td>19:09</td><td>19:14</td><td>19:20</td><td>19:28</td><td>19:35</td><td>19:46</td><td>19:56</td></tr><tr><td>1949</td><td>무궁화</td><td>19:36</td><td>19:47</td><td></td><td>20:03</td><td></td><td>20:18</td><td>20:35</td><td>20:40</td><td></td><td>20:52</td><td>21:01</td><td>21:06</td><td>21:12</td><td>21:20</td><td>21:27</td><td>21:38</td><td>21:48</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부전 →&nbsp;목포 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>부전</th><th>사상</th><th>구포</th><th>화명</th><th>물금</th><th>원동</th><th>삼랑진</th><th>한림정</th><th>진영</th><th>창원중앙</th><th>창원</th><th>마산</th><th>중리</th><th>함안</th><th>군북</th><th>반성</th><th>진주</th><th>완사</th><th>북천</th><th>횡천</th><th>하동</th><th>진상</th><th>광양</th><th>순천</th><th>벌교</th><th>득량</th><th>신보성</th><th>장동</th><th>전남장흥</th><th>강진</th><th>해남</th><th>영암</th><th>임성리</th><th>목포</th></tr></thead><tbody><tr><td>1981</td><td>무궁화</td><td>11:17</td><td>11:29</td><td>11:36</td><td>11:41</td><td>11:50</td><td>11:58</td><td>12:07</td><td>12:17</td><td>12:23</td><td>12:34</td><td>12:43</td><td>12:49</td><td>12:57</td><td>13:04</td><td>13:11</td><td>13:21</td><td>13:32</td><td>13:42</td><td>13:50</td><td>13:57</td><td>14:03</td><td>14:10</td><td>14:20</td><td>14:31</td><td>14:55</td><td>15:16</td><td>15:27</td><td>15:36</td><td>15:45</td><td>15:56</td><td>16:07</td><td>16:19</td><td>16:30</td><td>16:38</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">부전역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">부전역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '21';
            let curName = '부전';
            let altCity = '36010';
            let altName = '목포';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">부전역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">16℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">부전역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A7%A5%EB%8F%84%EB%82%A0%EB%93%9C+%EB%B6%80%EC%82%B0%EB%B2%94%EC%A0%84DT+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EB%B2%94%EC%A0%84%EB%8F%99+383-25" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">맥도날드 부산범전DT</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 범전동 383-25</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%AA%85%EB%9E%80%EA%B9%80%EB%B0%A5+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EB%B6%80%EC%A0%84%EB%8F%99+573-3+%EB%AA%85%EB%9E%80%EA%B9%80%EB%B0%A5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">명란김밥</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">분식&gt;김밥</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 부전동 573-3 명란김밥</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%8A%A4%ED%83%80%EB%B2%85%EC%8A%A4+%EB%B6%80%EC%A0%84%EC%97%AD%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EB%B6%80%EC%A0%84%EB%8F%99+573-7+%EC%84%9C%EB%A9%B4%ED%98%B8%ED%85%94+%EB%B3%B5%ED%95%A9%EC%8B%9C%EC%84%A41%2C2%EC%B8%B5+%28%29" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">스타벅스 부전역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;카페</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 부전동 573-7 서면호텔 복합시설1,2층 ()</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%B6%80%EC%82%B0%ED%9A%9F%EC%A7%91+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EB%B6%80%EC%A0%84%EB%8F%99+341-43+%EB%B6%80%EC%82%B0%ED%9A%9F%EC%A7%91" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">부산횟집</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;생선회</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 부전동 341-43 부산횟집</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%9D%B4%EB%B0%94%EB%8F%94%EA%B0%90%EC%9E%90%ED%83%95+%EC%A0%84%ED%8F%AC%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EC%A0%84%ED%8F%AC%EB%8F%99+874-1+%EA%B8%88%EC%A0%95%EB%B9%8C%EB%94%A9" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">이바돔감자탕 전포점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;감자탕</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 전포동 874-1 금정빌딩</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">부전역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 부전역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,500원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">15,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 부산광역시 부산진구 부전동 573-1<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 051-441-7782                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 부전역2                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">0원</strong> 
                                <small style="color: #94a3b8;">/ 0분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">0원</strong>
                                <small style="color: #94a3b8;">/ 0분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">0원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 부산광역시 부산진구 부전로 181<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 051-441-7782                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">부전역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 부산광역시 부산진구 부전동 573-1</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:051-441-7782" style="color: #0052a4; font-weight: bold; text-decoration: none;">051-441-7782</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EB%B6%80%EC%A0%84%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/경전선-무궁화호-시간표-부전역-순천역-광주송정역-목포역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="경전선-무궁화호-시간표-부전역-순천역-광주송정역-목포역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20657" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/경전선-무궁화호-시간표-부전역-순천역-광주송정역-목포역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/경전선-무궁화호-시간표-부전역-순천역-광주송정역-목포역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/경전선-무궁화호-시간표-부전역-순천역-광주송정역-목포역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>전라선 무궁화호 시간표 (용산역~여수역) 정차역 및 요금 총정리</title>
		<link>https://krailroad.co.kr/%ec%a0%84%eb%9d%bc%ec%84%a0-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%a9%ec%82%b0%ec%97%ad%ec%97%ac%ec%88%98%ec%97%ad-%ec%a0%95%ec%b0%a8%ec%97%ad-%eb%b0%8f-%ec%9a%94/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 16 Apr 2026 23:48:15 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[전라선 무궁화호 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20552</guid>

					<description><![CDATA[1930년대 개통 이후 전라북도와 전남 내륙의 핏줄이 되어준 전라선은 시대의 변화에 발맞춰 끊임없이 진화해 왔습니다. 굽이치던 단선 철길이 매끄러운 고속 선로로 탈바꿈하면서 과거의 풍경은 속도감에 가려지기도 했지만, 여전히 전라선 무궁화호 시간표를 이용한 열차는 창밖으로 흐르는 남도의 사계절을 가장 가까이서 마주할 수 있는 정겨운 통로인데요. 빠른 생활에 맞춰진 ITX-마음이나 새마을호가 주류가 된 지금도, 무궁화호는 특유의 여유로운 ... <a title="전라선 무궁화호 시간표 (용산역~여수역) 정차역 및 요금 총정리" class="read-more button" href="https://krailroad.co.kr/%ec%a0%84%eb%9d%bc%ec%84%a0-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%a9%ec%82%b0%ec%97%ad%ec%97%ac%ec%88%98%ec%97%ad-%ec%a0%95%ec%b0%a8%ec%97%ad-%eb%b0%8f-%ec%9a%94/" aria-label="전라선 무궁화호 시간표 (용산역~여수역) 정차역 및 요금 총정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">1930년대 개통 이후 전라북도와 전남 내륙의 핏줄이 되어준 전라선은 시대의 변화에 발맞춰 끊임없이 진화해 왔습니다. 굽이치던 단선 철길이 매끄러운 고속 선로로 탈바꿈하면서 과거의 풍경은 속도감에 가려지기도 했지만, 여전히 전라선 무궁화호 시간표를 이용한 열차는 창밖으로 흐르는 남도의 사계절을 가장 가까이서 마주할 수 있는 정겨운 통로인데요. 빠른 생활에 맞춰진 ITX-마음이나 새마을호가 주류가 된 지금도, 무궁화호는 특유의 여유로운 모습으로 용산역과 여수역 사이의 정거장들을 하나하나 정성스럽게 잇고 있습니다.</p>



<p class="wp-block-paragraph">이런 전라선 무궁화호 시간표를 확인 하려고 역사 안과 검색엔진을 통한 신뢰할 수 없는 자료들을 찾아 다니지 마시고, <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 자료를 데이터베이스, 그리고 API 실시간으로 가져와 구현한 아래 시스템은 지금 열차가 밟고 있는 선로 위 위치를 오차 없이 추적해 보여주기 때문인데요. 특히 스마트폰 설정에서 소리 알림을 켜두시면 열차가 들어오기 15분 전부터 신호를 보내주어, 차를 마시거나, 버스, 또는 자가용 이용으로 역사로 이동할때 제시간에 승차 할 수 있도록 도와줄것입니다. 그리고 무궁화호 대신 조금 더 빠른 <a href="https://krailroad.co.kr/%ec%a0%84%eb%9d%bc%ec%84%a0-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%a9%ec%82%b0%ec%97%ad%ec%97%ac%ec%88%98%ec%97%ad-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%8b%a4%ec%8b%9c/">전라선 새마을호 시간표</a>를 확인하고 싶다면 해당 메뉴를 눌러 즉시 이동이 가능합니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>전라선 무궁화호 시간표 안내</strong></h2>



<h3 class="wp-block-heading">철길 위에서 만나는 남도</h3>



<p class="wp-block-paragraph">전라선 무궁화호 시간표를 이용하여, 용산역을 출발한 열차는 익산을 지나며 본격적인 전라선으로 진입을 하며, 기와지붕의 고풍스러운 멋이 살아있는 전주역은 한옥마을의 정취와 전주의 깊은 손맛을 연결하는 첫 관문이며, 보성이나 진주 등 영남권으로 향하는 경전선 환승이 활발한 순천역은 동서 화합의 중심으로서 남도 여행의 중심 역할을 톡톡히 해내는데요. 철길의 끝자락인 <a href="https://krailroad.co.kr/%ec%97%ac%ec%88%98%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84%c2%b7%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9d%b5%ec%82%b0%c2%b7%ec%9a%a9%ec%82%b0%c2%b7%ec%84%9c%ec%9a%b8%ed%96%89-%eb%85%b8/">여수엑스포역</a>에 다다르면 비로소 화려한 여수 밤바다의 낭만을 즐기실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">데이터가 설계하는 끊김 동선</h3>



<p class="wp-block-paragraph">본 자료는 단순히 열차의 출발과 도착 정보에만 그치지 않고, 역을 나서는 순간부터 1분 단위로 자동 갱신되는 실시간 API를 통해 전주, 순천, 여수 등 이용자가 출발과 도착을 어디로 할지 결정할 경우 해당 열차 시간표와 소요시간, 출발시간, 도착시간과 주요 정거장의 시내버스 도착 정보를 즉시 파악할 수 있으며, 역사 주변 주차장의 실시간 잔여 공간까지 한눈에 확인이 가능한데요. 나홀로 배낭여행객부터 아이와 함께하는 가족 단위 방문객까지, 복잡한 검색 없이도 현지의 기상 상황과 교통 흐름을 한 화면에서 파악할 수 있도록 구성하였습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">여수 ↔&nbsp;용산 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">여수엑스포<br>↓<br>용산</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1572호</span><div class="time-display">06:30</div><div class="arrival-info">11:58 도착</div></td><td><span class="train-detail">1578호</span><div class="time-display">19:15</div><div class="arrival-info">00:31 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">용산<br>↓<br>여수엑스포</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1571호</span><div class="time-display">05:44</div><div class="arrival-info">11:03 도착</div></td><td><span class="train-detail">1577호</span><div class="time-display">19:15</div><div class="arrival-info">00:26 도착</div></td></tr></tbody></table></div>


    
    <h2>용산 ↔ 여수 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 여수</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                41,100원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 여수엑스포</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">공주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                47,200원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                66,100원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 여수엑스포</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대전</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                46,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                64,400원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 여수</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                27,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">여수 → 용산 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>여수엑스포</th><th>여천</th><th>순천</th><th>구례구</th><th>곡성</th><th>남원</th><th>오수</th><th>임실</th><th>전주</th><th>삼례</th><th>익산</th><th>함열</th><th>강경</th><th>논산</th><th>연산</th><th>계룡</th><th>서대전</th><th>신탄진</th><th>부강</th><th>조치원</th><th>천안</th><th>성환</th><th>평택</th><th>수원</th><th>안양</th><th>영등포</th><th>용산</th></tr></thead><tbody><tr><td>1572</td><td>무궁화</td><td>06:30</td><td>06:38</td><td>06:54</td><td>07:11</td><td>07:23</td><td>07:34</td><td>07:45</td><td>07:58</td><td>08:17</td><td>08:27</td><td>08:39</td><td>08:52</td><td>09:02</td><td>09:12</td><td>09:22</td><td>09:35</td><td>09:52</td><td>10:06</td><td>10:16</td><td>10:25</td><td>10:47</td><td></td><td>11:01</td><td>11:23</td><td>11:36</td><td>11:49</td><td>11:58</td></tr><tr><td>1574</td><td>무궁화</td><td>13:19</td><td>13:27</td><td>13:43</td><td>14:01</td><td>14:13</td><td>14:25</td><td>14:36</td><td>14:45</td><td>15:03</td><td>15:12</td><td>15:23</td><td>15:36</td><td>15:46</td><td>15:56</td><td>16:06</td><td>16:18</td><td>16:35</td><td>16:48</td><td></td><td>17:09</td><td>17:32</td><td>17:41</td><td>17:53</td><td>18:17</td><td></td><td>18:42</td><td>18:52</td></tr><tr><td>1576</td><td>무궁화</td><td>18:12</td><td>18:21</td><td>18:38</td><td>18:56</td><td>19:08</td><td>19:19</td><td>19:31</td><td>19:40</td><td>19:57</td><td>20:06</td><td>20:18</td><td>20:31</td><td>20:41</td><td>20:50</td><td>21:00</td><td>21:13</td><td>21:36</td><td></td><td></td><td>22:04</td><td>22:26</td><td></td><td>22:40</td><td>23:03</td><td>23:16</td><td>23:28</td><td>23:37</td></tr><tr><td>1578</td><td>무궁화</td><td>19:15</td><td>19:23</td><td>19:39</td><td>20:01</td><td>20:15</td><td>20:28</td><td>20:39</td><td>20:47</td><td>21:04</td><td>21:13</td><td>21:25</td><td>21:38</td><td>21:47</td><td>21:57</td><td></td><td>22:17</td><td>22:33</td><td>22:47</td><td></td><td>23:03</td><td>23:25</td><td></td><td>23:39</td><td>23:59</td><td></td><td>00:22</td><td>00:31</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">용산 → 여수 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>용산</th><th>영등포</th><th>수원</th><th>서정리</th><th>평택</th><th>천안</th><th>전의</th><th>조치원</th><th>부강</th><th>신탄진</th><th>서대전</th><th>계룡</th><th>연산</th><th>논산</th><th>강경</th><th>함열</th><th>익산</th><th>삼례</th><th>전주</th><th>임실</th><th>오수</th><th>남원</th><th>곡성</th><th>구례구</th><th>순천</th><th>여천</th><th>여수엑스포</th></tr></thead><tbody><tr><td>1571</td><td>무궁화</td><td>05:44</td><td>05:56</td><td>06:19</td><td>06:35</td><td>06:43</td><td>06:57</td><td></td><td>07:19</td><td></td><td>07:35</td><td>07:50</td><td>08:06</td><td>08:18</td><td>08:28</td><td>08:37</td><td></td><td>08:57</td><td>09:08</td><td>09:17</td><td>09:34</td><td>09:47</td><td>09:59</td><td>10:10</td><td>10:22</td><td>10:40</td><td>10:55</td><td>11:03</td></tr><tr><td>1573</td><td>무궁화</td><td>09:38</td><td>09:47</td><td>10:10</td><td></td><td>10:31</td><td>10:45</td><td>11:03</td><td>11:16</td><td>11:24</td><td>11:35</td><td>11:50</td><td>12:13</td><td>12:26</td><td>12:36</td><td>12:46</td><td>12:55</td><td>13:10</td><td>13:21</td><td>13:30</td><td>13:47</td><td>13:55</td><td>14:07</td><td>14:18</td><td>14:30</td><td>14:49</td><td>15:04</td><td>15:13</td></tr><tr><td>1575</td><td>무궁화</td><td>15:04</td><td>15:13</td><td>15:37</td><td></td><td>15:57</td><td>16:11</td><td></td><td>16:33</td><td></td><td>16:49</td><td>17:05</td><td>17:21</td><td></td><td>17:40</td><td>17:49</td><td>17:59</td><td>18:19</td><td>18:31</td><td>18:40</td><td>18:57</td><td>19:05</td><td>19:16</td><td>19:27</td><td>19:40</td><td>19:57</td><td>20:13</td><td>20:21</td></tr><tr><td>1577</td><td>무궁화</td><td>19:15</td><td>19:24</td><td>19:49</td><td>20:04</td><td>20:17</td><td>20:32</td><td></td><td>20:54</td><td></td><td></td><td>21:22</td><td>21:38</td><td></td><td>21:57</td><td>22:06</td><td></td><td>22:26</td><td>22:37</td><td>22:46</td><td>23:03</td><td>23:11</td><td>23:22</td><td>23:33</td><td>23:45</td><td>00:02</td><td>00:17</td><td>00:26</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">용산역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">용산역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '11';
            let curName = '용산';
            let altCity = '36020';
            let altName = '여수';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">용산역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">17℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">용산역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%95%84%EC%9D%B4%ED%8C%8C%ED%81%AC%EB%AA%B0+%EC%9A%A9%EC%82%B0%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%ED%95%9C%EA%B0%95%EB%A1%9C3%EA%B0%80+40-999" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">아이파크몰 용산점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">쇼핑,유통&gt;쇼핑센터,할인매장</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 한강로3가 40-999</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%85%8C%EB%94%94%EB%B5%88%EB%A5%B4%ED%95%98%EC%9A%B0%EC%8A%A4+%EC%9A%A9%EC%82%B0%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%ED%95%9C%EA%B0%95%EB%A1%9C2%EA%B0%80+49-1+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">테디뵈르하우스 용산점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;카페,디저트</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 한강로2가 49-1 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%8C%A4%EC%8C%A4%EC%8C%A4+%EC%9A%A9%EC%82%B0%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%ED%95%9C%EA%B0%95%EB%A1%9C2%EA%B0%80+47-3+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">쌤쌤쌤 용산점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;양식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 한강로2가 47-3 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%AA%BD%ED%83%84+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%ED%95%9C%EA%B0%95%EB%A1%9C1%EA%B0%80+251-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">몽탄</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;육류,고기요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 한강로1가 251-1</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%89%90%EC%9D%B4%ED%81%AC%EC%89%91+%EC%9A%A9%EC%82%B0+%EC%95%84%EC%9D%B4%ED%8C%8C%ED%81%AC%EB%AA%B0%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%ED%95%9C%EA%B0%95%EB%A1%9C3%EA%B0%80+40-999+%EC%95%84%EC%9D%B4%ED%8C%8C%ED%81%AC%EB%AA%B0+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">쉐이크쉑 용산 아이파크몰점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 한강로3가 40-999 아이파크몰 1층</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">여수역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 여수엑스포역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">600원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 전라남도 여수시 덕충동 61-7<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">용산역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 용산역 인근 공영 및 노상주차장 이용 권장</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:1544-7788" style="color: #0052a4; font-weight: bold; text-decoration: none;">1544-7788</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%9A%A9%EC%82%B0%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/전라선-무궁화호-시간표-용산역-전주역-여수역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="전라선-무궁화호-시간표-용산역-전주역-여수역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20564" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/전라선-무궁화호-시간표-용산역-전주역-여수역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/전라선-무궁화호-시간표-용산역-전주역-여수역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/전라선-무궁화호-시간표-용산역-전주역-여수역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>호남선 무궁화호 시간표 (용산역~목포역) 요금 실시간  완벽정리</title>
		<link>https://krailroad.co.kr/%ed%98%b8%eb%82%a8%ec%84%a0-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%a9%ec%82%b0%ec%97%ad%eb%aa%a9%ed%8f%ac%ec%97%ad-%ec%9a%94%ea%b8%88-%ec%8b%a4%ec%8b%9c%ea%b0%84/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 16 Apr 2026 01:12:26 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[호남선 무궁화호 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20517</guid>

					<description><![CDATA[1914년 첫 기적을 울린 호남선 무궁화호 시간표를 이용한 호남 평야의 너른 들판을 남북으로 가로지르며 남도와 수도권을 잇는 결정적인 다리 역할을 수행해 왔습니다. 산맥을 넘어야 하는 영남권 철길과 달리 지평선이 보이는 평탄한 선로를 따라 곡창지대의 물자와 사람을 실어 나르며 우리 근현대사의 굵직한 사건들을 묵묵히 지켜보았는데요. 비록 고속철도가 주류가 된 시대이지만, 호남선 열차 이동은 여전히 지역 곳곳의 ... <a title="호남선 무궁화호 시간표 (용산역~목포역) 요금 실시간  완벽정리" class="read-more button" href="https://krailroad.co.kr/%ed%98%b8%eb%82%a8%ec%84%a0-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%a9%ec%82%b0%ec%97%ad%eb%aa%a9%ed%8f%ac%ec%97%ad-%ec%9a%94%ea%b8%88-%ec%8b%a4%ec%8b%9c%ea%b0%84/" aria-label="호남선 무궁화호 시간표 (용산역~목포역) 요금 실시간  완벽정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">1914년 첫 기적을 울린 호남선 무궁화호 시간표를 이용한 호남 평야의 너른 들판을 남북으로 가로지르며 남도와 수도권을 잇는 결정적인 다리 역할을 수행해 왔습니다. 산맥을 넘어야 하는 영남권 철길과 달리 지평선이 보이는 평탄한 선로를 따라 곡창지대의 물자와 사람을 실어 나르며 우리 근현대사의 굵직한 사건들을 묵묵히 지켜보았는데요. 비록 고속철도가 주류가 된 시대이지만, 호남선 열차 이동은 여전히 지역 곳곳의 간이역을 챙기며 주민들의 보편적인 이동을 도와주는 소중한 존재로 남아 있습니다</p>



<p class="wp-block-paragraph">따라서 아래 호남선 무궁화호 시간표를 이용할 때는 가고자 하는 종착지에 맞춰 노선의 운행정보인 소요시간과 요금, 정차역등 운행 방면이 여러 갈래로 분리되어 있는 노선 시간표를 사용자가 헷갈리지 않도록 목차를 나누어 정리했습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>호남선 무궁화호 시간표 안내</strong></h2>



<h3 class="wp-block-heading">데이터로 파악하는 현재 운행</h3>



<p class="wp-block-paragraph">호남선 무궁화호 시간표를 이용하고자 역사 안에서 안내판의 작은 글씨를 보며 언제 열차가 도착하고 출발하는지 찾으실 필요가 없습니다. 아래에 마련된 시스템은 <a href="https://www.data.go.kr/index.do" target="_blank" rel="noopener">국가 공공 데이터</a>를 직접 호출하여 열차가 몇분뒤 출발하는지, 이전 운행 종료된 열차는 어떤것인지, 또한 하루 전체 열차정보와 출발역과 도착역 출발예정 시간을 오차 없이 보여주는데요. 특히 화면 확인이 어려운 분들을 위해 직접 구현한 음성 송출 기능을 상단 메뉴에서 켜두시면, 기차가 들어오기 15분 전부터 음성 안내 메시지를 내보내어 다른 용무를 보다가도 늦지 않게 승강장에 도착할 수 있도록 하였습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">열차 종별 및 통합 서비스</h3>



<p class="wp-block-paragraph">목적지까지 빠른 이동이 목적이라면 <a href="https://krailroad.co.kr/%eb%aa%a9%ed%8f%ac%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b5%9c%ec%8b%a0-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%9a%94%ea%b8%88-%eb%b0%8f-%ec%86%8c%ec%9a%94-%ec%8b%9c%ea%b0%84-%ec%a0%95%ec%b0%a8/">목포역 KTX 열차 시간표</a>를 참고하면 되며, 무궁화호보다 정차역이 적은 준고속 열차 정보는 [<a href="https://krailroad.co.kr/%ed%98%b8%eb%82%a8%ec%84%a0-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%9a%a9%ec%82%b0%ec%97%ad%ea%b4%91%ec%a3%bc%ec%97%ad%eb%aa%a9%ed%8f%ac/">호남선 새마을호 운행 정보</a>]를 별도로 참고하면됩니다.<br><br>1️⃣ <strong>광주 ↔ 서대전 / 익산 ↔ 용산</strong>: 출퇴근이나 통학 등 특정 구간의 수요를 담당하는 계통입니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>용산 ↔ 목포 / 용산 ↔ 광주</strong>: 장거리를 완주하는 상하행 노선입니다. (광주행의 경우 KTX가 서는 송정역이 아닌 도심의 광주역으로 향한다는 점을 참고하세요.)</p>



<p class="wp-block-paragraph">4️⃣ <strong>목포 ↔ 광주</strong>: 전남 주요 도시 사이를 오가는 지역 밀착형 열차입니다.</p>



<p class="wp-block-paragraph">그리고 기차에서 내린 이후 정보를 페이지 하나로 모두 준비했으며, 각 역 주차장의 위치와 상세 요금 체계는 물론, 역 광장에서 시내로 이어지는 버스 도착 정보와 현지의 숨은 식당 리스트, 실시간 기상 데이터까지 한데 묶었습니다. 그러니 호남선 무궁화호 시간표를 이용한 실시간 정보를 참고하여 이용하시는 것을 추천해 드립니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">목포 ↔&nbsp;용산 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">목포<br>↓<br>용산</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1452호</span><div class="time-display">07:11</div><div class="arrival-info">12:26 도착</div></td><td><span class="train-detail">1452호</span><div class="time-display">07:11</div><div class="arrival-info">12:26 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">목포<br>↓<br>광주</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1492호</span><div class="time-display">18:21</div><div class="arrival-info">19:39 도착</div></td><td><span class="train-detail">1492호</span><div class="time-display">18:21</div><div class="arrival-info">19:39 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">광주<br>↓<br>용산</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1462호</span><div class="time-display">12:10</div><div class="arrival-info">16:54 도착</div></td><td><span class="train-detail">1462호</span><div class="time-display">12:10</div><div class="arrival-info">16:54 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">광주<br>↓<br>서대전</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1482호</span><div class="time-display">05:37</div><div class="arrival-info">08:17 도착</div></td><td><span class="train-detail">1486호</span><div class="time-display">21:29</div><div class="arrival-info">23:59 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">익산<br>↓<br>용산</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1472호</span><div class="time-display">05:30</div><div class="arrival-info">08:55 도착</div></td><td><span class="train-detail">1462호</span><div class="time-display">13:33</div><div class="arrival-info">16:54 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">용산<br>↓<br>목포</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1451호</span><div class="time-display">18:10</div><div class="arrival-info">23:24 도착</div></td><td><span class="train-detail">1451호</span><div class="time-display">18:10</div><div class="arrival-info">23:24 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">광주<br>↓<br>목포</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1491호</span><div class="time-display">07:00</div><div class="arrival-info">08:19 도착</div></td><td><span class="train-detail">1491호</span><div class="time-display">07:00</div><div class="arrival-info">08:19 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">용산<br>↓<br>광주</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1461호</span><div class="time-display">16:15</div><div class="arrival-info">20:57 도착</div></td><td><span class="train-detail">1461호</span><div class="time-display">16:15</div><div class="arrival-info">20:57 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">서대전<br>↓<br>광주</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1481호</span><div class="time-display">06:11</div><div class="arrival-info">08:42 도착</div></td><td><span class="train-detail">1485호</span><div class="time-display">19:20</div><div class="arrival-info">21:44 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">용산<br>↓<br>익산</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1461호</span><div class="time-display">16:15</div><div class="arrival-info">19:37 도착</div></td><td><span class="train-detail">1471호</span><div class="time-display">21:22</div><div class="arrival-info">00:38 도착</div></td></tr></tbody></table></div>


    
    <h2>용산 ↔ 목포 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 목포</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                39,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 목포</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">공주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                52,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                63,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                73,900원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 목포</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">김제,장성</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                44,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                62,600원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 목포</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                26,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">목포 →&nbsp;용산 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>목포</th><th>일로</th><th>몽탄</th><th>무안</th><th>함평</th><th>나주</th><th>광주송정</th><th>장성</th><th>백양사</th><th>정읍</th><th>신태인</th><th>김제</th><th>익산</th><th>함열</th><th>강경</th><th>논산</th><th>연산</th><th>계룡</th><th>서대전</th><th>신탄진</th><th>조치원</th><th>전의</th><th>천안</th><th>평택</th><th>수원</th><th>영등포</th><th>용산</th></tr></thead><tbody><tr><td>1452</td><td>무궁화</td><td>07:11</td><td>07:21</td><td>07:28</td><td>07:33</td><td>07:39</td><td>07:51</td><td>08:03</td><td>08:16</td><td>08:26</td><td>08:37</td><td>08:47</td><td>08:55</td><td>09:10</td><td>09:23</td><td>09:32</td><td>09:42</td><td>09:52</td><td>10:05</td><td>10:22</td><td>10:36</td><td>10:52</td><td>11:03</td><td>11:17</td><td>11:31</td><td>11:51</td><td>12:17</td><td>12:26</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">목포 →&nbsp;광주 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>목포</th><th>임성리</th><th>일로</th><th>몽탄</th><th>무안</th><th>함평</th><th>다시</th><th>나주</th><th>광주송정</th><th>광주</th></tr></thead><tbody><tr><td>1492</td><td>무궁화</td><td>18:21</td><td>18:28</td><td>18:34</td><td>18:41</td><td>18:46</td><td>18:52</td><td>19:00</td><td>19:07</td><td>19:23</td><td>19:39</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">광주 →&nbsp;용산 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>광주</th><th>극락강</th><th>장성</th><th>백양사</th><th>정읍</th><th>신태인</th><th>김제</th><th>익산</th><th>함열</th><th>강경</th><th>논산</th><th>계룡</th><th>서대전</th><th>신탄진</th><th>조치원</th><th>전의</th><th>천안</th><th>평택</th><th>수원</th><th>영등포</th><th>용산</th></tr></thead><tbody><tr><td>1462</td><td>무궁화</td><td>12:10</td><td>12:19</td><td>12:39</td><td>12:48</td><td>13:00</td><td>13:09</td><td>13:18</td><td>13:33</td><td>13:47</td><td>14:02</td><td>14:13</td><td>14:33</td><td>14:50</td><td>15:04</td><td>15:20</td><td>15:31</td><td>15:45</td><td>15:59</td><td>16:20</td><td>16:45</td><td>16:54</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">광주 →&nbsp;서대전 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>광주</th><th>극락강</th><th>장성</th><th>백양사</th><th>정읍</th><th>신태인</th><th>김제</th><th>익산</th><th>함열</th><th>강경</th><th>논산</th><th>연산</th><th>계룡</th><th>서대전</th></tr></thead><tbody><tr><td>1482</td><td>무궁화</td><td>05:37</td><td>05:46</td><td>06:06</td><td>06:16</td><td>06:28</td><td>06:38</td><td>06:48</td><td>07:01</td><td>07:13</td><td>07:23</td><td>07:38</td><td>07:49</td><td>08:02</td><td>08:17</td></tr><tr><td>1462</td><td>무궁화</td><td>12:10</td><td>12:19</td><td>12:39</td><td>12:48</td><td>13:00</td><td>13:09</td><td>13:18</td><td>13:33</td><td>13:47</td><td>14:02</td><td>14:13</td><td></td><td>14:33</td><td>14:50</td></tr><tr><td>1484</td><td>무궁화</td><td>13:09</td><td></td><td>13:37</td><td></td><td>13:56</td><td></td><td>14:13</td><td>14:25</td><td>14:37</td><td>14:48</td><td>14:58</td><td>15:08</td><td>15:20</td><td>15:35</td></tr><tr><td>1486</td><td>무궁화</td><td>21:29</td><td>21:38</td><td>21:58</td><td>22:08</td><td>22:20</td><td>22:30</td><td>22:40</td><td>22:53</td><td>23:05</td><td>23:15</td><td>23:25</td><td></td><td>23:44</td><td>23:59</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">익산 →&nbsp;용산 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>익산</th><th>함열</th><th>강경</th><th>논산</th><th>연산</th><th>계룡</th><th>서대전</th><th>신탄진</th><th>조치원</th><th>전의</th><th>천안</th><th>평택</th><th>오산</th><th>수원</th><th>안양</th><th>영등포</th><th>용산</th></tr></thead><tbody><tr><td>1472</td><td>무궁화</td><td>05:30</td><td>05:43</td><td>05:54</td><td>06:03</td><td></td><td>06:22</td><td>06:39</td><td>06:53</td><td>07:10</td><td>07:21</td><td>07:35</td><td>07:51</td><td>08:04</td><td>08:16</td><td>08:29</td><td>08:45</td><td>08:55</td></tr><tr><td>1452</td><td>무궁화</td><td>09:10</td><td>09:23</td><td>09:32</td><td>09:42</td><td>09:52</td><td>10:05</td><td>10:22</td><td>10:36</td><td>10:52</td><td>11:03</td><td>11:17</td><td>11:31</td><td></td><td>11:51</td><td></td><td>12:17</td><td>12:26</td></tr><tr><td>1462</td><td>무궁화</td><td>13:33</td><td>13:47</td><td>14:02</td><td>14:13</td><td></td><td>14:33</td><td>14:50</td><td>15:04</td><td>15:20</td><td>15:31</td><td>15:45</td><td>15:59</td><td></td><td>16:20</td><td></td><td>16:45</td><td>16:54</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">용산 →&nbsp;목포 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>용산</th><th>영등포</th><th>수원</th><th>평택</th><th>천안</th><th>조치원</th><th>부강</th><th>신탄진</th><th>서대전</th><th>계룡</th><th>논산</th><th>강경</th><th>함열</th><th>익산</th><th>김제</th><th>신태인</th><th>정읍</th><th>백양사</th><th>장성</th><th>광주송정</th><th>나주</th><th>함평</th><th>일로</th><th>목포</th></tr></thead><tbody><tr><td>1451</td><td>무궁화</td><td>18:10</td><td>18:22</td><td>18:46</td><td>19:06</td><td>19:20</td><td>19:42</td><td>19:51</td><td>20:01</td><td>20:18</td><td>20:34</td><td>20:54</td><td>21:04</td><td>21:14</td><td>21:28</td><td>21:41</td><td>21:50</td><td>22:00</td><td>22:12</td><td>22:23</td><td>22:39</td><td>22:49</td><td>23:00</td><td>23:13</td><td>23:24</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">광주 →&nbsp;목포 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>광주</th><th>광주송정</th><th>나주</th><th>다시</th><th>함평</th><th>무안</th><th>몽탄</th><th>일로</th><th>임성리</th><th>목포</th></tr></thead><tbody><tr><td>1491</td><td>무궁화</td><td>07:00</td><td>07:19</td><td>07:30</td><td>07:36</td><td>07:45</td><td>07:53</td><td>07:58</td><td>08:06</td><td>08:12</td><td>08:19</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">용산 →&nbsp;광주 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>용산</th><th>영등포</th><th>수원</th><th>평택</th><th>천안</th><th>조치원</th><th>서대전</th><th>계룡</th><th>연산</th><th>논산</th><th>강경</th><th>함열</th><th>익산</th><th>김제</th><th>신태인</th><th>정읍</th><th>백양사</th><th>장성</th><th>극락강</th><th>광주</th></tr></thead><tbody><tr><td>1461</td><td>무궁화</td><td>16:15</td><td>16:28</td><td>16:53</td><td>17:13</td><td>17:27</td><td>17:49</td><td>18:18</td><td>18:34</td><td>18:46</td><td>18:57</td><td>19:13</td><td>19:23</td><td>19:37</td><td>19:50</td><td>19:58</td><td>20:08</td><td>20:19</td><td>20:29</td><td>20:48</td><td>20:57</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">서대전 →&nbsp;광주 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>서대전</th><th>계룡</th><th>연산</th><th>논산</th><th>강경</th><th>함열</th><th>익산</th><th>김제</th><th>신태인</th><th>정읍</th><th>백양사</th><th>장성</th><th>극락강</th><th>광주</th></tr></thead><tbody><tr><td>1481</td><td>무궁화</td><td>06:11</td><td>06:27</td><td></td><td>06:47</td><td>06:57</td><td>07:07</td><td>07:21</td><td>07:34</td><td>07:43</td><td>07:54</td><td>08:06</td><td>08:16</td><td>08:35</td><td>08:42</td></tr><tr><td>1483</td><td>무궁화</td><td>12:56</td><td>13:12</td><td>13:24</td><td>13:35</td><td>13:45</td><td>13:55</td><td>14:09</td><td>14:23</td><td>14:32</td><td>14:44</td><td>14:57</td><td>15:09</td><td></td><td>15:33</td></tr><tr><td>1461</td><td>무궁화</td><td>18:18</td><td>18:34</td><td>18:46</td><td>18:57</td><td>19:13</td><td>19:23</td><td>19:37</td><td>19:50</td><td>19:58</td><td>20:08</td><td>20:19</td><td>20:29</td><td>20:48</td><td>20:57</td></tr><tr><td>1485</td><td>무궁화</td><td>19:20</td><td>19:36</td><td></td><td>19:55</td><td>20:04</td><td>20:13</td><td>20:27</td><td>20:39</td><td>20:48</td><td>20:57</td><td>21:08</td><td>21:18</td><td>21:37</td><td>21:44</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">용산 →&nbsp;익산 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>용산</th><th>영등포</th><th>안양</th><th>수원</th><th>평택</th><th>천안</th><th>조치원</th><th>부강</th><th>신탄진</th><th>서대전</th><th>계룡</th><th>연산</th><th>논산</th><th>강경</th><th>함열</th><th>익산</th></tr></thead><tbody><tr><td>1461</td><td>무궁화</td><td>16:15</td><td>16:28</td><td></td><td>16:53</td><td>17:13</td><td>17:27</td><td>17:49</td><td></td><td></td><td>18:18</td><td>18:34</td><td>18:46</td><td>18:57</td><td>19:13</td><td>19:23</td><td>19:37</td></tr><tr><td>1451</td><td>무궁화</td><td>18:10</td><td>18:22</td><td></td><td>18:46</td><td>19:06</td><td>19:20</td><td>19:42</td><td>19:51</td><td>20:01</td><td>20:18</td><td>20:34</td><td></td><td>20:54</td><td>21:04</td><td>21:14</td><td>21:28</td></tr><tr><td>1471</td><td>무궁화</td><td>21:22</td><td>21:31</td><td>21:44</td><td>21:59</td><td>22:21</td><td>22:36</td><td>22:57</td><td></td><td>23:14</td><td>23:30</td><td>23:46</td><td></td><td>00:06</td><td>00:15</td><td>00:26</td><td>00:38</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">용산역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">용산역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '11';
            let curName = '용산';
            let altCity = '36010';
            let altName = '목포';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">용산역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">17℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">용산역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%95%84%EC%9D%B4%ED%8C%8C%ED%81%AC%EB%AA%B0+%EC%9A%A9%EC%82%B0%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%ED%95%9C%EA%B0%95%EB%A1%9C3%EA%B0%80+40-999" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">아이파크몰 용산점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">쇼핑,유통&gt;쇼핑센터,할인매장</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 한강로3가 40-999</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%85%8C%EB%94%94%EB%B5%88%EB%A5%B4%ED%95%98%EC%9A%B0%EC%8A%A4+%EC%9A%A9%EC%82%B0%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%ED%95%9C%EA%B0%95%EB%A1%9C2%EA%B0%80+49-1+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">테디뵈르하우스 용산점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;카페,디저트</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 한강로2가 49-1 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%8C%A4%EC%8C%A4%EC%8C%A4+%EC%9A%A9%EC%82%B0%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%ED%95%9C%EA%B0%95%EB%A1%9C2%EA%B0%80+47-3+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">쌤쌤쌤 용산점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;양식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 한강로2가 47-3 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%AA%BD%ED%83%84+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%ED%95%9C%EA%B0%95%EB%A1%9C1%EA%B0%80+251-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">몽탄</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;육류,고기요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 한강로1가 251-1</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%89%90%EC%9D%B4%ED%81%AC%EC%89%91+%EC%9A%A9%EC%82%B0+%EC%95%84%EC%9D%B4%ED%8C%8C%ED%81%AC%EB%AA%B0%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%ED%95%9C%EA%B0%95%EB%A1%9C3%EA%B0%80+40-999+%EC%95%84%EC%9D%B4%ED%8C%8C%ED%81%AC%EB%AA%B0+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">쉐이크쉑 용산 아이파크몰점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 한강로3가 40-999 아이파크몰 1층</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">목포역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 목포역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,000원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 전라남도 목포시 호남동 1-1<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">용산역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 용산역 인근 공영 및 노상주차장 이용 권장</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:1544-7788" style="color: #0052a4; font-weight: bold; text-decoration: none;">1544-7788</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%9A%A9%EC%82%B0%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/호남선-무궁화호-시간표-용산역-서대전역-광주역-목포역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="호남선-무궁화호-시간표-용산역-서대전역-광주역-목포역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20549" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/호남선-무궁화호-시간표-용산역-서대전역-광주역-목포역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/호남선-무궁화호-시간표-용산역-서대전역-광주역-목포역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/호남선-무궁화호-시간표-용산역-서대전역-광주역-목포역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>경부선 무궁화호 시간표 및 요금 (서울역~부산역) 총정리</title>
		<link>https://krailroad.co.kr/%ea%b2%bd%eb%b6%80%ec%84%a0-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%84%9c%ec%9a%b8%ec%97%ad%eb%b6%80%ec%82%b0%ec%97%ad-%ec%b4%9d%ec%a0%95/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Tue, 14 Apr 2026 23:59:08 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[경부선 무궁화호 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20497</guid>

					<description><![CDATA[1905년 첫 기차 소리가 울려 퍼진 경부선은 대한민국 근대화의 명과 암을 동시에 싣고 달려온 철길입니다. 속도가 중심인 KTX 시대가 왔음에도 경부선 무궁화호 시간표와 경부선 새마을호 시간표를 이용한 붉은색 무궁화호가 여전히 자리를 지키는 이유는 고속철도 사각지대를 메우고 보편적인 이동권을 보장해야 하기 때문인데요. 서울역에서 부산역까지 5시간이 넘게 소요되지만, 추풍령 고개와 낙동강 줄기를 가장 가까이서 감상하며 전국 각지의 ... <a title="경부선 무궁화호 시간표 및 요금 (서울역~부산역) 총정리" class="read-more button" href="https://krailroad.co.kr/%ea%b2%bd%eb%b6%80%ec%84%a0-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%84%9c%ec%9a%b8%ec%97%ad%eb%b6%80%ec%82%b0%ec%97%ad-%ec%b4%9d%ec%a0%95/" aria-label="경부선 무궁화호 시간표 및 요금 (서울역~부산역) 총정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">1905년 첫 기차 소리가 울려 퍼진 경부선은 대한민국 근대화의 명과 암을 동시에 싣고 달려온 철길입니다. 속도가 중심인 KTX 시대가 왔음에도 경부선 무궁화호 시간표와 <a href="https://krailroad.co.kr/%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%84%9c%ec%9a%b8%ec%97%ad%eb%b6%80%ec%82%b0%ec%97%ad-%ec%8b%a4%ec%8b%9c/">경부선 새마을호 시간표</a>를 이용한 붉은색 무궁화호가 여전히 자리를 지키는 이유는 고속철도 사각지대를 메우고 보편적인 이동권을 보장해야 하기 때문인데요. 서울역에서 부산역까지 5시간이 넘게 소요되지만, 추풍령 고개와 낙동강 줄기를 가장 가까이서 감상하며 전국 각지의 작은 역들을 꼼꼼히 거치는 무궁화호만의 분위기는 여전히 대체 불가능한 가치를 지닙니다.</p>



<p class="wp-block-paragraph">또한 경부선 무궁화호 시간표를 보면 서울과 부산을 잇는 장거리 노선 외에도 대전역~부산역, 동대구역~부산역, 동대구역~서울역, 대전역~서울역 등 주요 거점을 연결하는 구간 열차가 촘촘하게 배차되어 있습니다. 천안역, 조치원역, 왜관역, <a href="https://krailroad.co.kr/%ea%b5%ac%ed%8f%ac%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b6%80%ec%82%b0%c2%b7%ec%84%9c%ec%9a%b8-%eb%b0%a9%eb%a9%b4-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84/">구포역</a> 등 고속열차가 정차하지 않는 지역 주민들에게 무궁화호는 없어서는 안 될 소중한 발인데요. KTX보다 확연히 저렴한 요금과 넓은 좌석 덕분에 가성비를 중시하는 대학생들이나 어르신들에게 꾸준히 선택받고 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>경부선 무궁화호 시간표 안내</strong></h2>



<h3 class="wp-block-heading">실시간 공공 API 호출 데이터</h3>



<p class="wp-block-paragraph">경부선 무궁화호 시간표를 역사 승강장 입구에 설치된 안내판을 뚫어지게 쳐다보며 내 열차가 언제 오나 확인할 필요가 없으며, <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 자료와 연동되어 실시간으로 업데이트되는 아래 정보를 활용하면 오늘 하루 내가 가고자 하는 역의 출발과 도착, 경부선 무궁화호 시간표 전체와 출발 15분전부터 출발임박까지 스마트폰으로 바로 체크할 수 있는데요. 특히 상단 메뉴에서 음성 기능을 활성화하면 기차 진입 15분 전부터 자동으로 안내 메시지를 송출하므로, 시각 정보 확인이 어려운 분들이나 다른 용무를 보면서도 편리하게 열차를 이용할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">세대교체와 경부선 철길의 변화</h3>



<p class="wp-block-paragraph">일제강점기 수탈의 도구에서 해방 후 경제 성장의 중추로 변모해온 경부선은 현재 노후 차량 퇴역과 함께 <a href="https://krailroad.co.kr/%ec%84%9c%ec%9a%b8%ec%97%ad-%eb%b6%80%ec%82%b0%ec%97%ad-ktx-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%a4%ec%8b%9c%ea%b0%84-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%99%95%eb%b3%b5/">서울역~부산역 구간이 ITX-마음</a> 등으로 점차 바뀌고 있습니다. 하지만 여전히 무궁화호는 지역 간 교류를 잇는 핵심 역할을 수행 중인데요. 아래 마련된 검색 기능을 사용하면 서울 부산 기차 요금의 등급별 비교와 서울역 주차장 위치, 부산역 광장의 버스 도착 상황까지 한 화면에서 확인할 수 있어 훨씬 스마트하게 움직일 수 있습니다.<br><br>단순히 기차를 타는 정보뿐만 아니라 역 주변 맛집 리스트와 기상 데이터도 함께 연동되어 있어 도착 후 일정을 짜는 데 참고하기 좋습니다. 정교하게 설계된 실시간 API 검색 기능을 이정표 삼아, 서울과 부산을 오가는 길에 정확한 데이터를 활용할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부산 ↔&nbsp;서울 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">부산<br>↓<br>서울</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1152호</span><div class="time-display">05:37</div><div class="arrival-info">11:15 도착</div></td><td><span class="train-detail">1162호</span><div class="time-display">15:17</div><div class="arrival-info">21:08 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">동대구<br>↓<br>서울</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1152호</span><div class="time-display">07:08</div><div class="arrival-info">11:15 도착</div></td><td><span class="train-detail">1162호</span><div class="time-display">16:54</div><div class="arrival-info">21:08 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">대전<br>↓<br>서울</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1172호</span><div class="time-display">05:28</div><div class="arrival-info">07:40 도착</div></td><td><span class="train-detail">1178호</span><div class="time-display">21:43</div><div class="arrival-info">23:53 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">서울<br>↓<br>부산</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1151호</span><div class="time-display">06:37</div><div class="arrival-info">12:11 도착</div></td><td><span class="train-detail">1161호</span><div class="time-display">14:49</div><div class="arrival-info">20:08 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">대전<br>↓<br>부산</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1193호</span><div class="time-display">05:22</div><div class="arrival-info">08:57 도착</div></td><td><span class="train-detail">1199호</span><div class="time-display">18:06</div><div class="arrival-info">21:50 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">동대구<br>↓<br>부산</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1191호</span><div class="time-display">06:00</div><div class="arrival-info">07:40 도착</div></td><td><span class="train-detail">1199호</span><div class="time-display">20:21</div><div class="arrival-info">21:50 도착</div></td></tr></tbody></table></div>


    
    <h2>서울 ↔ 부산 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                42,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">경주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                59,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                71,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                83,700원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">구포</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                53,900원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                75,500원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구,경주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                59,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                83,200원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구,구포</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                53,500원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                74,900원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">수원,경주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                48,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                68,300원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                28,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부산 →&nbsp;서울 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>부산</th><th>사상</th><th>구포</th><th>화명</th><th>물금</th><th>원동</th><th>삼랑진</th><th>밀양</th><th>상동</th><th>청도</th><th>남성현</th><th>경산</th><th>동대구</th><th>대구</th><th>왜관</th><th>약목</th><th>구미</th><th>김천</th><th>추풍령</th><th>황간</th><th>영동</th><th>심천</th><th>이원</th><th>옥천</th><th>대전</th><th>신탄진</th><th>부강</th><th>조치원</th><th>전의</th><th>천안</th><th>평택</th><th>수원</th><th>안양</th><th>영등포</th><th>서울</th></tr></thead><tbody><tr><td>1152</td><td>무궁화</td><td>05:37</td><td></td><td>05:51</td><td>05:56</td><td>06:04</td><td></td><td>06:17</td><td>06:27</td><td></td><td>06:41</td><td></td><td>06:57</td><td>07:08</td><td>07:14</td><td>07:33</td><td>07:40</td><td>07:50</td><td>08:07</td><td>08:21</td><td></td><td>08:38</td><td></td><td>08:52</td><td></td><td>09:11</td><td>09:22</td><td></td><td>09:39</td><td></td><td>10:01</td><td>10:20</td><td>10:42</td><td></td><td>11:04</td><td>11:15</td></tr><tr><td>1154</td><td>무궁화</td><td>06:31</td><td>06:42</td><td>06:48</td><td>06:53</td><td>07:01</td><td></td><td>07:14</td><td>07:24</td><td></td><td>07:37</td><td></td><td>07:53</td><td>08:04</td><td>08:10</td><td>08:29</td><td>08:36</td><td>08:46</td><td>09:03</td><td>09:18</td><td></td><td>09:36</td><td></td><td></td><td>09:55</td><td>10:10</td><td>10:22</td><td>10:32</td><td>10:41</td><td></td><td>11:03</td><td>11:17</td><td>11:38</td><td></td><td>12:00</td><td>12:11</td></tr><tr><td>1156</td><td>무궁화</td><td>09:42</td><td></td><td>09:56</td><td>10:01</td><td>10:09</td><td></td><td>10:21</td><td>10:31</td><td>10:39</td><td>10:48</td><td>11:01</td><td>11:14</td><td>11:25</td><td>11:32</td><td>11:50</td><td></td><td>12:03</td><td>12:19</td><td></td><td>12:38</td><td>12:50</td><td></td><td></td><td>13:09</td><td>13:22</td><td>13:33</td><td></td><td>13:50</td><td></td><td>14:13</td><td>14:26</td><td>14:47</td><td></td><td>15:12</td><td>15:24</td></tr><tr><td>1158</td><td>무궁화</td><td>12:35</td><td></td><td>12:50</td><td></td><td>12:59</td><td>13:07</td><td>13:15</td><td>13:25</td><td></td><td>13:39</td><td>13:47</td><td>13:58</td><td>14:09</td><td>14:15</td><td>14:34</td><td></td><td>14:48</td><td>15:05</td><td>15:19</td><td></td><td>15:36</td><td></td><td></td><td>15:55</td><td>16:09</td><td>16:20</td><td></td><td>16:37</td><td></td><td>16:58</td><td>17:13</td><td>17:34</td><td>17:47</td><td>17:59</td><td>18:10</td></tr><tr><td>1160</td><td>무궁화</td><td>13:36</td><td></td><td>13:50</td><td></td><td>13:59</td><td></td><td>14:12</td><td>14:22</td><td></td><td>14:35</td><td></td><td>14:51</td><td>15:02</td><td>15:09</td><td>15:28</td><td></td><td>15:42</td><td>15:59</td><td></td><td>16:18</td><td>16:34</td><td>16:44</td><td>16:53</td><td>17:01</td><td>17:16</td><td>17:28</td><td>17:39</td><td>17:48</td><td>17:59</td><td>18:12</td><td>18:26</td><td>18:48</td><td>19:01</td><td>19:14</td><td>19:25</td></tr><tr><td>1162</td><td>무궁화</td><td>15:17</td><td></td><td>15:31</td><td>15:36</td><td>15:49</td><td></td><td>16:03</td><td>16:13</td><td></td><td>16:27</td><td></td><td>16:43</td><td>16:54</td><td>17:01</td><td>17:20</td><td></td><td>17:34</td><td>17:51</td><td></td><td>18:10</td><td>18:22</td><td></td><td></td><td>18:41</td><td>18:55</td><td>19:07</td><td>19:17</td><td>19:26</td><td>19:37</td><td>19:51</td><td>20:05</td><td>20:31</td><td></td><td>20:57</td><td>21:08</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동대구 →&nbsp;서울 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>동대구</th><th>대구</th><th>왜관</th><th>약목</th><th>구미</th><th>김천</th><th>추풍령</th><th>황간</th><th>영동</th><th>심천</th><th>이원</th><th>옥천</th><th>대전</th><th>신탄진</th><th>부강</th><th>조치원</th><th>전의</th><th>천안</th><th>평택</th><th>수원</th><th>안양</th><th>영등포</th><th>서울</th></tr></thead><tbody><tr><td>1152</td><td>무궁화</td><td>07:08</td><td>07:14</td><td>07:33</td><td>07:40</td><td>07:50</td><td>08:07</td><td>08:21</td><td></td><td>08:38</td><td></td><td>08:52</td><td></td><td>09:11</td><td>09:22</td><td></td><td>09:39</td><td></td><td>10:01</td><td>10:20</td><td>10:42</td><td></td><td>11:04</td><td>11:15</td></tr><tr><td>1154</td><td>무궁화</td><td>08:04</td><td>08:10</td><td>08:29</td><td>08:36</td><td>08:46</td><td>09:03</td><td>09:18</td><td></td><td>09:36</td><td></td><td></td><td>09:55</td><td>10:10</td><td>10:22</td><td>10:32</td><td>10:41</td><td></td><td>11:03</td><td>11:17</td><td>11:38</td><td></td><td>12:00</td><td>12:11</td></tr><tr><td>1156</td><td>무궁화</td><td>11:25</td><td>11:32</td><td>11:50</td><td></td><td>12:03</td><td>12:19</td><td></td><td>12:38</td><td>12:50</td><td></td><td></td><td>13:09</td><td>13:22</td><td>13:33</td><td></td><td>13:50</td><td></td><td>14:13</td><td>14:26</td><td>14:47</td><td></td><td>15:12</td><td>15:24</td></tr><tr><td>1158</td><td>무궁화</td><td>14:09</td><td>14:15</td><td>14:34</td><td></td><td>14:48</td><td>15:05</td><td>15:19</td><td></td><td>15:36</td><td></td><td></td><td>15:55</td><td>16:09</td><td>16:20</td><td></td><td>16:37</td><td></td><td>16:58</td><td>17:13</td><td>17:34</td><td>17:47</td><td>17:59</td><td>18:10</td></tr><tr><td>1160</td><td>무궁화</td><td>15:02</td><td>15:09</td><td>15:28</td><td></td><td>15:42</td><td>15:59</td><td></td><td>16:18</td><td>16:34</td><td>16:44</td><td>16:53</td><td>17:01</td><td>17:16</td><td>17:28</td><td>17:39</td><td>17:48</td><td>17:59</td><td>18:12</td><td>18:26</td><td>18:48</td><td>19:01</td><td>19:14</td><td>19:25</td></tr><tr><td>1162</td><td>무궁화</td><td>16:54</td><td>17:01</td><td>17:20</td><td></td><td>17:34</td><td>17:51</td><td></td><td>18:10</td><td>18:22</td><td></td><td></td><td>18:41</td><td>18:55</td><td>19:07</td><td>19:17</td><td>19:26</td><td>19:37</td><td>19:51</td><td>20:05</td><td>20:31</td><td></td><td>20:57</td><td>21:08</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">대전 →&nbsp;서울 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>대전</th><th>신탄진</th><th>부강</th><th>조치원</th><th>전의</th><th>천안</th><th>성환</th><th>평택</th><th>서정리</th><th>오산</th><th>수원</th><th>안양</th><th>영등포</th><th>서울</th></tr></thead><tbody><tr><td>1172</td><td>무궁화</td><td>05:28</td><td>05:41</td><td>05:50</td><td>06:00</td><td>06:11</td><td>06:25</td><td></td><td>06:39</td><td></td><td></td><td>07:02</td><td>07:16</td><td>07:29</td><td>07:40</td></tr><tr><td>1174</td><td>무궁화</td><td>06:30</td><td>06:42</td><td></td><td>06:59</td><td></td><td>07:21</td><td>07:30</td><td>07:39</td><td>07:47</td><td>07:54</td><td>08:07</td><td>08:20</td><td>08:35</td><td>08:47</td></tr><tr><td>1176</td><td>무궁화</td><td>08:00</td><td>08:12</td><td>08:23</td><td>08:32</td><td>08:46</td><td>09:00</td><td>09:09</td><td>09:16</td><td></td><td></td><td>09:37</td><td></td><td>09:59</td><td>10:10</td></tr><tr><td>1152</td><td>무궁화</td><td>09:11</td><td>09:22</td><td></td><td>09:39</td><td></td><td>10:01</td><td></td><td>10:20</td><td></td><td></td><td>10:42</td><td></td><td>11:04</td><td>11:15</td></tr><tr><td>1154</td><td>무궁화</td><td>10:10</td><td>10:22</td><td>10:32</td><td>10:41</td><td></td><td>11:03</td><td></td><td>11:17</td><td></td><td></td><td>11:38</td><td></td><td>12:00</td><td>12:11</td></tr><tr><td>1156</td><td>무궁화</td><td>13:22</td><td>13:33</td><td></td><td>13:50</td><td></td><td>14:13</td><td></td><td>14:26</td><td></td><td></td><td>14:47</td><td></td><td>15:12</td><td>15:24</td></tr><tr><td>1158</td><td>무궁화</td><td>16:09</td><td>16:20</td><td></td><td>16:37</td><td></td><td>16:58</td><td></td><td>17:13</td><td></td><td></td><td>17:34</td><td>17:47</td><td>17:59</td><td>18:10</td></tr><tr><td>1160</td><td>무궁화</td><td>17:16</td><td>17:28</td><td>17:39</td><td>17:48</td><td>17:59</td><td>18:12</td><td></td><td>18:26</td><td></td><td></td><td>18:48</td><td>19:01</td><td>19:14</td><td>19:25</td></tr><tr><td>1162</td><td>무궁화</td><td>18:55</td><td>19:07</td><td>19:17</td><td>19:26</td><td>19:37</td><td>19:51</td><td></td><td>20:05</td><td></td><td></td><td>20:31</td><td></td><td>20:57</td><td>21:08</td></tr><tr><td>1178</td><td>무궁화</td><td>21:43</td><td>21:56</td><td>22:06</td><td>22:16</td><td></td><td>22:38</td><td></td><td>22:52</td><td></td><td></td><td>23:14</td><td>23:27</td><td>23:42</td><td>23:53</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">서울 →&nbsp;부산 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>서울</th><th>영등포</th><th>안양</th><th>수원</th><th>오산</th><th>평택</th><th>천안</th><th>전의</th><th>조치원</th><th>부강</th><th>신탄진</th><th>대전</th><th>옥천</th><th>심천</th><th>영동</th><th>황간</th><th>추풍령</th><th>김천</th><th>구미</th><th>약목</th><th>왜관</th><th>신동</th><th>대구</th><th>동대구</th><th>경산</th><th>남성현</th><th>청도</th><th>상동</th><th>밀양</th><th>삼랑진</th><th>원동</th><th>물금</th><th>화명</th><th>구포</th><th>부산</th></tr></thead><tbody><tr><td>1151</td><td>무궁화</td><td>06:37</td><td>06:48</td><td>07:00</td><td>07:14</td><td>07:25</td><td>07:37</td><td>07:56</td><td></td><td>08:19</td><td></td><td></td><td>08:45</td><td></td><td></td><td>09:19</td><td></td><td></td><td>09:48</td><td>10:05</td><td></td><td>10:19</td><td></td><td>10:40</td><td>10:46</td><td>10:56</td><td></td><td>11:12</td><td></td><td>11:26</td><td></td><td></td><td>11:46</td><td>11:53</td><td>11:58</td><td>12:11</td></tr><tr><td>1153</td><td>무궁화</td><td>07:16</td><td>07:28</td><td></td><td>07:52</td><td>08:03</td><td>08:15</td><td>08:29</td><td></td><td>08:51</td><td>09:00</td><td></td><td>09:21</td><td>09:33</td><td></td><td>09:53</td><td></td><td>10:09</td><td>10:25</td><td>10:41</td><td></td><td>10:55</td><td></td><td>11:15</td><td>11:22</td><td>11:37</td><td>11:53</td><td>12:02</td><td></td><td>12:16</td><td>12:26</td><td></td><td>12:39</td><td></td><td>12:48</td><td>13:01</td></tr><tr><td>1155</td><td>무궁화</td><td>07:54</td><td>08:07</td><td>08:20</td><td>08:34</td><td></td><td>08:54</td><td>09:08</td><td></td><td>09:33</td><td></td><td>09:50</td><td>10:04</td><td>10:16</td><td>10:29</td><td>10:40</td><td></td><td>10:56</td><td>11:11</td><td>11:27</td><td>11:38</td><td>11:44</td><td></td><td>12:03</td><td>12:10</td><td>12:25</td><td></td><td>12:41</td><td></td><td>12:55</td><td>13:10</td><td></td><td>13:24</td><td></td><td>13:33</td><td>13:46</td></tr><tr><td>1157</td><td>무궁화</td><td>13:04</td><td>13:17</td><td></td><td>13:41</td><td></td><td>14:01</td><td>14:15</td><td></td><td>14:37</td><td></td><td>14:55</td><td>15:12</td><td>15:24</td><td>15:38</td><td>15:48</td><td>16:00</td><td>16:08</td><td>16:23</td><td>16:39</td><td></td><td>16:53</td><td>17:02</td><td>17:15</td><td>17:21</td><td>17:31</td><td></td><td>17:47</td><td>17:56</td><td>18:10</td><td>18:21</td><td>18:29</td><td>18:37</td><td></td><td>18:46</td><td>18:59</td></tr><tr><td>1159</td><td>무궁화</td><td>14:04</td><td>14:18</td><td></td><td>14:41</td><td></td><td>15:01</td><td>15:15</td><td>15:29</td><td>15:40</td><td></td><td>15:56</td><td>16:10</td><td>16:22</td><td></td><td>16:42</td><td></td><td></td><td>17:10</td><td>17:27</td><td></td><td>17:41</td><td></td><td>18:00</td><td>18:06</td><td>18:21</td><td></td><td>18:37</td><td>18:46</td><td>18:54</td><td>19:04</td><td></td><td>19:17</td><td></td><td>19:26</td><td>19:39</td></tr><tr><td>1161</td><td>무궁화</td><td>14:49</td><td>15:00</td><td></td><td>15:23</td><td></td><td>15:42</td><td>15:56</td><td></td><td>16:18</td><td></td><td>16:34</td><td>16:47</td><td></td><td></td><td>17:16</td><td></td><td></td><td>17:44</td><td>18:00</td><td></td><td>18:14</td><td></td><td>18:34</td><td>18:40</td><td>18:51</td><td></td><td>19:06</td><td>19:15</td><td>19:23</td><td>19:33</td><td></td><td>19:46</td><td></td><td>19:55</td><td>20:08</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">대전 →&nbsp;부산 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>대전</th><th>옥천</th><th>심천</th><th>영동</th><th>황간</th><th>추풍령</th><th>김천</th><th>구미</th><th>약목</th><th>왜관</th><th>신동</th><th>대구</th><th>동대구</th><th>경산</th><th>남성현</th><th>청도</th><th>상동</th><th>밀양</th><th>삼랑진</th><th>원동</th><th>물금</th><th>화명</th><th>구포</th><th>부산</th></tr></thead><tbody><tr><td>1193</td><td>무궁화</td><td>05:22</td><td>05:34</td><td></td><td>05:53</td><td></td><td></td><td>06:21</td><td>06:38</td><td>06:50</td><td>06:56</td><td>07:05</td><td>07:19</td><td>07:25</td><td>07:35</td><td></td><td>07:51</td><td>08:00</td><td>08:08</td><td>08:19</td><td>08:26</td><td>08:35</td><td></td><td>08:44</td><td>08:57</td></tr><tr><td>1195</td><td>무궁화</td><td>06:25</td><td>06:37</td><td></td><td>06:56</td><td>07:07</td><td>07:15</td><td>07:30</td><td>07:47</td><td>07:57</td><td>08:04</td><td>08:12</td><td>08:26</td><td>08:32</td><td>08:43</td><td></td><td>08:59</td><td>09:08</td><td>09:16</td><td>09:26</td><td></td><td>09:39</td><td></td><td>09:49</td><td>10:03</td></tr><tr><td>1197</td><td>무궁화</td><td>07:15</td><td>07:27</td><td></td><td>07:46</td><td></td><td></td><td>08:14</td><td>08:31</td><td>08:42</td><td>08:48</td><td></td><td>09:08</td><td>09:14</td><td>09:24</td><td></td><td>09:40</td><td></td><td>09:54</td><td>10:04</td><td></td><td>10:17</td><td></td><td>10:26</td><td>10:39</td></tr><tr><td>1151</td><td>무궁화</td><td>08:45</td><td></td><td></td><td>09:19</td><td></td><td></td><td>09:48</td><td>10:05</td><td></td><td>10:19</td><td></td><td>10:40</td><td>10:46</td><td>10:56</td><td></td><td>11:12</td><td></td><td>11:26</td><td></td><td></td><td>11:46</td><td>11:53</td><td>11:58</td><td>12:11</td></tr><tr><td>1153</td><td>무궁화</td><td>09:21</td><td>09:33</td><td></td><td>09:53</td><td></td><td>10:09</td><td>10:25</td><td>10:41</td><td></td><td>10:55</td><td></td><td>11:15</td><td>11:22</td><td>11:37</td><td>11:53</td><td>12:02</td><td></td><td>12:16</td><td>12:26</td><td></td><td>12:39</td><td></td><td>12:48</td><td>13:01</td></tr><tr><td>1155</td><td>무궁화</td><td>10:04</td><td>10:16</td><td>10:29</td><td>10:40</td><td></td><td>10:56</td><td>11:11</td><td>11:27</td><td>11:38</td><td>11:44</td><td></td><td>12:03</td><td>12:10</td><td>12:25</td><td></td><td>12:41</td><td></td><td>12:55</td><td>13:10</td><td></td><td>13:24</td><td></td><td>13:33</td><td>13:46</td></tr><tr><td>1157</td><td>무궁화</td><td>15:12</td><td>15:24</td><td>15:38</td><td>15:48</td><td>16:00</td><td>16:08</td><td>16:23</td><td>16:39</td><td></td><td>16:53</td><td>17:02</td><td>17:15</td><td>17:21</td><td>17:31</td><td></td><td>17:47</td><td>17:56</td><td>18:10</td><td>18:21</td><td>18:29</td><td>18:37</td><td></td><td>18:46</td><td>18:59</td></tr><tr><td>1159</td><td>무궁화</td><td>16:10</td><td>16:22</td><td></td><td>16:42</td><td></td><td></td><td>17:10</td><td>17:27</td><td></td><td>17:41</td><td></td><td>18:00</td><td>18:06</td><td>18:21</td><td></td><td>18:37</td><td>18:46</td><td>18:54</td><td>19:04</td><td></td><td>19:17</td><td></td><td>19:26</td><td>19:39</td></tr><tr><td>1161</td><td>무궁화</td><td>16:47</td><td></td><td></td><td>17:16</td><td></td><td></td><td>17:44</td><td>18:00</td><td></td><td>18:14</td><td></td><td>18:34</td><td>18:40</td><td>18:51</td><td></td><td>19:06</td><td>19:15</td><td>19:23</td><td>19:33</td><td></td><td>19:46</td><td></td><td>19:55</td><td>20:08</td></tr><tr><td>1199</td><td>무궁화</td><td>18:06</td><td>18:18</td><td>18:31</td><td>18:41</td><td>18:52</td><td>19:00</td><td>19:16</td><td>19:32</td><td>19:48</td><td>19:55</td><td></td><td>20:15</td><td>20:21</td><td>20:31</td><td></td><td>20:47</td><td>20:57</td><td>21:05</td><td>21:15</td><td></td><td>21:28</td><td></td><td>21:37</td><td>21:50</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동대구 →&nbsp;부산 무궁화호 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>동대구</th><th>경산</th><th>남성현</th><th>청도</th><th>상동</th><th>밀양</th><th>삼랑진</th><th>원동</th><th>물금</th><th>화명</th><th>구포</th><th>사상</th><th>부산</th></tr></thead><tbody><tr><td>1191</td><td>무궁화</td><td>06:00</td><td>06:11</td><td>06:22</td><td>06:30</td><td>06:39</td><td>06:47</td><td>06:57</td><td>07:04</td><td>07:12</td><td>07:19</td><td>07:24</td><td>07:30</td><td>07:40</td></tr><tr><td>1193</td><td>무궁화</td><td>07:25</td><td>07:35</td><td></td><td>07:51</td><td>08:00</td><td>08:08</td><td>08:19</td><td>08:26</td><td>08:35</td><td></td><td>08:44</td><td></td><td>08:57</td></tr><tr><td>1195</td><td>무궁화</td><td>08:32</td><td>08:43</td><td></td><td>08:59</td><td>09:08</td><td>09:16</td><td>09:26</td><td></td><td>09:39</td><td></td><td>09:49</td><td></td><td>10:03</td></tr><tr><td>1197</td><td>무궁화</td><td>09:14</td><td>09:24</td><td></td><td>09:40</td><td></td><td>09:54</td><td>10:04</td><td></td><td>10:17</td><td></td><td>10:26</td><td></td><td>10:39</td></tr><tr><td>1151</td><td>무궁화</td><td>10:46</td><td>10:56</td><td></td><td>11:12</td><td></td><td>11:26</td><td></td><td></td><td>11:46</td><td>11:53</td><td>11:58</td><td></td><td>12:11</td></tr><tr><td>1153</td><td>무궁화</td><td>11:22</td><td>11:37</td><td>11:53</td><td>12:02</td><td></td><td>12:16</td><td>12:26</td><td></td><td>12:39</td><td></td><td>12:48</td><td></td><td>13:01</td></tr><tr><td>1155</td><td>무궁화</td><td>12:10</td><td>12:25</td><td></td><td>12:41</td><td></td><td>12:55</td><td>13:10</td><td></td><td>13:24</td><td></td><td>13:33</td><td></td><td>13:46</td></tr><tr><td>1157</td><td>무궁화</td><td>17:21</td><td>17:31</td><td></td><td>17:47</td><td>17:56</td><td>18:10</td><td>18:21</td><td>18:29</td><td>18:37</td><td></td><td>18:46</td><td></td><td>18:59</td></tr><tr><td>1159</td><td>무궁화</td><td>18:06</td><td>18:21</td><td></td><td>18:37</td><td>18:46</td><td>18:54</td><td>19:04</td><td></td><td>19:17</td><td></td><td>19:26</td><td></td><td>19:39</td></tr><tr><td>1161</td><td>무궁화</td><td>18:40</td><td>18:51</td><td></td><td>19:06</td><td>19:15</td><td>19:23</td><td>19:33</td><td></td><td>19:46</td><td></td><td>19:55</td><td></td><td>20:08</td></tr><tr><td>1199</td><td>무궁화</td><td>20:21</td><td>20:31</td><td></td><td>20:47</td><td>20:57</td><td>21:05</td><td>21:15</td><td></td><td>21:28</td><td></td><td>21:37</td><td></td><td>21:50</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">서울역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">서울역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '11';
            let curName = '서울';
            let altCity = '21';
            let altName = '부산';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">서울역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">17℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">서울역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A7%A5%EB%8F%84%EB%82%A0%EB%93%9C+%EC%84%9C%EC%9A%B8%EC%97%AD%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%EB%8F%99%EC%9E%90%EB%8F%99+43-205+%EC%84%9C%EC%9A%B8%EC%97%AD%28%EC%B2%A0%EB%8F%84%EC%97%AD%29" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">맥도날드 서울역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 동자동 43-205 서울역(철도역)</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%8F%85%EB%A6%BD%EB%B0%80%EB%B0%A9+%EC%84%9C%EC%9A%B8%EC%97%AD+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%EB%8F%99%EC%9E%90%EB%8F%99+43-205+%EC%84%9C%EC%9A%B8%EC%97%AD%EC%82%AC+4%EC%B8%B5+%EB%8F%85%EB%A6%BD%EB%B0%80%EB%B0%A9" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">독립밀방 서울역</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;양식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 동자동 43-205 서울역사 4층 독립밀방</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A1%AF%EB%8D%B0%EB%A6%AC%EC%95%84+%EC%84%9C%EC%9A%B8%EC%97%AD%EC%82%AC%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%EB%8F%99%EC%9E%90%EB%8F%99+43-205+109%ED%98%B8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">롯데리아 서울역사점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 동자동 43-205 109호</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%8C%8C%EB%A6%AC%ED%81%AC%EB%9D%BC%EC%83%81+%EC%84%9C%EC%9A%B8%EC%97%AD%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%EB%8F%99%EC%9E%90%EB%8F%99+43-205+2%EC%B8%B5+108%ED%98%B8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">파리크라상 서울역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 동자동 43-205 2층 108호</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EA%B0%80%EB%A9%94%EA%B3%A8%EC%86%90%EC%99%95%EB%A7%8C%EB%91%90+%EB%82%A8%EB%8C%80%EB%AC%B8%EB%B3%B8%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%A4%91%EA%B5%AC+%EB%82%A8%EC%B0%BD%EB%8F%99+60-2" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">가메골손왕만두 남대문본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">분식&gt;만두</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 중구 남창동 60-2</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">서울역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 서울역 KTX빌딩                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">2,400원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">800원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">25,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 서울특별시 용산구 동자동 43-230<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 02-6952-8100                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">서울역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 서울특별시 용산구 동자동 43-230</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:02-6952-8100" style="color: #0052a4; font-weight: bold; text-decoration: none;">02-6952-8100</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%84%9C%EC%9A%B8%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/경부선-무궁화호-시간표-서울역-대전역-동대구역-부산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="경부선-무궁화호-시간표-서울역-대전역-동대구역-부산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20525" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/경부선-무궁화호-시간표-서울역-대전역-동대구역-부산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/경부선-무궁화호-시간표-서울역-대전역-동대구역-부산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/경부선-무궁화호-시간표-서울역-대전역-동대구역-부산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>익산역~용산역 장항선 새마을호 시간표 최신 실시간 요금 총정리</title>
		<link>https://krailroad.co.kr/%ec%9d%b5%ec%82%b0%ec%97%ad%ec%9a%a9%ec%82%b0%ec%97%ad-%ec%9e%a5%ed%95%ad%ec%84%a0-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b5%9c%ec%8b%a0-%ec%8b%a4%ec%8b%9c%ea%b0%84/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Tue, 14 Apr 2026 00:13:42 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[장항선 새마을호 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20471</guid>

					<description><![CDATA[1922년 충남선이라는 이름으로 개통한 이후, 장항선 새마을호 시간표와 무궁화호 시간표를 이용한 이동 노선으로 서부권의 굴곡진 해안선과 황금빛 들판을 지켜온 역사의 산증인입니다. 고속화에만 매몰된 다른 간선철도와 달리, 창밖으로 흐르는 정겨운 마을 풍경과 서해의 낙조를 오롯이 담아낼 수 있는 노선으로, 현재는 기술적 진보를 이룬 ITX-마음이 바통을 이어받아, 아날로그적 감성과 현대적 편의성이 공존하는 독특한 여행의 맛을 선사하고 있습니다. ... <a title="익산역~용산역 장항선 새마을호 시간표 최신 실시간 요금 총정리" class="read-more button" href="https://krailroad.co.kr/%ec%9d%b5%ec%82%b0%ec%97%ad%ec%9a%a9%ec%82%b0%ec%97%ad-%ec%9e%a5%ed%95%ad%ec%84%a0-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b5%9c%ec%8b%a0-%ec%8b%a4%ec%8b%9c%ea%b0%84/" aria-label="익산역~용산역 장항선 새마을호 시간표 최신 실시간 요금 총정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">1922년 충남선이라는 이름으로 개통한 이후, 장항선 새마을호 시간표와 무궁화호 시간표를 이용한 이동 노선으로 서부권의 굴곡진 해안선과 황금빛 들판을 지켜온 역사의 산증인입니다. 고속화에만 매몰된 다른 간선철도와 달리, 창밖으로 흐르는 정겨운 마을 풍경과 서해의 낙조를 오롯이 담아낼 수 있는 노선으로, 현재는 기술적 진보를 이룬 ITX-마음이 바통을 이어받아, 아날로그적 감성과 현대적 편의성이 공존하는 독특한 여행의 맛을 선사하고 있습니다.</p>



<p class="wp-block-paragraph">아래 장항선 새마을호 시간표는 역사 대합실의 복잡한 안내 문구에 시선을 뺏기거나 개인 블로그에 적힌 낡은 기록을 대조하며 시간을 낭비할 필요가 없이, 직접 제작한 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a>의 기술 엔진과 공공데이터망을 실시간으로 동기화한 시스템을 통해, 지금 내가 탈 기차가 몇분뒤 도착하는지 실시간 위치값을 손쉽게 파악할 수 있으며, 특히 집중이 필요하거나 다른 용무를 보시는 분들을 위해, 열차 진입 15분 전 알림 설정을 도입하여 승강장으로 이동할때 시간에 구애 받지 않고 이용하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>장항선 새마을호 시간표 총정리</strong></h2>



<h3 class="wp-block-heading">용산에서 시작되는 서쪽 철길</h3>



<p class="wp-block-paragraph">장항선 여행의 독특한 시작점은 서울역이 아닌 용산역입니다. 수도권 핵심에서 출발해 충청도와 전라북도를 관통하는 이 노선은, KTX가 닿지 않는 지형적 특성 덕분에 오히려 기차 여행 특유의 호젓함을 유지하고 있는데요. 특히 세계에서 유일하게 온돌마루 객실을 운영하는 &#8216;서해금빛열차&#8217;는 오직 이 선로에서만 만끽할 수 있으며, 빠르게 스쳐 지나는 풍경 대신, 눈동자에 천천히 머무는 서해안의 사계절을 감상하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">현지 일상으로 연결되는 데이터</h3>



<p class="wp-block-paragraph">현재 장항선은 고속화 사업을 통해 새로운 도약을 앞두고 있으며, 가까운 미래에는 이동 시간이 대폭 줄어들겠지만, 여행의 질을 결정하는 것은 여전히 도착하기전 미리 역주변 관련 자료로 아래 장항선 새마을호 시간표 자료들은 열차의 위치 정보는 물론, 용산역, <a href="https://krailroad.co.kr/%ec%9d%b5%ec%82%b0%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84-itx-%eb%a7%88%ec%9d%8c-%ec%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac-%ec%97%ac%ec%88%98-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ed%98%b8%eb%82%a8/">익산역</a> 내 유휴 주차 공간 확인부터 대천역 앞 버스 정류장의 실시간 도착 예보, 그리고 지역 주민들만 아는 숨은 미식 정보까지 하나의 흐름으로 통합하였으니 큰 불편함없이 정확한 데이터를 이용하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">익산 ↔ 용산 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">익산<br>↓<br>용산</td><td><span class="type-label type-default">새마을</span></td><td><span class="train-detail">1202호</span><div class="time-display">05:54</div><div class="arrival-info">09:36 도착</div></td><td><span class="train-detail">1210호</span><div class="time-display">19:10</div><div class="arrival-info">22:48 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">용산<br>↓<br>익산</td><td><span class="type-label type-default">새마을</span></td><td><span class="train-detail">1201호</span><div class="time-display">09:14</div><div class="arrival-info">12:49 도착</div></td><td><span class="train-detail">1209호</span><div class="time-display">17:52</div><div class="arrival-info">21:27 도착</div></td></tr></tbody></table></div>


    
    <h2>익산 ↔ 용산 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                23,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                23,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                23,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                23,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">공주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                32,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                38,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                44,800원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">공주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                32,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                44,800원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">김제,장성</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                30,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                42,800원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대전</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                30,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                42,800원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                16,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                16,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                16,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                15,900원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">익산 → 용산 새마을 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>익산</th><th>군산</th><th>장항</th><th>서천</th><th>웅천</th><th>대천</th><th>광천</th><th>홍성</th><th>삽교</th><th>예산</th><th>신례원</th><th>온양온천</th><th>아산</th><th>천안</th><th>평택</th><th>수원</th><th>영등포</th><th>용산</th></tr></thead><tbody><tr><td>1202</td><td>새마을</td><td>05:54</td><td>06:13</td><td>06:21</td><td>06:27</td><td>06:42</td><td>06:53</td><td>07:11</td><td>07:24</td><td>07:35</td><td>07:44</td><td>07:51</td><td>08:06</td><td>08:14</td><td>08:22</td><td>08:40</td><td>09:02</td><td>09:27</td><td>09:36</td></tr><tr><td>1204</td><td>새마을</td><td>08:02</td><td>08:22</td><td>08:29</td><td>08:35</td><td>08:51</td><td>09:03</td><td>09:20</td><td>09:34</td><td>09:45</td><td>09:54</td><td>10:01</td><td>10:16</td><td>10:25</td><td>10:32</td><td>10:50</td><td>11:11</td><td>11:34</td><td>11:43</td></tr><tr><td>1206</td><td>새마을</td><td>09:44</td><td>10:03</td><td>10:11</td><td>10:17</td><td>10:31</td><td>10:42</td><td>11:00</td><td>11:13</td><td></td><td>11:30</td><td></td><td>11:48</td><td>11:57</td><td>12:04</td><td>12:22</td><td>12:44</td><td>13:07</td><td>13:16</td></tr><tr><td>1208</td><td>새마을</td><td>14:19</td><td>14:38</td><td>14:46</td><td>14:52</td><td>15:07</td><td>15:18</td><td>15:35</td><td>15:49</td><td></td><td>16:05</td><td></td><td>16:24</td><td>16:32</td><td>16:40</td><td></td><td>17:17</td><td>17:42</td><td>17:51</td></tr><tr><td>1210</td><td>새마을</td><td>19:10</td><td>19:29</td><td>19:37</td><td>19:43</td><td>19:58</td><td>20:09</td><td>20:30</td><td>20:43</td><td></td><td>21:00</td><td></td><td>21:18</td><td>21:27</td><td>21:34</td><td></td><td>22:09</td><td>22:39</td><td>22:48</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">용산 → 익산 새마을 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>용산</th><th>영등포</th><th>수원</th><th>평택</th><th>천안</th><th>아산</th><th>온양온천</th><th>신례원</th><th>예산</th><th>삽교</th><th>홍성</th><th>광천</th><th>대천</th><th>웅천</th><th>서천</th><th>장항</th><th>군산</th><th>익산</th></tr></thead><tbody><tr><td>1201</td><td>새마을</td><td>09:14</td><td>09:27</td><td>09:51</td><td>10:11</td><td>10:30</td><td>10:37</td><td>10:47</td><td></td><td>11:05</td><td>11:12</td><td>11:24</td><td>11:37</td><td>11:55</td><td>12:05</td><td>12:19</td><td>12:25</td><td>12:32</td><td>12:49</td></tr><tr><td>1203</td><td>새마을</td><td>12:33</td><td>12:43</td><td>13:06</td><td></td><td>13:42</td><td>13:49</td><td>13:59</td><td></td><td>14:17</td><td>14:24</td><td>14:35</td><td>14:48</td><td>15:06</td><td>15:21</td><td>15:35</td><td>15:41</td><td>15:48</td><td>16:07</td></tr><tr><td>1205</td><td>새마을</td><td>13:43</td><td>13:53</td><td>14:16</td><td>14:36</td><td>14:56</td><td>15:03</td><td>15:12</td><td></td><td>15:31</td><td>15:38</td><td>15:49</td><td>16:02</td><td>16:20</td><td>16:31</td><td>16:45</td><td>16:50</td><td>16:57</td><td>17:15</td></tr><tr><td>1207</td><td>새마을</td><td>15:28</td><td>15:41</td><td>16:05</td><td></td><td>16:41</td><td>16:48</td><td>16:58</td><td>17:12</td><td>17:19</td><td>17:26</td><td>17:38</td><td>17:51</td><td>18:13</td><td>18:24</td><td>18:38</td><td>18:43</td><td>18:50</td><td>19:08</td></tr><tr><td>1209</td><td>새마을</td><td>17:52</td><td>18:02</td><td>18:26</td><td>18:45</td><td>19:05</td><td>19:13</td><td>19:22</td><td>19:36</td><td>19:43</td><td>19:50</td><td>20:01</td><td>20:14</td><td>20:31</td><td>20:42</td><td>20:56</td><td>21:02</td><td>21:09</td><td>21:27</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">익산역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">익산역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '35030';
            let curName = '익산';
            let altCity = '11';
            let altName = '용산';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">익산역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">16℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 구름많음</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">20%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">익산역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%83%9C%EB%B0%B1%EC%B9%BC%EA%B5%AD%EC%88%98+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%9D%B5%EC%82%B0%EC%8B%9C+%EC%A4%91%EC%95%99%EB%8F%991%EA%B0%80+52-3" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">태백칼국수</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;칼국수,만두</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 익산시 중앙동1가 52-3</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%8B%A4%EB%A6%AC%EB%AF%B8%EC%82%BC%EA%B2%B9%EC%82%B4+%EC%9D%B5%EC%82%B0%EC%A0%90+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%9D%B5%EC%82%B0%EC%8B%9C+%EB%AA%A8%ED%98%84%EB%8F%991%EA%B0%80+277-90+1%EC%B8%B5+%EB%8B%A4%EB%A6%AC%EB%AF%B8%EC%82%BC%EA%B2%B9%EC%82%B4+%EC%9D%B5%EC%82%B0%EC%A0%90" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">다리미삼겹살 익산점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;돼지고기구이</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 익산시 모현동1가 277-90 1층 다리미삼겹살 익산점</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%8C%8C%EB%A6%AC%EB%B0%94%EA%B2%8C%EB%9C%A8+%EC%9D%B5%EC%82%B0%EB%AA%A8%ED%98%84%EC%A0%90+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%9D%B5%EC%82%B0%EC%8B%9C+%EB%AA%A8%ED%98%84%EB%8F%991%EA%B0%80+271-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">파리바게뜨 익산모현점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 익산시 모현동1가 271-1</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A9%94%EA%B0%80MGC%EC%BB%A4%ED%94%BC+%EC%9D%B5%EC%82%B0%EB%AA%A8%ED%98%84%EC%A0%90+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%9D%B5%EC%82%B0%EC%8B%9C+%EB%AA%A8%ED%98%84%EB%8F%991%EA%B0%80+272-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">메가MGC커피 익산모현점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;카페</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 익산시 모현동1가 272-1</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A1%AF%EB%8D%B0%EB%A6%AC%EC%95%84+%EC%9D%B5%EC%82%B0%EB%AA%A8%ED%98%84%EC%A0%90+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%9D%B5%EC%82%B0%EC%8B%9C+%EB%AA%A8%ED%98%84%EB%8F%991%EA%B0%80+272-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">롯데리아 익산모현점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 익산시 모현동1가 272-1</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">익산역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 익산역 동                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,000원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 전라북도 익산시 창인동2가 1<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 익산역 서                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,000원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 전라북도 익산시 창인동2가 1<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">익산역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 전라북도 익산시 창인동2가 1</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:062-941-0874" style="color: #0052a4; font-weight: bold; text-decoration: none;">062-941-0874</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%9D%B5%EC%82%B0%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/장항선-새마을호-시간표-익산역-홍성역-대천역-용산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="장항선-새마을호-시간표-익산역-홍성역-대천역-용산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20495" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/장항선-새마을호-시간표-익산역-홍성역-대천역-용산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/장항선-새마을호-시간표-익산역-홍성역-대천역-용산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/장항선-새마을호-시간표-익산역-홍성역-대천역-용산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>경전선 새마을호 시간표 (진주역~서울역) 요금 실시간 안내</title>
		<link>https://krailroad.co.kr/%ea%b2%bd%ec%a0%84%ec%84%a0-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%a7%84%ec%a3%bc%ec%97%ad%ec%84%9c%ec%9a%b8%ec%97%ad-%ec%9a%94%ea%b8%88-%ec%8b%a4%ec%8b%9c%ea%b0%84/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Mon, 13 Apr 2026 00:06:57 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[경전선 새마을호 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20457</guid>

					<description><![CDATA[서울과 경남의 중심부를 관통하는 경전선은 지난 세기부터 영남 내륙의 활력과 문화를 수도권으로 실어 나르며 우리 삶의 일부로 녹아들었습니다. 과거 오랜 시간 서민들의 든든한 동반자였던 서울행 무궁화호의 빈자리를 이제는 경전선 새마을호 시간표를 이용한 한층더 매끄러운 주행감의 ITX-새마을이 채우고 있는데요. 빠른 속도에만 치중하기보다 이용 자체의 여유와 합리적인 지출을 생각하는 분들에게는 괜찮은 매력의 열차입니다. 아래 자료들은 코레일의 공식 ... <a title="경전선 새마을호 시간표 (진주역~서울역) 요금 실시간 안내" class="read-more button" href="https://krailroad.co.kr/%ea%b2%bd%ec%a0%84%ec%84%a0-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%a7%84%ec%a3%bc%ec%97%ad%ec%84%9c%ec%9a%b8%ec%97%ad-%ec%9a%94%ea%b8%88-%ec%8b%a4%ec%8b%9c%ea%b0%84/" aria-label="경전선 새마을호 시간표 (진주역~서울역) 요금 실시간 안내 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">서울과 경남의 중심부를 관통하는 경전선은 지난 세기부터 영남 내륙의 활력과 문화를 수도권으로 실어 나르며 우리 삶의 일부로 녹아들었습니다. 과거 오랜 시간 서민들의 든든한 동반자였던 서울행 무궁화호의 빈자리를 이제는 경전선 새마을호 시간표를 이용한 한층더 매끄러운 주행감의 ITX-새마을이 채우고 있는데요. 빠른 속도에만 치중하기보다 이용 자체의 여유와 합리적인 지출을 생각하는 분들에게는 괜찮은 매력의 열차입니다.</p>



<p class="wp-block-paragraph">아래 자료들은 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a>의 공식 엔진과 공공데이터 API가 맞물려 1분 단위로 갱신되는 아래의 시스템은 현재 열차가 밟고 있는 선로 위치를 초 단위로 추적해 보여줍니다. 특히 상단 설정에서 음성 가이드를 켜두시면 열차 진입 15분 전부터 자동으로 알림을 보내주어, 대합실에서 책을 읽거나 식사를 하던 중에도 여유롭게 승강장으로 이동할 수 있습니다(<a href="https://krailroad.co.kr/%eb%aa%a9%ed%8f%ac-%eb%b3%b4%ec%84%b1%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%85%b8%ec%84%a0-%ec%9a%94%ea%b8%88-%ec%a0%95/">목포 보성선 새마을호 시간표는이동 참고</a>).</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>경전선 새마을호 시간표 정리</strong></h2>



<h3 class="wp-block-heading">영등포역 진주역 기차</h3>



<p class="wp-block-paragraph">서울역까지의 이동이 번거로운 안양, 수원, 평택 등 경기 남부 권역이나 서울 서남부 거주자들에게 영등포역은 경북의 <a href="https://krailroad.co.kr/%eb%8c%80%ea%b5%ac%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84-%eb%b0%8f-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%bd%eb%b6%80%ec%84%a0-%eb%85%b8%ec%84%a0-%ec%95%88%eb%82%b4/">대구역</a>, <a href="https://krailroad.co.kr/%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b2%ab%ec%b0%a8-%eb%a7%89%ec%b0%a8-%ec%a0%95%eb%b3%b4-%ed%8f%ac/">동대구역</a>과 경남의 <a href="https://krailroad.co.kr/%eb%b0%80%ec%96%91%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%bd%eb%b6%80%ec%84%a0-%eb%85%b8%ec%84%a0/">밀양역</a>, 창원역, 마산역, 진주역으로 향하는 가장 최적화된 출발점으로, 고속열차가 드문 시간대에도 ITX-새마을은(경전선 새마을호 시간표) 변함없이 이 노선을 지키며 안정적인 이동권을 보장하는데요. 비록 시간적인 면에서 고속열차보다 눈에 띄게 빠르지는 않지만, 인체공학적으로 설계된 넓은 좌석과 저소음 설비 덕분에 긴 시간 기차에 머물러도 몸에 쌓이는 피로가 현저히 적다는 점입니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">장병들의 열차 이용과 데이터</h3>



<p class="wp-block-paragraph">단순히 열차를 타는 행위를 넘어, 본 시스템은 역을 나서는 순간 시작될 현지에서의 시간까지 보여드리며, 진주역 도착 직후 연계되는 실시간 버스 정보는 물론, 역사 주차장의 요금 체계와 빈자리 현황을 한눈에 파악할 수 있도록 구성했습니다. 소음이 적고 수유실이나 장애인 화장실 등 편의시설이 탄탄한 ITX-새마을의 장점을 누리며 가족들과 함께하는 나들이를 계획해 보시는 건 어떨까요?</p>



<p class="wp-block-paragraph">앞으로 선로 현대화가 가속화되면 이 구간의 운행 효율은 더욱 높아질 전망으로, 정교한 실시간 API 정보 삼아, 진주의 숨은 맛집과 명소로 향수 있으며, 경전선 새마을호 시간표를 이용한다면 서울역~진주역 구간 이동은 여행과 휴식으로 이용하는데 불편함이 없을 것입니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">진주 ↔&nbsp;서울 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">진주<br>↓<br>서울</td><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1112호</span><div class="time-display">08:22</div><div class="arrival-info">13:50 도착</div></td><td><span class="train-detail">1114호</span><div class="time-display">15:47</div><div class="arrival-info">21:00 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">서울<br>↓<br>진주</td><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1111호</span><div class="time-display">09:08</div><div class="arrival-info">14:36 도착</div></td><td><span class="train-detail">1113호</span><div class="time-display">19:25</div><div class="arrival-info">00:45 도착</div></td></tr></tbody></table></div>


    
    <h2>진주 ↔ 서울 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 진주</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                45,900원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 진주</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">기본</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                57,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                80,600원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 진주</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                57,200원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                80,100원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 진주</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                30,900원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">진주 →&nbsp;서울 ITX-새마을 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>진주</th><th>함안</th><th>마산</th><th>창원</th><th>창원중앙</th><th>진영</th><th>밀양</th><th>청도</th><th>동대구</th><th>대구</th><th>왜관</th><th>구미</th><th>김천</th><th>영동</th><th>대전</th><th>조치원</th><th>천안</th><th>평택</th><th>수원</th><th>영등포</th><th>서울</th></tr></thead><tbody><tr><td>1112</td><td>ITX-새마을</td><td>08:22</td><td>08:42</td><td>08:53</td><td>08:59</td><td>09:09</td><td>09:19</td><td>09:36</td><td>09:50</td><td>10:13</td><td>10:19</td><td>10:37</td><td>10:51</td><td>11:06</td><td></td><td>11:59</td><td>12:22</td><td>12:43</td><td>12:55</td><td>13:15</td><td>13:39</td><td>13:50</td></tr><tr><td>1114</td><td>ITX-새마을</td><td>15:47</td><td>16:07</td><td>16:18</td><td>16:24</td><td>16:33</td><td>16:43</td><td>16:59</td><td></td><td>17:33</td><td>17:39</td><td></td><td>18:08</td><td>18:23</td><td>18:50</td><td>19:19</td><td></td><td>20:00</td><td></td><td>20:29</td><td>20:50</td><td>21:00</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">서울 →&nbsp;진주 ITX-새마을 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>서울</th><th>영등포</th><th>수원</th><th>평택</th><th>천안</th><th>조치원</th><th>대전</th><th>옥천</th><th>영동</th><th>김천</th><th>구미</th><th>왜관</th><th>대구</th><th>동대구</th><th>경산</th><th>청도</th><th>밀양</th><th>진영</th><th>창원중앙</th><th>창원</th><th>마산</th><th>함안</th><th>진주</th></tr></thead><tbody><tr><td>1111</td><td>ITX-새마을</td><td>09:08</td><td>09:18</td><td>09:40</td><td>09:59</td><td>10:13</td><td>10:33</td><td>10:58</td><td>11:09</td><td>11:28</td><td>11:55</td><td>12:11</td><td></td><td>12:40</td><td>12:46</td><td>12:55</td><td>13:10</td><td>13:23</td><td>13:41</td><td>13:51</td><td>14:00</td><td>14:06</td><td>14:18</td><td>14:36</td></tr><tr><td>1113</td><td>ITX-새마을</td><td>19:25</td><td>19:35</td><td>19:57</td><td></td><td>20:26</td><td>20:47</td><td>21:11</td><td></td><td></td><td>22:02</td><td>22:18</td><td>22:31</td><td>22:50</td><td>22:56</td><td></td><td></td><td>23:28</td><td>23:48</td><td>23:59</td><td>00:08</td><td>00:14</td><td>00:26</td><td>00:45</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">진주역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">진주역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '38030';
            let curName = '진주';
            let altCity = '11';
            let altName = '서울';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">진주역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">15℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 구름많음</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">20%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">진주역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%83%80%EC%B9%B4%EC%9D%B4+%EC%A7%84%EC%A3%BC%ED%98%81%EC%8B%A0%EB%8F%84%EC%8B%9C%EC%A0%90+%EA%B2%BD%EC%83%81%EB%82%A8%EB%8F%84+%EC%A7%84%EC%A3%BC%EC%8B%9C+%EC%B6%A9%EB%AC%B4%EA%B3%B5%EB%8F%99+287-3+1%EC%B8%B5+102%ED%98%B8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">타카이 진주혁신도시점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">술집&gt;요리주점</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상남도 진주시 충무공동 287-3 1층 102호</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EA%B3%A0%EC%A7%91%EB%82%A8+%EC%A7%84%EC%A3%BC%ED%98%81%EC%8B%A0%EB%8F%84%EC%8B%9C%EC%A0%90+%EA%B2%BD%EC%83%81%EB%82%A8%EB%8F%84+%EC%A7%84%EC%A3%BC%EC%8B%9C+%EC%B6%A9%EB%AC%B4%EA%B3%B5%EB%8F%99+289-1+%EB%8B%A4%EC%9D%B8%ED%94%84%EB%9D%BC%EC%9E%90+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">고집남 진주혁신도시점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;육류,고기요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상남도 진주시 충무공동 289-1 다인프라자 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%A1%B0%EC%84%A0%EB%B3%B8%EA%B0%88%EB%B9%84+%EB%B0%80%EB%A9%B4+%EC%A7%84%EC%A3%BC%ED%98%81%EC%8B%A0%EB%8F%84%EC%8B%9C%EC%A0%90+%EA%B2%BD%EC%83%81%EB%82%A8%EB%8F%84+%EC%A7%84%EC%A3%BC%EC%8B%9C+%EC%B6%A9%EB%AC%B4%EA%B3%B5%EB%8F%99+289-3+2%EC%B8%B5+%EC%A1%B0%EC%84%A0%EB%B3%B8%EA%B0%88%EB%B9%84+%EB%B0%80%EB%A9%B4+%EC%A7%84%EC%A3%BC%ED%98%81%EC%8B%A0%EB%8F%84%EC%8B%9C%EC%A0%90" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">조선본갈비 밀면 진주혁신도시점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;한식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상남도 진주시 충무공동 289-3 2층 조선본갈비 밀면 진주혁신도시점</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%AA%A8%EB%9C%A8+%EA%B2%BD%EC%83%81%EB%82%A8%EB%8F%84+%EC%A7%84%EC%A3%BC%EC%8B%9C+%EC%B6%A9%EB%AC%B4%EA%B3%B5%EB%8F%99+289-4+%ED%86%A0%EC%9B%90%EB%B9%8C%EB%94%A9+106%ED%98%B8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">모뜨</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;카페,디저트</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상남도 진주시 충무공동 289-4 토원빌딩 106호</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%97%90%EB%82%98%EB%A1%9C%EB%A7%89%EC%B0%BD+%EC%A7%84%EC%A3%BC%ED%98%81%EC%8B%A0%EB%8F%84%EC%8B%9C%EC%A0%90+%EA%B2%BD%EC%83%81%EB%82%A8%EB%8F%84+%EC%A7%84%EC%A3%BC%EC%8B%9C+%EC%B6%A9%EB%AC%B4%EA%B3%B5%EB%8F%99+287-9+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">에나로막창 진주혁신도시점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;곱창,막창,양</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상남도 진주시 충무공동 287-9 1층</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">진주역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 진주역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">200원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">8,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 경상남도 진주시 진주역로 130<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 051-441-7782                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">진주역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 경상남도 진주시 진주역로 130</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:051-441-7782" style="color: #0052a4; font-weight: bold; text-decoration: none;">051-441-7782</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%A7%84%EC%A3%BC%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/경전선-새마을호-시간표-ITX-서울역-진주역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="경전선-새마을호-시간표-ITX-서울역-진주역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20469" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/경전선-새마을호-시간표-ITX-서울역-진주역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/경전선-새마을호-시간표-ITX-서울역-진주역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/경전선-새마을호-시간표-ITX-서울역-진주역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>전라선 새마을호 시간표 (용산역~여수역) 및 요금 실시간 시간 안내</title>
		<link>https://krailroad.co.kr/%ec%a0%84%eb%9d%bc%ec%84%a0-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%a9%ec%82%b0%ec%97%ad%ec%97%ac%ec%88%98%ec%97%ad-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%8b%a4%ec%8b%9c/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Sat, 11 Apr 2026 01:33:31 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[전라선 새마을호 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20439</guid>

					<description><![CDATA[용산에서 출발해 여수 밤바다의 정취로 이어지는 전라선 철길은 1930년대 처음 개통된 이래 전북과 전남 내륙을 종단하며 수많은 사람의 꿈을 실어 날랐습니다. 과거 완행열차가 구불구불한 선로를 따라 느릿하게 풍경을 담아내던 기억은 이제 고속화 사업을 통해 옛날이야기가 되었는데요. 현재 전라선은 ITX-새마을의 안락함을 넘어, 최신형 ITX-마음 열차가 더 많이 투입되며 여수와 수도권을 훨씬 긴밀하게 연결하고 있습니다. 전라선 새마을호 ... <a title="전라선 새마을호 시간표 (용산역~여수역) 및 요금 실시간 시간 안내" class="read-more button" href="https://krailroad.co.kr/%ec%a0%84%eb%9d%bc%ec%84%a0-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%a9%ec%82%b0%ec%97%ad%ec%97%ac%ec%88%98%ec%97%ad-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%8b%a4%ec%8b%9c/" aria-label="전라선 새마을호 시간표 (용산역~여수역) 및 요금 실시간 시간 안내 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">용산에서 출발해 여수 밤바다의 정취로 이어지는 전라선 철길은 1930년대 처음 개통된 이래 전북과 전남 내륙을 종단하며 수많은 사람의 꿈을 실어 날랐습니다. 과거 완행열차가 구불구불한 선로를 따라 느릿하게 풍경을 담아내던 기억은 이제 고속화 사업을 통해 옛날이야기가 되었는데요. 현재 전라선은 ITX-새마을의 안락함을 넘어, 최신형 ITX-마음 열차가 더 많이 투입되며 여수와 수도권을 훨씬 긴밀하게 연결하고 있습니다.</p>



<p class="wp-block-paragraph">전라선 새마을호 시간표를 살펴보면 용산을 시작으로 전주, 순천을 거쳐 <a href="https://krailroad.co.kr/%ec%97%ac%ec%88%98%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%88%9c%ec%b2%9c%ec%a0%84%ec%a3%bc%ec%9a%a9%ec%82%b0%ed%96%89-%ec%a0%84%eb%9d%bc%ec%84%a0-%ed%95%98%ed%96%89-%ec%83%81%ed%96%89-%eb%85%b8/">여수엑스포역</a>에 이르는 배차가 촘촘하게 짜여 있습니다. 기와지붕의 한옥 형태가 인상적인 <a href="https://krailroad.co.kr/%ec%a0%84%ec%a3%bc%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84%c2%b7%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%95%9c%ec%98%a5%eb%a7%88%ec%9d%84-%ec%97%ac%ec%88%98%c2%b7%ec%9a%a9%ec%82%b0%ed%96%89/">전주역</a>에 내리면 한옥마을로 향하는 버스와 택시 등 시내 교통편이 역 바로 앞에 잘 갖춰져 있으며, 순천역에서는 보성이나 진주로 향하는 경전선 환승이 가능해 남도 여행의 중심축 역할을 하는데요. 첫차부터 막차까지 본인의 일정에 맞춘 전라선 소요시간과 요금을 미리 체크하면 훨씬 편리한 여행이 가능할것입니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>전라선 새마을호 시간표 안내</strong></h2>



<h3 class="wp-block-heading">공공API 연동 실시간 시스템</h3>



<p class="wp-block-paragraph">역사 대합실 전광판 아래에서 전라선 새마을호 시간표를 확인하기 위해 고개를 들고 내 열차 번호를 찾느라 고생하던 모습은 이제 추억이 될 것 같습니다. <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 데이터와 실시간 공공 API를 연동하여 1분 단위로 스스로 갱신되는 아래 시스템을 활용하면, 기차가 몇분뒤 도착하고 목적지까지 출발하는지 스마트폰 하나로 즉시 확인할 수 있는데요. 특히 출발 15분 전부터 안내되는 음성 안내 코드 기능을 켜두면 다른 일을 하다가도 역사에 몇분쯤에 도착하면  시간을 놓치지 않게 도와줍니다. 타 역의 정보가 필요할 때도 검색 폼을 통해 실시간 위치와 종별을 바로 파악할 수 있으니 한번 사용해 보시는 것을 추천해드립니다. ^^</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">여수 밤바다 여행과 현지 정보</h3>



<p class="wp-block-paragraph">전라선 새마을호 시간표를 이용하여 종착지인 여수엑스포역이나 전주역, <a href="https://krailroad.co.kr/%ec%9d%b5%ec%82%b0%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84-itx-%eb%a7%88%ec%9d%8c-%ec%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac-%ec%97%ac%ec%88%98-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ed%98%b8%eb%82%a8/">익산역</a>, 용산역에 도착하면 특히 화려한 여수 밤바다 주변 관광지를 이용하기 쉬우며, 역 주변 실시간 버스 도착 현황은 물론, 전라도 손맛을 느낄 수 있는 주변 식당가 정보와 날씨 데이터까지 페이지 하나에 모두 담았는데요. ITX-새마을호를 이용하여 혼행이나 아이들과 함께 추억을 담을 수 있는 기차여행을 그려보는것도 좋을것 같습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">여수 ↔&nbsp;용산 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">여수엑스포<br>↓<br>용산</td><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1502호</span><div class="time-display">08:48</div><div class="arrival-info">13:29 도착</div></td><td><span class="train-detail">1506호</span><div class="time-display">14:10</div><div class="arrival-info">19:06 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">용산<br>↓<br>여수엑스포</td><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1501호</span><div class="time-display">07:14</div><div class="arrival-info">11:56 도착</div></td><td><span class="train-detail">1505호</span><div class="time-display">16:38</div><div class="arrival-info">21:22 도착</div></td></tr></tbody></table></div>


    
    <h2>용산 ↔ 여수 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 여수</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                41,100원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 여수엑스포</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">공주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                47,200원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                66,100원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 여수엑스포</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대전</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                46,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                64,400원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 여수</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                27,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">여수 →&nbsp;용산 ITX-새마을 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>여수엑스포</th><th>여천</th><th>순천</th><th>구례구</th><th>곡성</th><th>남원</th><th>임실</th><th>전주</th><th>삼례</th><th>익산</th><th>강경</th><th>논산</th><th>계룡</th><th>서대전</th><th>신탄진</th><th>조치원</th><th>천안</th><th>평택</th><th>수원</th><th>영등포</th><th>용산</th></tr></thead><tbody><tr><td>1502</td><td>ITX-새마을</td><td>08:48</td><td>08:56</td><td>09:11</td><td>09:27</td><td>09:39</td><td>09:49</td><td></td><td>10:17</td><td></td><td>10:35</td><td></td><td>11:01</td><td>11:19</td><td>11:35</td><td>11:48</td><td>12:03</td><td>12:24</td><td>12:36</td><td>12:56</td><td>13:20</td><td>13:29</td></tr><tr><td>1506</td><td>ITX-새마을</td><td>14:10</td><td>14:19</td><td>14:34</td><td>14:50</td><td>15:02</td><td>15:13</td><td>15:27</td><td>15:44</td><td>15:53</td><td>16:06</td><td>16:25</td><td>16:35</td><td>16:53</td><td>17:09</td><td>17:22</td><td>17:38</td><td>17:59</td><td>18:12</td><td>18:31</td><td>18:57</td><td>19:06</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">용산 →&nbsp;여수 ITX-새마을 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>용산</th><th>영등포</th><th>수원</th><th>평택</th><th>천안</th><th>조치원</th><th>서대전</th><th>계룡</th><th>논산</th><th>강경</th><th>익산</th><th>삼례</th><th>전주</th><th>오수</th><th>남원</th><th>곡성</th><th>구례구</th><th>순천</th><th>여천</th><th>여수엑스포</th></tr></thead><tbody><tr><td>1501</td><td>ITX-새마을</td><td>07:14</td><td>07:23</td><td>07:45</td><td>08:05</td><td>08:18</td><td>08:39</td><td>09:07</td><td>09:22</td><td>09:41</td><td>09:50</td><td>10:11</td><td></td><td>10:27</td><td></td><td>10:54</td><td>11:05</td><td>11:17</td><td>11:33</td><td>11:48</td><td>11:56</td></tr><tr><td>1505</td><td>ITX-새마을</td><td>16:38</td><td>16:46</td><td>17:09</td><td>17:28</td><td>17:41</td><td>18:01</td><td>18:28</td><td>18:44</td><td>19:02</td><td>19:11</td><td>19:31</td><td>19:41</td><td>19:50</td><td>20:10</td><td>20:20</td><td>20:30</td><td>20:42</td><td>20:59</td><td>21:13</td><td>21:22</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">용산역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">용산역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '11';
            let curName = '용산';
            let altCity = '36020';
            let altName = '여수';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">용산역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">17℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">용산역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%95%84%EC%9D%B4%ED%8C%8C%ED%81%AC%EB%AA%B0+%EC%9A%A9%EC%82%B0%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%ED%95%9C%EA%B0%95%EB%A1%9C3%EA%B0%80+40-999" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">아이파크몰 용산점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">쇼핑,유통&gt;쇼핑센터,할인매장</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 한강로3가 40-999</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%85%8C%EB%94%94%EB%B5%88%EB%A5%B4%ED%95%98%EC%9A%B0%EC%8A%A4+%EC%9A%A9%EC%82%B0%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%ED%95%9C%EA%B0%95%EB%A1%9C2%EA%B0%80+49-1+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">테디뵈르하우스 용산점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;카페,디저트</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 한강로2가 49-1 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%8C%A4%EC%8C%A4%EC%8C%A4+%EC%9A%A9%EC%82%B0%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%ED%95%9C%EA%B0%95%EB%A1%9C2%EA%B0%80+47-3+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">쌤쌤쌤 용산점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;양식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 한강로2가 47-3 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%AA%BD%ED%83%84+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%ED%95%9C%EA%B0%95%EB%A1%9C1%EA%B0%80+251-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">몽탄</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;육류,고기요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 한강로1가 251-1</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%89%90%EC%9D%B4%ED%81%AC%EC%89%91+%EC%9A%A9%EC%82%B0+%EC%95%84%EC%9D%B4%ED%8C%8C%ED%81%AC%EB%AA%B0%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%ED%95%9C%EA%B0%95%EB%A1%9C3%EA%B0%80+40-999+%EC%95%84%EC%9D%B4%ED%8C%8C%ED%81%AC%EB%AA%B0+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">쉐이크쉑 용산 아이파크몰점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 한강로3가 40-999 아이파크몰 1층</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">여수역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 여수엑스포역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">600원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 전라남도 여수시 덕충동 61-7<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">용산역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 용산역 인근 공영 및 노상주차장 이용 권장</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:1544-7788" style="color: #0052a4; font-weight: bold; text-decoration: none;">1544-7788</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%9A%A9%EC%82%B0%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/전라선-새마을호-시간표-ITX-여수역-용산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="전라선-새마을호-시간표-ITX-여수역-용산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20454" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/전라선-새마을호-시간표-ITX-여수역-용산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/전라선-새마을호-시간표-ITX-여수역-용산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/전라선-새마을호-시간표-ITX-여수역-용산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>호남선 새마을호 시간표 및 요금 (용산역~광주역~목포역) 총정리</title>
		<link>https://krailroad.co.kr/%ed%98%b8%eb%82%a8%ec%84%a0-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%9a%a9%ec%82%b0%ec%97%ad%ea%b4%91%ec%a3%bc%ec%97%ad%eb%aa%a9%ed%8f%ac/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Fri, 10 Apr 2026 05:11:54 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[호남선 새마을호 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20411</guid>

					<description><![CDATA[호남선 새마을호 시간표를 이용해 이동하는 것은 너른 평야를 가로지르는 철길에 예나 지금이나 전라권 주민들의 삶을 지탱하는 소중한 연결고리입니다. 과거 도시로 떠나던 이들의 꿈과 애환이 서린 &#8216;이농 열차&#8217;의 기억은 이제 소음이 적고 쾌적한 ITX-새마을과 ITX-마음이라는 현대적인 준고속 열차로 이어지고 있는데요. 단순한 이동 수단을 넘어 창밖으로 펼쳐지는 지평선을 감상하며 남북을 관통하는 이 길은 기차 여행 본연의 여유를 ... <a title="호남선 새마을호 시간표 및 요금 (용산역~광주역~목포역) 총정리" class="read-more button" href="https://krailroad.co.kr/%ed%98%b8%eb%82%a8%ec%84%a0-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%9a%a9%ec%82%b0%ec%97%ad%ea%b4%91%ec%a3%bc%ec%97%ad%eb%aa%a9%ed%8f%ac/" aria-label="호남선 새마을호 시간표 및 요금 (용산역~광주역~목포역) 총정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">호남선 새마을호 시간표를 이용해 이동하는 것은 너른 평야를 가로지르는 철길에 예나 지금이나 전라권 주민들의 삶을 지탱하는 소중한 연결고리입니다. 과거 도시로 떠나던 이들의 꿈과 애환이 서린 &#8216;이농 열차&#8217;의 기억은 이제 소음이 적고 쾌적한 ITX-새마을과 ITX-마음이라는 현대적인 준고속 열차로 이어지고 있는데요. 단순한 이동 수단을 넘어 창밖으로 펼쳐지는 지평선을 감상하며 남북을 관통하는 이 길은 기차 여행 본연의 여유를 간직하고 있습니다.</p>



<p class="wp-block-paragraph">호남선 새마을호 시간표를 볼 때 가장 주의해야 할 점은 본인의 목적지가 목포역인지 아니면 광주역인지 정확히 구분하는 것입니다. 용산역에서 출발해 광주역으로 가는 열차와 <a href="https://krailroad.co.kr/%eb%aa%a9%ed%8f%ac%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%98%b8%eb%82%a8%ec%84%a0-%eb%85%b8%ec%84%a0-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%9a%94/">목포역</a>으로 향하는 노선이 각각 운영되며, 상행선 역시 각 종착지에서 용산으로 돌아오는 왕복 체계가 이며, 특히 많은 분이 혼동하시는 부분 중 하나가 <a href="https://krailroad.co.kr/%ea%b4%91%ec%a3%bc%ec%86%a1%ec%a0%95%ec%97%ad-ktx-%ec%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac-%eb%b6%80%ec%a0%84%ed%96%89-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%94%ea%b8%88-%ec%a0%95%ec%b0%a8%ec%97%ad%ea%b3%bc/">광주송정역</a>인데, 이곳은 KTX가 주로 서는 고속 전용 역사이지만 ITX-새마을호, ITX-마음 열차도 적지만 운행을 한다는 점을 아셔야 합니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>호남선 새마을호 시간표 안내</strong></h2>



<h3 class="wp-block-heading">편의를 고려한 실시간 시스템</h3>



<p class="wp-block-paragraph">이제부터는 호남선 새마을호 시간표를 확인하기 위해 역사의 형광등 간판을 보거나 멀리 떨어진 전광판을 뚫어지게 쳐다보실 필요가 없습니다. 제가 준비한 자료는 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 자료와 공공 API를 직접 연동되어 1분마다 스스로 갱신되는 데이터는 열차의 출발 시간과 도착 시간을 실시간으로 보여주는데요. 특히 시각장애인이나 스마트폰 확인이 어려운 이용객들을 위해 출발 15분 전부터 안내 메시지가 나오는 음성 로직을 넣어두었습니다. 상단 메뉴에서 음성 설정을 활성화하면 대기실에 앉아서도 내 열차의 상태를 귀로 먼저 확인할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">내부 시설과 요금 &amp; 맞춤 정보</h3>



<p class="wp-block-paragraph">호남선 새마을호 시간표를 이용한 열차는 일반 철도 노선이지만 최신 편의시설만큼은 고속열차 못지않습니다. 차내에는 수유실이 마련되어 있어 아이와 함께하는 가족 여행객도 안심할 수 있고, 자동판매기와 제세동기, 장애인 화장실 등 안전 설비가 잘 갖춰져 있는데요. KTX와 비교했을 때 상대적으로 합리적인 요금으로 운영되고 있습니다(<a href="https://krailroad.co.kr/%ed%98%b8%eb%82%a8%ec%84%a0-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%a9%ec%82%b0%ec%97%ad%eb%aa%a9%ed%8f%ac%ec%97%ad-%ec%9a%94%ea%b8%88-%ec%8b%a4%ec%8b%9c%ea%b0%84/">호남선 무궁화호 시간표는 여기 참고</a>).</p>



<p class="wp-block-paragraph">그리고 기차역에 내린 뒤의 연관된 정보를 페이지 하나로 모두 해결할 수 있습니다. 용산역 주차장 요금부터 주변 맛집, 그리고 역사 광장에서 시내로 나가는 실시간 버스 도착 현황까지 한곳에 모았는데요. 여기에 호남 지역 특유의 맛깔나는 식당 리스트와 실시간 날씨 데이터까지 연동되어 있어, 도착과 동시에 어디로 갈지 고민할 필요 없어 아래 자료를 이용하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">목포 ↔&nbsp;용산 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">목포<br>↓<br>용산</td><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1402호</span><div class="time-display">10:22</div><div class="arrival-info">15:06 도착</div></td><td><span class="train-detail">1410호</span><div class="time-display">17:38</div><div class="arrival-info">22:15 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">광주<br>↓<br>용산</td><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1422호</span><div class="time-display">06:53</div><div class="arrival-info">10:53 도착</div></td><td><span class="train-detail">1430호</span><div class="time-display">18:29</div><div class="arrival-info">22:30 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">익산<br>↓<br>용산</td><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1422호</span><div class="time-display">08:06</div><div class="arrival-info">10:53 도착</div></td><td><span class="train-detail">1430호</span><div class="time-display">19:42</div><div class="arrival-info">22:30 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">용산<br>↓<br>익산</td><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1421호</span><div class="time-display">06:24</div><div class="arrival-info">09:48 도착</div></td><td><span class="train-detail">1429호</span><div class="time-display">20:03</div><div class="arrival-info">22:56 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">용산<br>↓<br>광주</td><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1421호</span><div class="time-display">06:24</div><div class="arrival-info">11:07 도착</div></td><td><span class="train-detail">1429호</span><div class="time-display">20:03</div><div class="arrival-info">00:08 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">용산<br>↓<br>목포</td><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1401호</span><div class="time-display">07:34</div><div class="arrival-info">12:48 도착</div></td><td><span class="train-detail">1409호</span><div class="time-display">19:11</div><div class="arrival-info">23:56 도착</div></td></tr></tbody></table></div>


    
    <h2>용산 ↔ 목포 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 목포</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                39,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 목포</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">공주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                52,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                63,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                73,900원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 목포</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">김제,장성</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                44,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                62,600원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 목포</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                26,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">목포 →&nbsp;용산 ITX-새마을 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>목포</th><th>일로</th><th>몽탄</th><th>무안</th><th>함평</th><th>다시</th><th>나주</th><th>광주송정</th><th>장성</th><th>백양사</th><th>정읍</th><th>신태인</th><th>김제</th><th>익산</th><th>함열</th><th>강경</th><th>논산</th><th>연산</th><th>계룡</th><th>서대전</th><th>신탄진</th><th>부강</th><th>조치원</th><th>전의</th><th>천안</th><th>평택</th><th>수원</th><th>영등포</th><th>용산</th></tr></thead><tbody><tr><td>1402</td><td>ITX-새마을</td><td>10:22</td><td>10:32</td><td>10:39</td><td></td><td>10:47</td><td></td><td>10:57</td><td>11:09</td><td>11:23</td><td></td><td>11:40</td><td>11:49</td><td>11:58</td><td>12:12</td><td></td><td>12:31</td><td>12:41</td><td></td><td>12:59</td><td>13:15</td><td></td><td></td><td>13:40</td><td></td><td>14:01</td><td>14:13</td><td>14:33</td><td>14:57</td><td>15:06</td></tr><tr><td>1408</td><td>ITX-새마을</td><td>16:10</td><td>16:21</td><td>16:29</td><td>16:33</td><td>16:45</td><td>16:55</td><td>17:01</td><td>17:13</td><td>17:27</td><td>17:36</td><td>17:48</td><td>17:58</td><td>18:07</td><td>18:21</td><td>18:34</td><td>18:44</td><td>18:55</td><td>19:05</td><td>19:17</td><td>19:34</td><td>19:47</td><td>19:58</td><td>20:07</td><td>20:18</td><td>20:31</td><td>20:45</td><td>21:09</td><td>21:31</td><td>21:40</td></tr><tr><td>1410</td><td>ITX-새마을</td><td>17:38</td><td>17:48</td><td></td><td></td><td>18:00</td><td></td><td>18:10</td><td>18:22</td><td>18:37</td><td></td><td>18:54</td><td>19:03</td><td>19:11</td><td>19:25</td><td></td><td>19:44</td><td>19:54</td><td></td><td>20:12</td><td>20:28</td><td></td><td></td><td>20:53</td><td></td><td>21:14</td><td>21:26</td><td>21:46</td><td>22:06</td><td>22:15</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">광주 →&nbsp;용산 ITX-새마을 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>광주</th><th>장성</th><th>백양사</th><th>정읍</th><th>신태인</th><th>김제</th><th>익산</th><th>함열</th><th>강경</th><th>논산</th><th>계룡</th><th>서대전</th><th>신탄진</th><th>부강</th><th>조치원</th><th>천안</th><th>성환</th><th>평택</th><th>오산</th><th>수원</th><th>안양</th><th>영등포</th><th>용산</th></tr></thead><tbody><tr><td>1422</td><td>ITX-새마을</td><td>06:53</td><td>07:17</td><td></td><td>07:34</td><td>07:43</td><td>07:52</td><td>08:06</td><td></td><td></td><td>08:32</td><td>08:50</td><td>09:06</td><td></td><td></td><td>09:31</td><td>09:52</td><td></td><td>10:04</td><td></td><td>10:24</td><td></td><td>10:44</td><td>10:53</td></tr><tr><td>1424</td><td>ITX-새마을</td><td>08:50</td><td>09:14</td><td>09:23</td><td>09:34</td><td>09:43</td><td>09:52</td><td>10:05</td><td></td><td>10:25</td><td>10:34</td><td>10:52</td><td>11:08</td><td></td><td></td><td>11:33</td><td>11:54</td><td></td><td></td><td></td><td>12:23</td><td></td><td>12:44</td><td>12:53</td></tr><tr><td>1426</td><td>ITX-새마을</td><td>13:32</td><td>13:56</td><td>14:05</td><td>14:16</td><td>14:25</td><td>14:34</td><td>14:48</td><td></td><td></td><td>15:14</td><td>15:32</td><td>15:48</td><td></td><td></td><td>16:13</td><td>16:34</td><td></td><td>16:47</td><td></td><td>17:06</td><td></td><td>17:27</td><td>17:36</td></tr><tr><td>1428</td><td>ITX-새마을</td><td>14:59</td><td>15:27</td><td>15:37</td><td>15:49</td><td>15:58</td><td>16:07</td><td>16:22</td><td>16:35</td><td>16:45</td><td>16:56</td><td>17:16</td><td>17:33</td><td>17:47</td><td>17:57</td><td>18:06</td><td>18:28</td><td>18:37</td><td>18:45</td><td>18:57</td><td>19:08</td><td>19:21</td><td>19:39</td><td>19:48</td></tr><tr><td>1430</td><td>ITX-새마을</td><td>18:29</td><td>18:53</td><td></td><td>19:10</td><td>19:19</td><td>19:28</td><td>19:42</td><td></td><td>20:01</td><td>20:11</td><td>20:29</td><td>20:45</td><td></td><td></td><td>21:11</td><td>21:32</td><td></td><td></td><td></td><td>22:01</td><td></td><td>22:22</td><td>22:30</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">익산 →&nbsp;용산 ITX-새마을 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>익산</th><th>함열</th><th>강경</th><th>논산</th><th>연산</th><th>계룡</th><th>서대전</th><th>신탄진</th><th>부강</th><th>조치원</th><th>전의</th><th>천안</th><th>성환</th><th>평택</th><th>오산</th><th>수원</th><th>안양</th><th>영등포</th><th>용산</th></tr></thead><tbody><tr><td>1422</td><td>ITX-새마을</td><td>08:06</td><td></td><td></td><td>08:32</td><td></td><td>08:50</td><td>09:06</td><td></td><td></td><td>09:31</td><td></td><td>09:52</td><td></td><td>10:04</td><td></td><td>10:24</td><td></td><td>10:44</td><td>10:53</td></tr><tr><td>1424</td><td>ITX-새마을</td><td>10:05</td><td></td><td>10:25</td><td>10:34</td><td></td><td>10:52</td><td>11:08</td><td></td><td></td><td>11:33</td><td></td><td>11:54</td><td></td><td></td><td></td><td>12:23</td><td></td><td>12:44</td><td>12:53</td></tr><tr><td>1402</td><td>ITX-새마을</td><td>12:12</td><td></td><td>12:31</td><td>12:41</td><td></td><td>12:59</td><td>13:15</td><td></td><td></td><td>13:40</td><td></td><td>14:01</td><td></td><td>14:13</td><td></td><td>14:33</td><td></td><td>14:57</td><td>15:06</td></tr><tr><td>1442</td><td>ITX-새마을</td><td>14:18</td><td></td><td></td><td>14:45</td><td></td><td>15:03</td><td>15:19</td><td>15:32</td><td></td><td>15:48</td><td></td><td>16:09</td><td></td><td>16:22</td><td></td><td>16:42</td><td></td><td>17:06</td><td>17:15</td></tr><tr><td>1426</td><td>ITX-새마을</td><td>14:48</td><td></td><td></td><td>15:14</td><td></td><td>15:32</td><td>15:48</td><td></td><td></td><td>16:13</td><td></td><td>16:34</td><td></td><td>16:47</td><td></td><td>17:06</td><td></td><td>17:27</td><td>17:36</td></tr><tr><td>1428</td><td>ITX-새마을</td><td>16:22</td><td>16:35</td><td>16:45</td><td>16:56</td><td></td><td>17:16</td><td>17:33</td><td>17:47</td><td>17:57</td><td>18:06</td><td></td><td>18:28</td><td>18:37</td><td>18:45</td><td>18:57</td><td>19:08</td><td>19:21</td><td>19:39</td><td>19:48</td></tr><tr><td>1408</td><td>ITX-새마을</td><td>18:21</td><td>18:34</td><td>18:44</td><td>18:55</td><td>19:05</td><td>19:17</td><td>19:34</td><td>19:47</td><td>19:58</td><td>20:07</td><td>20:18</td><td>20:31</td><td></td><td>20:45</td><td></td><td>21:09</td><td></td><td>21:31</td><td>21:40</td></tr><tr><td>1410</td><td>ITX-새마을</td><td>19:25</td><td></td><td>19:44</td><td>19:54</td><td></td><td>20:12</td><td>20:28</td><td></td><td></td><td>20:53</td><td></td><td>21:14</td><td></td><td>21:26</td><td></td><td>21:46</td><td></td><td>22:06</td><td>22:15</td></tr><tr><td>1430</td><td>ITX-새마을</td><td>19:42</td><td></td><td>20:01</td><td>20:11</td><td></td><td>20:29</td><td>20:45</td><td></td><td></td><td>21:11</td><td></td><td>21:32</td><td></td><td></td><td></td><td>22:01</td><td></td><td>22:22</td><td>22:30</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">용산 →&nbsp;목포 ITX-새마을 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>용산</th><th>영등포</th><th>안양</th><th>수원</th><th>오산</th><th>평택</th><th>성환</th><th>천안</th><th>조치원</th><th>신탄진</th><th>서대전</th><th>계룡</th><th>논산</th><th>강경</th><th>함열</th><th>익산</th><th>김제</th><th>신태인</th><th>정읍</th><th>백양사</th><th>장성</th><th>광주송정</th><th>나주</th><th>함평</th><th>무안</th><th>몽탄</th><th>일로</th><th>목포</th></tr></thead><tbody><tr><td>1401</td><td>ITX-새마을</td><td>07:34</td><td>07:46</td><td>07:58</td><td>08:12</td><td></td><td>08:32</td><td>08:40</td><td>08:50</td><td>09:12</td><td>09:28</td><td>09:44</td><td>10:00</td><td>10:21</td><td>10:30</td><td>10:39</td><td>10:51</td><td>11:04</td><td>11:12</td><td>11:22</td><td>11:33</td><td>11:43</td><td>11:57</td><td>12:07</td><td>12:19</td><td>12:25</td><td>12:30</td><td>12:38</td><td>12:48</td></tr><tr><td>1405</td><td>ITX-새마을</td><td>12:07</td><td>12:19</td><td></td><td>12:42</td><td>12:52</td><td>13:04</td><td></td><td>13:18</td><td>13:38</td><td></td><td>14:05</td><td>14:21</td><td>14:39</td><td>14:48</td><td></td><td>15:08</td><td>15:21</td><td>15:29</td><td>15:38</td><td></td><td>15:56</td><td>16:10</td><td>16:20</td><td>16:31</td><td></td><td>16:39</td><td>16:47</td><td>16:56</td></tr><tr><td>1409</td><td>ITX-새마을</td><td>19:11</td><td>19:19</td><td></td><td>19:42</td><td></td><td>20:01</td><td></td><td>20:14</td><td>20:34</td><td></td><td>21:01</td><td>21:17</td><td>21:35</td><td></td><td></td><td>22:01</td><td>22:14</td><td>22:23</td><td>22:32</td><td></td><td>22:50</td><td>23:05</td><td>23:22</td><td>23:34</td><td></td><td></td><td>23:46</td><td>23:56</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">용산 →&nbsp;광주 ITX-새마을 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>용산</th><th>영등포</th><th>안양</th><th>수원</th><th>서정리</th><th>평택</th><th>성환</th><th>천안</th><th>조치원</th><th>신탄진</th><th>서대전</th><th>계룡</th><th>논산</th><th>강경</th><th>함열</th><th>익산</th><th>김제</th><th>신태인</th><th>정읍</th><th>백양사</th><th>장성</th><th>극락강</th><th>광주</th></tr></thead><tbody><tr><td>1421</td><td>ITX-새마을</td><td>06:24</td><td>06:37</td><td>06:49</td><td>07:03</td><td>07:19</td><td>07:27</td><td>07:34</td><td>07:44</td><td>08:05</td><td>08:21</td><td>08:37</td><td>08:53</td><td>09:12</td><td>09:25</td><td>09:35</td><td>09:48</td><td>10:00</td><td>10:09</td><td>10:18</td><td>10:30</td><td>10:39</td><td>10:59</td><td>11:07</td></tr><tr><td>1423</td><td>ITX-새마을</td><td>08:44</td><td>08:52</td><td></td><td>09:15</td><td></td><td>09:34</td><td></td><td>09:48</td><td>10:08</td><td></td><td>10:35</td><td>10:51</td><td>11:09</td><td></td><td></td><td>11:35</td><td>11:48</td><td></td><td>12:02</td><td></td><td>12:20</td><td></td><td>12:45</td></tr><tr><td>1425</td><td>ITX-새마을</td><td>13:24</td><td>13:32</td><td></td><td>13:55</td><td>14:10</td><td>14:17</td><td></td><td>14:31</td><td>14:51</td><td>15:06</td><td>15:21</td><td>15:37</td><td>15:55</td><td>16:04</td><td></td><td>16:24</td><td>16:37</td><td></td><td>16:51</td><td>17:02</td><td>17:12</td><td></td><td>17:36</td></tr><tr><td>1427</td><td>ITX-새마을</td><td>15:14</td><td>15:23</td><td></td><td>15:46</td><td></td><td>16:05</td><td></td><td>16:18</td><td>16:43</td><td>16:59</td><td>17:14</td><td>17:29</td><td>17:48</td><td>17:57</td><td></td><td>18:17</td><td>18:29</td><td>18:38</td><td>18:47</td><td></td><td>19:05</td><td></td><td>19:29</td></tr><tr><td>1429</td><td>ITX-새마을</td><td>20:03</td><td>20:11</td><td></td><td>20:34</td><td></td><td>20:53</td><td></td><td>21:06</td><td>21:26</td><td></td><td>21:53</td><td>22:09</td><td>22:27</td><td>22:36</td><td></td><td>22:56</td><td>23:09</td><td>23:17</td><td>23:26</td><td></td><td>23:44</td><td></td><td>00:08</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">용산 →&nbsp;익산 ITX-새마을 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>용산</th><th>영등포</th><th>안양</th><th>수원</th><th>오산</th><th>서정리</th><th>평택</th><th>성환</th><th>천안</th><th>조치원</th><th>신탄진</th><th>서대전</th><th>계룡</th><th>논산</th><th>강경</th><th>함열</th><th>익산</th></tr></thead><tbody><tr><td>1421</td><td>ITX-새마을</td><td>06:24</td><td>06:37</td><td>06:49</td><td>07:03</td><td></td><td>07:19</td><td>07:27</td><td>07:34</td><td>07:44</td><td>08:05</td><td>08:21</td><td>08:37</td><td>08:53</td><td>09:12</td><td>09:25</td><td>09:35</td><td>09:48</td></tr><tr><td>1401</td><td>ITX-새마을</td><td>07:34</td><td>07:46</td><td>07:58</td><td>08:12</td><td></td><td></td><td>08:32</td><td>08:40</td><td>08:50</td><td>09:12</td><td>09:28</td><td>09:44</td><td>10:00</td><td>10:21</td><td>10:30</td><td>10:39</td><td>10:51</td></tr><tr><td>1423</td><td>ITX-새마을</td><td>08:44</td><td>08:52</td><td></td><td>09:15</td><td></td><td></td><td>09:34</td><td></td><td>09:48</td><td>10:08</td><td></td><td>10:35</td><td>10:51</td><td>11:09</td><td></td><td></td><td>11:35</td></tr><tr><td>1441</td><td>ITX-새마을</td><td>09:56</td><td>10:07</td><td></td><td>10:31</td><td></td><td></td><td>10:50</td><td></td><td>11:04</td><td>11:25</td><td>11:40</td><td>11:55</td><td>12:10</td><td>12:29</td><td></td><td></td><td>12:54</td></tr><tr><td>1405</td><td>ITX-새마을</td><td>12:07</td><td>12:19</td><td></td><td>12:42</td><td>12:52</td><td></td><td>13:04</td><td></td><td>13:18</td><td>13:38</td><td></td><td>14:05</td><td>14:21</td><td>14:39</td><td>14:48</td><td></td><td>15:08</td></tr><tr><td>1425</td><td>ITX-새마을</td><td>13:24</td><td>13:32</td><td></td><td>13:55</td><td></td><td>14:10</td><td>14:17</td><td></td><td>14:31</td><td>14:51</td><td>15:06</td><td>15:21</td><td>15:37</td><td>15:55</td><td>16:04</td><td></td><td>16:24</td></tr><tr><td>1427</td><td>ITX-새마을</td><td>15:14</td><td>15:23</td><td></td><td>15:46</td><td></td><td></td><td>16:05</td><td></td><td>16:18</td><td>16:43</td><td>16:59</td><td>17:14</td><td>17:29</td><td>17:48</td><td>17:57</td><td></td><td>18:17</td></tr><tr><td>1409</td><td>ITX-새마을</td><td>19:11</td><td>19:19</td><td></td><td>19:42</td><td></td><td></td><td>20:01</td><td></td><td>20:14</td><td>20:34</td><td></td><td>21:01</td><td>21:17</td><td>21:35</td><td></td><td></td><td>22:01</td></tr><tr><td>1429</td><td>ITX-새마을</td><td>20:03</td><td>20:11</td><td></td><td>20:34</td><td></td><td></td><td>20:53</td><td></td><td>21:06</td><td>21:26</td><td></td><td>21:53</td><td>22:09</td><td>22:27</td><td>22:36</td><td></td><td>22:56</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">용산역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">용산역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '11';
            let curName = '용산';
            let altCity = '';
            let altName = '광주';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">용산역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">17℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">용산역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%95%84%EC%9D%B4%ED%8C%8C%ED%81%AC%EB%AA%B0+%EC%9A%A9%EC%82%B0%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%ED%95%9C%EA%B0%95%EB%A1%9C3%EA%B0%80+40-999" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">아이파크몰 용산점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">쇼핑,유통&gt;쇼핑센터,할인매장</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 한강로3가 40-999</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%85%8C%EB%94%94%EB%B5%88%EB%A5%B4%ED%95%98%EC%9A%B0%EC%8A%A4+%EC%9A%A9%EC%82%B0%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%ED%95%9C%EA%B0%95%EB%A1%9C2%EA%B0%80+49-1+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">테디뵈르하우스 용산점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;카페,디저트</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 한강로2가 49-1 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%8C%A4%EC%8C%A4%EC%8C%A4+%EC%9A%A9%EC%82%B0%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%ED%95%9C%EA%B0%95%EB%A1%9C2%EA%B0%80+47-3+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">쌤쌤쌤 용산점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;양식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 한강로2가 47-3 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%AA%BD%ED%83%84+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%ED%95%9C%EA%B0%95%EB%A1%9C1%EA%B0%80+251-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">몽탄</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;육류,고기요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 한강로1가 251-1</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%89%90%EC%9D%B4%ED%81%AC%EC%89%91+%EC%9A%A9%EC%82%B0+%EC%95%84%EC%9D%B4%ED%8C%8C%ED%81%AC%EB%AA%B0%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%ED%95%9C%EA%B0%95%EB%A1%9C3%EA%B0%80+40-999+%EC%95%84%EC%9D%B4%ED%8C%8C%ED%81%AC%EB%AA%B0+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">쉐이크쉑 용산 아이파크몰점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 한강로3가 40-999 아이파크몰 1층</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">광주역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 경기광주역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">800원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">7,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 경기도 광주시 역동 176-13<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 02-6952-8100                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 광주송정역 주차빌딩                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,500원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">15,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 광주광역시 광산구 상무대로 179<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 광주송정역2                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,000원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">400원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 광주광역시 광산구 송정동 1003-1<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 광주역A                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,000원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">400원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 광주광역시 북구 중흥동 611-2<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 광주역B                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">0원</strong> 
                                <small style="color: #94a3b8;">/ 0분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">0원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">0원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 광주광역시 북구 중흥동 611-2<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">용산역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 용산역 인근 공영 및 노상주차장 이용 권장</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:1544-7788" style="color: #0052a4; font-weight: bold; text-decoration: none;">1544-7788</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%9A%A9%EC%82%B0%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/호남선-새마을호-시간표-ITX-용산역-광주역-익산역-목포역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="호남선-새마을호-시간표-ITX-용산역-광주역-익산역-목포역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20436" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/호남선-새마을호-시간표-ITX-용산역-광주역-익산역-목포역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/호남선-새마을호-시간표-ITX-용산역-광주역-익산역-목포역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/호남선-새마을호-시간표-ITX-용산역-광주역-익산역-목포역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>경부선 새마을호 시간표 및 요금 (서울역~부산역) 실시간 정리</title>
		<link>https://krailroad.co.kr/%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%84%9c%ec%9a%b8%ec%97%ad%eb%b6%80%ec%82%b0%ec%97%ad-%ec%8b%a4%ec%8b%9c/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 09 Apr 2026 23:55:50 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[경부선 새마을호 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20375</guid>

					<description><![CDATA[대한민국 물류와 여객의 대동맥이라 불리는 경부선 새마을호 시간표를 이용한 서울과 부산이라는 거대한 두 축을 하나로 묶어주는 열차 노선으로, 옛날 투박한 기차 여행이 속도 중심의 경쟁이었다면, 지금은 기차 이용자의 목적과 취향에 맞춘 최적화된 시스템으로 변모했는데요. 서울역 부산역 새마을호를 비롯해 세련된 외관과 최신 설비를 갖춘 경부선 ITX-새마을호, 그리고 차세대 주력 모델인 경부선 ITX-마음은 목적지까지의 시간을 효율적으로 사용할 ... <a title="경부선 새마을호 시간표 및 요금 (서울역~부산역) 실시간 정리" class="read-more button" href="https://krailroad.co.kr/%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%84%9c%ec%9a%b8%ec%97%ad%eb%b6%80%ec%82%b0%ec%97%ad-%ec%8b%a4%ec%8b%9c/" aria-label="경부선 새마을호 시간표 및 요금 (서울역~부산역) 실시간 정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">대한민국 물류와 여객의 대동맥이라 불리는 경부선 새마을호 시간표를 이용한 서울과 부산이라는 거대한 두 축을 하나로 묶어주는 열차 노선으로, 옛날 투박한 기차 여행이 속도 중심의 경쟁이었다면, 지금은 기차 이용자의 목적과 취향에 맞춘 최적화된 시스템으로 변모했는데요. 서울역 부산역 새마을호를 비롯해 세련된 외관과 최신 설비를 갖춘 경부선 ITX-새마을호, 그리고 차세대 주력 모델인 경부선 ITX-마음은 목적지까지의 시간을 효율적으로 사용할 수 있는 열차가 되고 있습니다.</p>



<p class="wp-block-paragraph">이런 경부선 새마을호를 이용할 경우 역사 내 혼잡한 인파 사이에서 전광판의 작은 글씨를 쫓거나, 출처가 불분명한 커뮤니티의 게시물에 의지해 일정을 짜던 번거로움은 이제 완전히 덜어내셔도 좋습니다. <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a>과 공공 API를 직접 연동한 1분 단위 자동 갱신되는 아래 시스템은 현재 열차가 몇분뒤 출발 할것인지와 정차역 진입 상태를 오차 없이 보여주며, 특히 시각 정보 확인에 제약이 있는 분들을 위해 실시간 열차 검색 폼 상단 메뉴에서 음성 알림을 활성화하면, 열차 진입 15분 전부터 자동으로 안내 메시지를 송출하여 대기 시간을 자유롭게 확인 하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>경부선 새마을호 시간표 안내</strong></h2>



<h3 class="wp-block-heading">경부선 ITX-새마을호 이동 기준</h3>



<p class="wp-block-paragraph">경부선 새마을호 시간표 구간인 서울역과 <a href="https://krailroad.co.kr/%eb%b6%80%ec%82%b0%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b5%9c%ec%8b%a0-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%9a%94%ea%b8%88-%eb%b0%8f-%ec%86%8c%ec%9a%94-%ec%8b%9c%ea%b0%84/">부산역</a>을 살펴보면(<a href="https://krailroad.co.kr/%ea%b2%bd%eb%b6%80%ec%84%a0-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%84%9c%ec%9a%b8%ec%97%ad%eb%b6%80%ec%82%b0%ec%97%ad-%ec%b4%9d%ec%a0%95/">경부선 무궁화호 시간표는 여기 참고</a>) 영등포, 수원, 대전, 동대구 등 전국을 잇는 핵심 정거장을 고르게 경유하는 것을 알 수 있으며, 고속열차의 속도와 일반 열차 특유의 넓은 좌석 배치가 더해져, 긴 시간 기차에 머물러야 하는 상황에서도 신체적 피로감이 적다는 것이 장점입니다. 공식 데이터베이스를 기반으로 구축된 실시간 호출 시스템은 실시간 운행 계통의 변수를 즉각 반영하므로, 일 분 일 초가 중요한 일정을 관리할 때 믿음만한 API 기반 자료일 것입니다.</p>



<p class="wp-block-paragraph">이는 단순히 철길을 따라 이동하는 것을 넘어, 본 시스템은 출발부터 도착 이후 서울 부산 기차 요금의 등급별 비교는 물론, 서울역 내 유휴 주차 공간 확인과 부산역 광장에서 시내로 이어지는 실시간 버스 도착 현황까지 하나의 화면에 통합했습니다. 서울역 부산역 기차 소요시간을 미리 점검하고 본인의 일정에 맞춰 좌석을 확보한다면, 이동 자체가 하나의 휴식이 되는 경험을 하게 될 것입니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">데이터 기반의 현지 여행</h3>



<p class="wp-block-paragraph">기차에 오르기 전후로 마주하게 되는 역 주변의 인프라 활용법도 놓칠 수 없는데, 서울역 일대의 트렌디한 공간들과 부산역 인근에 숨겨진 정겨운 식당가 정보는 실시간 기상 데이터와 함께 제공되어 날씨에 따른 최적의 동선을 제안합니다. 정교하게 설계된 검색 기능을 활용해 열차 번호와 종별에 따른 상세 정보를 확인하고, 불필요한 대기 시간 없이 이용할 수 있습니다.</p>



<p class="wp-block-paragraph">공공 API가 안내하는 정확한 데이터와 함께라면 서울과 부산을 오가는 길은 더 이상 막막한 거리가 아니고 기술이 제안하는 여유를 만끽하며, 가장 스마트한 방식으로 경부선의 철길을 누릴 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부산 ↔&nbsp;서울 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">부산<br>↓<br>서울</td><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1004호</span><div class="time-display">08:20</div><div class="arrival-info">13:22 도착</div></td><td><span class="train-detail">1026호</span><div class="time-display">19:24</div><div class="arrival-info">00:02 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">서울<br>↓<br>부산</td><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1001호</span><div class="time-display">05:54</div><div class="arrival-info">11:14 도착</div></td><td><span class="train-detail">1023호</span><div class="time-display">16:46</div><div class="arrival-info">21:20 도착</div></td></tr></tbody></table></div>


    
    <h2>서울 ↔ 부산 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                42,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">경주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                59,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                71,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                83,700원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">구포</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                53,900원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                75,500원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구,경주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                59,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                83,200원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구,구포</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                53,500원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                74,900원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">수원,경주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                48,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                68,300원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부산</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                28,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부산 →&nbsp;서울 ITX-새마을 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>부산</th><th>구포</th><th>물금</th><th>삼랑진</th><th>밀양</th><th>청도</th><th>경산</th><th>동대구</th><th>대구</th><th>왜관</th><th>구미</th><th>김천</th><th>영동</th><th>옥천</th><th>대전</th><th>신탄진</th><th>부강</th><th>조치원</th><th>천안</th><th>성환</th><th>평택</th><th>서정리</th><th>오산</th><th>수원</th><th>안양</th><th>영등포</th><th>서울</th></tr></thead><tbody><tr><td>1004</td><td>ITX-새마을</td><td>08:20</td><td>08:33</td><td>08:42</td><td>08:54</td><td>09:03</td><td>09:17</td><td>09:32</td><td>09:43</td><td>09:49</td><td>10:07</td><td>10:21</td><td>10:36</td><td>11:03</td><td></td><td>11:31</td><td>11:42</td><td></td><td>11:57</td><td>12:18</td><td></td><td>12:30</td><td></td><td></td><td>12:50</td><td></td><td>13:11</td><td>13:22</td></tr><tr><td>1008</td><td>ITX-새마을</td><td>12:04</td><td>12:17</td><td>12:26</td><td></td><td>12:44</td><td>12:58</td><td>13:13</td><td>13:24</td><td>13:30</td><td></td><td>13:59</td><td>14:14</td><td>14:41</td><td>15:00</td><td>15:13</td><td></td><td></td><td>15:36</td><td>15:57</td><td></td><td>16:10</td><td></td><td></td><td>16:30</td><td></td><td>16:51</td><td>17:01</td></tr><tr><td>1012</td><td>ITX-새마을</td><td>14:05</td><td>14:19</td><td></td><td></td><td>14:43</td><td></td><td></td><td>15:17</td><td>15:23</td><td></td><td>15:52</td><td>16:07</td><td></td><td></td><td>17:00</td><td></td><td></td><td></td><td>17:41</td><td></td><td></td><td></td><td></td><td>18:10</td><td></td><td>18:31</td><td>18:41</td></tr><tr><td>1014</td><td>ITX-새마을</td><td>14:42</td><td>14:56</td><td></td><td></td><td>15:22</td><td>15:35</td><td>15:51</td><td>16:03</td><td>16:10</td><td>16:29</td><td>16:43</td><td>17:00</td><td>17:28</td><td>17:47</td><td>18:01</td><td>18:19</td><td>18:31</td><td>18:40</td><td>19:02</td><td>19:11</td><td>19:19</td><td>19:27</td><td>19:34</td><td>19:47</td><td>20:00</td><td>20:13</td><td>20:25</td></tr><tr><td>1016</td><td>ITX-새마을</td><td>15:04</td><td>15:17</td><td>15:26</td><td></td><td>15:45</td><td></td><td></td><td>16:18</td><td>16:25</td><td>16:43</td><td>16:57</td><td>17:12</td><td>17:40</td><td></td><td>18:08</td><td></td><td></td><td>18:32</td><td>18:53</td><td></td><td></td><td></td><td></td><td>19:23</td><td></td><td>19:44</td><td>19:54</td></tr><tr><td>1022</td><td>ITX-새마을</td><td>18:08</td><td>18:21</td><td></td><td></td><td>18:46</td><td></td><td></td><td>19:19</td><td>19:25</td><td></td><td>19:54</td><td>20:10</td><td></td><td></td><td>21:04</td><td>21:15</td><td></td><td>21:31</td><td>21:52</td><td></td><td></td><td></td><td></td><td>22:21</td><td></td><td>22:42</td><td>22:53</td></tr><tr><td>1026</td><td>ITX-새마을</td><td>19:24</td><td>19:37</td><td></td><td></td><td>20:01</td><td></td><td></td><td>20:35</td><td>20:41</td><td></td><td>21:10</td><td>21:25</td><td></td><td></td><td>22:18</td><td></td><td></td><td>22:41</td><td>23:02</td><td></td><td></td><td></td><td></td><td>23:31</td><td></td><td>23:52</td><td>00:02</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">서울 →&nbsp;부산 ITX-새마을 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>서울</th><th>영등포</th><th>수원</th><th>평택</th><th>천안</th><th>조치원</th><th>부강</th><th>신탄진</th><th>대전</th><th>옥천</th><th>영동</th><th>황간</th><th>김천</th><th>구미</th><th>왜관</th><th>대구</th><th>동대구</th><th>경산</th><th>청도</th><th>상동</th><th>밀양</th><th>삼랑진</th><th>물금</th><th>구포</th><th>부산</th></tr></thead><tbody><tr><td>1001</td><td>ITX-새마을</td><td>05:54</td><td>06:07</td><td>06:31</td><td>06:51</td><td>07:06</td><td>07:28</td><td>07:36</td><td>07:47</td><td>08:01</td><td></td><td>08:30</td><td></td><td>08:57</td><td>09:13</td><td>09:27</td><td>09:47</td><td>09:53</td><td>10:02</td><td>10:18</td><td>10:27</td><td>10:35</td><td></td><td>10:53</td><td>11:02</td><td>11:14</td></tr><tr><td>1003</td><td>ITX-새마을</td><td>06:13</td><td>06:23</td><td>06:46</td><td>07:06</td><td>07:19</td><td>07:41</td><td></td><td></td><td>08:06</td><td>08:21</td><td>08:41</td><td>08:52</td><td>09:12</td><td>09:29</td><td>09:43</td><td>10:02</td><td>10:08</td><td></td><td>10:30</td><td></td><td>10:43</td><td>10:54</td><td></td><td>11:13</td><td>11:26</td></tr><tr><td>1007</td><td>ITX-새마을</td><td>08:49</td><td>08:59</td><td>09:22</td><td>09:41</td><td>09:55</td><td>10:15</td><td></td><td></td><td>10:40</td><td></td><td>11:08</td><td></td><td>11:34</td><td>11:50</td><td></td><td>12:19</td><td>12:25</td><td></td><td>12:47</td><td></td><td>13:00</td><td></td><td></td><td>13:26</td><td>13:38</td></tr><tr><td>1009</td><td>ITX-새마을</td><td>10:23</td><td>10:33</td><td>10:55</td><td>11:14</td><td>11:27</td><td>11:48</td><td></td><td>12:03</td><td>12:16</td><td></td><td>12:43</td><td></td><td>13:10</td><td>13:26</td><td>13:40</td><td>13:59</td><td>14:05</td><td>14:14</td><td>14:28</td><td></td><td>14:41</td><td></td><td>14:59</td><td>15:09</td><td>15:21</td></tr><tr><td>1013</td><td>ITX-새마을</td><td>11:45</td><td>11:55</td><td>12:17</td><td>12:36</td><td>12:49</td><td>13:10</td><td></td><td></td><td>13:34</td><td></td><td></td><td></td><td>14:25</td><td>14:41</td><td></td><td>15:12</td><td>15:18</td><td>15:28</td><td></td><td></td><td>15:53</td><td></td><td>16:12</td><td>16:22</td><td>16:34</td></tr><tr><td>1019</td><td>ITX-새마을</td><td>13:53</td><td>14:03</td><td>14:25</td><td>14:44</td><td>14:57</td><td>15:18</td><td></td><td></td><td>15:43</td><td></td><td>16:10</td><td></td><td>16:37</td><td>16:53</td><td>17:06</td><td>17:25</td><td>17:31</td><td>17:40</td><td>17:55</td><td></td><td>18:08</td><td></td><td></td><td>18:33</td><td>18:45</td></tr><tr><td>1023</td><td>ITX-새마을</td><td>16:46</td><td>16:56</td><td>17:19</td><td></td><td>17:49</td><td></td><td></td><td></td><td>18:31</td><td></td><td></td><td></td><td>19:23</td><td>19:39</td><td></td><td>20:08</td><td>20:14</td><td></td><td></td><td></td><td></td><td></td><td></td><td>21:08</td><td>21:20</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #ktx-live-app-v2 { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); min-height: 800px; }
        .ktx-top-bar-v2 { background: #0045e6; padding: 15px 20px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .ktx-top-bar-v2 b { font-size: 17px; }
        .ktx-live-label-v2 { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 900; animation: ktx_pulse_v2 1.5s infinite; }
        @keyframes ktx_pulse_v2 { 50% { opacity: 0.4; } }
        .ktx-search-box-v2 { padding: 15px; background: #f8fafc; border-bottom: 1px solid #eee; }
        .ktx-input-flex-v2 { display: flex; gap: 8px; margin-bottom: 10px; }
        .ktx-input-flex-v2 input { flex: 1; min-width: 0; padding: 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-size: 16px !important; outline: none; background: #fff; -webkit-appearance: none; }
        #ktx-btn-submit-v2 { width: 100%; padding: 15px; background: #64748b; color: #fff; border: none; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 16px; transition: all 0.3s; height: 50px; }
        #ktx-btn-submit-v2:hover { background: #475569; }
        #ktx-btn-submit-v2.is-searching { background: #6366f1 !important; cursor: wait; }
        .ktx-memo-area-v2 { padding: 12px 15px; background: #fffbeb; color: #92400e; font-size: 14px; line-height: 1.6; border-top: 1px solid #fef3c7; display: none; word-break: keep-all; min-height: 45px; }
        .ktx-main-table-v2 { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; min-height: 700px; }
        .ktx-main-table-v2 th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .ktx-main-table-v2 td { padding: 15px 4px; border-bottom: none !important; text-align: center; vertical-align: middle; }
        .ktx-status-text-v2 { color: #e11d48; font-weight: 800; font-size: 14px; margin: 3px 0; white-space: nowrap; letter-spacing: -0.5px; }
        .ktx-grade-name-v2 { font-size: 16px; font-weight: 800; color: #0045e6; line-height: 1.2; display: block; }
        .ktx-train-no-v2 { font-size: 11px; color: #94a3b8; display: block; margin-top: 2px; }
        .v-tag-ok-v2 { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        .v-tag-duration-v2 { font-size: 10px; color: #0045e6; background: #eff6ff; padding: 1px 4px; border-radius: 3px; border: 1px solid #dbeafe; display: inline-block; margin-top: 4px; font-weight: bold; }
        .ktx-time-info-v2 { color: #475569; font-size: 12px; font-weight: 600; }
        .ktx-station-name-v2 { font-size: 14px; font-weight: 700; color: #1e293b; }

        .ktx-badge-soon-v2 { 
            display: inline-block;
            background: #e11d48; 
            color: #fff; 
            padding: 4px 10px; 
            border-radius: 6px; 
            font-size: 11px; 
            font-weight: 900; 
            letter-spacing: -0.2px;
            margin-bottom: 4px;
            box-shadow: 0 2px 4px rgba(225, 29, 72, 0.2);
            animation: ktx_v4_pulse_v2 1.2s infinite ease-in-out; 
        }
        @keyframes ktx_v4_pulse_v2 { 0% { opacity: 1; transform: scale(1); } 50% { opacity: 0.6; transform: scale(0.96); } 100% { opacity: 1; transform: scale(1); } }

        .ktx-loading-v2 { opacity: 0.3; }
        .ktx-row-fade-v2 { animation: ktxFadeInUp_v2 0.5s ease-out forwards; opacity: 0; }
        @keyframes ktxFadeInUp_v2 { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

        .ktx-voice-btn-v2 { padding: 4px 12px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.6); background: rgba(0,0,0,0.15); font-size: 11px; font-weight: 900; color: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; height: 26px; transition: 0.2s; line-height: 1; margin-left:10px; }
        .ktx-voice-btn-v2.active { background: #fff; color: #0045e6; border-color: #fff; box-shadow: 0 0 10px rgba(255,255,255,0.3); }

        .ktx-pagination-v2 { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 20px; background: #fff; border-top: 1px solid #f1f5f9; }
        .ktx-page-btn-v2 { padding: 8px 16px; border: 1px solid #e2e8f0; border-radius: 6px; font-size: 13px; color: #64748b; background: #fff; cursor: pointer; transition: 0.2s; }
        .ktx-page-btn-v2:hover:not(:disabled) { background: #f1f5f9; border-color: #cbd5e1; }
        .ktx-page-btn-v2:disabled { opacity: 0.4; cursor: not-allowed; }
        .ktx-page-info-v2 { font-size: 14px; font-weight: bold; color: #0045e6; }
    </style>

    <div id="ktx-live-app-v2">
        <div class="ktx-top-bar-v2">
            <div style="display: flex; align-items: center;">
                <b><span id="ktx-live-clock-v2" style="font-size:14px; font-weight:bold; opacity:1;"></span></b>
                <button class="ktx-voice-btn-v2" id="ktx-voice-toggle-v2" onclick="toggleKtxVoiceV2()">
                    <span class="v-ico-v2">🔈</span> <span class="v-txt-v2">음성 끔</span>
                </button>
            </div>
            <div class="ktx-live-label-v2">LIVE</div>
        </div>
        <div class="ktx-search-box-v2">
            <div class="ktx-input-flex-v2">
                <input type="text" id="ktx-dep-field-v2" placeholder="출발역" value="">
                <input type="text" id="ktx-arr-field-v2" placeholder="도착역" value="">
            </div>
            <button id="ktx-btn-submit-v2" onclick="runKtxLiveSearchV2(true)">열차 시간 조회하기</button>
        </div>
        
        <table class="ktx-main-table-v2">
            <thead><tr><th style="width: 24%;">열차정보</th><th style="width: 24%;">출발역</th><th style="width: 28%;">출발예정</th><th style="width: 24%;">도착역</th></tr></thead>
            <tbody id="ktx-live-tbody-v2">
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr><td style="height:86px;">&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
                                <tr id="ktx-init-msg-v2"><td colspan="4" style="position:absolute; width:100%; left:0; padding:70px 0; color:#94a3b8; font-size:13px; text-align:center;">역 이름을 입력하고 조회해 주세요.</td></tr>
            </tbody>
        </table>

        <div id="ktx-pagination-ctrl-v2" class="ktx-pagination-v2" style="display:none;">
            <button class="ktx-page-btn-v2" id="ktx-prev-page-v2" onclick="changeKtxPageV2(-1)">&laquo; 이전</button>
            <span class="ktx-page-info-v2"><span id="ktx-current-page-v2">1</span> / <span id="ktx-total-pages-v2">1</span></span>
            <button class="ktx-page-btn-v2" id="ktx-next-page-v2" onclick="changeKtxPageV2(1)">다음 &raquo;</button>
        </div>

        <div id="ktx-memo-display-v2" class="ktx-memo-area-v2"></div>

        <div style="padding: 10px 18px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #f1f5f9; display:flex; justify-content:space-between;">
            <span>1분 간격 자동 갱신</span><span>최근: <span id="ktx-last-update-v2">--:--:--</span></span>
        </div>
    </div>

    <script>
    let ktxStationListV2 = [];
    const ktxKeyFinalV2 = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    window.ktxVoiceEnabledV2 = false;
    window.ktxAnnouncedV2 = new Set();
    let currentKtxFullDataV2 = [];
    let ktxCurrentPageV2 = 1;
    const ktxItemsPerPageV2 = 10;

    function toggleKtxVoiceV2() {
        window.ktxVoiceEnabledV2 = !window.ktxVoiceEnabledV2;
        const btn = document.getElementById('ktx-voice-toggle-v2');
        const txt = btn.querySelector('.v-txt-v2'), ico = btn.querySelector('.v-ico-v2');
        if(window.ktxVoiceEnabledV2) {
            btn.classList.add('active'); txt.innerText = "음성 켬"; ico.innerText = "🔊";
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); txt.innerText = "음성 끔"; ico.innerText = "🔈";
            window.speechSynthesis.cancel();
        }
    }

    function updateKtxClockV2() {
        const now = new Date();
        const clockEl = document.getElementById('ktx-live-clock-v2');
        if (clockEl) { clockEl.innerText = `${now.getMonth() + 1}.${now.getDate()} ${now.getHours().toString().padStart(2, '0')}:${now.getMinutes().toString().padStart(2, '0')} 기준`; }
    }
    setInterval(updateKtxClockV2, 1000);

    async function ktxMasterLoadV2() {
        updateKtxClockV2();
        ktxStationListV2.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinalV2}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())));
            const parser = new DOMParser();
            results.forEach(xmlStr => {
                const xml = parser.parseFromString(xmlStr, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!ktxStationListV2.find(s => s.id === id)) ktxStationListV2.push({ name, id });
                });
            });
            if(document.getElementById('ktx-dep-field-v2').value && document.getElementById('ktx-arr-field-v2').value) runKtxLiveSearchV2(false);
        } catch (e) { console.log("V2 Station data fail"); }
    }

    function renderKtxPageV2(page) {
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const now = new Date();
        const start = (page - 1) * ktxItemsPerPageV2;
        const end = start + ktxItemsPerPageV2;
        const pageData = currentKtxFullDataV2.slice(start, end);
        let html = '';
        pageData.forEach((r, idx) => {
            const diffMs = r.depDate - now;
            const diffMin = Math.round(diffMs / 60000);
            
            if (window.ktxVoiceEnabledV2 && diffMin === 15) {
                const key = r.no + "_" + r.dep_n + "_" + r.dep_time;
                if (!window.ktxAnnouncedV2.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 ${r.dep_n}역에서 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnouncedV2.add(key);
                }
            }

            const soon = (diffMin <= 15 && diffMin >= 0) ? '<span class="ktx-badge-soon-v2">출발임박</span>' : '';
            const durationTotal = Math.round((r.arrDate - r.depDate) / 60000);
            const h_dur = Math.floor(durationTotal / 60);
            const m_dur = durationTotal % 60;
            const durationStr = `${String(h_dur).padStart(2, '0')}:${String(m_dur).padStart(2, '0')} 소요`;
            
            let timeStatus = '';
            if (diffMin < 0) {
                timeStatus = '<div class="ktx-status-text-v2" style="color:#64748b;">운행종료</div>';
            } else {
                timeStatus = `<div class="ktx-status-text-v2">${diffMin===0?'출발대기':diffMin+'분 후 출발'}</div>`;
            }

            html += `<tr class="ktx-row-fade-v2" style="animation-delay:${idx*0.05}s;"><td><span class="ktx-train-no-v2">${r.no}호</span><span class="ktx-grade-name-v2">${r.grade}</span><span class="v-tag-ok-v2">정상운행</span></td><td><div class="ktx-station-name-v2">${r.dep_n}역</div><span class="v-tag-duration-v2">${durationStr}</span></td><td>${soon}${timeStatus}<div class="ktx-time-info-v2">${r.dep_time} 출발</div></td><td><div class="ktx-station-name-v2">${r.arr_n}역</div><div class="ktx-time-info-v2" style="color:#0045e6;">${r.arr_time} 도착</div></td></tr>`;
        });
        tbody.innerHTML = html;
        document.getElementById('ktx-current-page-v2').innerText = page;
        document.getElementById('ktx-prev-page-v2').disabled = (page === 1);
        document.getElementById('ktx-next-page-v2').disabled = (page === Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2));
    }

    function changeKtxPageV2(dir) {
        const total = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
        let target = ktxCurrentPageV2 + dir;
        if (target >= 1 && target <= total) { ktxCurrentPageV2 = target; renderKtxPageV2(ktxCurrentPageV2); }
    }

    async function runKtxLiveSearchV2(manual = false) {
        const btn = document.getElementById('ktx-btn-submit-v2');
        let d_val = document.getElementById('ktx-dep-field-v2').value.trim();
        let a_val = document.getElementById('ktx-arr-field-v2').value.trim();
        if (!d_val || !a_val) { if(manual) alert("출발역과 도착역을 모두 입력하세요."); return; }
        
        btn.innerText = "데이터 검색 중..."; btn.classList.add('is-searching'); btn.disabled = true;
        d_val = d_val.replace(/역$/, ''); a_val = a_val.replace(/역$/, '');
        
        const tbody = document.getElementById('ktx-live-tbody-v2');
        const memoDiv = document.getElementById('ktx-memo-display-v2');
        const pgCtrl = document.getElementById('ktx-pagination-ctrl-v2');
        if(manual) tbody.classList.add('ktx-loading-v2');

        const findStation = (n) => {
            if (n === "여수" || n === "여수엑스포") return { name: "여수EXPO", id: "NAT041993" };
            return ktxStationListV2.find(s => s.name === n || s.name === n + '역');
        }
        const dep = findStation(d_val); const arr = findStation(a_val);
        if (!dep || !arr) { 
            tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">역 이름을 정확히 입력해 주세요. (예: 부산, 동대구)</td></tr>';
            pgCtrl.style.display = 'none';
            tbody.classList.remove('ktx-loading-v2');
            btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false; 
            return; 
        }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live_v2');
        fd.append('dep_id', dep.id); fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            const resData = await response.json();
            const now = new Date();
            currentKtxFullDataV2 = resData.trains.map(item => {
                const parseTrainTime = (str) => { if (!str || str.length < 12) return new Date(0); return new Date(str.substring(0,4), str.substring(4,6)-1, str.substring(6,8), str.substring(8,10), str.substring(10,12)); };
                item.depDate = parseTrainTime(item.raw_dep); item.arrDate = parseTrainTime(item.raw_arr);
                if (item.arrDate < item.depDate) item.arrDate.setDate(item.arrDate.getDate() + 1);
                return item;
            }).sort((a, b) => a.depDate - b.depDate);

            if (currentKtxFullDataV2.length > 0) {
                const totalPages = Math.ceil(currentKtxFullDataV2.length / ktxItemsPerPageV2);
                document.getElementById('ktx-total-pages-v2').innerText = totalPages;
                pgCtrl.style.display = 'flex';
                
                let firstUpcomingIdx = currentKtxFullDataV2.findIndex(t => t.depDate.getTime() > (now.getTime() - 300000));
                if (firstUpcomingIdx === -1) firstUpcomingIdx = 0;
                ktxCurrentPageV2 = Math.floor(firstUpcomingIdx / ktxItemsPerPageV2) + 1;

                if(resData.memo_template) {
                    const f_t = currentKtxFullDataV2[0].dep_time;
                    const l_t = currentKtxFullDataV2[currentKtxFullDataV2.length-1].dep_time;
                    const scrollTips = [" 전체 시간표는 하단 페이징을 확인하세요.", " 모든 배차 정보를 페이지별로 확인 가능합니다."];
                    const randomTip = scrollTips[Math.floor(Math.random() * scrollTips.length)];
                    memoDiv.innerText = resData.memo_template.replace('{first_t}', f_t).replace('{last_t}', l_t) + randomTip;
                    memoDiv.style.display = 'block';
                }
                renderKtxPageV2(ktxCurrentPageV2);
                document.getElementById('ktx-last-update-v2').innerText = now.getHours().toString().padStart(2,'0')+':'+now.getMinutes().toString().padStart(2,'0')+':'+now.getSeconds().toString().padStart(2,'0');
            } else {
                tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0; color:#94a3b8;">오늘 운행되는 열차 정보가 없습니다.</td></tr>';
                pgCtrl.style.display = 'none';
            }
        } catch (e) { tbody.innerHTML = '<tr><td colspan="4" style="padding:60px 0;">데이터 통신 오류</td></tr>'; }

        tbody.classList.remove('ktx-loading-v2');
        btn.innerText = "열차 시간 조회하기"; btn.classList.remove('is-searching'); btn.disabled = false;
    }

    ktxMasterLoadV2();
    setInterval(() => { if(document.getElementById('ktx-dep-field-v2').value) runKtxLiveSearchV2(false); }, 60000);
    document.addEventListener('keypress', function(e) { if((e.target.id === 'ktx-dep-field-v2' || e.target.id === 'ktx-arr-field-v2') && e.keyCode === 13) runKtxLiveSearchV2(true); });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">서울역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">서울역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '11';
            let curName = '서울';
            let altCity = '21';
            let altName = '부산';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">서울역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">17℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">서울역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A7%A5%EB%8F%84%EB%82%A0%EB%93%9C+%EC%84%9C%EC%9A%B8%EC%97%AD%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%EB%8F%99%EC%9E%90%EB%8F%99+43-205+%EC%84%9C%EC%9A%B8%EC%97%AD%28%EC%B2%A0%EB%8F%84%EC%97%AD%29" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">맥도날드 서울역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 동자동 43-205 서울역(철도역)</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%8F%85%EB%A6%BD%EB%B0%80%EB%B0%A9+%EC%84%9C%EC%9A%B8%EC%97%AD+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%EB%8F%99%EC%9E%90%EB%8F%99+43-205+%EC%84%9C%EC%9A%B8%EC%97%AD%EC%82%AC+4%EC%B8%B5+%EB%8F%85%EB%A6%BD%EB%B0%80%EB%B0%A9" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">독립밀방 서울역</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;양식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 동자동 43-205 서울역사 4층 독립밀방</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A1%AF%EB%8D%B0%EB%A6%AC%EC%95%84+%EC%84%9C%EC%9A%B8%EC%97%AD%EC%82%AC%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%EB%8F%99%EC%9E%90%EB%8F%99+43-205+109%ED%98%B8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">롯데리아 서울역사점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 동자동 43-205 109호</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%8C%8C%EB%A6%AC%ED%81%AC%EB%9D%BC%EC%83%81+%EC%84%9C%EC%9A%B8%EC%97%AD%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%9A%A9%EC%82%B0%EA%B5%AC+%EB%8F%99%EC%9E%90%EB%8F%99+43-205+2%EC%B8%B5+108%ED%98%B8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">파리크라상 서울역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 용산구 동자동 43-205 2층 108호</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EA%B0%80%EB%A9%94%EA%B3%A8%EC%86%90%EC%99%95%EB%A7%8C%EB%91%90+%EB%82%A8%EB%8C%80%EB%AC%B8%EB%B3%B8%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EC%A4%91%EA%B5%AC+%EB%82%A8%EC%B0%BD%EB%8F%99+60-2" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">가메골손왕만두 남대문본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">분식&gt;만두</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 중구 남창동 60-2</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">서울역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 서울역 KTX빌딩                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">2,400원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">800원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">25,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 서울특별시 용산구 동자동 43-230<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 02-6952-8100                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">서울역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 서울특별시 용산구 동자동 43-230</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:02-6952-8100" style="color: #0052a4; font-weight: bold; text-decoration: none;">02-6952-8100</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%84%9C%EC%9A%B8%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/경부선-새마을호-시간표-ITX-서울역-부산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg" alt="경부선-새마을호-시간표-ITX-서울역-부산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간" class="wp-image-20409" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/경부선-새마을호-시간표-ITX-서울역-부산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/경부선-새마을호-시간표-ITX-서울역-부산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/경부선-새마을호-시간표-ITX-서울역-부산역-상하행-전체-첫기차-마지막기차-노선-요금-정차역-실시간-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>태화강역 동대구역 기차 시간표(ITX-마음-누리로-무궁화호 요금 소요시간)</title>
		<link>https://krailroad.co.kr/%ed%83%9c%ed%99%94%ea%b0%95%ec%97%ad-%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9citx-%eb%a7%88%ec%9d%8c-%eb%88%84%eb%a6%ac%eb%a1%9c-%eb%ac%b4%ea%b6%81%ed%99%94/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 09 Apr 2026 00:35:10 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[태화강역 동대구역 기차]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20356</guid>

					<description><![CDATA[태화강역 동대구역 기차 길은 울산의 산업 심장부와 영남권 최대 거점을 잇는 역동적인 구간으로, 과거 단선 철길을 달리는 무궁화호의 느린 낭만이 주를 이뤘다면, 현재는 대구선·중앙선·동해선이 유기적으로 맞물리며 이동 환경이 비약적으로 발전했습니다. 현재는 차세대 전동차인 ITX-마음부터 가성비 높은 누리로, 정겨운 무궁화호까지 다양한 열차가 수시로 운행되며 두 도시를 한 시간대 생활권으로 묶어 주고 있습니다. 태화강역 동대구역 기차 노선을 ... <a title="태화강역 동대구역 기차 시간표(ITX-마음-누리로-무궁화호 요금 소요시간)" class="read-more button" href="https://krailroad.co.kr/%ed%83%9c%ed%99%94%ea%b0%95%ec%97%ad-%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9citx-%eb%a7%88%ec%9d%8c-%eb%88%84%eb%a6%ac%eb%a1%9c-%eb%ac%b4%ea%b6%81%ed%99%94/" aria-label="태화강역 동대구역 기차 시간표(ITX-마음-누리로-무궁화호 요금 소요시간) 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">태화강역 동대구역 기차 길은 울산의 산업 심장부와 영남권 최대 거점을 잇는 역동적인 구간으로, 과거 단선 철길을 달리는 무궁화호의 느린 낭만이 주를 이뤘다면, 현재는 대구선·중앙선·동해선이 유기적으로 맞물리며 이동 환경이 비약적으로 발전했습니다. 현재는 차세대 전동차인 ITX-마음부터 가성비 높은 누리로, 정겨운 무궁화호까지 다양한 열차가 수시로 운행되며 두 도시를 한 시간대 생활권으로 묶어 주고 있습니다.</p>



<p class="wp-block-paragraph">태화강역 동대구역 기차 노선을 이용해 역사에 도착해 먼 곳의 전광판을 확인하느라 고개를 들고 대기할 필요가 없이, 아래 정보는 <a href="https://www.data.go.kr/index.do" target="_blank" rel="noopener">공공 API</a>를 실시간 호출하여 자동 갱신되는데 현재 열차의 출발 시간과 도착 시간을 즉각 반영하고 있는데요. 특히 시각장애인이나 화면 확인이 어려운 이용객을 고려해 출발 15분 전부터 작동하는 음성 안내 로직을 적용했습니다(다만 이기능은 음성 켜기, 끄기 기능을 터치 하여야 합니다.). 화면을 켜두는 것만으로도 열차 출발 상황을 실시간으로 파악하는 것과 동일한 효과를 얻는 것으로, 타 역의 정보가 필요할 경우 실시간 열차 조회 메뉴를 통해 출발지와 목적지를 설정하면 열차 번호와 종별을 음성으로 안내받을 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>태화강역 동대구역 기차 대구선</strong></h2>



<h3 class="wp-block-heading">동해선 광역전철과 태화강역</h3>



<p class="wp-block-paragraph">태화강역은 단순한 기차역을 넘어 동해선 광역전철의 종착지라는 막중한 역할을 수행하는데요. 부산 <a href="https://krailroad.co.kr/%eb%b6%80%ec%a0%84%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%aa%a9%ed%8f%ac%c2%b7%ec%88%9c%ec%b2%9c%c2%b7%eb%8f%99%eb%8c%80%ea%b5%ac%ed%96%89%ec%a7%84%ec%a3%bc/">부전역</a>에서 시작해 거제와 해맞이역을 거쳐 울산역까지 전철로 연결되면서 양 도시 간 당일치기 이동이 훨씬 수월해졌습니다. 기차가 아닌 <a href="https://krailroad.co.kr/realtime-subway-timetable/">전철 시간표</a>와 배차 간격 정보 역시 별도 메뉴를 통해 확인할 수 있으며, 모든 데이터는 복잡한 노선 사이에서 코레일 공식 자료를 기반으로 실시간 호출 API 이기에 신뢰할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">열차 종별 소요시간 및 운임</h3>



<p class="wp-block-paragraph">태화강역 동대구역 기차로 이동할 때는 선택하는 열차 종별에 따라 도착 시각과 운임이 달라지며, ITX-마음은 가장 쾌적하고 신속한 이동을 보장하며, 누리로와 무궁화호는 경제적인 요금이 강점입니다. 그리고 구간별 운임 차이가 명확하므로 개인의 일정과 예산에 맞춰 미리 좌석을 확보하는 것이 효율적이며, 본 자료에는 열차 정보 외에도 태화강역 주차장 위치와 요금, 실시간 버스 도착 알림까지 통합되어 있어 페이지 하나로 모든 정보를 이용할 수 있습니다.</p>



<p class="wp-block-paragraph">대구선 열차 탑승 전후로 방문하기 좋은 국가정원 십리대숲이나 생태공원은 울산의 대표적인 명소이며, 역 주변에서 이용 가능한 맛집 리스트와 실시간 기상 정보 역시 데이터로 연동되어 있으니, 제공되는 실시간 API 검색 기능을 활용 하시면 됩니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동대구 ↔&nbsp;태화강 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="3" style="border-top:1px solid #ddd;">동대구<br>↓<br>태화강</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1841호</span><div class="time-display">08:51</div><div class="arrival-info">10:09 도착</div></td><td><span class="train-detail">1843호</span><div class="time-display">21:23</div><div class="arrival-info">22:42 도착</div></td></tr><tr><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1871호</span><div class="time-display">07:40</div><div class="arrival-info">09:00 도착</div></td><td><span class="train-detail">1887호</span><div class="time-display">19:47</div><div class="arrival-info">21:07 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1873호</span><div class="time-display">09:00</div><div class="arrival-info">10:26 도착</div></td><td><span class="train-detail">1883호</span><div class="time-display">17:25</div><div class="arrival-info">18:51 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="3" style="border-top:1px solid #ddd;">태화강<br>↓<br>동대구</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1842호</span><div class="time-display">10:26</div><div class="arrival-info">11:44 도착</div></td><td><span class="train-detail">1844호</span><div class="time-display">11:34</div><div class="arrival-info">12:55 도착</div></td></tr><tr><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1874호</span><div class="time-display">09:30</div><div class="arrival-info">10:48 도착</div></td><td><span class="train-detail">1888호</span><div class="time-display">21:38</div><div class="arrival-info">22:56 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1872호</span><div class="time-display">07:05</div><div class="arrival-info">08:32 도착</div></td><td><span class="train-detail">1884호</span><div class="time-display">18:42</div><div class="arrival-info">20:10 도착</div></td></tr></tbody></table></div>


    
    <h2>태화강 ↔ 동대구 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">동대구 ↔ 태화강</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                10,200원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">동대구 ↔ 태화강</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                7,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">태화강 →&nbsp;동대구 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>태화강</th><th>북울산</th><th>경주</th><th>아화</th><th>영천</th><th>하양</th><th>동대구</th></tr></thead><tbody><tr><td>1872</td><td>무궁화</td><td>07:05</td><td>07:15</td><td>07:38</td><td></td><td>08:03</td><td>08:15</td><td>08:32</td></tr><tr><td>1874</td><td>누리로</td><td>09:30</td><td>09:38</td><td>09:59</td><td></td><td>10:21</td><td>10:32</td><td>10:48</td></tr><tr><td>1842</td><td>ITX-마음</td><td>10:26</td><td>10:35</td><td>10:55</td><td></td><td>11:17</td><td>11:28</td><td>11:44</td></tr><tr><td>1844</td><td>ITX-마음</td><td>11:34</td><td>11:42</td><td>12:03</td><td></td><td>12:25</td><td>12:36</td><td>12:55</td></tr><tr><td>1876</td><td>누리로</td><td>14:20</td><td>14:28</td><td>14:49</td><td></td><td>15:11</td><td>15:22</td><td>15:38</td></tr><tr><td>1878</td><td>무궁화</td><td>14:48</td><td>14:58</td><td>15:22</td><td></td><td>15:48</td><td>16:01</td><td>16:23</td></tr><tr><td>1880</td><td>누리로</td><td>17:16</td><td>17:24</td><td>17:45</td><td>18:00</td><td>18:10</td><td>18:21</td><td>18:37</td></tr><tr><td>1882</td><td>누리로</td><td>17:57</td><td>18:05</td><td>18:26</td><td></td><td>18:56</td><td>19:07</td><td>19:27</td></tr><tr><td>1884</td><td>무궁화</td><td>18:42</td><td>18:52</td><td>19:15</td><td></td><td>19:41</td><td>19:53</td><td>20:10</td></tr><tr><td>1886</td><td>누리로</td><td>20:57</td><td>21:05</td><td>21:26</td><td></td><td>21:49</td><td>22:00</td><td>22:16</td></tr><tr><td>1888</td><td>누리로</td><td>21:38</td><td>21:46</td><td>22:07</td><td></td><td>22:29</td><td>22:40</td><td>22:56</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동대구 →&nbsp;태화강 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>동대구</th><th>하양</th><th>영천</th><th>아화</th><th>경주</th><th>북울산</th><th>태화강</th></tr></thead><tbody><tr><td>1871</td><td>누리로</td><td>07:40</td><td>07:57</td><td>08:07</td><td>08:18</td><td>08:34</td><td>08:53</td><td>09:00</td></tr><tr><td>1841</td><td>ITX-마음</td><td>08:51</td><td>09:08</td><td>09:19</td><td></td><td>09:43</td><td>10:02</td><td>10:09</td></tr><tr><td>1873</td><td>무궁화</td><td>09:00</td><td>09:17</td><td>09:27</td><td></td><td>09:52</td><td>10:16</td><td>10:26</td></tr><tr><td>1875</td><td>누리로</td><td>12:30</td><td>12:47</td><td>12:57</td><td></td><td>13:21</td><td>13:40</td><td>13:47</td></tr><tr><td>1877</td><td>무궁화</td><td>12:36</td><td>12:53</td><td>13:04</td><td></td><td>13:29</td><td>13:53</td><td>14:02</td></tr><tr><td>1879</td><td>누리로</td><td>15:23</td><td>15:40</td><td>15:50</td><td></td><td>16:14</td><td>16:33</td><td>16:40</td></tr><tr><td>1881</td><td>누리로</td><td>16:09</td><td>16:26</td><td>16:36</td><td></td><td>17:00</td><td>17:19</td><td>17:26</td></tr><tr><td>1883</td><td>무궁화</td><td>17:25</td><td>17:42</td><td>17:53</td><td></td><td>18:18</td><td>18:41</td><td>18:51</td></tr><tr><td>1885</td><td>누리로</td><td>19:07</td><td>19:24</td><td>19:35</td><td></td><td>19:59</td><td>20:19</td><td>20:27</td></tr><tr><td>1887</td><td>누리로</td><td>19:47</td><td>20:04</td><td>20:14</td><td>20:25</td><td>20:41</td><td>21:00</td><td>21:07</td></tr><tr><td>1843</td><td>ITX-마음</td><td>21:23</td><td>21:40</td><td>21:50</td><td></td><td>22:14</td><td>22:34</td><td>22:42</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>태화강역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '태화강'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">태화강역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">태화강역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '26';
            let curName = '태화강';
            let altCity = '22';
            let altName = '동대구';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">태화강역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">14℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">태화강역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%B4%9D%EA%B0%81%EC%A7%AC%EB%BD%95+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%82%A8%EA%B5%AC+%EC%82%BC%EC%82%B0%EB%8F%99+187-3+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">총각짬뽕</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">중식&gt;중식당</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">울산광역시 남구 삼산동 187-3 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%99%8D%EC%9D%B5%EB%8F%88%EA%B9%8C%EC%8A%A4+%EC%9A%B8%EC%82%B0%EC%82%BC%EC%82%B0%EC%A0%90+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%82%A8%EA%B5%AC+%EC%82%BC%EC%82%B0%EB%8F%99+171-4" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">홍익돈까스 울산삼산점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;일식&gt;돈가스</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">울산광역시 남구 삼산동 171-4</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%82%BC%EC%82%B0%EB%B0%80%EB%A9%B4%EC%A0%84%EB%AC%B8%EC%A0%90+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%82%A8%EA%B5%AC+%EC%82%BC%EC%82%B0%EB%8F%99+1645-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">삼산밀면전문점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;국수</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">울산광역시 남구 삼산동 1645-1</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%95%84%EB%9D%BC%EC%88%AF%EB%B6%88%EB%8B%AD%EA%B0%88%EB%B9%84%26amp%3B%EC%AD%88%EA%BE%B8%EB%AF%B8+%EB%B3%B8%EC%A0%90+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%82%A8%EA%B5%AC+%EC%82%BC%EC%82%B0%EB%8F%99+200-3+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">아라숯불닭갈비&amp;쭈꾸미 본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;주꾸미요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">울산광역시 남구 삼산동 200-3 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%83%A4%EB%B8%8C%EC%98%AC%EB%8D%B0%EC%9D%B4+%EC%9A%B8%EC%82%B0%EC%82%BC%EC%82%B0%EC%A0%90+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%82%A8%EA%B5%AC+%EC%82%BC%EC%82%B0%EB%8F%99+189-1+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">샤브올데이 울산삼산점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;일식&gt;샤브샤브</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">울산광역시 남구 삼산동 189-1 1층</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">태화강역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 태화강역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">200원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 울산광역시 남구 산업로 654<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 051-441-7782                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">태화강역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 울산광역시 남구 산업로 654</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:051-441-7782" style="color: #0052a4; font-weight: bold; text-decoration: none;">051-441-7782</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%ED%83%9C%ED%99%94%EA%B0%95%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/태화강역-동대구역-기차-ITX-마음-누리로-무궁화호-상하행-시간표-대구선-첫기차-마지막기차-요금-정차역.jpg" alt="태화강역-동대구역-기차-ITX-마음-누리로-무궁화호-상하행-시간표-대구선-첫기차-마지막기차-요금-정차역" class="wp-image-20396" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/태화강역-동대구역-기차-ITX-마음-누리로-무궁화호-상하행-시간표-대구선-첫기차-마지막기차-요금-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/태화강역-동대구역-기차-ITX-마음-누리로-무궁화호-상하행-시간표-대구선-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/태화강역-동대구역-기차-ITX-마음-누리로-무궁화호-상하행-시간표-대구선-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>동대구역 부전역 기차 시간표 ITX-마음-누리로-무궁화호 대구선 요금</title>
		<link>https://krailroad.co.kr/%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad-%eb%b6%80%ec%a0%84%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-itx-%eb%a7%88%ec%9d%8c-%eb%88%84%eb%a6%ac%eb%a1%9c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Wed, 08 Apr 2026 03:05:47 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[동대구역 부전역 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20337</guid>

					<description><![CDATA[동대구역 부전역 기차는 대구선 철길은 대구의 도심을 지나 영남 내륙과 부산의 바다를 잇는 대구선 중앙선 동해선의 핵심적인 노선으로, 과거에는 단선 비전철 구간을 따라 느릿하게 운행되던 시절도 있었지만, 2011년 대구선 양측선 사업이 본궤도에 오르고 2021년 완전 개통되면서 이동 환경이 많이 변했는데요. 현재 이 구간은 ITX-마음과 무궁화호가 주축이 되어 상하행으로 운행 중이며, 대구와 경주, 울산, 부산을 하나의 ... <a title="동대구역 부전역 기차 시간표 ITX-마음-누리로-무궁화호 대구선 요금" class="read-more button" href="https://krailroad.co.kr/%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad-%eb%b6%80%ec%a0%84%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-itx-%eb%a7%88%ec%9d%8c-%eb%88%84%eb%a6%ac%eb%a1%9c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8/" aria-label="동대구역 부전역 기차 시간표 ITX-마음-누리로-무궁화호 대구선 요금 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">동대구역 부전역 기차는 대구선 철길은 대구의 도심을 지나 영남 내륙과 부산의 바다를 잇는 대구선 중앙선 동해선의 핵심적인 노선으로, 과거에는 단선 비전철 구간을 따라 느릿하게 운행되던 시절도 있었지만, 2011년 대구선 양측선 사업이 본궤도에 오르고 2021년 완전 개통되면서 이동 환경이 많이 변했는데요. 현재 이 구간은 ITX-마음과 무궁화호가 주축이 되어 상하행으로 운행 중이며, 대구와 경주, 울산, 부산을 하나의 생활권으로 묶어주는 역할을 하고 있습니다.</p>



<p class="wp-block-paragraph">이제 철도 이용은 승강장에서 멍하니 전광판만 보는 시대는 지났습니다. 발바닥 땀나게 뛰어갔는데 열차 지연 소식을 들으면 허탈하죠? 이제 1분마다 스스로 갱신되는 실시간 기차 로직으로 열차의 출발 시간을 즉시 확인해 보실 수 있으며, 출발 15분 전 알아서 챙겨주는 친절한 음성 가이드가 당신의 &#8216;기차 놓칠까 봐 하는 걱정&#8217;을 확실히 덜어드립니다. 그러니 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식자료를 기반으로 정리한 정확한 열차 시간표인 동대구역 <a href="https://krailroad.co.kr/%eb%b6%80%ec%a0%84%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%aa%a9%ed%8f%ac%c2%b7%ec%88%9c%ec%b2%9c%c2%b7%eb%8f%99%eb%8c%80%ea%b5%ac%ed%96%89%ec%a7%84%ec%a3%bc/">부전역 기차 시간표</a>와 요금, 정차역, 날씨, 소요시간 등을 가장 스마트하게 이용하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>동대구역 부전역 기차 대구선</strong></h2>



<h3 class="wp-block-heading">대구선-중앙선-동해선이 만나는 곳</h3>



<p class="wp-block-paragraph">동대구역 부전역 기차 길은 대구선과 중앙선, 그리고 동해선이 하나로 합쳐지는 구간이라 운행 계통이 상당히 까다로운 편입니다. 동대구역을 출발해 하양과 영천을 거치고, 아화와 경주를 지나 <a href="https://krailroad.co.kr/%eb%b6%81%ec%9a%b8%ec%82%b0%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c%ec%99%80-%ec%b5%9c%ec%8b%a0-%ec%9a%b4%ec%9e%84%ed%91%9c/">북울산역</a>, <a href="https://krailroad.co.kr/%ed%83%9c%ed%99%94%ea%b0%95%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%8c%80%ea%b5%ac%ec%84%a0-%eb%8f%99%eb%8c%80%ea%b5%ac%c2%b7/">태화강역</a>, 남창역과 기장, <a href="https://krailroad.co.kr/%ec%8b%a0%ed%95%b4%ec%9a%b4%eb%8c%80%ec%97%ad-itx-%eb%a7%88%ec%9d%8c-%ec%b2%ad%eb%9f%89%eb%a6%ac-%ea%b0%95%eb%a6%89-%ec%95%88%eb%8f%99-%ec%8b%9c%ea%b0%84%ed%91%9c/">신해운대</a>, 센텀역을 거쳐 부전역에 닿게 되는데요. 노선이 복잡하게 얽혀 있는 만큼 실시간 데이터 확인이 무엇보다 중요합니다. 앞으로는 노후화된 무궁화호의 운행 비중을 점차 줄이고 최신형 전동차 투입을 늘릴 계획이라, 대구선의 미래는 더욱 쾌적하고 빠른 고속화 시대를 예고하고 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">열차 종류별 소요시간과 특징</h3>



<p class="wp-block-paragraph">동대구역 부전역 노선은 열차에 따라 도착 시간이 조금씩 다르며, 최신형인 ITX-마음은 약 1시간 40분에서 50분 내외로 가장 빠르게 연결하며, 무궁화호는 정차역에 따라 2시간 내외가 소요되는데요. 요금 역시 ITX-마음이 무궁화호보다 높게 책정되어 있지만 쾌적한 실내와 소음 차단 능력 덕분에 장거리 이용객들에게 인기가 높습니다. 참고로 누리로는 현재 동대구에서 태화강 구간까지만 운행하고 부전까지는 가지 않으니, 종착역을 확인하고 이용하는 것이 좋습니다.</p>



<p class="wp-block-paragraph">동대구역은 워낙 넓고 복잡해서 부전행 승강장을 미리 파악해두지 않으면 발걸음이 꼬이기 쉽습니다. 하지만 부전역에 내리는 순간부터 부산의 심장인 서면과 푸르른 시민공원이 코앞에 펼쳐집니다. 낯선 곳에서의 주차 고민이나 버스 환승, &#8216;오늘 뭐 먹지?&#8217; 하는 식당 고민까지 아래 실시간 통합 검색 폼에 모두 담았으니, 스마트한 데이터를 이용하여 거짓된 정보를 참고하기보다 정확한 자료를 이용한 여행을 즐기실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동대구 ↔&nbsp;동대구 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">동대구<br>↓<br>부전</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1843호</span><div class="time-display">21:23</div><div class="arrival-info">23:40 도착</div></td><td><span class="train-detail">1843호</span><div class="time-display">21:23</div><div class="arrival-info">23:40 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1873호</span><div class="time-display">09:00</div><div class="arrival-info">11:30 도착</div></td><td><span class="train-detail">1883호</span><div class="time-display">17:25</div><div class="arrival-info">19:57 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">부전<br>↓<br>동대구</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1842호</span><div class="time-display">09:27</div><div class="arrival-info">11:44 도착</div></td><td><span class="train-detail">1842호</span><div class="time-display">09:27</div><div class="arrival-info">11:44 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1872호</span><div class="time-display">06:00</div><div class="arrival-info">08:32 도착</div></td><td><span class="train-detail">1884호</span><div class="time-display">17:36</div><div class="arrival-info">20:10 도착</div></td></tr></tbody></table></div>


    
    <h2>동대구 ↔ 대구 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                4,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                4,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                4,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                8,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                13,200원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                8,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                13,200원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구,경주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                8,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                13,200원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구,구포</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                8,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                13,200원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">SRT</span>
                                                            <span class="t-via">서대구</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                7,500원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                10,900원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                2,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                2,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부전 →&nbsp;동대구 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>부전</th><th>센텀</th><th>신해운대</th><th>기장</th><th>남창</th><th>태화강</th><th>북울산</th><th>경주</th><th>영천</th><th>하양</th><th>동대구</th></tr></thead><tbody><tr><td>1872</td><td>무궁화</td><td>06:00</td><td>06:11</td><td>06:18</td><td>06:28</td><td>06:49</td><td>07:05</td><td>07:15</td><td>07:38</td><td>08:03</td><td>08:15</td><td>08:32</td></tr><tr><td>1842</td><td>ITX-마음</td><td>09:27</td><td></td><td>09:42</td><td>09:52</td><td></td><td>10:26</td><td>10:35</td><td>10:55</td><td>11:17</td><td>11:28</td><td>11:44</td></tr><tr><td>1878</td><td>무궁화</td><td>13:39</td><td>13:50</td><td>13:57</td><td>14:07</td><td>14:32</td><td>14:48</td><td>14:58</td><td>15:22</td><td>15:48</td><td>16:01</td><td>16:23</td></tr><tr><td>1884</td><td>무궁화</td><td>17:36</td><td>17:47</td><td>17:54</td><td>18:04</td><td>18:25</td><td>18:42</td><td>18:52</td><td>19:15</td><td>19:41</td><td>19:53</td><td>20:10</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동대구 →&nbsp;부전 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>동대구</th><th>하양</th><th>영천</th><th>경주</th><th>북울산</th><th>태화강</th><th>남창</th><th>기장</th><th>신해운대</th><th>센텀</th><th>부전</th></tr></thead><tbody><tr><td>1873</td><td>무궁화</td><td>09:00</td><td>09:17</td><td>09:27</td><td>09:52</td><td>10:16</td><td>10:26</td><td>10:42</td><td>11:02</td><td>11:12</td><td>11:20</td><td>11:30</td></tr><tr><td>1877</td><td>무궁화</td><td>12:36</td><td>12:53</td><td>13:04</td><td>13:29</td><td>13:53</td><td>14:02</td><td>14:18</td><td>14:39</td><td>14:49</td><td>14:57</td><td>15:07</td></tr><tr><td>1883</td><td>무궁화</td><td>17:25</td><td>17:42</td><td>17:53</td><td>18:18</td><td>18:41</td><td>18:51</td><td>19:07</td><td>19:29</td><td>19:39</td><td>19:47</td><td>19:57</td></tr><tr><td>1843</td><td>ITX-마음</td><td>21:23</td><td>21:40</td><td>21:50</td><td>22:14</td><td>22:34</td><td>22:42</td><td></td><td>23:15</td><td>23:25</td><td></td><td>23:40</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>동대구역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '동대구'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">동대구역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">동대구역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '22';
            let curName = '동대구';
            let altCity = '21';
            let altName = '부전';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">동대구역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">14℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">동대구역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%8B%AC%EC%A7%80+%EB%8C%80%EA%B5%AC%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%8F%99%EA%B5%AC+%EC%8B%A0%EC%B2%9C%EB%8F%99+385-6" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">심지</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;일식&gt;일식당</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대구광역시 동구 신천동 385-6</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A5%B4%EB%B0%B0+%EB%B3%B8%EC%A0%90+%EB%8C%80%EA%B5%AC%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%88%98%EC%84%B1%EA%B5%AC+%EB%A7%8C%EC%B4%8C%EB%8F%99+1356-19+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">르배 본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대구광역시 수성구 만촌동 1356-19 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%95%84%EC%9B%83%EB%B0%B1%EC%8A%A4%ED%85%8C%EC%9D%B4%ED%81%AC%ED%95%98%EC%9A%B0%EC%8A%A4+%EB%8C%80%EA%B5%AC+%EC%8B%A0%EC%84%B8%EA%B3%84%EC%A0%90+%EB%8C%80%EA%B5%AC%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%8F%99%EA%B5%AC+%EC%8B%A0%EC%B2%9C%EB%8F%99+1506+%EC%8B%A0%EC%84%B8%EA%B3%84%EB%B0%B1%ED%99%94%EC%A0%90+8%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">아웃백스테이크하우스 대구 신세계점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;패밀리레스토랑</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대구광역시 동구 신천동 1506 신세계백화점 8층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%82%AC%ED%8C%8C%ED%82%A4%EC%B9%9C+%EB%8C%80%EA%B5%AC%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%8F%99%EA%B5%AC+%EC%8B%A0%EC%B2%9C%EB%8F%99+425-1+%EC%82%AC%ED%8C%8C%ED%82%A4%EC%B9%9C" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">사파키친</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;아시아음식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대구광역시 동구 신천동 425-1 사파키친</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%82%BC%EC%86%A1%EB%B9%B5%EC%A7%91+%EB%8F%99%EB%8C%80%EA%B5%AC%EC%97%AD%EC%82%AC%EC%A0%90+%EB%8C%80%EA%B5%AC%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%8F%99%EA%B5%AC+%EC%8B%A0%EC%95%94%EB%8F%99+294" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">삼송빵집 동대구역사점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대구광역시 동구 신암동 294</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">동대구역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 동대구역 2                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,500원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">18,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 대구광역시 동구 신암동 294<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 053-719-0270                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">동대구역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 대구광역시 동구 신암동 294</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:053-719-0270" style="color: #0052a4; font-weight: bold; text-decoration: none;">053-719-0270</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EB%8F%99%EB%8C%80%EA%B5%AC%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/동대구역-부전역-기차-ITX-마음-누리로-무궁화호-상하행-시간표-대구선-첫기차-마지막기차-요금-정차역.jpg" alt="동대구역-부전역-기차-ITX-마음-누리로-무궁화호-상하행-시간표-대구선-첫기차-마지막기차-요금-정차역" class="wp-image-20393" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/동대구역-부전역-기차-ITX-마음-누리로-무궁화호-상하행-시간표-대구선-첫기차-마지막기차-요금-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/동대구역-부전역-기차-ITX-마음-누리로-무궁화호-상하행-시간표-대구선-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/동대구역-부전역-기차-ITX-마음-누리로-무궁화호-상하행-시간표-대구선-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>진주역 서울역 KTX-ITX-새마을호 기차 시간표 및 요금 (경전선 실시간)</title>
		<link>https://krailroad.co.kr/%ec%a7%84%ec%a3%bc%ec%97%ad-%ec%84%9c%ec%9a%b8%ec%97%ad-ktx-itx-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ea%b2%bd%ec%a0%84/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Wed, 08 Apr 2026 02:21:36 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[진주역 서울역 KTX 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20320</guid>

					<description><![CDATA[진주역 서울역 KTX 상하행 왕복 경전선 철길은 경남 내륙의 풍경을 지나 서울 수도권 도심으로 이동하는 열차로써, 예전처럼 삼랑진이나 마산에서 기차를 갈아타며 긴 시간을 보내야 했던 번거로움은 이제 진주역 서울역 KTX ITX-새마을호 열차가 진주역까지 들어오면서 옛날이야기가 되었는데요. 현재 이 구간은 고속열차뿐만 아니라 ITX-새마을호까지 여러 종류의 기차가 상행과 하행으로 운행되며 이용객들의 일정에 맞춰 운행되고 있습니다. 이 구간을 ... <a title="진주역 서울역 KTX-ITX-새마을호 기차 시간표 및 요금 (경전선 실시간)" class="read-more button" href="https://krailroad.co.kr/%ec%a7%84%ec%a3%bc%ec%97%ad-%ec%84%9c%ec%9a%b8%ec%97%ad-ktx-itx-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ea%b2%bd%ec%a0%84/" aria-label="진주역 서울역 KTX-ITX-새마을호 기차 시간표 및 요금 (경전선 실시간) 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">진주역 서울역 KTX 상하행 왕복 경전선 철길은 경남 내륙의 풍경을 지나 서울 수도권 도심으로 이동하는 열차로써, 예전처럼 삼랑진이나 마산에서 기차를 갈아타며 긴 시간을 보내야 했던 번거로움은 이제 진주역 서울역 KTX ITX-새마을호 열차가 진주역까지 들어오면서 옛날이야기가 되었는데요. 현재 이 구간은 고속열차뿐만 아니라 ITX-새마을호까지 여러 종류의 기차가 상행과 하행으로 운행되며 이용객들의 일정에 맞춰 운행되고 있습니다.</p>



<p class="wp-block-paragraph">이 구간을 이용할 경우 아래 실시간 연동 공공 API와, <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 자료를 직접 데이터베이스화 하여 연동된 1분마다 스스로 정보를 갱신하는 데이터를 활용하면, 언제쯤 역사에 도착하면 내가 이용하려고 하는 진주역 서울역 KTX 열차를 실시간으로 파악할 수 있는데요. 특히 출발임박, 출발 10분전, 출발 15분 전에 안내되는 음성 로직을 켜두면 역 근처에서 식사를 하거나 볼일을 보다가도 늦지 않게 열차를 이용할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>경전선 진주역 서울역 KTX</strong></h2>



<h3 class="wp-block-heading">경전선 노선과 주요 정차역</h3>



<p class="wp-block-paragraph">진주역 서울역 KTX 소요시간은 평균 3시간 30분 내외로, 정차역에 따라 약간의 차이가 있습니다. 진주를 출발해 마산, 창원, 김해 진영을 거쳐 <a href="https://krailroad.co.kr/%eb%b0%80%ec%96%91%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c%ec%99%80-%ec%9a%94%ea%b8%88-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%a0%95%eb%b3%b4-%ec%b5%9c%ec%8b%a0-%ec%97%85%eb%8d%b0%ec%9d%b4%ed%8a%b8/">밀양역</a>에서 경부선과 합류한 뒤 동대구, 대전, 광명을 지나 서울역이나 용산역에 닿게 되는데요. 서울역 진주역 KTX 첫차는 새벽 일찍 시작되어 당일치기 비즈니스나 나들이를 계획하기 적당하며, 늦은 밤 도착하는 서울역 진주행 KTX 막차까지 열차가 고르게 나누어져 있어 경전선 노선을 이용하기에 큰 불편함이 없을 것입니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">가족 여행과 당일치기 여행</h3>



<p class="wp-block-paragraph">진주역은 가좌동 시내와 인접해 있어 내리자마자 버스나 택시로 이동하기 편리하며, 자동차를 가져오셨다면 진주역 주차장 요금 및 할인 혜택(열차 이용 시 30% 적용)과 정확한 주차장 위치를 아래 검색 폼에서 미리 확인해 보시는 것이 좋습니다. <br><br>또한, 실시간 진주 서울 날씨와 함께 역 주변에서 현지인들이 즐겨 찾는 냉면, 비빔밥 등 진주역 맛집 정보까지 통합되어 있어 아이들과 함께하는 나들이라면 아래 마련된 실시간 API 검색 기능을 통해 상하행 전체 열차의 출발과 도착, 해당 노선의 소요시간과 열차 종별 요금 상황을 참고하여 경전선 진주와 서울을 오가는 열차를 이용하는 것도 좋습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">진주 ↔&nbsp;서울 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">진주<br>↓<br>서울</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">204호</span><div class="time-display">06:10</div><div class="arrival-info">09:57 도착</div></td><td><span class="train-detail">288호</span><div class="time-display">20:05</div><div class="arrival-info">23:33 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">서울<br>↓<br>진주</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">201호</span><div class="time-display">05:03</div><div class="arrival-info">08:33 도착</div></td><td><span class="train-detail">221호</span><div class="time-display">20:38</div><div class="arrival-info">00:16 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">진주<br>↓<br>서울</td><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1112호</span><div class="time-display">08:22</div><div class="arrival-info">13:50 도착</div></td><td><span class="train-detail">1114호</span><div class="time-display">15:47</div><div class="arrival-info">21:00 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">서울<br>↓<br>진주</td><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1111호</span><div class="time-display">09:08</div><div class="arrival-info">14:36 도착</div></td><td><span class="train-detail">1113호</span><div class="time-display">19:25</div><div class="arrival-info">00:45 도착</div></td></tr></tbody></table></div>


    
    <h2>진주 ↔ 서울 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 진주</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                45,900원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 진주</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">기본</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                57,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                80,600원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 진주</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                57,200원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                80,100원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 진주</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                30,900원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">진주 →&nbsp;서울 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>진주</th><th>마산</th><th>창원</th><th>창원중앙</th><th>진영</th><th>밀양</th><th>경산</th><th>동대구</th><th>서대구</th><th>김천구미</th><th>대전</th><th>오송</th><th>천안아산</th><th>광명</th><th>서울</th><th>비고</th></tr></thead><tbody><tr><td>204</td><td>KTX-산천</td><td>06:10</td><td>06:35</td><td>06:41</td><td>06:50</td><td>07:00</td><td>07:17</td><td></td><td>07:56</td><td></td><td>08:19</td><td>08:44</td><td>09:02</td><td></td><td>09:34</td><td>09:57</td><td>매일</td></tr><tr><td>206</td><td>KTX-산천</td><td>08:56</td><td>09:21</td><td></td><td>09:34</td><td>09:44</td><td>10:01</td><td></td><td>10:39</td><td></td><td></td><td>11:22</td><td></td><td></td><td>12:07</td><td>12:25</td><td>매일</td></tr><tr><td>208</td><td>KTX-산천</td><td>09:59</td><td>10:25</td><td>10:31</td><td>10:39</td><td></td><td>11:04</td><td>11:30</td><td>11:45</td><td></td><td></td><td>12:28</td><td></td><td>12:53</td><td>13:18</td><td>13:36</td><td>매일</td></tr><tr><td>282</td><td>KTX-산천</td><td>11:19</td><td>11:44</td><td></td><td>11:56</td><td></td><td>12:21</td><td></td><td>12:55</td><td>13:04</td><td></td><td>13:47</td><td></td><td>14:12</td><td>14:37</td><td>14:55</td><td>금토일</td></tr><tr><td>212</td><td>KTX</td><td>12:51</td><td>13:17</td><td>13:23</td><td>13:32</td><td>13:43</td><td></td><td></td><td>14:30</td><td>14:40</td><td></td><td>15:22</td><td></td><td></td><td>16:06</td><td>16:30</td><td>매일</td></tr><tr><td>214</td><td>KTX</td><td>14:30</td><td>14:55</td><td></td><td>15:07</td><td></td><td>15:32</td><td></td><td>16:06</td><td></td><td></td><td>16:49</td><td></td><td></td><td>17:32</td><td>17:50</td><td>매일</td></tr><tr><td>284</td><td>KTX-산천</td><td>15:22</td><td>15:48</td><td></td><td>16:00</td><td></td><td>16:24</td><td></td><td>17:02</td><td></td><td>17:25</td><td>17:50</td><td>18:08</td><td></td><td>18:40</td><td>18:58</td><td>금토일</td></tr><tr><td>4022</td><td>KTX-산천</td><td>15:42</td><td>16:08</td><td>16:14</td><td>16:22</td><td>16:33</td><td>16:51</td><td></td><td>17:30</td><td></td><td></td><td>18:13</td><td></td><td></td><td>19:00</td><td>19:18</td><td>매일</td></tr><tr><td>218</td><td>KTX</td><td>17:36</td><td>18:01</td><td></td><td>18:13</td><td></td><td>18:38</td><td></td><td>19:12</td><td>19:21</td><td></td><td>20:04</td><td></td><td></td><td>20:47</td><td>21:05</td><td>매일</td></tr><tr><td>4024</td><td>KTX-산천</td><td>19:12</td><td>19:38</td><td></td><td>19:50</td><td>20:00</td><td>20:18</td><td></td><td>20:57</td><td></td><td></td><td>21:40</td><td></td><td>22:04</td><td>22:29</td><td>22:47</td><td>금토일</td></tr><tr><td>4026</td><td>KTX-산천</td><td>19:09</td><td>19:35</td><td></td><td>19:47</td><td>19:57</td><td>20:15</td><td></td><td>20:52</td><td></td><td>21:15</td><td>21:40</td><td></td><td>22:04</td><td>22:29</td><td>22:47</td><td>월화수목</td></tr><tr><td>288</td><td>KTX-산천</td><td>20:05</td><td>20:30</td><td></td><td>20:42</td><td></td><td>21:07</td><td></td><td>21:41</td><td></td><td></td><td>22:24</td><td>22:42</td><td>22:55</td><td></td><td>23:33</td><td>금토일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>진주</th><th>함안</th><th>마산</th><th>창원</th><th>창원중앙</th><th>진영</th><th>밀양</th><th>청도</th><th>동대구</th><th>대구</th><th>왜관</th><th>구미</th><th>김천</th><th>영동</th><th>대전</th><th>조치원</th><th>천안</th><th>평택</th><th>수원</th><th>영등포</th><th>서울</th></tr></thead><tbody><tr><td>1112</td><td>ITX-새마을</td><td>08:22</td><td>08:42</td><td>08:53</td><td>08:59</td><td>09:09</td><td>09:19</td><td>09:36</td><td>09:50</td><td>10:13</td><td>10:19</td><td>10:37</td><td>10:51</td><td>11:06</td><td></td><td>11:59</td><td>12:22</td><td>12:43</td><td>12:55</td><td>13:15</td><td>13:39</td><td>13:50</td></tr><tr><td>1114</td><td>ITX-새마을</td><td>15:47</td><td>16:07</td><td>16:18</td><td>16:24</td><td>16:33</td><td>16:43</td><td>16:59</td><td></td><td>17:33</td><td>17:39</td><td></td><td>18:08</td><td>18:23</td><td>18:50</td><td>19:19</td><td></td><td>20:00</td><td></td><td>20:29</td><td>20:50</td><td>21:00</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">서울 →&nbsp;진주 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>서울</th><th>광명</th><th>천안아산</th><th>오송</th><th>대전</th><th>김천구미</th><th>서대구</th><th>동대구</th><th>경산</th><th>밀양</th><th>진영</th><th>창원중앙</th><th>창원</th><th>마산</th><th>진주</th><th>비고</th></tr></thead><tbody><tr><td>201</td><td>KTX-산천</td><td>05:03</td><td>05:22</td><td></td><td></td><td>06:04</td><td></td><td></td><td>06:51</td><td></td><td>07:24</td><td>07:42</td><td>07:54</td><td>08:02</td><td>08:09</td><td>08:33</td><td>매일</td></tr><tr><td>203</td><td>KTX-산천</td><td>05:38</td><td>05:57</td><td>06:19</td><td>06:32</td><td>06:49</td><td></td><td></td><td>07:36</td><td>07:47</td><td>08:14</td><td></td><td>08:40</td><td></td><td>08:52</td><td>09:16</td><td>매일</td></tr><tr><td>281</td><td>KTX-산천</td><td>06:03</td><td>06:22</td><td>06:44</td><td>06:57</td><td>07:14</td><td>07:38</td><td></td><td>08:06</td><td></td><td>08:39</td><td>08:58</td><td></td><td>09:14</td><td>09:21</td><td>09:45</td><td>금토일</td></tr><tr><td>205</td><td>KTX</td><td>08:23</td><td>08:42</td><td></td><td>09:10</td><td>09:29</td><td></td><td>10:12</td><td>10:21</td><td></td><td>10:54</td><td></td><td>11:20</td><td></td><td>11:32</td><td>11:56</td><td>매일</td></tr><tr><td>285</td><td>KTX-산천</td><td>09:28</td><td>09:47</td><td></td><td>10:16</td><td>10:35</td><td>10:59</td><td></td><td>11:27</td><td></td><td></td><td></td><td>12:23</td><td></td><td>12:35</td><td>12:59</td><td>금토일</td></tr><tr><td>209</td><td>KTX</td><td>10:07</td><td>10:26</td><td>10:49</td><td></td><td>11:14</td><td>11:38</td><td></td><td>12:03</td><td>12:14</td><td>12:41</td><td></td><td>13:07</td><td></td><td>13:19</td><td>13:43</td><td>매일</td></tr><tr><td>4021</td><td>KTX-산천</td><td>10:43</td><td>11:02</td><td>11:24</td><td>11:37</td><td>11:54</td><td></td><td></td><td>12:41</td><td></td><td>13:14</td><td></td><td>13:40</td><td></td><td>13:52</td><td>14:16</td><td>매일</td></tr><tr><td>213</td><td>KTX</td><td>13:38</td><td></td><td>14:14</td><td></td><td>14:39</td><td></td><td>15:22</td><td>15:31</td><td></td><td>16:03</td><td></td><td>16:29</td><td></td><td>16:41</td><td>17:05</td><td>금토일</td></tr><tr><td>225</td><td>KTX</td><td>13:38</td><td></td><td>14:14</td><td></td><td>14:39</td><td></td><td>15:22</td><td>15:31</td><td></td><td>16:03</td><td></td><td>16:29</td><td></td><td>16:41</td><td>17:05</td><td>월화수목</td></tr><tr><td>283</td><td>KTX-산천</td><td>15:09</td><td>15:28</td><td></td><td>15:56</td><td>16:15</td><td></td><td></td><td>17:02</td><td></td><td>17:35</td><td></td><td>18:01</td><td>18:10</td><td>18:17</td><td>18:41</td><td>금토일</td></tr><tr><td>4023</td><td>KTX-산천</td><td>15:23</td><td></td><td>16:00</td><td></td><td>16:23</td><td></td><td></td><td>17:07</td><td></td><td>17:40</td><td></td><td>18:06</td><td>18:14</td><td>18:21</td><td>18:45</td><td>월화수목</td></tr><tr><td>4027</td><td>KTX-산천</td><td>15:23</td><td></td><td>16:00</td><td></td><td>16:23</td><td></td><td></td><td>17:10</td><td></td><td>17:43</td><td></td><td>18:09</td><td>18:17</td><td>18:24</td><td>18:48</td><td>금토일</td></tr><tr><td>221</td><td>KTX-산천</td><td>20:38</td><td>20:57</td><td>21:19</td><td>21:32</td><td>21:49</td><td></td><td></td><td>22:36</td><td></td><td></td><td>23:25</td><td>23:36</td><td>23:45</td><td>23:52</td><td>00:16</td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>서울</th><th>영등포</th><th>수원</th><th>평택</th><th>천안</th><th>조치원</th><th>대전</th><th>옥천</th><th>영동</th><th>김천</th><th>구미</th><th>왜관</th><th>대구</th><th>동대구</th><th>경산</th><th>청도</th><th>밀양</th><th>진영</th><th>창원중앙</th><th>창원</th><th>마산</th><th>함안</th><th>진주</th></tr></thead><tbody><tr><td>1111</td><td>ITX-새마을</td><td>09:08</td><td>09:18</td><td>09:40</td><td>09:59</td><td>10:13</td><td>10:33</td><td>10:58</td><td>11:09</td><td>11:28</td><td>11:55</td><td>12:11</td><td></td><td>12:40</td><td>12:46</td><td>12:55</td><td>13:10</td><td>13:23</td><td>13:41</td><td>13:51</td><td>14:00</td><td>14:06</td><td>14:18</td><td>14:36</td></tr><tr><td>1113</td><td>ITX-새마을</td><td>19:25</td><td>19:35</td><td>19:57</td><td></td><td>20:26</td><td>20:47</td><td>21:11</td><td></td><td></td><td>22:02</td><td>22:18</td><td>22:31</td><td>22:50</td><td>22:56</td><td></td><td></td><td>23:28</td><td>23:48</td><td>23:59</td><td>00:08</td><td>00:14</td><td>00:26</td><td>00:45</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>진주역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '진주'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">진주역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">진주역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '38030';
            let curName = '진주';
            let altCity = '11';
            let altName = '서울';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">진주역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">15℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 구름많음</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">20%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">진주역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%83%80%EC%B9%B4%EC%9D%B4+%EC%A7%84%EC%A3%BC%ED%98%81%EC%8B%A0%EB%8F%84%EC%8B%9C%EC%A0%90+%EA%B2%BD%EC%83%81%EB%82%A8%EB%8F%84+%EC%A7%84%EC%A3%BC%EC%8B%9C+%EC%B6%A9%EB%AC%B4%EA%B3%B5%EB%8F%99+287-3+1%EC%B8%B5+102%ED%98%B8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">타카이 진주혁신도시점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">술집&gt;요리주점</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상남도 진주시 충무공동 287-3 1층 102호</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EA%B3%A0%EC%A7%91%EB%82%A8+%EC%A7%84%EC%A3%BC%ED%98%81%EC%8B%A0%EB%8F%84%EC%8B%9C%EC%A0%90+%EA%B2%BD%EC%83%81%EB%82%A8%EB%8F%84+%EC%A7%84%EC%A3%BC%EC%8B%9C+%EC%B6%A9%EB%AC%B4%EA%B3%B5%EB%8F%99+289-1+%EB%8B%A4%EC%9D%B8%ED%94%84%EB%9D%BC%EC%9E%90+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">고집남 진주혁신도시점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;육류,고기요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상남도 진주시 충무공동 289-1 다인프라자 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%A1%B0%EC%84%A0%EB%B3%B8%EA%B0%88%EB%B9%84+%EB%B0%80%EB%A9%B4+%EC%A7%84%EC%A3%BC%ED%98%81%EC%8B%A0%EB%8F%84%EC%8B%9C%EC%A0%90+%EA%B2%BD%EC%83%81%EB%82%A8%EB%8F%84+%EC%A7%84%EC%A3%BC%EC%8B%9C+%EC%B6%A9%EB%AC%B4%EA%B3%B5%EB%8F%99+289-3+2%EC%B8%B5+%EC%A1%B0%EC%84%A0%EB%B3%B8%EA%B0%88%EB%B9%84+%EB%B0%80%EB%A9%B4+%EC%A7%84%EC%A3%BC%ED%98%81%EC%8B%A0%EB%8F%84%EC%8B%9C%EC%A0%90" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">조선본갈비 밀면 진주혁신도시점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;한식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상남도 진주시 충무공동 289-3 2층 조선본갈비 밀면 진주혁신도시점</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%AA%A8%EB%9C%A8+%EA%B2%BD%EC%83%81%EB%82%A8%EB%8F%84+%EC%A7%84%EC%A3%BC%EC%8B%9C+%EC%B6%A9%EB%AC%B4%EA%B3%B5%EB%8F%99+289-4+%ED%86%A0%EC%9B%90%EB%B9%8C%EB%94%A9+106%ED%98%B8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">모뜨</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;카페,디저트</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상남도 진주시 충무공동 289-4 토원빌딩 106호</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%97%90%EB%82%98%EB%A1%9C%EB%A7%89%EC%B0%BD+%EC%A7%84%EC%A3%BC%ED%98%81%EC%8B%A0%EB%8F%84%EC%8B%9C%EC%A0%90+%EA%B2%BD%EC%83%81%EB%82%A8%EB%8F%84+%EC%A7%84%EC%A3%BC%EC%8B%9C+%EC%B6%A9%EB%AC%B4%EA%B3%B5%EB%8F%99+287-9+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">에나로막창 진주혁신도시점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;곱창,막창,양</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상남도 진주시 충무공동 287-9 1층</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">진주역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 진주역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">200원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">8,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 경상남도 진주시 진주역로 130<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 051-441-7782                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">진주역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 경상남도 진주시 진주역로 130</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:051-441-7782" style="color: #0052a4; font-weight: bold; text-decoration: none;">051-441-7782</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%A7%84%EC%A3%BC%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/진주역-서울역-KTX-ITX-새마을호-상하행-기차-시간표-경전선-첫기차-마지막기차-요금-정차역.jpg" alt="진주역-서울역-KTX-ITX-새마을호-상하행-기차-시간표-경전선-첫기차-마지막기차-요금-정차역" class="wp-image-20390" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/진주역-서울역-KTX-ITX-새마을호-상하행-기차-시간표-경전선-첫기차-마지막기차-요금-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/진주역-서울역-KTX-ITX-새마을호-상하행-기차-시간표-경전선-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/진주역-서울역-KTX-ITX-새마을호-상하행-기차-시간표-경전선-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>경주역 대전역 KTX SRT 시간표 총정리 (경부선 실시간 첫차 막차 및 요금)</title>
		<link>https://krailroad.co.kr/%ea%b2%bd%ec%a3%bc%ec%97%ad-%eb%8c%80%ec%a0%84%ec%97%ad-ktx-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b4%9d%ec%a0%95%eb%a6%ac-%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%8b%a4%ec%8b%9c%ea%b0%84-%ec%b2%ab%ec%b0%a8/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Tue, 07 Apr 2026 01:05:14 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[경주역 대전역 KTX]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20292</guid>

					<description><![CDATA[대전과 경주는 경부선 철길 중에서도 옛 풍경과 현대적인 감각이 가장 절묘하게 교차하는 구간입니다. 경주역 대전역 KTX가 운행되기 전에는 무궁화호나 새마을호를 타고 꽤 오랜 시간 달려야 했지만, 이제는 KTX와 SRT라는 두 가지 고속열차 덕분에 한시간이면 서로의 도시에 닿을 수 있게 되었는데요. 특히 경주역 대전역 KTX SRT 고속열차 소요시간은 평균 1시간 내외로 짧아져, 아침 일찍 서두르면 경주 ... <a title="경주역 대전역 KTX SRT 시간표 총정리 (경부선 실시간 첫차 막차 및 요금)" class="read-more button" href="https://krailroad.co.kr/%ea%b2%bd%ec%a3%bc%ec%97%ad-%eb%8c%80%ec%a0%84%ec%97%ad-ktx-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b4%9d%ec%a0%95%eb%a6%ac-%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%8b%a4%ec%8b%9c%ea%b0%84-%ec%b2%ab%ec%b0%a8/" aria-label="경주역 대전역 KTX SRT 시간표 총정리 (경부선 실시간 첫차 막차 및 요금) 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">대전과 경주는 경부선 철길 중에서도 옛 풍경과 현대적인 감각이 가장 절묘하게 교차하는 구간입니다. 경주역 대전역 KTX가 운행되기 전에는 무궁화호나 새마을호를 타고 꽤 오랜 시간 달려야 했지만, 이제는 KTX와 SRT라는 두 가지 고속열차 덕분에 한시간이면 서로의 도시에 닿을 수 있게 되었는데요. 특히 경주역 대전역 KTX SRT 고속열차 소요시간은 평균 1시간 내외로 짧아져, 아침 일찍 서두르면 <a href="https://krailroad.co.kr/%ea%b2%bd%ec%a3%bc-ktx-%ea%b8%b0%ec%b0%a8-%ed%83%80%ea%b3%a0-%eb%8b%b9%ec%9d%bc%ec%b9%98%ea%b8%b0-%ec%97%ad%ec%82%ac-%ec%9c%a0%ec%a0%81-%eb%a0%88%ec%a0%80-%ed%98%84%ec%a7%80-%eb%a7%9b%ec%a7%91/">경주 KTX 당일치기로 첨성대나 황리단길을 걷고 저녁에 돌아오는 일정</a>도 충분히 가능해졌습니다.</p>



<p class="wp-block-paragraph">그리고 이제부터는 역사 대합실에서 고개를 들고 전광판을 하염없이 쳐다보거나, 정확하지 않는 인터넷 시간표 때문에 곤란한 일을 겪으실 필요는 없습니다. 아래 자료들은 <a href="https://www.data.go.kr/index.do" target="_blank" rel="noopener">공공 API</a>를 통해 1분마다 스스로 갱신되며, 내가 이용하고자 하는 경주역 대전역 KTX SRT 시간표, 열차 요금, 주변 도착 버스, 소요시간과 지금 열차가 어디쯤 오고 있는지 언제 출발 가능한지 출발 15분 전부터 알려주는 음성 안내 기능을 켜두면 다른 일을 하다가도 늦지 않게 열차를 이용할 수 있습니다. 특히 벚꽃 시즌 <a href="https://krailroad.co.kr/%ea%b2%bd%ec%a3%bc%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%84%9c%ec%9a%b8-%eb%b6%80%ec%82%b0-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%95%88%eb%82%b4/">경주역 기차표</a> 예매는 평소보다 훨씬 빨리 마감되니, 실시간 정보를 미리 체크해서 열차를 이용하시는 것을 추천해드립니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>경주역 대전역 KTX 안내</strong></h2>



<h3 class="wp-block-heading">KTX와 SRT, 어떤 것을 탈까?</h3>



<p class="wp-block-paragraph">경주 대전 KTX vs SRT 비교를 해보면 본인의 출발지나 목적지에 따라 선택이 달라지는데요. 대전역 도심으로 바로 들어가야 한다면 KTX가 유리하고, 좌석 하단에 콘센트가 기본으로 설치된 쾌적함과 시간은 대략 5분에서 10분사이 차이가 나지만 저렴한 비용으로 이동을 원한다면 SRT가 좋습니다(SRT는 이용해본 결과 주변 이야기가 나이가 있는 분들이 많이 이용한다고 합니다. 왜냐하면 시간적 여유도 있고 저렴하기 때문이라네요). 경주역 SRT 좌석 명당은 대개 시야가 확 트인 중간 호차 창가 쪽을 꼽지만, 주말이나 공휴일에는 기차 종류에 상관없이 매진이 매우 빠릅니다. 최소한 일주일 전에는 미리 예약을 해야 하는 경우가 있었으며, 경주역 대전역 KTX SRT 기차 요금 또한 열차 등급에 따라 조금씩 차이가 있으니 아래 정리된 표를 참고해 보세요.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">첫차와 막차, 그리고 환승 이용</h3>



<p class="wp-block-paragraph">대전역 주차장 요금 및 무료 주차 혜택(열차 이용 시 할인 등)은 미리 파악해두는 것이 경제적이며, 경주역이나 대전역에 내린 뒤 버스로 이동해야 하는 경우 승강장 위치를 파악하고 아래 실시간 역사 주변 버스도착 API를 활용하면 됩니다. 만약 가족들과 함께라면 일전에 작성한 [<a href="https://krailroad.co.kr/%eb%8c%80%ec%a0%84-ktx-%eb%8b%b9%ec%9d%bc%ec%b9%98%ea%b8%b0-%ec%95%84%ec%9d%b4%eb%93%a4%ea%b3%bc-%ed%95%a8%ea%bb%98%ed%95%9c-%ea%b0%80%ec%a1%b1-%ea%b8%b0%ec%b0%a8-%ec%97%ac%ed%96%89/">아이들과 함께한 가족 기차 여행</a>] 후기를 참고해 보세요. 아이와 함께 이동할 때 유용한 팁과 동선이 잘 정리되어 있어 큰 도움이 될 것입니다.<br><br>그리고 대전역에서 경주역 첫차 막차 시간은 비즈니스나 관광 수요에 맞춰 꽤 많이 배차되어 있습니다(단 주의 하여야 할것은 경주역과 <a href="https://krailroad.co.kr/%ec%84%9c%ea%b2%bd%ec%a3%bc%ec%97%ad-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%a0%95%eb%b3%b4-%eb%b0%8f-%ea%b0%95%eb%a6%89-%eb%b6%80%ec%a0%84-%eb%8f%99/">서경주역</a>은 역 자체가 다릅니다. 서경주역은 KTX가 운행되지 않고 동대구~부전~강릉으로 가는 동해선 구간이니 참고하세요). 직통 열차를 놓쳤더라도 대전역 KTX 환승 시스템을 활용하면 동대구역 등에서 연결되는 편을 찾아 이동할 수 있는데요. 아래 마련된 검색 기능을 통해 실시간 위치와 지연 여부, 그리고 역 주변 맛집 정보까지 한꺼번에 챙겨서 경주와 대전을 쉽게 오가며 여행을 하는것을 추천해 드립니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">경주 ↔&nbsp;대전 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">경주<br>↓<br>대전</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">82호</span><div class="time-display">5:20</div><div class="arrival-info">6:21 도착</div></td><td><span class="train-detail">74호</span><div class="time-display">22:38</div><div class="arrival-info">23:40 도착</div></td></tr><tr><td><span class="type-label type-default">SRT</span></td><td><span class="train-detail">304호</span><div class="time-display">6:02</div><div class="arrival-info">7:04 도착</div></td><td><span class="train-detail">9378호</span><div class="time-display">22:56</div><div class="arrival-info">0:06 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">대전<br>↓<br>경주</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">1호</span><div class="time-display">6:14</div><div class="arrival-info">7:16 도착</div></td><td><span class="train-detail">195호</span><div class="time-display">22:39</div><div class="arrival-info">23:43 도착</div></td></tr><tr><td><span class="type-label type-default">SRT</span></td><td><span class="train-detail">301호</span><div class="time-display">6:30</div><div class="arrival-info">7:32 도착</div></td><td><span class="train-detail">371호</span><div class="time-display">21:39</div><div class="arrival-info">22:47 도착</div></td></tr></tbody></table></div>


    
    <h2>경주 ↔ 대전 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">대전 ↔ 경주</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">경주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                25,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                31,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                36,100원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">대전 ↔ 경주</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">기본</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                23,100원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                33,500원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">대전 ↔ 경주</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구,경주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                25,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                35,600원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">대전 ↔ 경주</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">수원,경주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                25,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                36,100원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">대전 ↔ 신경주</span>
                            <span class="u-grade-bottom">SRT</span>
                                                            <span class="t-via">기본</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                23,100원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                33,500원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">대전 ↔ 경주</span>
                            <span class="u-grade-bottom">SRT</span>
                                                            <span class="t-via">서대구</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                22,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                33,100원                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">경주 →&nbsp;대전 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>경주</th><th>동대구</th><th>서대구</th><th>김천구미</th><th>대전</th><th>운행요일</th></tr></thead><tbody><tr><td>82</td><td>KTX</td><td>5:20</td><td>5:38</td><td></td><td></td><td>6:21</td><td>월</td></tr><tr><td>4</td><td>KTX</td><td>5:47</td><td>6:06</td><td></td><td></td><td>6:49</td><td>매일</td></tr><tr><td>192</td><td>KTX-산천</td><td>6:37</td><td>6:55</td><td></td><td>7:18</td><td>7:44</td><td>매일</td></tr><tr><td>8</td><td>KTX</td><td>6:44</td><td>7:02</td><td></td><td>7:25</td><td>7:51</td><td>매일</td></tr><tr><td>84</td><td>KTX</td><td>6:56</td><td>7:14</td><td>7:24</td><td></td><td>8:06</td><td>금토일</td></tr><tr><td>170</td><td>KTX</td><td>7:11</td><td>7:29</td><td></td><td></td><td>8:14</td><td>토일</td></tr><tr><td>12</td><td>KTX</td><td>7:57</td><td>8:15</td><td>8:25</td><td></td><td>9:07</td><td>매일</td></tr><tr><td>14</td><td>KTX</td><td>8:40</td><td>8:58</td><td></td><td>9:21</td><td>9:47</td><td>매일</td></tr><tr><td>16</td><td>KTX</td><td>9:14</td><td>9:32</td><td></td><td></td><td>10:16</td><td>매일</td></tr><tr><td>24</td><td>KTX</td><td>10:24</td><td>10:43</td><td></td><td></td><td>11:26</td><td>매일</td></tr><tr><td>326</td><td>KTX</td><td>11:08</td><td>11:26</td><td></td><td>11:49</td><td>12:15</td><td>매일</td></tr><tr><td>34</td><td>KTX</td><td>13:38</td><td>13:57</td><td></td><td></td><td>14:40</td><td>매일</td></tr><tr><td>38</td><td>KTX</td><td>14:48</td><td>15:07</td><td></td><td></td><td>15:50</td><td>매일</td></tr><tr><td>40</td><td>KTX</td><td>15:06</td><td>15:24</td><td></td><td>15:47</td><td>16:13</td><td>매일</td></tr><tr><td>92</td><td>KTX</td><td>15:35</td><td>15:53</td><td></td><td></td><td>16:36</td><td>금토일</td></tr><tr><td>46</td><td>KTX</td><td>16:50</td><td>17:09</td><td></td><td>17:32</td><td>17:57</td><td>매일</td></tr><tr><td>48</td><td>KTX</td><td>17:24</td><td>17:42</td><td></td><td></td><td>18:25</td><td>매일</td></tr><tr><td>52</td><td>KTX_산천</td><td>17:55</td><td>18:13</td><td></td><td></td><td>18:56</td><td>매일</td></tr><tr><td>126</td><td>KTX</td><td>18:25</td><td>18:43</td><td></td><td></td><td>19:27</td><td>매일</td></tr><tr><td>98</td><td>KTX-산천</td><td>18:53</td><td>19:16</td><td></td><td></td><td>19:59</td><td>금토일</td></tr><tr><td>56</td><td>KTX</td><td>19:07</td><td>19:25</td><td></td><td>19:48</td><td>20:15</td><td>매일</td></tr><tr><td>100</td><td>KTX</td><td>20:13</td><td>20:31</td><td></td><td></td><td>21:14</td><td>금토일</td></tr><tr><td>194</td><td>KTX-산천</td><td>20:13</td><td>20:31</td><td></td><td></td><td>21:14</td><td>월화수목</td></tr><tr><td>66</td><td>KTX</td><td>21:35</td><td>21:53</td><td></td><td></td><td>22:36</td><td>매일</td></tr><tr><td>68</td><td>KTX</td><td>22:03</td><td>22:21</td><td></td><td>22:44</td><td>23:10</td><td>매일</td></tr><tr><td>74</td><td>KTX</td><td>22:38</td><td>22:57</td><td></td><td></td><td>23:40</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">경주 →&nbsp;대전 SRT 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>경주</th><th>동대구</th><th>서대구</th><th>김천구미</th><th>대전</th><th>운행요일</th></tr></thead><tbody><tr><td>304</td><td>SRT</td><td>6:02</td><td>6:21</td><td></td><td></td><td>7:04</td><td>매일</td></tr><tr><td>308</td><td>SRT</td><td>7:21</td><td>7:40</td><td></td><td>8:03</td><td>8:28</td><td>매일</td></tr><tr><td>9308</td><td>SRT</td><td>7:21</td><td>7:40</td><td></td><td>8:03</td><td>8:28</td><td>금,토,일</td></tr><tr><td>312</td><td>SRT</td><td>8:09</td><td>8:28</td><td></td><td></td><td>9:12</td><td>매일</td></tr><tr><td>9312</td><td>SRT</td><td>8:09</td><td>8:28</td><td></td><td></td><td>9:12</td><td>일</td></tr><tr><td>314</td><td>SRT</td><td>8:29</td><td>8:52</td><td></td><td></td><td>9:35</td><td>금,토,일</td></tr><tr><td>318</td><td>SRT</td><td>9:29</td><td>9:48</td><td></td><td></td><td>10:31</td><td>매일</td></tr><tr><td>324</td><td>SRT</td><td>10:40</td><td>10:59</td><td></td><td></td><td>11:43</td><td>매일</td></tr><tr><td>9324</td><td>SRT</td><td>10:40</td><td>10:59</td><td></td><td></td><td>11:43</td><td>토</td></tr><tr><td>326</td><td>SRT</td><td>11:08</td><td>11:26</td><td></td><td>11:49</td><td>12:15</td><td>매일</td></tr><tr><td>330</td><td>SRT</td><td>12:50</td><td>13:09</td><td></td><td></td><td>13:53</td><td>매일</td></tr><tr><td>334</td><td>SRT</td><td>13:19</td><td>13:38</td><td>13:47</td><td></td><td>14:30</td><td>매일</td></tr><tr><td>342</td><td>SRT</td><td>14:59</td><td>15:17</td><td></td><td></td><td>16:01</td><td>매일</td></tr><tr><td>352</td><td>SRT</td><td>16:34</td><td>16:52</td><td></td><td></td><td>17:35</td><td>매일</td></tr><tr><td>354</td><td>SRT</td><td>17:18</td><td>17:36</td><td></td><td></td><td>18:20</td><td>매일</td></tr><tr><td>9354</td><td>SRT</td><td>17:18</td><td>17:36</td><td></td><td></td><td>18:20</td><td>토</td></tr><tr><td>358</td><td>SRT</td><td>18:08</td><td>18:31</td><td></td><td></td><td>19:14</td><td>금,토,일</td></tr><tr><td>360</td><td>SRT</td><td>18:39</td><td>18:58</td><td></td><td>19:21</td><td>19:46</td><td>매일</td></tr><tr><td>362</td><td>SRT</td><td>19:26</td><td>19:45</td><td></td><td></td><td>20:28</td><td>매일</td></tr><tr><td>364</td><td>SRT</td><td>19:56</td><td>20:22</td><td></td><td></td><td>21:05</td><td>금,토,일</td></tr><tr><td>370</td><td>SRT</td><td>21:05</td><td>21:23</td><td></td><td></td><td>22:06</td><td>매일</td></tr><tr><td>378</td><td>SRT</td><td>22:56</td><td>23:14</td><td>23:24</td><td></td><td>0:06</td><td>매일</td></tr><tr><td>9378</td><td>SRT</td><td>22:56</td><td>23:14</td><td>23:24</td><td></td><td>0:06</td><td>금토</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">대전 →&nbsp;경주 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>광명</th><th>대전</th><th>김천구미</th><th>서대구</th><th>동대구</th><th>경주</th><th>비고</th></tr></thead><tbody><tr><td>1</td><td>KTX</td><td>5:32</td><td>6:14</td><td></td><td></td><td>6:58</td><td>7:16</td><td>매일</td></tr><tr><td>3</td><td>KTX</td><td>5:46</td><td>6:34</td><td>6:59</td><td></td><td>7:24</td><td>7:42</td><td>매일</td></tr><tr><td>7</td><td>KTX</td><td>6:52</td><td>7:40</td><td>8:04</td><td></td><td>8:29</td><td>8:48</td><td>매일</td></tr><tr><td>13</td><td>KTX</td><td>8:09</td><td>8:49</td><td></td><td></td><td>9:33</td><td>9:52</td><td>매일</td></tr><tr><td>15</td><td>KTX</td><td>8:17</td><td>9:04</td><td>9:29</td><td></td><td>9:54</td><td>10:12</td><td>매일</td></tr><tr><td>21</td><td>KTX</td><td>10:17</td><td>11:04</td><td>11:29</td><td></td><td>11:54</td><td>12:12</td><td>매일</td></tr><tr><td>25</td><td>KTX</td><td>11:17</td><td>12:05</td><td></td><td></td><td>12:49</td><td>13:08</td><td>매일</td></tr><tr><td>27</td><td>KTX</td><td>12:17</td><td>13:05</td><td></td><td></td><td>13:49</td><td>14:08</td><td>매일</td></tr><tr><td>31</td><td>KTX_산천</td><td>13:17</td><td>14:09</td><td></td><td></td><td>15:00</td><td>15:19</td><td>매일</td></tr><tr><td>87</td><td>KTX</td><td>15:01</td><td>15:53</td><td></td><td></td><td>16:37</td><td>16:55</td><td>금토일</td></tr><tr><td>41</td><td>KTX</td><td>15:17</td><td>16:10</td><td></td><td></td><td>16:55</td><td>17:13</td><td>매일</td></tr><tr><td>45</td><td>KTX</td><td>16:17</td><td>16:57</td><td>17:21</td><td>17:45</td><td>17:54</td><td>18:14</td><td>매일</td></tr><tr><td>49</td><td>KTX</td><td>17:18</td><td>18:05</td><td>18:30</td><td></td><td>18:55</td><td>19:13</td><td>매일</td></tr><tr><td>51</td><td>KTX</td><td>17:42</td><td>18:29</td><td>18:54</td><td></td><td>19:19</td><td>19:37</td><td>매일</td></tr><tr><td>57</td><td>KTX</td><td>18:43</td><td>19:37</td><td></td><td></td><td>20:21</td><td>20:40</td><td>매일</td></tr><tr><td>91</td><td>KTX</td><td>19:39</td><td>20:19</td><td></td><td></td><td>21:03</td><td>21:21</td><td>금토일</td></tr><tr><td>93</td><td>KTX</td><td>20:13</td><td>20:58</td><td></td><td></td><td>21:42</td><td>22:01</td><td>금토일</td></tr><tr><td>67</td><td>KTX</td><td>21:16</td><td>22:04</td><td>22:28</td><td></td><td>22:53</td><td>23:12</td><td>매일</td></tr><tr><td>195</td><td>KTX-산천</td><td>21:52</td><td>22:39</td><td></td><td></td><td>23:24</td><td>23:43</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">대전 →&nbsp;경주 SRT 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>대전</th><th>김천구미</th><th>서대구</th><th>동대구</th><th>경주</th><th>운행요일</th></tr></thead><tbody><tr><td>301</td><td>SRT</td><td>6:30</td><td></td><td></td><td>7:14</td><td>7:32</td><td>매일</td></tr><tr><td>305</td><td>SRT</td><td>7:30</td><td></td><td></td><td>8:14</td><td>8:32</td><td>금,토,일</td></tr><tr><td>307</td><td>SRT</td><td>7:54</td><td>8:19</td><td></td><td>8:44</td><td>9:02</td><td>매일</td></tr><tr><td>9307</td><td>SRT</td><td>7:54</td><td>8:19</td><td></td><td>8:44</td><td>9:02</td><td>토</td></tr><tr><td>311</td><td>SRT</td><td>8:26</td><td></td><td></td><td>9:10</td><td>9:28</td><td>매일</td></tr><tr><td>315</td><td>SRT</td><td>9:15</td><td></td><td></td><td>10:00</td><td>10:18</td><td>매일</td></tr><tr><td>319</td><td>SRT</td><td>10:06</td><td></td><td>10:49</td><td>10:58</td><td>11:18</td><td>매일</td></tr><tr><td>321</td><td>SRT</td><td>10:19</td><td>10:44</td><td></td><td>11:09</td><td>11:27</td><td>매일</td></tr><tr><td>327</td><td>SRT</td><td>11:49</td><td></td><td></td><td>12:33</td><td>12:52</td><td>매일</td></tr><tr><td>9327</td><td>SRT</td><td>11:49</td><td></td><td></td><td>12:33</td><td>12:52</td><td>일</td></tr><tr><td>329</td><td>SRT</td><td>13:09</td><td>13:33</td><td></td><td>13:58</td><td>14:18</td><td>금,토,일</td></tr><tr><td>335</td><td>SRT</td><td>13:59</td><td>14:23</td><td></td><td>14:48</td><td>15:06</td><td>매일</td></tr><tr><td>9335</td><td>SRT</td><td>13:59</td><td>14:23</td><td></td><td>14:48</td><td>15:06</td><td>금</td></tr><tr><td>339</td><td>SRT</td><td>14:44</td><td></td><td></td><td>15:28</td><td>15:46</td><td>매일</td></tr><tr><td>343</td><td>SRT</td><td>15:58</td><td>16:22</td><td></td><td>16:47</td><td>17:06</td><td>매일</td></tr><tr><td>349</td><td>SRT</td><td>17:17</td><td></td><td></td><td>18:01</td><td>18:20</td><td>매일</td></tr><tr><td>355</td><td>SRT</td><td>18:19</td><td></td><td>19:02</td><td>19:11</td><td>19:30</td><td>매일</td></tr><tr><td>357</td><td>SRT</td><td>18:53</td><td></td><td></td><td>19:37</td><td>19:56</td><td>매일</td></tr><tr><td>9357</td><td>SRT</td><td>18:53</td><td></td><td></td><td>19:37</td><td>19:56</td><td>일</td></tr><tr><td>359</td><td>SRT</td><td>19:30</td><td></td><td></td><td>20:14</td><td>20:32</td><td>매일</td></tr><tr><td>361</td><td>SRT</td><td>19:43</td><td>20:07</td><td></td><td>20:32</td><td>20:51</td><td>매일</td></tr><tr><td>367</td><td>SRT</td><td>20:29</td><td></td><td></td><td>21:13</td><td>21:31</td><td>금,토,일</td></tr><tr><td>371</td><td>SRT</td><td>21:39</td><td>22:03</td><td></td><td>22:28</td><td>22:47</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>경주역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '경주'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">경주역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">경주역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '37020';
            let curName = '경주';
            let altCity = '25';
            let altName = '대전';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">경주역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">13℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">경주역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EA%B8%B0%EC%86%8C%EC%95%BC+%EC%8B%A0%EA%B2%BD%EC%A3%BC%EC%97%AD%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EA%B2%BD%EC%A3%BC%EC%8B%9C+%EA%B1%B4%EC%B2%9C%EC%9D%8D+%ED%99%94%EC%B2%9C%EB%A6%AC+1010+%EC%8B%A0%EA%B2%BD%EC%A3%BC%EC%97%AD+1F" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">기소야 신경주역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;일식&gt;우동,소바</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상북도 경주시 건천읍 화천리 1010 신경주역 1F</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%B9%B4%ED%8E%98%EB%B2%A0%EB%84%A4+%EC%8B%A0%EA%B2%BD%EC%A3%BC%EC%97%AD%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EA%B2%BD%EC%A3%BC%EC%8B%9C+%EA%B1%B4%EC%B2%9C%EC%9D%8D+%ED%99%94%EC%B2%9C%EB%A6%AC+1010+%EA%B2%BD%EC%A3%BCKTX%EC%97%AD%EC%82%AC" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">카페베네 신경주역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;카페</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상북도 경주시 건천읍 화천리 1010 경주KTX역사</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A1%AF%EB%8D%B0%EB%A6%AC%EC%95%84+%EC%8B%A0%EA%B2%BD%EC%A3%BC%EC%97%AD%EC%82%AC%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EA%B2%BD%EC%A3%BC%EC%8B%9C+%EA%B1%B4%EC%B2%9C%EC%9D%8D+%ED%99%94%EC%B2%9C%EB%A6%AC+1010" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">롯데리아 신경주역사점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상북도 경주시 건천읍 화천리 1010</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EA%B8%88%ED%99%94%EC%99%95%EB%8F%88%EA%B9%8C%EC%8A%A4+%EA%B2%BD%EC%A3%BC%EC%97%AD%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EA%B2%BD%EC%A3%BC%EC%8B%9C+%EA%B1%B4%EC%B2%9C%EC%9D%8D+%ED%99%94%EC%B2%9C%EB%A6%AC+2722-3+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">금화왕돈까스 경주역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;일식&gt;돈가스</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상북도 경주시 건천읍 화천리 2722-3 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%9C%A1%EC%A6%99+%EC%8B%A0%EA%B2%BD%EC%A3%BC%EC%97%AD%EB%B3%B8%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EA%B2%BD%EC%A3%BC%EC%8B%9C+%EA%B1%B4%EC%B2%9C%EC%9D%8D+%ED%99%94%EC%B2%9C%EB%A6%AC+2712-4+1%EC%B8%B5+%EC%9C%A1%EC%A6%99" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">육즙 신경주역본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;육류,고기요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상북도 경주시 건천읍 화천리 2712-4 1층 육즙</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">경주역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 경주역A                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,000원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">13,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 경상북도 경주시 성동동 40<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 053-719-0270                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 신경주역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,000원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">13,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 경상북도 경주시 건천읍 화천리 1010<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 053-719-0270                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">경주역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 경상북도 경주시 성동동 40</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:053-719-0270" style="color: #0052a4; font-weight: bold; text-decoration: none;">053-719-0270</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EA%B2%BD%EC%A3%BC%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/경주역-대전역-KTX-SRT-ITX-마음-시간표-경부선-상하행-첫기차-마지막기차-요금-정차역.jpg" alt="경주역-대전역-KTX-SRT-ITX-마음-시간표-경부선-상하행-첫기차-마지막기차-요금-정차역" class="wp-image-20371" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/경주역-대전역-KTX-SRT-ITX-마음-시간표-경부선-상하행-첫기차-마지막기차-요금-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/경주역-대전역-KTX-SRT-ITX-마음-시간표-경부선-상하행-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/경주역-대전역-KTX-SRT-ITX-마음-시간표-경부선-상하행-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>전주역 서울역 KTX 시간표 전라선 가격 실시간 상하행 기차 안내</title>
		<link>https://krailroad.co.kr/%ec%a0%84%ec%a3%bc%ec%97%ad-%ec%84%9c%ec%9a%b8%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%a0%84%eb%9d%bc%ec%84%a0-%ea%b0%80%ea%b2%a9-%ec%8b%a4%ec%8b%9c%ea%b0%84-%ec%83%81%ed%95%98%ed%96%89-%ea%b8%b0/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Tue, 07 Apr 2026 00:27:05 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[전주역 서울역 KTX]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20277</guid>

					<description><![CDATA[전주역 서울역 KTX 시간표를 이용한 KTX 전라선 길은 한옥의 조용한 정취를 뒤로하고 수도권 도심으로 가장 빠르게 진입할 수 있으며, 과거에는 용산역행 열차가 주를 이루었으나, 이제는 서울역까지 직결되는 노선이 많아지며 여행객들의 선택 폭이 넓어졌는데요. 특히 전주역 서울역 KTX 시간표를 확인해 보면 아침 일찍 출발하는 첫차부터 밤늦게 돌아오는 마지막 열차가 짜임새 있게 나뉘어 있어 서울 전주간 당일치기 ... <a title="전주역 서울역 KTX 시간표 전라선 가격 실시간 상하행 기차 안내" class="read-more button" href="https://krailroad.co.kr/%ec%a0%84%ec%a3%bc%ec%97%ad-%ec%84%9c%ec%9a%b8%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%a0%84%eb%9d%bc%ec%84%a0-%ea%b0%80%ea%b2%a9-%ec%8b%a4%ec%8b%9c%ea%b0%84-%ec%83%81%ed%95%98%ed%96%89-%ea%b8%b0/" aria-label="전주역 서울역 KTX 시간표 전라선 가격 실시간 상하행 기차 안내 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">전주역 서울역 KTX 시간표를 이용한 KTX 전라선 길은 한옥의 조용한 정취를 뒤로하고 수도권 도심으로 가장 빠르게 진입할 수 있으며, 과거에는 용산역행 열차가 주를 이루었으나, 이제는 서울역까지 직결되는 노선이 많아지며 여행객들의 선택 폭이 넓어졌는데요. 특히 전주역 서울역 KTX 시간표를 확인해 보면 아침 일찍 출발하는 첫차부터 밤늦게 돌아오는 마지막 열차가 짜임새 있게 나뉘어 있어 서울 전주간 당일치기 기차 여행도 가능합니다.</p>



<p class="wp-block-paragraph">그래서 혼행을 하거나 아이들과의 당일 치기 전주 또는 서울 기차 여행을 할 경우 기차 시간 확인이 무엇보다 중요한데요. 이런 시간표, 소요시간, 요금등을 역사 내 복잡한 전광판을 일일이 확인하거나 옛날 정보에 의존할 필요는 없이 아래 준비된 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 자료와 공공 API와 연동된 데이터를 이용하면 1분 단위로 실시간 새로 고침과 15분전 열차 출발 음성안내 시스템, 실시간 역주변 버스 도착 알림까지 확인 할 수 있으니 이동 중에 스마트폰 화면만 켜두면 열차의 도착 임박 상태를 즉시 파악할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>전주역 서울역 KTX 안내</strong></h2>



<h3 class="wp-block-heading">전주역 이용시 주차와 시내</h3>



<p class="wp-block-paragraph">만약 자차를 이용해 역을 찾는다면 전주역 주차장 요금 및 할인 정보를 미리 챙기는 것이 좋습니다. 열차 이용객은 30% 할인이 적용되지만 주말에는 빈자리 찾기가 쉽지 않으니 인근 유료 주차장 위치도 봐두는 게 나은데요. 역에서 내린 뒤 한옥마을로 바로 가려면 전주역 한옥마을 버스/택시비를 고려했을 때 택시로는 약 15~20분 내외, 버스로는 119번이나 1000번 명품버스를 이용하는 것이 경제적입니다. 짐이 많거나 외곽까지 둘러볼 계획이라면 전주역 근처 렌터카 추천 업체를 통해 미리 차량을 확보해 두는 것도 방법입니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">노선 비교와 역 주변 즐길 거리</h3>



<p class="wp-block-paragraph">용산역 서울역 전주 KTX 비교를 해보면 목적지가 광화문이나 시청 쪽이라면 서울역행이 유리하고, 강남이나 이태원 방향이라면 용산역행이 동선상 이득입니다. 그리고 기차를 기다리는 동안 출출하다면 전주역 맛집 및 카페 추천 리스트에 있는 역 바로 앞 콩나물국밥집이나 전주비빔밥 매장을 들러보는 것도 괜찮으며, 특히 당일 치기 여행이라면 전주역 첫차/막차 시간표를 미리 체크하여 늦지 않게 일정을 준비 하되, 꼭 KTX 시간표 보다 시간과 여행 경로에 따라 <a href="https://krailroad.co.kr/%ec%a0%84%ec%a3%bc%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84%c2%b7%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%95%9c%ec%98%a5%eb%a7%88%ec%9d%84-%ec%97%ac%ec%88%98%c2%b7%ec%9a%a9%ec%82%b0%ed%96%89/">전주역 ITX 시간표</a>나 <a href="https://krailroad.co.kr/%ec%a0%84%ec%a3%bc%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%95%9c%ec%98%a5%eb%a7%88%ec%9d%84-%ec%97%ac%ec%88%98%c2%b7%ec%9a%a9%ec%82%b0%ed%96%89%ec%98%81%eb%93%b1/">전주역 무궁화호 시간표</a>를 참고하여 여행 일정을 조율하는 것도 참고하시면 됩니다(SRT는 현재 많은 열차가 운행하지 않으니 참고하세요).</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">전라선 현대화와 이동의 변화</h3>



<p class="wp-block-paragraph">전주역 서울역 KTX 전라선은 철길을 넓히고 전동차가 시원하게 내달릴 수 있도록 개량된 이후로 완전히 새로운 국면을 맞이했습니다. 이제 서울과 전주는 더 이상 먼 거리가 아닌 반나절 생활권으로 묶였는데요. 아래에 마련된 실시간 검색 기능을 이정표 삼아 전주와 서울을 오가는 여행이 한층더 쉽게 이용할 수 있게 되었습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전주 ↔&nbsp;서울 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">전주<br>↓<br>서울</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">502호</span><div class="time-display">6:25</div><div class="arrival-info">8:26 도착</div></td><td><span class="train-detail">546호</span><div class="time-display">20:46</div><div class="arrival-info">22:46 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">서울<br>↓<br>전주</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">503호</span><div class="time-display">7:03</div><div class="arrival-info">8:56 도착</div></td><td><span class="train-detail">517호</span><div class="time-display">17:37</div><div class="arrival-info">19:23 도착</div></td></tr></tbody></table></div>


    
    <h2>전주 ↔ 서울 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 전주</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">공주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                34,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                48,400원                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전주 →&nbsp;서울 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>전주</th><th>익산</th><th>논산</th><th>계룡</th><th>서대전</th><th>공주</th><th>오송</th><th>천안아산</th><th>광명</th><th>용산</th><th>서울</th><th>비고</th></tr></thead><tbody><tr><td>502</td><td>KTX-산천</td><td>6:25</td><td>6:45</td><td></td><td></td><td></td><td>7:05</td><td>7:24</td><td></td><td>7:57</td><td>8:16</td><td>8:26</td><td>매일</td></tr><tr><td>504</td><td>KTX</td><td>7:26</td><td>7:42</td><td></td><td></td><td></td><td>8:02</td><td></td><td>8:28</td><td>8:54</td><td>9:14</td><td>9:26</td><td>매일</td></tr><tr><td>508</td><td>KTX_산천</td><td>11:38</td><td>11:58</td><td></td><td></td><td></td><td>12:18</td><td></td><td>12:44</td><td>13:10</td><td>13:28</td><td>13:33</td><td>매일</td></tr><tr><td>514</td><td>KTX_산천</td><td>15:21</td><td>15:41</td><td></td><td></td><td></td><td>16:01</td><td></td><td></td><td>16:47</td><td>17:05</td><td>17:10</td><td>매일</td></tr><tr><td>516</td><td>KTX</td><td>16:17</td><td>16:34</td><td></td><td></td><td></td><td>16:53</td><td>17:11</td><td></td><td>17:45</td><td>18:03</td><td>18:08</td><td>매일</td></tr><tr><td>4054</td><td>KTX-산천</td><td>17:47</td><td>18:07</td><td>18:32</td><td>18:50</td><td>19:07</td><td></td><td>19:26</td><td></td><td>19:59</td><td>20:17</td><td>20:27</td><td>금토일</td></tr><tr><td>520</td><td>KTX</td><td>19:28</td><td>19:45</td><td></td><td></td><td></td><td>20:04</td><td>20:23</td><td></td><td>20:57</td><td>21:15</td><td>21:24</td><td>매일</td></tr><tr><td>544</td><td>KTX-산천</td><td>20:46</td><td>21:06</td><td></td><td></td><td></td><td>21:26</td><td>21:44</td><td></td><td>22:18</td><td>22:36</td><td>22:46</td><td>월화수목</td></tr><tr><td>546</td><td>KTX_산천</td><td>20:46</td><td>21:06</td><td></td><td></td><td></td><td>21:26</td><td>21:44</td><td></td><td>22:18</td><td>22:36</td><td>22:46</td><td>토일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">서울 →&nbsp;전주 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>서울</th><th>용산</th><th>광명</th><th>천안아산</th><th>오송</th><th>공주</th><th>익산</th><th>전주</th><th>비고</th></tr></thead><tbody><tr><td>503</td><td>KTX</td><td>7:03</td><td>7:10</td><td>7:27</td><td>7:50</td><td>8:02</td><td>8:19</td><td>8:39</td><td>8:56</td><td>매일</td></tr><tr><td>4051</td><td>KTX_산천</td><td>7:39</td><td>7:47</td><td>8:05</td><td></td><td></td><td>8:47</td><td>9:10</td><td>9:27</td><td>금토일</td></tr><tr><td>507</td><td>KTX_산천</td><td>9:45</td><td>9:53</td><td>10:11</td><td>10:33</td><td>10:46</td><td>11:03</td><td>11:23</td><td>11:39</td><td>매일</td></tr><tr><td>9507</td><td>KTX-산천</td><td>9:45</td><td>9:53</td><td>10:11</td><td>10:33</td><td>10:46</td><td>11:03</td><td>11:23</td><td>11:39</td><td>금토일</td></tr><tr><td>511</td><td>KTX-산천</td><td>12:08</td><td>12:18</td><td>12:35</td><td>12:58</td><td></td><td>13:23</td><td>13:46</td><td>14:03</td><td>매일</td></tr><tr><td>515</td><td>KTX_산천</td><td>16:35</td><td>16:43</td><td>17:00</td><td>17:23</td><td></td><td>17:48</td><td>18:11</td><td>18:27</td><td>매일</td></tr><tr><td>517</td><td>KTX-산천</td><td>17:37</td><td>17:44</td><td></td><td></td><td>18:26</td><td>18:43</td><td>19:06</td><td>19:23</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>전주역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '전주'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">전주역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">전주역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '35010';
            let curName = '전주';
            let altCity = '11';
            let altName = '서울';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">전주역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">16℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 구름많음</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">20%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">전주역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/PNB+%ED%92%8D%EB%85%84%EC%A0%9C%EA%B3%BC+%EC%A0%84%EC%A3%BC%EC%97%AD%EC%A0%90+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%A0%84%EC%A3%BC%EC%8B%9C+%EB%8D%95%EC%A7%84%EA%B5%AC+%EC%9A%B0%EC%95%84%EB%8F%993%EA%B0%80+752-56+1F+PNB%ED%92%8D%EB%85%84%EC%A0%9C%EA%B3%BC" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">PNB 풍년제과 전주역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 전주시 덕진구 우아동3가 752-56 1F PNB풍년제과</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%8C%8C%EB%A6%AC%EB%B0%94%EA%B2%8C%EB%9C%A8+%EC%A0%84%EC%A3%BC%ED%98%B8%EC%84%B1%EC%A0%90+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%A0%84%EC%A3%BC%EC%8B%9C+%EB%8D%95%EC%A7%84%EA%B5%AC+%ED%98%B8%EC%84%B1%EB%8F%991%EA%B0%80+794-8+794-8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">파리바게뜨 전주호성점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 전주시 덕진구 호성동1가 794-8 794-8</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%92%8D%EB%85%84%EC%A0%9C%EA%B3%BC+%EC%8B%9C%EA%B7%B8%EB%8B%88%EC%B2%98+%EC%A0%84%EC%A3%BC%EC%97%AD%EC%A0%84%EC%A0%90+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%A0%84%EC%A3%BC%EC%8B%9C+%EB%8D%95%EC%A7%84%EA%B5%AC+%EC%9A%B0%EC%95%84%EB%8F%993%EA%B0%80+752-48+1%EC%B8%B5+110%ED%98%B8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">풍년제과 시그니처 전주역전점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 전주시 덕진구 우아동3가 752-48 1층 110호</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A9%94%EB%A5%B4%EB%B0%80%EC%A7%84%EB%AF%B8%EC%A7%91+%EC%A0%84%EC%A3%BC%EC%97%AD%EC%A0%90+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%A0%84%EC%A3%BC%EC%8B%9C+%EB%8D%95%EC%A7%84%EA%B5%AC+%EC%9A%B0%EC%95%84%EB%8F%993%EA%B0%80+747-14+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">메르밀진미집 전주역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;한식&gt;국수</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 전주시 덕진구 우아동3가 747-14 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%8F%99%ED%98%B8%EA%B3%B1%EC%B0%BD+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%A0%84%EC%A3%BC%EC%8B%9C+%EB%8D%95%EC%A7%84%EA%B5%AC+%EC%9A%B0%EC%95%84%EB%8F%993%EA%B0%80+748-14" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">동호곱창</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;곱창,막창,양</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 전주시 덕진구 우아동3가 748-14</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">전주역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 전주역 후면                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">900원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">9,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 전라북도 전주시 덕진구 동부대로 680<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">전주역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 전라북도 전주시 덕진구 동부대로 680</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:062-941-0874" style="color: #0052a4; font-weight: bold; text-decoration: none;">062-941-0874</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%A0%84%EC%A3%BC%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/전주역-서울역-KTX-시간표-전라선-상하행-첫기차-마지막기차-요금-정차역.jpg" alt="전주역-서울역-KTX-시간표-전라선-상하행-첫기차-마지막기차-요금-정차역" class="wp-image-20370" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/전주역-서울역-KTX-시간표-전라선-상하행-첫기차-마지막기차-요금-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/전주역-서울역-KTX-시간표-전라선-상하행-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/전주역-서울역-KTX-시간표-전라선-상하행-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>여수역과 서울역 열차 시간표 KTX 전라선 상하행 전체 요금 정차역</title>
		<link>https://krailroad.co.kr/%ec%97%ac%ec%88%98%ec%97%ad%ea%b3%bc-%ec%84%9c%ec%9a%b8%ec%97%ad-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%a0%84%eb%9d%bc%ec%84%a0-%ec%83%81%ed%95%98%ed%96%89-%ec%a0%84%ec%b2%b4-%ec%9a%94/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Tue, 07 Apr 2026 00:00:19 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[여수역과 서울역 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20261</guid>

					<description><![CDATA[여수역과 서울역 열차를 이용한 전라선 KTX는 남해안의 푸른 바다와 수도권 도심을 직결하는 방법으로, 과거 익산이나 용산에서 기차를 갈아타야 했던 번거로움이 사라지고, 이제는 여수역과 서울역 열차 KTX가 전라 내륙의 정취를 가로지르며 운행되고 있는데요. 현재 서울역과 여수 사이는 고속선로 효율을 극대화하기 위해 KTX와 KTX-산천 위주로 배차되고 있으며, 일반 열차는 주로 용산역으로 운행되는 것과 대조적인 노선 구성을 보입니다. ... <a title="여수역과 서울역 열차 시간표 KTX 전라선 상하행 전체 요금 정차역" class="read-more button" href="https://krailroad.co.kr/%ec%97%ac%ec%88%98%ec%97%ad%ea%b3%bc-%ec%84%9c%ec%9a%b8%ec%97%ad-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%a0%84%eb%9d%bc%ec%84%a0-%ec%83%81%ed%95%98%ed%96%89-%ec%a0%84%ec%b2%b4-%ec%9a%94/" aria-label="여수역과 서울역 열차 시간표 KTX 전라선 상하행 전체 요금 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">여수역과 서울역 열차를 이용한 전라선 KTX는 남해안의 푸른 바다와 수도권 도심을 직결하는 방법으로, 과거 익산이나 용산에서 기차를 갈아타야 했던 번거로움이 사라지고, 이제는 여수역과 서울역 열차 KTX가 전라 내륙의 정취를 가로지르며 운행되고 있는데요. 현재 서울역과 여수 사이는 고속선로 효율을 극대화하기 위해 KTX와 KTX-산천 위주로 배차되고 있으며, 일반 열차는 주로 용산역으로 운행되는 것과 대조적인 노선 구성을 보입니다.</p>



<p class="wp-block-paragraph">여수역과 서울역 열차 상하행 전라선 구간의 소요시간은 대략 3시간 내외로, 정차역에 따라 약간의 차이가 있으나, 주요 정차역은 광명, 천안아산, 오송을 거쳐 전라선의 핵심 거점인 전주, 남원, 곡성, 구례구, 순천을 지나 종착지인 여수까지 상하행 왕복으로 이어지는데요. 서울역 여수 KTX 첫차는 새벽 시간대에 시작되어 당일치기 일정을 잡기에도 무리가 없으며, 늦은 밤 서울역 여수 KTX 막차까지 시간대가 골고루 분산되어 있어 상하행 이용이 편리합니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>여수역과 서울역 열차</strong> 안내</h2>



<h3 class="wp-block-heading">실시간 열차 현황과 이용 안내</h3>



<p class="wp-block-paragraph">요즘 같은 스마트 시대에 역에 가서 전광판을 쳐다보며 시간을 허비할 필요 없이, 아래 자료를 이용하면 <a href="https://www.data.go.kr/index.do" target="_blank" rel="noopener">공공 API</a>와 연동된 데이터를 통해 열차가 지금 어디쯤 지나고 있는지 바로 확인할 수 있습니다. 아래 정보는 1분마다 스스로 업데이트되며, 출발 15분 전부터 안내되는 음성 안내 코드를 통해 여수역과 서울역 열차 시간표와 실시간 상황을 집이나 사무실에서도 미리 파악하기 좋은데요. 열차별 운행 상태와 남은 시간을 즉시 체크할 수 있습니다(<a href="https://krailroad.co.kr/%ec%97%ac%ec%88%98%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84%c2%b7%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9d%b5%ec%82%b0%c2%b7%ec%9a%a9%ec%82%b0%c2%b7%ec%84%9c%ec%9a%b8%ed%96%89-%eb%85%b8/">여수역 ITX 시간표</a> OR <a href="https://krailroad.co.kr/%ec%97%ac%ec%88%98%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9d%b5%ec%82%b0-%ec%84%9c%eb%8c%80%ec%a0%84-%ec%9a%a9%ec%82%b0%ed%96%89/">무궁화호 시간표</a> 참고).</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">열차 내부 이용과 요금 정보</h3>



<p class="wp-block-paragraph">서울역과 <a href="https://krailroad.co.kr/%ec%97%ac%ec%88%98%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%88%9c%ec%b2%9c%ec%a0%84%ec%a3%bc%ec%9a%a9%ec%82%b0%ed%96%89-%ec%a0%84%eb%9d%bc%ec%84%a0-%ed%95%98%ed%96%89-%ec%83%81%ed%96%89-%eb%85%b8/">여수엑스포역 KTX</a> 기차 요금은 일반실과 특실에 따라 차이가 나는데, 혼자 여행하는 분들이라면 KTX 여수 1인석 추천 좌석(주로 5호차 등)을 미리 선점하는 것이 낫습니다. 만약 가족 단위라면 서울역 여수 엑스포역 가족석을 예매해 마주 보며 가는 것도 좋은 방법인데요. 긴 이동 시간 동안 출출함을 달래줄 서울역 여수행 도시락 추천 메뉴를 역내 매장에서 골라 맛볼 수 있으며, 내일로 여수 여행 코스를 계획 중인 대학생들이라면 KTX 좌석 지정 혜택을 활용해 알뜰하게 다녀오는 것도 가능합니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">여수 도착 후 즐길 거리와 이동</h3>



<p class="wp-block-paragraph">여수엑스포역에 내리면 바로 앞에 여수 엑스포역 렌터카 예약 접수처들이 모여 있어 오동도나 돌산으로 이동하기가 편하며, 특히 금강산도 식후경이라 했듯이, 역 근처에는 게장 백반이나 서대회를 잘하는 여수 엑스포역 근처 맛집들이 즐비해 있어 내리자마자 아이들과 함께 식사 하기가 적당한데요. 제공되는 실시간 데이터를 이정표 삼아 서울과 여수를 오가는 가족여행, 또는 혼행을 하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">여수 ↔&nbsp;서울 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">여수엑스포<br>↓<br>서울</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">502호</span><div class="time-display">5:05</div><div class="arrival-info">8:26 도착</div></td><td><span class="train-detail">546호</span><div class="time-display">19:24</div><div class="arrival-info">22:46 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">서울<br>↓<br>여수엑스포</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">503호</span><div class="time-display">7:03</div><div class="arrival-info">10:19 도착</div></td><td><span class="train-detail">517호</span><div class="time-display">17:37</div><div class="arrival-info">20:44 도착</div></td></tr></tbody></table></div>


    
    <h2>여수 ↔ 서울 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 여수엑스포</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">공주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                47,500원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                66,500원                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">여수 →&nbsp;서울 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>여수엑스포</th><th>여천</th><th>순천</th><th>구례구</th><th>곡성</th><th>남원</th><th>전주</th><th>익산</th><th>논산</th><th>계룡</th><th>서대전</th><th>공주</th><th>오송</th><th>천안아산</th><th>광명</th><th>용산</th><th>서울</th><th>비고</th></tr></thead><tbody><tr><td>502</td><td>KTX-산천</td><td>5:05</td><td>5:13</td><td>5:26</td><td>5:41</td><td></td><td>6:00</td><td>6:25</td><td>6:45</td><td></td><td></td><td></td><td>7:05</td><td>7:24</td><td></td><td>7:57</td><td>8:16</td><td>8:26</td><td>매일</td></tr><tr><td>504</td><td>KTX</td><td>6:03</td><td>6:11</td><td>6:25</td><td></td><td>6:48</td><td>6:59</td><td>7:26</td><td>7:42</td><td></td><td></td><td></td><td>8:02</td><td></td><td>8:28</td><td>8:54</td><td>9:14</td><td>9:26</td><td>매일</td></tr><tr><td>508</td><td>KTX_산천</td><td>10:21</td><td>10:28</td><td>10:42</td><td></td><td></td><td>11:12</td><td>11:38</td><td>11:58</td><td></td><td></td><td></td><td>12:18</td><td></td><td>12:44</td><td>13:10</td><td>13:28</td><td>13:33</td><td>매일</td></tr><tr><td>514</td><td>KTX_산천</td><td>14:00</td><td>14:08</td><td>14:22</td><td></td><td>14:45</td><td>14:56</td><td>15:21</td><td>15:41</td><td></td><td></td><td></td><td>16:01</td><td></td><td></td><td>16:47</td><td>17:05</td><td>17:10</td><td>매일</td></tr><tr><td>516</td><td>KTX</td><td>14:56</td><td>15:04</td><td>15:18</td><td>15:33</td><td></td><td>15:51</td><td>16:17</td><td>16:34</td><td></td><td></td><td></td><td>16:53</td><td>17:11</td><td></td><td>17:45</td><td>18:03</td><td>18:08</td><td>매일</td></tr><tr><td>4054</td><td>KTX-산천</td><td>16:26</td><td>16:33</td><td>16:48</td><td>17:03</td><td></td><td>17:21</td><td>17:47</td><td>18:07</td><td>18:32</td><td>18:50</td><td>19:07</td><td></td><td>19:26</td><td></td><td>19:59</td><td>20:17</td><td>20:27</td><td>금토일</td></tr><tr><td>520</td><td>KTX</td><td>18:03</td><td>18:11</td><td>18:25</td><td>18:40</td><td>18:52</td><td>19:02</td><td>19:28</td><td>19:45</td><td></td><td></td><td></td><td>20:04</td><td>20:23</td><td></td><td>20:57</td><td>21:15</td><td>21:24</td><td>매일</td></tr><tr><td>544</td><td>KTX-산천</td><td>19:24</td><td>19:32</td><td>19:46</td><td></td><td>20:10</td><td>20:20</td><td>20:46</td><td>21:06</td><td></td><td></td><td></td><td>21:26</td><td>21:44</td><td></td><td>22:18</td><td>22:36</td><td>22:46</td><td>월화수목</td></tr><tr><td>546</td><td>KTX_산천</td><td>19:24</td><td>19:32</td><td>19:46</td><td></td><td>20:10</td><td>20:20</td><td>20:46</td><td>21:06</td><td></td><td></td><td></td><td>21:26</td><td>21:44</td><td></td><td>22:18</td><td>22:36</td><td>22:46</td><td>토일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">서울 →&nbsp;여수 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>서울</th><th>용산</th><th>광명</th><th>천안아산</th><th>오송</th><th>공주</th><th>익산</th><th>전주</th><th>남원</th><th>곡성</th><th>구례구</th><th>순천</th><th>여천</th><th>여수엑스포</th><th>비고</th></tr></thead><tbody><tr><td>503</td><td>KTX</td><td>7:03</td><td>7:10</td><td>7:27</td><td>7:50</td><td>8:02</td><td>8:19</td><td>8:39</td><td>8:56</td><td>9:23</td><td></td><td>9:41</td><td>9:57</td><td>10:11</td><td>10:19</td><td>매일</td></tr><tr><td>4051</td><td>KTX_산천</td><td>7:39</td><td>7:47</td><td>8:05</td><td></td><td></td><td>8:47</td><td>9:10</td><td>9:27</td><td>9:54</td><td></td><td></td><td>10:25</td><td>10:39</td><td>10:47</td><td>금토일</td></tr><tr><td>507</td><td>KTX_산천</td><td>9:45</td><td>9:53</td><td>10:11</td><td>10:33</td><td>10:46</td><td>11:03</td><td>11:23</td><td>11:39</td><td>12:06</td><td>12:16</td><td></td><td>12:40</td><td>12:54</td><td>13:02</td><td>매일</td></tr><tr><td>9507</td><td>KTX-산천</td><td>9:45</td><td>9:53</td><td>10:11</td><td>10:33</td><td>10:46</td><td>11:03</td><td>11:23</td><td>11:39</td><td>12:06</td><td>12:16</td><td></td><td>12:40</td><td>12:54</td><td>13:02</td><td>금토일</td></tr><tr><td>511</td><td>KTX-산천</td><td>12:08</td><td>12:18</td><td>12:35</td><td>12:58</td><td></td><td>13:23</td><td>13:46</td><td>14:03</td><td>14:30</td><td>14:40</td><td></td><td>15:04</td><td></td><td>15:23</td><td>매일</td></tr><tr><td>515</td><td>KTX_산천</td><td>16:35</td><td>16:43</td><td>17:00</td><td>17:23</td><td></td><td>17:48</td><td>18:11</td><td>18:27</td><td>18:54</td><td>19:04</td><td>19:16</td><td>19:31</td><td>19:45</td><td>19:54</td><td>매일</td></tr><tr><td>517</td><td>KTX-산천</td><td>17:37</td><td>17:44</td><td></td><td></td><td>18:26</td><td>18:43</td><td>19:06</td><td>19:23</td><td>19:50</td><td></td><td></td><td>20:21</td><td>20:35</td><td>20:44</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>여수역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '여수'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">여수역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">여수역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '36020';
            let curName = '여수';
            let altCity = '11';
            let altName = '서울';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">여수역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">16℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 구름많음</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">20%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">여수역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%B0%94%EB%8B%A4%EA%B9%80%EB%B0%A5+%EC%A4%91%EC%95%99%EB%B3%B8%EC%A0%90+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%97%AC%EC%88%98%EC%8B%9C+%EC%A4%91%EC%95%99%EB%8F%99+667+1%EC%B8%B5+%EB%B0%94%EB%8B%A4%EA%B9%80%EB%B0%A5+%EC%A4%91%EC%95%99%EB%B3%B8%EC%A0%90" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">바다김밥 중앙본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;한식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 여수시 중앙동 667 1층 바다김밥 중앙본점</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%97%AC%EC%88%98%EB%94%B8%EA%B8%B0%EB%AA%A8%EC%B0%8C+%EC%82%BC%ED%95%A9%EB%8B%B9+%EB%B3%B8%EC%A0%90+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%97%AC%EC%88%98%EC%8B%9C+%EC%A4%91%EC%95%99%EB%8F%99+563+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">여수딸기모찌 삼합당 본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;카페,디저트</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 여수시 중앙동 563 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%84%9C%EB%85%B9%EC%94%A8+%EB%B3%B8%EC%A0%90+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%97%AC%EC%88%98%EC%8B%9C+%EC%A4%91%EC%95%99%EB%8F%99+562+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">서녹씨 본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;카페,디저트</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 여수시 중앙동 562 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%9D%B4%EC%88%9C%EC%8B%A0+%EC%88%98%EC%A0%9C%EB%B2%84%EA%B1%B0+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%97%AC%EC%88%98%EC%8B%9C+%EC%A4%91%EC%95%99%EB%8F%99+732+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">이순신 수제버거</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 여수시 중앙동 732 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%97%AC%EC%88%98%EB%8B%B9+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%97%AC%EC%88%98%EC%8B%9C+%EC%A4%91%EC%95%99%EB%8F%99+779" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">여수당</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;카페,디저트</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 여수시 중앙동 779</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">여수역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 여수엑스포역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">600원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 전라남도 여수시 덕충동 61-7<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">여수역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 전라남도 여수시 덕충동 61-7</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:062-941-0874" style="color: #0052a4; font-weight: bold; text-decoration: none;">062-941-0874</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%97%AC%EC%88%98%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/여수역과-서울역-열차-KTX-시간표-전라선-상하행-첫기차-마지막기차-요금-정차역.jpg" alt="여수역과-서울역-열차-KTX-시간표-전라선-상하행-첫기차-마지막기차-요금-정차역" class="wp-image-20369" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/여수역과-서울역-열차-KTX-시간표-전라선-상하행-첫기차-마지막기차-요금-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/여수역과-서울역-열차-KTX-시간표-전라선-상하행-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/여수역과-서울역-열차-KTX-시간표-전라선-상하행-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>동대구역 포항역 KTX 시간표(ITX-마음 누리로 무궁화호) 상하행 전체 요금 정차역</title>
		<link>https://krailroad.co.kr/%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad-%ed%8f%ac%ed%95%ad%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9citx-%eb%a7%88%ec%9d%8c-%eb%88%84%eb%a6%ac%eb%a1%9c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%83%81/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Mon, 06 Apr 2026 06:28:55 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[동대구역 포항역 KTX]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20209</guid>

					<description><![CDATA[동대구역 포항역 KTX를 이용한 열차는 대구 도심과 동해안을 잇는 대중적인 방법으로, 국도를 따라 산길을 돌아가야 했던 과거와 다르게, KTX가 투입된 이후로는 두 도시 사이를 오가는 시간이 30분대로 줄어들었는데요. 현재 이 구간은 고속열차뿐 아니라 SRT, 그리고 ITX-마음과 누리로, 무궁화호까지 다양한 등급의 기차가 상행과 하행으로 수시로 운행되고 있어 상황에 맞는 열차를 이용하기에 편합니다. 역사에서 급하게 시간표를 찾아 ... <a title="동대구역 포항역 KTX 시간표(ITX-마음 누리로 무궁화호) 상하행 전체 요금 정차역" class="read-more button" href="https://krailroad.co.kr/%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad-%ed%8f%ac%ed%95%ad%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9citx-%eb%a7%88%ec%9d%8c-%eb%88%84%eb%a6%ac%eb%a1%9c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%83%81/" aria-label="동대구역 포항역 KTX 시간표(ITX-마음 누리로 무궁화호) 상하행 전체 요금 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">동대구역 포항역 KTX를 이용한 열차는 대구 도심과 동해안을 잇는 대중적인 방법으로, 국도를 따라 산길을 돌아가야 했던 과거와 다르게, KTX가 투입된 이후로는 두 도시 사이를 오가는 시간이 30분대로 줄어들었는데요. 현재 이 구간은 고속열차뿐 아니라 SRT, 그리고 ITX-마음과 누리로, 무궁화호까지 다양한 등급의 기차가 상행과 하행으로 수시로 운행되고 있어 상황에 맞는 열차를 이용하기에 편합니다.</p>



<p class="wp-block-paragraph">역사에서 급하게 시간표를 찾아 헤매거나 출처가 불분명한 옛날 정보 때문에 승강장에서 대기 시간을 허비하는 일은 번거로울 수밖에 없습니다. 이런 불편을 줄이고자 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 데이터와 공공 API를 연동하여 기차의 실시간 위치와 도착 예정 시각을 정리했는데요. 스마트폰 화면을 열어두면 정보가 스스로 갱신되며, 특히 열차 출발 15분 전부터 안내되는 음성 로직을 추가하여 동대구역 <a href="https://krailroad.co.kr/%ed%8f%ac%ed%95%ad%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%84%9c%ec%9a%b8%c2%b7%eb%8c%80%ec%a0%84%c2%b7%eb%8f%99%eb%8c%80%ea%b5%ac-%eb%b0%8f-%ea%b0%95%eb%a6%89%c2%b7%eb%b6%80%ec%a0%84%ed%96%89/">포항역 KTX 기차</a>외 전체 열차 종별의 출발과 도착상황을 사무실이나 집에서도 미리 실시간으로 파악할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>동대구역 포항역 KTX 안내</strong></h2>



<h3 class="wp-block-heading">동대구역과 포항역 노선의 특징</h3>



<p class="wp-block-paragraph"><a href="https://krailroad.co.kr/%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b4%9d%ec%a0%95%eb%a6%ac-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%9a%94%ea%b8%88-%eb%b0%8f-%ec%a0%95%ec%b0%a8%ec%97%ad/">동대구역</a>은 전국에서 기차가 모여드는 곳이라 포항행 배차도 꽤 자주 있는 편입니다. 고속 전용선을 타는 KTX나 SRT는 포항역까지 금방 도착하기 때문에 출장이나 당일치기 나들이를 다녀오기에 무리가 없는데요. 반면 ITX-마음이나 누리로, 무궁화호 같은 일반 열차는 하양이나 영천, 서경주, 안강역을 거쳐 영일만 포항역으로 이동하게 됩니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">열차 종류에 따른 차이와 주차</h3>



<p class="wp-block-paragraph">동대구역 포항역 KTX 기차 시간표를 볼 때 내가 타려는 기차가 무엇인지 미리 체크하면 차비를 아끼는 데 도움이 되며, 고속열차는 빠른 만큼 운임이 좀 더 책정되어 있지만, 상대적으로 저렴한 누리로와 무궁화호는 가성비가 좋아 통학하거나 자주 오가는 분들이 주로 이용하는데요. 요금표를 보면 기차 등급마다 금액 차이가 확실히 나니까 아래 열차 종별에 따른 요금을 미리 파악하시고 이용하시는 것도 좋습니다.<br><br>또한 포항역은 흥해읍 쪽에 위치하고 있어서 도착한 뒤에 시내나 죽도시장, 영일대 쪽으로 나가려면 버스나 택시 타는 곳을 미리 확인해야 합니다. 차를 세워둘 때는 역 앞 주차장을 쓰면 되는데, 주말에는 금방 가득 차니까 주변 공영 주차장 위치도 함께 봐두면 좋은데요. 역 안에도 간단히 요기할 만한 식당이나 편의점이 잘 갖춰져 있어 기차 기다리는 동안 시간을 보내기 나쁘지 않습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">포항 ↔&nbsp;동대구 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">포항<br>↓<br>동대구</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">232호</span><div class="time-display">05:35</div><div class="arrival-info">06:17 도착</div></td><td><span class="train-detail">254호</span><div class="time-display">21:36</div><div class="arrival-info">22:17 도착</div></td></tr><tr><td><span class="type-label type-default">SRT</span></td><td><span class="train-detail">392호</span><div class="time-display">9:41</div><div class="arrival-info">10:21 도착</div></td><td><span class="train-detail">394호</span><div class="time-display">19:42</div><div class="arrival-info">20:22 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">동대구<br>↓<br>포항</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">297호</span><div class="time-display">06:48</div><div class="arrival-info">07:23 도착</div></td><td><span class="train-detail">253호</span><div class="time-display">00:09</div><div class="arrival-info">00:44 도착</div></td></tr><tr><td><span class="type-label type-default">SRT</span></td><td><span class="train-detail">391호</span><div class="time-display">8:17</div><div class="arrival-info">8:52 도착</div></td><td><span class="train-detail">393호</span><div class="time-display">18:26</div><div class="arrival-info">19:02 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="3" style="border-top:1px solid #ddd;">포항<br>↓<br>동대구</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1824호</span><div class="time-display">22:53</div><div class="arrival-info">00:04 도착</div></td><td><span class="train-detail">1824호</span><div class="time-display">22:53</div><div class="arrival-info">00:04 도착</div></td></tr><tr><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1852호</span><div class="time-display">10:17</div><div class="arrival-info">11:36 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">15:59</div><div class="arrival-info">17:18 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1894호</span><div class="time-display">06:31</div><div class="arrival-info">08:00 도착</div></td><td><span class="train-detail">1894호</span><div class="time-display">06:31</div><div class="arrival-info">08:00 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="3" style="border-top:1px solid #ddd;">동대구<br>↓<br>포항</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1821호</span><div class="time-display">15:15</div><div class="arrival-info">16:27 도착</div></td><td><span class="train-detail">1831호</span><div class="time-display">15:15</div><div class="arrival-info">16:27 도착</div></td></tr><tr><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1851호</span><div class="time-display">06:25</div><div class="arrival-info">07:42 도착</div></td><td><span class="train-detail">1865호</span><div class="time-display">18:44</div><div class="arrival-info">19:55 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1891호</span><div class="time-display">18:15</div><div class="arrival-info">19:35 도착</div></td><td><span class="train-detail">1891호</span><div class="time-display">18:15</div><div class="arrival-info">19:35 도착</div></td></tr></tbody></table></div>


    
    <h2>동대구 ↔ 대구 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                4,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                4,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                4,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                8,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                13,200원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                8,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                13,200원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구,경주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                8,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                13,200원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구,구포</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                8,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                13,200원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">SRT</span>
                                                            <span class="t-via">서대구</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                7,500원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                10,900원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                2,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                2,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">포항 →&nbsp;동대구 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>포항</th><th>동대구</th><th>비고</th></tr></thead><tbody><tr><td>232</td><td>KTX-산천</td><td>05:35</td><td>06:17</td><td>매일</td></tr><tr><td>234</td><td>KTX-산천</td><td>07:14</td><td>07:56</td><td>매일</td></tr><tr><td>236</td><td>KTX-산천</td><td>09:57</td><td>10:39</td><td>매일</td></tr><tr><td>238</td><td>KTX</td><td>10:14</td><td>10:51</td><td>매일</td></tr><tr><td>298</td><td>KTX-산천</td><td>10:39</td><td>11:21</td><td>금토일</td></tr><tr><td>240</td><td>KTX_산천</td><td>11:04</td><td>11:45</td><td>월화수목</td></tr><tr><td>4140</td><td>KTX-산천</td><td>11:04</td><td>11:45</td><td>금토일</td></tr><tr><td>242</td><td>KTX_산천</td><td>12:46</td><td>13:23</td><td>월화수목</td></tr><tr><td>292</td><td>KTX-산천</td><td>12:46</td><td>13:23</td><td>금토일</td></tr><tr><td>9292</td><td>KTX_산천</td><td>12:46</td><td>13:23</td><td>금토일</td></tr><tr><td>244</td><td>KTX-산천</td><td>14:03</td><td>14:44</td><td>매일</td></tr><tr><td>246</td><td>KTX</td><td>15:35</td><td>16:12</td><td>매일</td></tr><tr><td>248</td><td>KTX-산천</td><td>16:21</td><td>17:02</td><td>매일</td></tr><tr><td>9248</td><td>KTX-산천</td><td>16:21</td><td>17:02</td><td>월화수목</td></tr><tr><td>250</td><td>KTX</td><td>18:00</td><td>18:37</td><td>매일</td></tr><tr><td>4034</td><td>KTX-산천</td><td>18:31</td><td>19:09</td><td>월화수목</td></tr><tr><td>4032</td><td>KTX-산천</td><td>18:31</td><td>19:16</td><td>금토일</td></tr><tr><td>294</td><td>KTX_산천</td><td>18:54</td><td>19:35</td><td>금토일</td></tr><tr><td>296</td><td>KTX_산천</td><td>18:58</td><td>19:35</td><td>월화수목</td></tr><tr><td>252</td><td>KTX-산천</td><td>19:27</td><td>20:08</td><td>매일</td></tr><tr><td>254</td><td>KTX-산천</td><td>21:36</td><td>22:17</td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>포항</th><th>안강</th><th>서경주</th><th>아화</th><th>영천</th><th>하양</th><th>동대구</th><th>비 고</th></tr></thead><tbody><tr><td>1894</td><td>무궁화</td><td>06:31</td><td>06:44</td><td>06:54</td><td>07:15</td><td>07:28</td><td>07:39</td><td>08:00</td><td></td></tr><tr><td>1852</td><td>누리로</td><td>10:17</td><td>10:30</td><td>10:40</td><td>10:58</td><td>11:10</td><td>11:20</td><td>11:36</td><td>월화수목금</td></tr><tr><td>1862</td><td>누리로</td><td>10:17</td><td>10:30</td><td>10:40</td><td>10:58</td><td>11:10</td><td>11:20</td><td>11:36</td><td>토일</td></tr><tr><td>1854</td><td>누리로</td><td>12:26</td><td>12:40</td><td>12:51</td><td>13:08</td><td>13:19</td><td>13:29</td><td>13:45</td><td>월화수목금</td></tr><tr><td>1864</td><td>누리로</td><td>12:26</td><td>12:40</td><td>12:51</td><td>13:08</td><td>13:19</td><td>13:29</td><td>13:45</td><td>토일</td></tr><tr><td>1866</td><td>누리로</td><td>15:59</td><td>16:13</td><td>16:23</td><td>16:41</td><td>16:52</td><td>17:02</td><td>17:18</td><td></td></tr><tr><td>1824</td><td>ITX-마음</td><td>22:53</td><td></td><td>23:13</td><td></td><td>23:38</td><td>23:48</td><td>00:04</td><td></td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">포항 →&nbsp;동대구 SRT 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>포항</th><th>동대구</th><th>운행요일</th></tr></thead><tbody><tr><td>392</td><td>SRT</td><td>9:41</td><td>10:21</td><td>매일</td></tr><tr><td>394</td><td>SRT</td><td>19:42</td><td>20:22</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동대구 →&nbsp;포항 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>동대구</th><th>포항</th><th>비고</th></tr></thead><tbody><tr><td>297</td><td>KTX-산천</td><td>06:48</td><td>07:23</td><td>금토일</td></tr><tr><td>231</td><td>KTX-산천</td><td>07:33</td><td>08:08</td><td>매일</td></tr><tr><td>233</td><td>KTX</td><td>08:34</td><td>09:09</td><td>매일</td></tr><tr><td>235</td><td>KTX_산천</td><td>10:04</td><td>10:39</td><td>월화수목</td></tr><tr><td>4135</td><td>KTX-산천</td><td>10:04</td><td>10:39</td><td>금토일</td></tr><tr><td>4031</td><td>KTX-산천</td><td>10:20</td><td>10:55</td><td>매일</td></tr><tr><td>237</td><td>KTX_산천</td><td>11:14</td><td>11:49</td><td>매일</td></tr><tr><td>239</td><td>KTX-산천</td><td>12:38</td><td>13:13</td><td>매일</td></tr><tr><td>241</td><td>KTX</td><td>14:25</td><td>15:00</td><td>매일</td></tr><tr><td>243</td><td>KTX-산천</td><td>14:56</td><td>15:32</td><td>매일</td></tr><tr><td>245</td><td>KTX</td><td>16:29</td><td>17:04</td><td>매일</td></tr><tr><td>255</td><td>KTX-산천</td><td>17:00</td><td>17:35</td><td>매일</td></tr><tr><td>4033</td><td>KTX_산천</td><td>17:30</td><td>18:05</td><td>매일</td></tr><tr><td>247</td><td>KTX-산천</td><td>18:08</td><td>18:44</td><td>매일</td></tr><tr><td>249</td><td>KTX-산천</td><td>19:29</td><td>20:04</td><td>매일</td></tr><tr><td>251</td><td>KTX-산천</td><td>22:33</td><td>23:08</td><td>매일</td></tr><tr><td>253</td><td>KTX-산천</td><td>00:09</td><td>00:44</td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>동대구</th><th>하양</th><th>영천</th><th>아화</th><th>서경주</th><th>안강</th><th>포항</th><th>비 고</th></tr></thead><tbody><tr><td>1851</td><td>누리로</td><td>06:25</td><td>06:42</td><td>06:52</td><td>07:03</td><td>07:19</td><td>07:28</td><td>07:42</td><td>월화수목금</td></tr><tr><td>1861</td><td>누리로</td><td>06:25</td><td>06:42</td><td>06:52</td><td>07:03</td><td>07:19</td><td>07:28</td><td>07:42</td><td>토일</td></tr><tr><td>1853</td><td>누리로</td><td>12:14</td><td>12:31</td><td>12:42</td><td>12:53</td><td>13:09</td><td>13:19</td><td>13:32</td><td>월화수목금</td></tr><tr><td>1863</td><td>누리로</td><td>12:14</td><td>12:31</td><td>12:42</td><td>12:53</td><td>13:09</td><td>13:19</td><td>13:32</td><td>토일</td></tr><tr><td>1821</td><td>ITX-마음</td><td>15:15</td><td>15:32</td><td>15:43</td><td></td><td>16:06</td><td></td><td>16:27</td><td>월화수목금</td></tr><tr><td>1831</td><td>ITX-마음</td><td>15:15</td><td>15:32</td><td>15:43</td><td></td><td>16:06</td><td></td><td>16:27</td><td>토일</td></tr><tr><td>1891</td><td>무궁화</td><td>18:15</td><td>18:32</td><td>18:44</td><td>18:56</td><td>19:12</td><td>19:22</td><td>19:35</td><td></td></tr><tr><td>1865</td><td>누리로</td><td>18:44</td><td>19:01</td><td>19:11</td><td></td><td>19:35</td><td></td><td>19:55</td><td></td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동대구 →&nbsp;포항 SRT 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>동대구</th><th>포항</th><th>운행요일</th></tr></thead><tbody><tr><td>391</td><td>SRT</td><td>8:17</td><td>8:52</td><td>매일</td></tr><tr><td>393</td><td>SRT</td><td>18:26</td><td>19:02</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>동대구역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '동대구'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">동대구역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">동대구역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '22';
            let curName = '동대구';
            let altCity = '37010';
            let altName = '포항';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">동대구역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">14℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">동대구역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%8B%AC%EC%A7%80+%EB%8C%80%EA%B5%AC%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%8F%99%EA%B5%AC+%EC%8B%A0%EC%B2%9C%EB%8F%99+385-6" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">심지</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;일식&gt;일식당</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대구광역시 동구 신천동 385-6</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A5%B4%EB%B0%B0+%EB%B3%B8%EC%A0%90+%EB%8C%80%EA%B5%AC%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%88%98%EC%84%B1%EA%B5%AC+%EB%A7%8C%EC%B4%8C%EB%8F%99+1356-19+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">르배 본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대구광역시 수성구 만촌동 1356-19 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%95%84%EC%9B%83%EB%B0%B1%EC%8A%A4%ED%85%8C%EC%9D%B4%ED%81%AC%ED%95%98%EC%9A%B0%EC%8A%A4+%EB%8C%80%EA%B5%AC+%EC%8B%A0%EC%84%B8%EA%B3%84%EC%A0%90+%EB%8C%80%EA%B5%AC%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%8F%99%EA%B5%AC+%EC%8B%A0%EC%B2%9C%EB%8F%99+1506+%EC%8B%A0%EC%84%B8%EA%B3%84%EB%B0%B1%ED%99%94%EC%A0%90+8%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">아웃백스테이크하우스 대구 신세계점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;패밀리레스토랑</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대구광역시 동구 신천동 1506 신세계백화점 8층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%82%AC%ED%8C%8C%ED%82%A4%EC%B9%9C+%EB%8C%80%EA%B5%AC%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%8F%99%EA%B5%AC+%EC%8B%A0%EC%B2%9C%EB%8F%99+425-1+%EC%82%AC%ED%8C%8C%ED%82%A4%EC%B9%9C" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">사파키친</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;아시아음식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대구광역시 동구 신천동 425-1 사파키친</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%82%BC%EC%86%A1%EB%B9%B5%EC%A7%91+%EB%8F%99%EB%8C%80%EA%B5%AC%EC%97%AD%EC%82%AC%EC%A0%90+%EB%8C%80%EA%B5%AC%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%8F%99%EA%B5%AC+%EC%8B%A0%EC%95%94%EB%8F%99+294" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">삼송빵집 동대구역사점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대구광역시 동구 신암동 294</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">동대구역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 동대구역 2                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,500원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">18,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 대구광역시 동구 신암동 294<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 053-719-0270                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">동대구역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 대구광역시 동구 신암동 294</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:053-719-0270" style="color: #0052a4; font-weight: bold; text-decoration: none;">053-719-0270</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EB%8F%99%EB%8C%80%EA%B5%AC%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/동대구역-포항역-KTX-기차-시간표-ITX-마음-SRT-누리로-무궁화호-동해선-첫기차-마지막기차-요금-정차역.jpg" alt="동대구역-포항역-KTX-기차-시간표-ITX-마음-SRT-누리로-무궁화호-동해선-첫기차-마지막기차-요금-정차역" class="wp-image-20255" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/동대구역-포항역-KTX-기차-시간표-ITX-마음-SRT-누리로-무궁화호-동해선-첫기차-마지막기차-요금-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/동대구역-포항역-KTX-기차-시간표-ITX-마음-SRT-누리로-무궁화호-동해선-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/동대구역-포항역-KTX-기차-시간표-ITX-마음-SRT-누리로-무궁화호-동해선-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>동대구역과 강릉역 기차 ITX-마음 누리로 시간표 상하행 동해선 요금 정리</title>
		<link>https://krailroad.co.kr/%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad%ea%b3%bc-%ea%b0%95%eb%a6%89%ec%97%ad-%ea%b8%b0%ec%b0%a8-itx-%eb%a7%88%ec%9d%8c-%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%83%81%ed%95%98%ed%96%89/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Mon, 06 Apr 2026 02:20:38 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[동대구역과 강릉역 기차]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20235</guid>

					<description><![CDATA[동대구역과 강릉역 기차는 동해선으로 영남과 강원을 잇는 대중적인 이동 방법으로 자리 잡았으며, 옛날의 단선 선로를 따라 굽이굽이 산등성이를 넘느라 시간이 꽤 걸렸던 시절은 이제 전 구간 전철화 공사가 마무리되며 옛일이 되었는데요. 현재 이 동해선 동대구역과 강릉역 기차 노선은 차세대 전동 열차인 ITX-마음과 가성비가 좋은 누리로 등이 투입되어 영남권과 영동권을 하나로 묶어주는 역할을 하고 있습니다. 아래 ... <a title="동대구역과 강릉역 기차 ITX-마음 누리로 시간표 상하행 동해선 요금 정리" class="read-more button" href="https://krailroad.co.kr/%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad%ea%b3%bc-%ea%b0%95%eb%a6%89%ec%97%ad-%ea%b8%b0%ec%b0%a8-itx-%eb%a7%88%ec%9d%8c-%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%83%81%ed%95%98%ed%96%89/" aria-label="동대구역과 강릉역 기차 ITX-마음 누리로 시간표 상하행 동해선 요금 정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">동대구역과 강릉역 기차는 동해선으로 영남과 강원을 잇는 대중적인 이동 방법으로 자리 잡았으며, 옛날의 단선 선로를 따라 굽이굽이 산등성이를 넘느라 시간이 꽤 걸렸던 시절은 이제 전 구간 전철화 공사가 마무리되며 옛일이 되었는데요. 현재 이 동해선 동대구역과 강릉역 기차 노선은 차세대 전동 열차인 ITX-마음과 가성비가 좋은 누리로 등이 투입되어 영남권과 영동권을 하나로 묶어주는 역할을 하고 있습니다.</p>



<p class="wp-block-paragraph">아래 정리한 자료들은 역사 안에서 시간표를 찾거나 낚시성 옛날 정보 때문에 승강장에서 헛걸음하는 일은 더 이상 없도록, <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a>의 공식 자료와 공공데이터 API를 연동하여 기차가 지금 어디쯤 달리고 있는지, 몇 분 뒤에 도착과 출발 예정인지 한곳에 정리했는데요. 실시간 API 검색 기능을 활용하여 정보가 스스로 60초 단위로 업데이트되며, 특히 열차 출발 15분 전부터 알려주는 음성 안내 기능을 추가해 집이나 사무실, 또는 역으로 이동하는 중에서도 동대구역과 강릉역 기차의 출발 상황을 현장에 있는 것처럼 파악할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>동대구역과 강릉역 기차 안내</strong></h2>



<h3 class="wp-block-heading">강릉역 주차와 주변 시설</h3>



<p class="wp-block-paragraph"><a href="https://krailroad.co.kr/%ea%b0%95%eb%a6%89%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%84%9c%ec%9a%b8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%b6%80%ec%a0%84/">강릉역</a>은 시내 중심부와 가까워 도착한 뒤에 중앙시장이나 안목해변 등 주요 관광지로 이동하기 위한 버스와 택시 승강장이 잘 마련되어 있습니다. 특히 차를 가져오셨다면 역 앞 전용 주차장을 쓰면 되는데, 관광객이 몰리는 주말에는 자리가 부족할 수 있으니 인근 공영 주차장 위치와 요금을 미리 봐두는 게 좋습니다. 또한 역 내부에도 간단히 요기할 식당과 편의점이 모여 있어 기차를 기다리는 동안 시간을 보내기에도 무리가 없습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">열차 종류에 따른 차이와 이용</h3>



<p class="wp-block-paragraph">동대구역과 강릉역 기차 시간표를 이용할때 내가 타려는 열차가 ITX-마음인지 누리로인지 미리 체크하면 차비를 아끼는 데 도움이 되며, ITX-마음은 최신 설비를 갖춰 실내가 쾌적하고 소음이 적은 반면, 누리로는 상대적으로 저렴한 요금 덕분에 자주 오가는 분들에게 인기가 높은데요. 요금표를 확인해 보면 열차 등급에 따라 금액 차이가 확실히 나므로 본인의 일정에 맞춰 좌석을 미리 확보해 두는 것도 좋습니다.<br><br>또한 <a href="https://krailroad.co.kr/%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b2%ab%ec%b0%a8-%eb%a7%89%ec%b0%a8-%ec%a0%95%eb%b3%b4-%ed%8f%ac/">동대구역</a>은 전국 각지의 열차가 모여드는 거점인 만큼 강릉으로 향하는 열차도 체계적으로 짜여 있으나, 강릉역에서 동대구역으로 향하는 동해선 상행은 오전 시간에는 열차가  자주 있는 방면에 오후에는 한대 정도만 운행하고 있기 때문에 시간표를 미리 확인하셔야 합니다. 그리고 예전처럼 포항이나 영천에서 복잡하게 갈아탈 필요 없이 한 번에 경상도와 강원도까지 닿는 직결 노선이 완성된 덕분에 나들이객들의 이용이 상당히 많아 졌는데요. ITX-마음이나 누리로 같은 열차는 하양, 영천을 거쳐 포항, 삼척, 동해를 지나 강릉역까지 이어지고 있으니 참고하시면 됩니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">강릉 ↔&nbsp;동대구 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">강릉<br>↓<br>동대구</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1824호</span><div class="time-display">19:58</div><div class="arrival-info">00:04 도착</div></td><td><span class="train-detail">1824호</span><div class="time-display">19:58</div><div class="arrival-info">00:04 도착</div></td></tr><tr><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1852호</span><div class="time-display">06:30</div><div class="arrival-info">11:36 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">12:30</div><div class="arrival-info">17:18 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">동대구<br>↓<br>강릉</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1821호</span><div class="time-display">15:15</div><div class="arrival-info">19:27 도착</div></td><td><span class="train-detail">1831호</span><div class="time-display">15:15</div><div class="arrival-info">19:27 도착</div></td></tr><tr><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1851호</span><div class="time-display">06:25</div><div class="arrival-info">11:12 도착</div></td><td><span class="train-detail">1865호</span><div class="time-display">18:44</div><div class="arrival-info">23:13 도착</div></td></tr></tbody></table></div>


    
    <h2>동대구 ↔ 대구 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                4,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                4,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                4,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                8,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                13,200원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                8,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                13,200원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구,경주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                8,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                13,200원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구,구포</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                8,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                13,200원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">SRT</span>
                                                            <span class="t-via">서대구</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                7,500원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                10,900원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                2,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">대구 ↔ 동대구</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                2,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">강릉 →&nbsp;동대구 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>강릉</th><th>정동진</th><th>묵호</th><th>동해</th><th>추암</th><th>삼척해변</th><th>삼척</th><th>근덕</th><th>임원</th><th>옥원</th><th>흥부</th><th>죽변</th><th>울진</th><th>매화</th><th>기성</th><th>평해</th><th>후포</th><th>고래불</th><th>영해</th><th>영덕</th><th>강구</th><th>장사</th><th>월포</th><th>포항</th><th>안강</th><th>서경주</th><th>아화</th><th>영천</th><th>하양</th><th>동대구</th><th>비 고</th></tr></thead><tbody><tr><td>1852</td><td>누리로</td><td>06:30</td><td>06:47</td><td>07:11</td><td>07:21</td><td></td><td></td><td>07:45</td><td>07:57</td><td>08:06</td><td>08:13</td><td>08:23</td><td>08:30</td><td>08:38</td><td>08:48</td><td>08:58</td><td>09:06</td><td>09:13</td><td>09:21</td><td>09:29</td><td>09:40</td><td>09:47</td><td>09:53</td><td>10:01</td><td>10:17</td><td>10:30</td><td>10:40</td><td>10:58</td><td>11:10</td><td>11:20</td><td>11:36</td><td>월화수목금</td></tr><tr><td>1862</td><td>누리로</td><td>06:30</td><td>06:47</td><td>07:11</td><td>07:21</td><td>07:31</td><td>07:35</td><td>07:45</td><td>07:57</td><td>08:06</td><td>08:13</td><td>08:23</td><td>08:30</td><td>08:38</td><td>08:48</td><td>08:58</td><td>09:06</td><td>09:13</td><td>09:21</td><td>09:29</td><td>09:40</td><td>09:47</td><td>09:53</td><td>10:01</td><td>10:17</td><td>10:30</td><td>10:40</td><td>10:58</td><td>11:10</td><td>11:20</td><td>11:36</td><td>토일</td></tr><tr><td>1854</td><td>누리로</td><td>08:55</td><td>09:11</td><td>09:30</td><td>09:39</td><td></td><td></td><td>10:01</td><td></td><td>10:19</td><td>10:28</td><td>10:38</td><td>10:45</td><td>10:53</td><td></td><td></td><td></td><td>11:20</td><td>11:33</td><td>11:41</td><td>11:52</td><td>11:59</td><td>12:04</td><td>12:13</td><td>12:26</td><td>12:40</td><td>12:51</td><td>13:08</td><td>13:19</td><td>13:29</td><td>13:45</td><td>월화수목금</td></tr><tr><td>1864</td><td>누리로</td><td>08:55</td><td>09:11</td><td>09:30</td><td>09:39</td><td>09:48</td><td>09:52</td><td>10:01</td><td></td><td>10:19</td><td>10:28</td><td>10:38</td><td>10:45</td><td>10:53</td><td></td><td></td><td></td><td>11:20</td><td>11:33</td><td>11:41</td><td>11:52</td><td>11:59</td><td>12:04</td><td>12:13</td><td>12:26</td><td>12:40</td><td>12:51</td><td>13:08</td><td>13:19</td><td>13:29</td><td>13:45</td><td>토일</td></tr><tr><td>1866</td><td>누리로</td><td>12:30</td><td>12:47</td><td>13:07</td><td>13:15</td><td></td><td></td><td>13:33</td><td>13:46</td><td>13:55</td><td>14:02</td><td>14:12</td><td>14:19</td><td>14:27</td><td>14:37</td><td>14:49</td><td></td><td>15:01</td><td>15:09</td><td></td><td>15:25</td><td></td><td>15:39</td><td>15:47</td><td>15:59</td><td>16:13</td><td>16:23</td><td>16:41</td><td>16:52</td><td>17:02</td><td>17:18</td><td></td></tr><tr><td>1824</td><td>ITX-마음</td><td>19:58</td><td>20:15</td><td>20:34</td><td>20:42</td><td></td><td></td><td>20:59</td><td></td><td></td><td></td><td></td><td></td><td>21:36</td><td></td><td>21:55</td><td></td><td></td><td></td><td></td><td>22:25</td><td></td><td></td><td>22:42</td><td>22:53</td><td></td><td>23:13</td><td></td><td>23:38</td><td>23:48</td><td>00:04</td><td></td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">동대구 →&nbsp;강릉 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>동대구</th><th>하양</th><th>영천</th><th>아화</th><th>서경주</th><th>안강</th><th>포항</th><th>월포</th><th>장사</th><th>강구</th><th>영덕</th><th>영해</th><th>고래불</th><th>후포</th><th>평해</th><th>기성</th><th>매화</th><th>울진</th><th>죽변</th><th>흥부</th><th>옥원</th><th>임원</th><th>근덕</th><th>삼척</th><th>삼척해변</th><th>추암</th><th>동해</th><th>묵호</th><th>정동진</th><th>강릉</th><th>비 고</th></tr></thead><tbody><tr><td>1851</td><td>누리로</td><td>06:25</td><td>06:42</td><td>06:52</td><td>07:03</td><td>07:19</td><td>07:28</td><td>07:42</td><td>07:54</td><td></td><td>08:07</td><td>08:15</td><td>08:26</td><td>08:34</td><td>08:42</td><td>08:49</td><td>08:57</td><td></td><td>09:13</td><td>09:20</td><td>09:27</td><td>09:36</td><td>09:42</td><td></td><td>10:01</td><td></td><td></td><td>10:24</td><td>10:33</td><td>10:55</td><td>11:12</td><td>월화수목금</td></tr><tr><td>1861</td><td>누리로</td><td>06:25</td><td>06:42</td><td>06:52</td><td>07:03</td><td>07:19</td><td>07:28</td><td>07:42</td><td>07:54</td><td></td><td>08:07</td><td>08:15</td><td>08:26</td><td>08:34</td><td>08:42</td><td>08:49</td><td>08:57</td><td></td><td>09:13</td><td>09:20</td><td>09:27</td><td>09:36</td><td>09:42</td><td></td><td>10:01</td><td>10:09</td><td>10:13</td><td>10:24</td><td>10:33</td><td>10:55</td><td>11:12</td><td>토일</td></tr><tr><td>1853</td><td>누리로</td><td>12:14</td><td>12:31</td><td>12:42</td><td>12:53</td><td>13:09</td><td>13:19</td><td>13:32</td><td>13:43</td><td>13:51</td><td>13:59</td><td>14:07</td><td>14:18</td><td>14:26</td><td>14:35</td><td>14:42</td><td>14:50</td><td>15:00</td><td>15:10</td><td></td><td>15:20</td><td>15:30</td><td></td><td>15:41</td><td>15:55</td><td></td><td></td><td>16:16</td><td>16:24</td><td>16:45</td><td>17:00</td><td>월화수목금</td></tr><tr><td>1863</td><td>누리로</td><td>12:14</td><td>12:31</td><td>12:42</td><td>12:53</td><td>13:09</td><td>13:19</td><td>13:32</td><td>13:43</td><td>13:51</td><td>13:59</td><td>14:07</td><td>14:18</td><td>14:26</td><td>14:35</td><td>14:42</td><td>14:50</td><td>15:00</td><td>15:10</td><td></td><td>15:20</td><td>15:30</td><td></td><td>15:41</td><td>15:55</td><td>16:03</td><td>16:07</td><td>16:16</td><td>16:24</td><td>16:45</td><td>17:00</td><td>토일</td></tr><tr><td>1821</td><td>ITX-마음</td><td>15:15</td><td>15:32</td><td>15:43</td><td></td><td>16:06</td><td></td><td>16:27</td><td>16:39</td><td></td><td></td><td>16:56</td><td>17:06</td><td>17:13</td><td>17:22</td><td></td><td></td><td></td><td>17:46</td><td></td><td>17:56</td><td></td><td></td><td></td><td>18:22</td><td></td><td></td><td>18:42</td><td>18:50</td><td>19:12</td><td>19:27</td><td>월화수목금</td></tr><tr><td>1831</td><td>ITX-마음</td><td>15:15</td><td>15:32</td><td>15:43</td><td></td><td>16:06</td><td></td><td>16:27</td><td>16:39</td><td></td><td></td><td>16:56</td><td>17:06</td><td>17:13</td><td>17:22</td><td></td><td></td><td></td><td>17:46</td><td></td><td>17:56</td><td></td><td></td><td></td><td>18:22</td><td>18:29</td><td>18:33</td><td>18:42</td><td>18:50</td><td>19:12</td><td>19:27</td><td>토일</td></tr><tr><td>1865</td><td>누리로</td><td>18:44</td><td>19:01</td><td>19:11</td><td></td><td>19:35</td><td></td><td>19:55</td><td>20:06</td><td>20:16</td><td>20:24</td><td>20:35</td><td>20:46</td><td>20:54</td><td>21:03</td><td>21:10</td><td>21:18</td><td>21:28</td><td>21:37</td><td></td><td></td><td></td><td></td><td></td><td>22:12</td><td></td><td></td><td>22:29</td><td>22:37</td><td>22:58</td><td>23:13</td><td></td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>동대구역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '동대구'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">동대구역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">동대구역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '22';
            let curName = '동대구';
            let altCity = '32010';
            let altName = '강릉';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">동대구역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">14℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">동대구역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%8B%AC%EC%A7%80+%EB%8C%80%EA%B5%AC%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%8F%99%EA%B5%AC+%EC%8B%A0%EC%B2%9C%EB%8F%99+385-6" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">심지</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;일식&gt;일식당</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대구광역시 동구 신천동 385-6</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A5%B4%EB%B0%B0+%EB%B3%B8%EC%A0%90+%EB%8C%80%EA%B5%AC%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%88%98%EC%84%B1%EA%B5%AC+%EB%A7%8C%EC%B4%8C%EB%8F%99+1356-19+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">르배 본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대구광역시 수성구 만촌동 1356-19 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%95%84%EC%9B%83%EB%B0%B1%EC%8A%A4%ED%85%8C%EC%9D%B4%ED%81%AC%ED%95%98%EC%9A%B0%EC%8A%A4+%EB%8C%80%EA%B5%AC+%EC%8B%A0%EC%84%B8%EA%B3%84%EC%A0%90+%EB%8C%80%EA%B5%AC%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%8F%99%EA%B5%AC+%EC%8B%A0%EC%B2%9C%EB%8F%99+1506+%EC%8B%A0%EC%84%B8%EA%B3%84%EB%B0%B1%ED%99%94%EC%A0%90+8%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">아웃백스테이크하우스 대구 신세계점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;패밀리레스토랑</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대구광역시 동구 신천동 1506 신세계백화점 8층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%82%AC%ED%8C%8C%ED%82%A4%EC%B9%9C+%EB%8C%80%EA%B5%AC%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%8F%99%EA%B5%AC+%EC%8B%A0%EC%B2%9C%EB%8F%99+425-1+%EC%82%AC%ED%8C%8C%ED%82%A4%EC%B9%9C" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">사파키친</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;아시아음식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대구광역시 동구 신천동 425-1 사파키친</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%82%BC%EC%86%A1%EB%B9%B5%EC%A7%91+%EB%8F%99%EB%8C%80%EA%B5%AC%EC%97%AD%EC%82%AC%EC%A0%90+%EB%8C%80%EA%B5%AC%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%8F%99%EA%B5%AC+%EC%8B%A0%EC%95%94%EB%8F%99+294" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">삼송빵집 동대구역사점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대구광역시 동구 신암동 294</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">동대구역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 동대구역 2                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,500원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">18,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 대구광역시 동구 신암동 294<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 053-719-0270                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">동대구역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 대구광역시 동구 신암동 294</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:053-719-0270" style="color: #0052a4; font-weight: bold; text-decoration: none;">053-719-0270</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EB%8F%99%EB%8C%80%EA%B5%AC%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/동대구역과-강릉역-기차-시간표-ITX-마음-누리로-무궁화호-동해선-첫기차-마지막기차-요금-정차역.jpg" alt="동대구역과-강릉역-기차-시간표-ITX-마음-누리로-무궁화호-동해선-첫기차-마지막기차-요금-정차역" class="wp-image-20258" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/동대구역과-강릉역-기차-시간표-ITX-마음-누리로-무궁화호-동해선-첫기차-마지막기차-요금-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/동대구역과-강릉역-기차-시간표-ITX-마음-누리로-무궁화호-동해선-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/동대구역과-강릉역-기차-시간표-ITX-마음-누리로-무궁화호-동해선-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>목포역 서울역 KTX 시간표 호남선 왕복 소요시간과 요금 정차역</title>
		<link>https://krailroad.co.kr/%eb%aa%a9%ed%8f%ac%ec%97%ad-%ec%84%9c%ec%9a%b8%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%98%b8%eb%82%a8%ec%84%a0-%ec%99%95%eb%b3%b5-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84%ea%b3%bc-%ec%9a%94%ea%b8%88/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Fri, 03 Apr 2026 23:57:18 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[목포역 서울역 KTX 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20180</guid>

					<description><![CDATA[목포역 서울역 KTX 시간표를 이용하여 목적지로 향하는 기차는 영산강 줄기를 타고 한참을 올라가야 했던 옛 추억을 뒤로하고, 이제는 시속 300km의 속도로 호남과 수도권을 잇고 있습니다. 예전처럼 무궁화호나 ITX-새마을이 주로 용산역으로 향하며 시간이 꽤 걸렸던 것과 달리, 목포역 서울역 KTX 시간표를 이용한 이동은 도심 중심부까지 가는 소요시간을 획기적으로 줄여주었는데요. 특히 최신 기종인 KTX-청룡을 이용하면 멈추는 역이 ... <a title="목포역 서울역 KTX 시간표 호남선 왕복 소요시간과 요금 정차역" class="read-more button" href="https://krailroad.co.kr/%eb%aa%a9%ed%8f%ac%ec%97%ad-%ec%84%9c%ec%9a%b8%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%98%b8%eb%82%a8%ec%84%a0-%ec%99%95%eb%b3%b5-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84%ea%b3%bc-%ec%9a%94%ea%b8%88/" aria-label="목포역 서울역 KTX 시간표 호남선 왕복 소요시간과 요금 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">목포역 서울역 KTX 시간표를 이용하여 목적지로 향하는 기차는 영산강 줄기를 타고 한참을 올라가야 했던 옛 추억을 뒤로하고, 이제는 시속 300km의 속도로 호남과 수도권을 잇고 있습니다. 예전처럼 무궁화호나 ITX-새마을이 주로 용산역으로 향하며 시간이 꽤 걸렸던 것과 달리, 목포역 서울역 KTX 시간표를 이용한 이동은 도심 중심부까지 가는 소요시간을 획기적으로 줄여주었는데요. 특히 최신 기종인 KTX-청룡을 이용하면 멈추는 역이 적어 목포와 서울 사이가 한결 더 가까워진 것을 체감할 수 있습니다.</p>



<p class="wp-block-paragraph">아래 내용은 이런 시대에 맞춰 승강장에서 전광판을 멍하니 쳐다보거나 낡은 종이 시간표를 뒤지는 번거로움은 이제 필요 없으며, <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 데이터와 실시간 API를 연동하여 기차가 지금 어디쯤 오고 있는지, 출발 몇분전인지 실시간으로 자료를 정리했는데요. 아래 정보는 1분마다 스스로 갱신되며, 출발 15분 전부터 알려주는 음성 안내 시스템이 포함되어 스마트폰만 켜두면 목포역 서울역 KTX 시간표 상황을 역사 전광판을 보고 있는 것처럼 귀와 눈으로 확인하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>목포역 서울역 KTX 시간표</strong></h2>



<h3 class="wp-block-heading">목포역 이용과 주변 상권</h3>



<p class="wp-block-paragraph">만약 서울역에서 <a href="https://krailroad.co.kr/%eb%aa%a9%ed%8f%ac%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b5%9c%ec%8b%a0-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%9a%94%ea%b8%88-%eb%b0%8f-%ec%86%8c%ec%9a%94-%ec%8b%9c%ea%b0%84-%ec%a0%95%ec%b0%a8/">목포역 KTX 시간표</a>를 이용하여 목포역사에 도착하였다면 시내 한복판에 있어 기차에서 내리자마자 주변 상권을 이용하기 편합니다. 왜냐하면 역 앞에는 유명한 빵집이나 낙지 요리를 잘하는 식당들이 모여 있어 식사 시간을 맞추기가 적당하기 때문입니다. 만약 차를 가져오셨다면 역 광장 옆 지상 주차장이나 인근 공영 주차장을 쓰면 되는데, 주말에는 자리가 금방 차는 편이니 아래 주차장 위치와 요금 정보를 미리 봐두는 게 좋습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">운행 노선과 요금 및 정차역 안내</h3>



<p class="wp-block-paragraph">목포역 서울역 KTX 시간표를 살필 때 내가 타는 열차가 어디어디 서는지 미리 봐두면 내릴 준비를 하기가 훨씬 수월한데요. 서울역행 노선은 용산행에 비해 <a href="https://krailroad.co.kr/%eb%82%98%ec%a3%bc%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac%ed%96%89-%ed%98%b8%eb%82%a8%ec%84%a0-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%9a%94/">나주역</a>, <a href="https://krailroad.co.kr/%ec%9d%b5%ec%82%b0%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac-%ec%97%ac%ec%88%98-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%a0%84%eb%9d%bc%ec%84%a0/">익산역</a> 등 주요 거점 위주로만 멈추는 경우가 많아 목적지까지 가는 시간이 짧습니다. 아래 요금표를 확인해 보면 KTX-산천과 청룡 등 기차 종류에 따라 운임이 조금씩 다르게 책정되어 있으니, 과거 다니던 무궁화호는 현재 이 구간에서 중단되었으나, 제공되는 요금 데이터에 정보가 남아 있는 것은 공식 자료상의 기준치를 반영한 것이니 참고만 하시면 됩니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">최신 기차 KTX-청룡의 특징</h3>



<p class="wp-block-paragraph">이번에 노선이 바뀌며 눈에 띄는 부분은 단연 KTX-청룡의 운행으로, 예전 모델보다 가속 성능이 좋아진 구조를 사용해서 서는 역이 적은 시간대를 잘 고르면 서울역까지 가는 속도가 확실히 빨라졌는데요. 앞뒤 좌석 간격이 이전보다 넓어지고 창문 구조도 바뀌어 창측 자리를 이용한다면 긴 시간 타고 가도 답답함이 덜합니다. 목포역 서울역 KTX 기차 시간표를 확인 할때 내가 타는 게 어떤 종류인지 살펴보면 좀 더 편하게 이용 할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">목포 ↔&nbsp;서울 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">목포<br>↓<br>서울</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">404호</span><div class="time-display">5:23</div><div class="arrival-info">8:26 도착</div></td><td><span class="train-detail">434호</span><div class="time-display">19:55</div><div class="arrival-info">22:46 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">서울<br>↓<br>목포</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">405호</span><div class="time-display">6:22</div><div class="arrival-info">9:06 도착</div></td><td><span class="train-detail">433호</span><div class="time-display">19:29</div><div class="arrival-info">22:19 도착</div></td></tr></tbody></table></div>


    
    <h2>목포 ↔ 서울 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 목포</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">공주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                53,100원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                63,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                74,300원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 목포</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">김제,장성</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                45,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                63,000원                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">목포 →&nbsp;서울 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>목포</th><th>나주</th><th>광주송정</th><th>장성</th><th>정읍</th><th>김제</th><th>익산</th><th>논산</th><th>계룡</th><th>서대전</th><th>공주</th><th>오송</th><th>천안아산</th><th>광명</th><th>용산</th><th>서울</th><th>비고</th></tr></thead><tbody><tr><td>404</td><td>KTX-산천</td><td>5:23</td><td>5:50</td><td>6:01</td><td></td><td>6:20</td><td></td><td>6:45</td><td></td><td></td><td></td><td>7:05</td><td>7:24</td><td></td><td>7:57</td><td>8:16</td><td>8:26</td><td>매일</td></tr><tr><td>472</td><td>KTX</td><td>5:32</td><td>6:00</td><td>6:10</td><td>6:25</td><td>6:43</td><td>6:58</td><td>7:12</td><td>7:36</td><td>7:54</td><td>8:11</td><td></td><td>8:30</td><td>8:43</td><td>9:09</td><td>9:27</td><td>9:32</td><td>매일</td></tr><tr><td>412</td><td>KTX</td><td>9:48</td><td>10:15</td><td>10:26</td><td></td><td>10:45</td><td></td><td>11:04</td><td></td><td></td><td></td><td></td><td></td><td></td><td>12:02</td><td>12:23</td><td>12:28</td><td>매일</td></tr><tr><td>414</td><td>KTX-산천</td><td>10:43</td><td>11:10</td><td>11:21</td><td></td><td></td><td></td><td>11:58</td><td></td><td></td><td></td><td>12:18</td><td></td><td>12:44</td><td>13:10</td><td>13:28</td><td>13:33</td><td>매일</td></tr><tr><td>418</td><td>KTX</td><td>12:44</td><td>13:11</td><td>13:22</td><td></td><td>13:41</td><td></td><td>13:59</td><td></td><td></td><td></td><td>14:19</td><td>14:37</td><td></td><td>15:11</td><td>15:31</td><td>15:36</td><td>매일</td></tr><tr><td>422</td><td>KTX-산천</td><td>14:19</td><td>14:46</td><td>14:57</td><td></td><td>15:16</td><td></td><td>15:41</td><td></td><td></td><td></td><td>16:01</td><td></td><td></td><td>16:47</td><td>17:05</td><td>17:10</td><td>매일</td></tr><tr><td>482</td><td>KTX-산천</td><td>16:25</td><td></td><td>16:59</td><td>17:14</td><td>17:32</td><td>17:47</td><td>18:07</td><td>18:32</td><td>18:50</td><td>19:07</td><td></td><td>19:26</td><td></td><td>19:59</td><td>20:17</td><td>20:27</td><td>월-목</td></tr><tr><td>488</td><td>KTX-산천</td><td>16:25</td><td></td><td>16:59</td><td>17:14</td><td>17:32</td><td>17:47</td><td>18:07</td><td>18:32</td><td>18:50</td><td>19:07</td><td></td><td>19:26</td><td></td><td>19:59</td><td>20:17</td><td>20:27</td><td>금,토,일</td></tr><tr><td>434</td><td>KTX-산천</td><td>19:55</td><td></td><td>20:29</td><td></td><td></td><td></td><td>21:06</td><td></td><td></td><td></td><td>21:26</td><td>21:44</td><td></td><td>22:18</td><td>22:36</td><td>22:46</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">서울 →&nbsp;목포 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>서울</th><th>용산</th><th>광명</th><th>천안아산</th><th>오송</th><th>공주</th><th>익산</th><th>정읍</th><th>광주송정</th><th>나주</th><th>목포</th><th>비고</th></tr></thead><tbody><tr><td>405</td><td>KTX</td><td>6:22</td><td>6:29</td><td>6:46</td><td></td><td>7:16</td><td>7:33</td><td>7:53</td><td>8:10</td><td>8:30</td><td>8:40</td><td>9:06</td><td>매일</td></tr><tr><td>407</td><td>KTX-산천</td><td>7:39</td><td>7:47</td><td>8:05</td><td></td><td></td><td>8:47</td><td>9:07</td><td>9:24</td><td>9:44</td><td>9:54</td><td>10:20</td><td>매일</td></tr><tr><td>413</td><td>KTX</td><td>10:32</td><td>10:40</td><td></td><td>11:15</td><td>11:27</td><td></td><td>11:58</td><td>12:15</td><td>12:35</td><td>12:45</td><td>13:11</td><td>매일</td></tr><tr><td>415</td><td>KTX-산천</td><td>12:08</td><td>12:18</td><td>12:35</td><td>12:58</td><td></td><td>13:23</td><td>13:43</td><td></td><td>14:14</td><td>14:24</td><td>14:50</td><td>매일</td></tr><tr><td>427</td><td>KTX-산천</td><td>16:35</td><td>16:43</td><td>17:00</td><td>17:23</td><td></td><td>17:48</td><td>18:07</td><td>18:25</td><td>18:45</td><td>18:55</td><td>19:21</td><td>매일</td></tr><tr><td>429</td><td>KTX-산천</td><td>17:37</td><td>17:44</td><td></td><td></td><td>18:26</td><td>18:43</td><td>19:03</td><td></td><td>19:34</td><td>19:44</td><td>20:10</td><td>매일</td></tr><tr><td>433</td><td>KTX</td><td>19:29</td><td>19:41</td><td>19:59</td><td></td><td>20:28</td><td>20:45</td><td>21:05</td><td>21:23</td><td>21:43</td><td>21:53</td><td>22:19</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>목포역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '목포'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">목포역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">목포역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '36010';
            let curName = '목포';
            let altCity = '11';
            let altName = '서울';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">목포역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">16℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☀️ 맑음</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">0%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">목포역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%94%A8%EC%97%98%EB%B9%84%EB%B2%A0%EC%9D%B4%EC%BB%A4%EB%A6%AC+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EB%AA%A9%ED%8F%AC%EC%8B%9C+%EB%AA%85%EB%A5%9C%EB%8F%99+13-4+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">씨엘비베이커리</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 목포시 명륜동 13-4 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%BD%94%EB%A1%AC%EB%B0%A9%EC%A0%9C%EA%B3%BC%EC%A0%90+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EB%AA%A9%ED%8F%AC%EC%8B%9C+%EB%AC%B4%EC%95%88%EB%8F%99+1-3" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">코롬방제과점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 목포시 무안동 1-3</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%83%9C%EB%8F%99%EB%B0%98%EC%A0%90+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EB%AA%A9%ED%8F%AC%EC%8B%9C+%EC%A3%BD%EB%8F%99+223-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">태동반점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">중식&gt;중식당</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 목포시 죽동 223-1</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%91%A5%EA%BF%80%EB%A0%88+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EB%AA%A9%ED%8F%AC%EC%8B%9C+%EC%A3%BD%EB%8F%99+64-7" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">쑥꿀레</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">분식&gt;종합분식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 목포시 죽동 64-7</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%9C%A0%EB%8B%AC%EC%BD%A9%EB%AC%BC+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EB%AA%A9%ED%8F%AC%EC%8B%9C+%EB%8C%80%EC%95%88%EB%8F%99+11-5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">유달콩물</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;한식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 목포시 대안동 11-5</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">목포역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 목포역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,000원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 전라남도 목포시 호남동 1-1<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">목포역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 전라남도 목포시 호남동 1-1</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:062-941-0874" style="color: #0052a4; font-weight: bold; text-decoration: none;">062-941-0874</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EB%AA%A9%ED%8F%AC%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/목포역-서울역-KTX-시간표-상하행-기차-노선-호남선-첫기차-마지막기차-요금-정차역.jpg" alt="목포역-서울역-KTX-시간표-상하행-기차-노선-호남선-첫기차-마지막기차-요금-정차역" class="wp-image-20205" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/목포역-서울역-KTX-시간표-상하행-기차-노선-호남선-첫기차-마지막기차-요금-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/목포역-서울역-KTX-시간표-상하행-기차-노선-호남선-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/목포역-서울역-KTX-시간표-상하행-기차-노선-호남선-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>광주송정역과 서울역 KTX 기차 시간표 호남선 상하행 요금과 정차역</title>
		<link>https://krailroad.co.kr/%ea%b4%91%ec%a3%bc%ec%86%a1%ec%a0%95%ec%97%ad%ea%b3%bc-%ec%84%9c%ec%9a%b8%ec%97%ad-ktx-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%98%b8%eb%82%a8%ec%84%a0-%ec%83%81%ed%95%98%ed%96%89-%ec%9a%94/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Fri, 03 Apr 2026 02:17:28 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[광주송정역과 서울역 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20164</guid>

					<description><![CDATA[광주송정역과 서울역 KTX 기차를 타기 전, 가장 먼저 확인해야 할 점은 내가 가야 할 곳이 &#8216;광주송정역&#8217;인지 &#8216;광주역&#8217;인지 구분하는 일입니다. 서울 도심으로 직결되는 고속열차는 대부분 광주송정역에서 취급하기 때문인데요. 현재 이 구간은 무궁화호나 ITX-새마을호, ITX-마음 같은 일반 열차는 다니지 않고 KTX 계열의 고속열차만 전용으로 운행되며, 최근에는 차세대 동력 방식을 적용한 KTX-청룡이 도입되어 이동 시간을 단축하고 있습니다. 역에 ... <a title="광주송정역과 서울역 KTX 기차 시간표 호남선 상하행 요금과 정차역" class="read-more button" href="https://krailroad.co.kr/%ea%b4%91%ec%a3%bc%ec%86%a1%ec%a0%95%ec%97%ad%ea%b3%bc-%ec%84%9c%ec%9a%b8%ec%97%ad-ktx-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%98%b8%eb%82%a8%ec%84%a0-%ec%83%81%ed%95%98%ed%96%89-%ec%9a%94/" aria-label="광주송정역과 서울역 KTX 기차 시간표 호남선 상하행 요금과 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">광주송정역과 서울역 KTX 기차를 타기 전, 가장 먼저 확인해야 할 점은 내가 가야 할 곳이 &#8216;광주송정역&#8217;인지 &#8216;광주역&#8217;인지 구분하는 일입니다. 서울 도심으로 직결되는 고속열차는 대부분 광주송정역에서 취급하기 때문인데요. 현재 이 구간은 무궁화호나 ITX-새마을호, ITX-마음 같은 일반 열차는 다니지 않고 KTX 계열의 고속열차만 전용으로 운행되며, 최근에는 차세대 동력 방식을 적용한 KTX-청룡이 도입되어 이동 시간을 단축하고 있습니다.</p>



<p class="wp-block-paragraph">역에 도착해서 전광판 또는 열차 시간표 간판을 찾아 헤매거나 출처가 불분명한 옛날 시간표에 의존하는 번거로움을 줄이려고 데이터 베이스와 <a href="https://www.data.go.kr/index.do" target="_blank" rel="noopener">공공데이터</a> API를 연동한 실시간 운행 정보를 정리했는데요. 아래 데이터는 첫차부터 막차까지 1분 단위로 자동 업데이트되며, 특히 열차 출발 15분 전부터 안내되는 음성 로직을 추가하여 스마트폰 화면을 켜두는 것만으로도 KTX-산천과 KTX-청룡의 현재 위치나 도착 시각을 곧바로 파악할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>광주송정역과 서울역 KTX 노선</strong></h2>



<h3 class="wp-block-heading">호남 고속선과 광주송정역 이용</h3>



<p class="wp-block-paragraph">광주송정역은 지하철 1호선과 바로 맞닿아 있어 시내 어디서든 접근하기가 무척 편하며(<a href="https://krailroad.co.kr/realtime-subway-timetable/">지하철 시간표 검색은 여기를 터치 하세요</a>), 과거 기존 선로를 이용하던 시절보다 서울역까지의 소요 시간이 획기적으로 줄어들면서 수도권과 호남권을 잇는 가장 빠른 통로가 되었는데요. ITX-마음 같은 일반 열차가 주로 용산역으로 향하는 것과 달리, 광주송정역과 서울역 KTX 노선은 고속열차 위주로 배차되어 비즈니스나 급한 일정이 있는 분들에게 효과적인 운행 노선이 되고 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">KTX-청룡과 최신형 열차의 특징</h3>



<p class="wp-block-paragraph">광주송정역과 서울역 KTX 노선의 핵심은 단연 최신 기술이 집약된 KTX-청룡입니다. 가속과 감속 성능이 뛰어난 동력분산식 열차로, 정차역이 적은 시간대를 이용하면 서울역까지 더욱 빠르게 도착할 수 있는데요. 기존 모델보다 좌석 간격이 넓고 편의 시설이 개선되어 장시간 이동에도 피로감이 덜한 것이 특징입니다. <a href="https://krailroad.co.kr/%ea%b4%91%ec%a3%bc%ec%86%a1%ec%a0%95%ec%97%ad-ktx-%ec%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac-%eb%b6%80%ec%a0%84%ed%96%89-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%94%ea%b8%88-%ec%a0%95%ec%b0%a8%ec%97%ad%ea%b3%bc/">광주송정역 기차 시간표</a>를 확인해 보면 시간대별로 투입되는 열차 종류가 다르므로, 본인이 타려는 열차가 청룡인지 산천인지 미리 체크해 보는 것이 좋습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">효율적인 일정 관리와 예매</h3>



<p class="wp-block-paragraph">실시간으로 업데이트되는 데이터를 활용하면 역 주변 버스 도착 시간까지 고려하여 집을 나서는 시간을 정확히 맞출 수 있습니다. 주말이나 공휴일에는 서울로 향하는 좌석이 금방 매진되는 경우가 많으므로, 일정이 정해졌다면 서둘러 자리를 예매하는 것이 유리한데요. 아래 실시간 API 열차 검색을 참고하여 광주송정역과 서울역을 오가는 일정을 정확하게 확인하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">광주송정 ↔&nbsp;서울 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">광주송정<br>↓<br>서울</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">404호</span><div class="time-display">6:01</div><div class="arrival-info">8:26 도착</div></td><td><span class="train-detail">434호</span><div class="time-display">20:29</div><div class="arrival-info">22:46 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">서울<br>↓<br>광주송정</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">405호</span><div class="time-display">6:22</div><div class="arrival-info">8:30 도착</div></td><td><span class="train-detail">433호</span><div class="time-display">19:29</div><div class="arrival-info">21:43 도착</div></td></tr></tbody></table></div>


    
    <h2>광주송정 ↔ 서울 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 광주송정</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">공주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                47,100원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                56,500원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                65,900원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 광주송정</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">김제,장성</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                39,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                54,600원                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">광주송정 →&nbsp;서울 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>광주송정</th><th>장성</th><th>정읍</th><th>김제</th><th>익산</th><th>논산</th><th>계룡</th><th>서대전</th><th>공주</th><th>오송</th><th>천안아산</th><th>광명</th><th>용산</th><th>서울</th><th>비고</th></tr></thead><tbody><tr><td>404</td><td>KTX-산천</td><td>6:01</td><td></td><td>6:20</td><td></td><td>6:45</td><td></td><td></td><td></td><td>7:05</td><td>7:24</td><td></td><td>7:57</td><td>8:16</td><td>8:26</td><td>매일</td></tr><tr><td>472</td><td>KTX</td><td>6:10</td><td>6:25</td><td>6:43</td><td>6:58</td><td>7:12</td><td>7:36</td><td>7:54</td><td>8:11</td><td></td><td>8:30</td><td>8:43</td><td>9:09</td><td>9:27</td><td>9:32</td><td>매일</td></tr><tr><td>412</td><td>KTX</td><td>10:26</td><td></td><td>10:45</td><td></td><td>11:04</td><td></td><td></td><td></td><td></td><td></td><td></td><td>12:02</td><td>12:23</td><td>12:28</td><td>매일</td></tr><tr><td>414</td><td>KTX-산천</td><td>11:21</td><td></td><td></td><td></td><td>11:58</td><td></td><td></td><td></td><td>12:18</td><td></td><td>12:44</td><td>13:10</td><td>13:28</td><td>13:33</td><td>매일</td></tr><tr><td>418</td><td>KTX</td><td>13:22</td><td></td><td>13:41</td><td></td><td>13:59</td><td></td><td></td><td></td><td>14:19</td><td>14:37</td><td></td><td>15:11</td><td>15:31</td><td>15:36</td><td>매일</td></tr><tr><td>422</td><td>KTX-산천</td><td>14:57</td><td></td><td>15:16</td><td></td><td>15:41</td><td></td><td></td><td></td><td>16:01</td><td></td><td></td><td>16:47</td><td>17:05</td><td>17:10</td><td>매일</td></tr><tr><td>482</td><td>KTX-산천</td><td>16:59</td><td>17:14</td><td>17:32</td><td>17:47</td><td>18:07</td><td>18:32</td><td>18:50</td><td>19:07</td><td></td><td>19:26</td><td></td><td>19:59</td><td>20:17</td><td>20:27</td><td>월-목</td></tr><tr><td>488</td><td>KTX-산천</td><td>16:59</td><td>17:14</td><td>17:32</td><td>17:47</td><td>18:07</td><td>18:32</td><td>18:50</td><td>19:07</td><td></td><td>19:26</td><td></td><td>19:59</td><td>20:17</td><td>20:27</td><td>금,토,일</td></tr><tr><td>428</td><td>KTX-청룡</td><td>18:25</td><td></td><td></td><td></td><td>18:56</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>20:08</td><td>20:13</td><td>월-목</td></tr><tr><td>492</td><td>KTX</td><td>18:25</td><td></td><td></td><td></td><td>18:56</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>20:08</td><td>20:13</td><td>금,토,일</td></tr><tr><td>434</td><td>KTX-산천</td><td>20:29</td><td></td><td></td><td></td><td>21:06</td><td></td><td></td><td></td><td>21:26</td><td>21:44</td><td></td><td>22:18</td><td>22:36</td><td>22:46</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">서울 →&nbsp;광주송정 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>서울</th><th>용산</th><th>광명</th><th>천안아산</th><th>오송</th><th>공주</th><th>익산</th><th>정읍</th><th>광주송정</th><th>비고</th></tr></thead><tbody><tr><td>405</td><td>KTX</td><td>6:22</td><td>6:29</td><td>6:46</td><td></td><td>7:16</td><td>7:33</td><td>7:53</td><td>8:10</td><td>8:30</td><td>매일</td></tr><tr><td>407</td><td>KTX-산천</td><td>7:39</td><td>7:47</td><td>8:05</td><td></td><td></td><td>8:47</td><td>9:07</td><td>9:24</td><td>9:44</td><td>매일</td></tr><tr><td>413</td><td>KTX</td><td>10:32</td><td>10:40</td><td></td><td>11:15</td><td>11:27</td><td></td><td>11:58</td><td>12:15</td><td>12:35</td><td>매일</td></tr><tr><td>415</td><td>KTX-산천</td><td>12:08</td><td>12:18</td><td>12:35</td><td>12:58</td><td></td><td>13:23</td><td>13:43</td><td></td><td>14:14</td><td>매일</td></tr><tr><td>427</td><td>KTX-산천</td><td>16:35</td><td>16:43</td><td>17:00</td><td>17:23</td><td></td><td>17:48</td><td>18:07</td><td>18:25</td><td>18:45</td><td>매일</td></tr><tr><td>429</td><td>KTX-산천</td><td>17:37</td><td>17:44</td><td></td><td></td><td>18:26</td><td>18:43</td><td>19:03</td><td></td><td>19:34</td><td>매일</td></tr><tr><td>433</td><td>KTX</td><td>19:29</td><td>19:41</td><td>19:59</td><td></td><td>20:28</td><td>20:45</td><td>21:05</td><td>21:23</td><td>21:43</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>광주송정역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '광주송정'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">광주송정역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">광주송정역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '24';
            let curName = '광주송정';
            let altCity = '11';
            let altName = '서울';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">광주송정역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">16℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">광주송정역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%91%A5%EC%8A%A4%EC%B4%88%EC%BD%94%ED%8C%8C%EC%9D%B4+%EA%B4%91%EC%A3%BC%EA%B4%91%EC%97%AD%EC%8B%9C+%EA%B4%91%EC%82%B0%EA%B5%AC+%EC%86%A1%EC%A0%95%EB%8F%99+975-9+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">쑥스초코파이</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">광주광역시 광산구 송정동 975-9 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%9D%BC%EB%9D%BC%EB%B8%8C%EB%A0%88%EB%93%9C+%EC%86%A1%EC%A0%95%EC%A0%90+%EA%B4%91%EC%A3%BC%EA%B4%91%EC%97%AD%EC%8B%9C+%EA%B4%91%EC%82%B0%EA%B5%AC+%EC%86%A1%EC%A0%95%EB%8F%99+837-14" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">라라브레드 송정점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">광주광역시 광산구 송정동 837-14</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%B9%9B%EA%B3%A0%EC%9D%84%EB%96%A1%EA%B0%88%EB%B9%84+%EA%B4%91%EC%A3%BC%EC%86%A1%EC%A0%95%EB%B3%B8%EC%A0%90+%EA%B4%91%EC%A3%BC%EA%B4%91%EC%97%AD%EC%8B%9C+%EA%B4%91%EC%82%B0%EA%B5%AC+%EC%86%A1%EC%A0%95%EB%8F%99+831-21+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">빛고을떡갈비 광주송정본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;육류,고기요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">광주광역시 광산구 송정동 831-21 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%8A%A4%ED%83%80%EB%B2%85%EC%8A%A4+%EA%B4%91%EC%A3%BC%EC%86%A1%EC%A0%95%EC%97%AD%EC%A0%90+%EA%B4%91%EC%A3%BC%EA%B4%91%EC%97%AD%EC%8B%9C+%EA%B4%91%EC%82%B0%EA%B5%AC+%EC%86%A1%EC%A0%95%EB%8F%99+1427" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">스타벅스 광주송정역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;카페</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">광주광역시 광산구 송정동 1427</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%98%81%EB%AA%85%EA%B5%AD%EB%B0%A5+%EA%B4%91%EC%A3%BC%EA%B4%91%EC%97%AD%EC%8B%9C+%EA%B4%91%EC%82%B0%EA%B5%AC+%EC%86%A1%EC%A0%95%EB%8F%99+991-17" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">영명국밥</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;해장국</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">광주광역시 광산구 송정동 991-17</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">광주송정역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 광주송정역 주차빌딩                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,500원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">15,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 광주광역시 광산구 상무대로 179<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 광주송정역2                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,000원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">400원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 광주광역시 광산구 송정동 1003-1<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">광주송정역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 광주광역시 광산구 상무대로 179</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:062-941-0874" style="color: #0052a4; font-weight: bold; text-decoration: none;">062-941-0874</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EA%B4%91%EC%A3%BC%EC%86%A1%EC%A0%95%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/광주송정역과-서울역-KTX-상하행-기차-시간표-호남선-첫기차-마지막기차-요금-정차역.jpg" alt="광주송정역과-서울역-KTX-상하행-기차-시간표-호남선-첫기차-마지막기차-요금-정차역" class="wp-image-20203" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/광주송정역과-서울역-KTX-상하행-기차-시간표-호남선-첫기차-마지막기차-요금-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/광주송정역과-서울역-KTX-상하행-기차-시간표-호남선-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/광주송정역과-서울역-KTX-상하행-기차-시간표-호남선-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>청량리역 부전역 상하행 시간표 KTX-이음과 ITX-마음 중앙선 왕복 요금 정차역</title>
		<link>https://krailroad.co.kr/%ec%b2%ad%eb%9f%89%eb%a6%ac%ec%97%ad-%eb%b6%80%ec%a0%84%ec%97%ad-%ec%83%81%ed%95%98%ed%96%89-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c%ea%b3%bc-itx-%eb%a7%88%ec%9d%8c-%ec%a4%91%ec%95%99/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Fri, 03 Apr 2026 01:19:05 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[청량리역 부전역 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20151</guid>

					<description><![CDATA[청량리역 부전역 상하행으로 운행하는 중앙선 철길은 이제 무궁화호가 다니지 않고 KTX-이음과 ITX-마음 위주로 운영되고 있습니다. 예전처럼 완행열차를 타고 7~8시간씩 걸리던 구간이 대폭 단축되면서 경북 내륙과 부산을 오가는 속도가 빨라졌는데요. 선로 정비 작업이 마무리됨에 따라 서울 동부권과 영남권을 잇는 열차 배차도 예전보다 체계적으로 바뀌었습니다. 이런 상황에서 역에 도착해서 역사에서 제공하는 간판 시간표를 찾거나 정확하지 않고 오래된 ... <a title="청량리역 부전역 상하행 시간표 KTX-이음과 ITX-마음 중앙선 왕복 요금 정차역" class="read-more button" href="https://krailroad.co.kr/%ec%b2%ad%eb%9f%89%eb%a6%ac%ec%97%ad-%eb%b6%80%ec%a0%84%ec%97%ad-%ec%83%81%ed%95%98%ed%96%89-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c%ea%b3%bc-itx-%eb%a7%88%ec%9d%8c-%ec%a4%91%ec%95%99/" aria-label="청량리역 부전역 상하행 시간표 KTX-이음과 ITX-마음 중앙선 왕복 요금 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">청량리역 부전역 상하행으로 운행하는 중앙선 철길은 이제 무궁화호가 다니지 않고 KTX-이음과 ITX-마음 위주로 운영되고 있습니다. 예전처럼 완행열차를 타고 7~8시간씩 걸리던 구간이 대폭 단축되면서 경북 내륙과 부산을 오가는 속도가 빨라졌는데요. 선로 정비 작업이 마무리됨에 따라 서울 동부권과 영남권을 잇는 열차 배차도 예전보다 체계적으로 바뀌었습니다.</p>



<p class="wp-block-paragraph">이런 상황에서 역에 도착해서 역사에서 제공하는 간판 시간표를 찾거나 정확하지 않고 오래된 광고성 온라인 정보를 뒤지는 일은 번거로울 수밖에 없습니다. 이런 불편을 줄이려고 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 데이터와 공공 API를 연동하여 실시간 열차 위치 정보를 정리했는데요. 아래 데이터는 실제 열차가 움직이는 현황을 반영하여 자동으로 업데이트되며, 열차별 출발 시각과 예상 도착 시간을 곧바로 확인할 수 있어 대기 시간을 줄이는 데 도움이 되니 본 페이지를 즐겨찾기하거나 <a href="https://krailroad.co.kr/train-schedule-search/">Train Schedule Search</a>(실시간 공공데이터 API 전광판 시간표)를 추가해 놓으시면 지속적으로 열차를 이용하는데 많이 도움이 될것입니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>청량리역 부전역 상하행 노선</strong></h2>



<h3 class="wp-block-heading">선로 정비와 중앙선 구간의 변화</h3>



<p class="wp-block-paragraph">현재 중앙선 청량리역 부전역 상하행 노선은 대대적인 개량 공사를 통해 열차가 마주 오는 대기 시간이 사라지고 운행 효율이 높아졌습니다. 청량리역을 출발해 제천, 안동을 거쳐 부전역까지 이어지는 이 길은 지역 간 이동 시간을 줄인 결과물인데요. 노선이 정비되면서 각 역사 또한 현대식 시설로 교체되어 승강장과 대합실을 한층 편리하게 이용할 수 있게 되었습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">청량리-부전 열차 종류 및 요금</h3>



<p class="wp-block-paragraph">현재 청량리역 부전역 상하행 노선은 KTX-이음이 주축이며, 일부 구간에는 최신형 전동차인 ITX-마음이 투입되어 운행 중입니다. 서울역 방향과 달리 부전-청량리 왕복 구간은 ITX-마음이 함께 배차되어 있어 상황에 맞는 열차 선택이 가능한데요. 요금표를 확인해 보면 KTX와 ITX-마음의 운임이 각각 다르게 책정되어 있습니다. 과거 다니던 무궁화호는 현재 중단된 상태이지만, 요금 데이터에 무궁화호 정보가 남아 있는 것은 코레일 공식 자료에 포함된 기준치를 반영했기 때문이니 예매 시 참고하시기 바랍니다.</p>



<p class="wp-block-paragraph">또한 역사 밖에서도 스마트폰으로 열차 운행 현황을 확인하면 기차 시간에 맞춰 역에 도착할 수 있어 시간 관리가 용이하니, 제공되는 실시간 운행 데이터를 활용해 청량리와 부전을 오가는 일정을 정확하게 계획해 보실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부전 ↔&nbsp;청량리 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">부전<br>↓<br>청량리</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">704호</span><div class="time-display">5:54</div><div class="arrival-info">9:59 도착</div></td><td><span class="train-detail">718호</span><div class="time-display">19:12</div><div class="arrival-info">22:58 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">청량리<br>↓<br>부전</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">701호</span><div class="time-display">5:40</div><div class="arrival-info">9:24 도착</div></td><td><span class="train-detail">715호</span><div class="time-display">19:00</div><div class="arrival-info">22:54 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">부전<br>↓<br>청량리</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1602호</span><div class="time-display">07:03</div><div class="arrival-info">12:56 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">15:14</div><div class="arrival-info">20:56 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">청량리<br>↓<br>부전</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1601호</span><div class="time-display">06:38</div><div class="arrival-info">12:20 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">14:48</div><div class="arrival-info">20:28 도착</div></td></tr></tbody></table></div>


    
    <h2>청량리 ↔ 부전 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">청량리 ↔ 부전</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                41,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">청량리 ↔ 부전</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">기본</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                55,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                66,500원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">청량리 ↔ 부전</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                30,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부전 →&nbsp;청량리 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>부전</th><th>센텀</th><th>신해운대</th><th>기장</th><th>남창</th><th>태화강</th><th>북울산</th><th>경주</th><th>영천</th><th>의성</th><th>안동</th><th>영주</th><th>풍기</th><th>단양</th><th>제천</th><th>원주</th><th>서원주</th><th>양평</th><th>덕소</th><th>상봉</th><th>청량리</th><th>비고</th></tr></thead><tbody><tr><td>704</td><td>KTX-이음</td><td>5:54</td><td></td><td>6:09</td><td></td><td></td><td>6:41</td><td></td><td>7:04</td><td>7:22</td><td>7:43</td><td>7:55</td><td>8:10</td><td></td><td>8:27</td><td>8:43</td><td>9:00</td><td>9:12</td><td></td><td></td><td></td><td>9:59</td><td>매일</td></tr><tr><td>706</td><td>KTX-이음</td><td>8:00</td><td>8:11</td><td></td><td>8:24</td><td></td><td>8:50</td><td>8:59</td><td>9:17</td><td></td><td></td><td>10:02</td><td>10:17</td><td></td><td></td><td>10:44</td><td>11:01</td><td>11:12</td><td></td><td></td><td></td><td>11:58</td><td>매일</td></tr><tr><td>708</td><td>KTX-이음</td><td>10:02</td><td></td><td></td><td></td><td>10:35</td><td>10:50</td><td></td><td>11:12</td><td>11:30</td><td></td><td>12:01</td><td>12:17</td><td>12:26</td><td>12:38</td><td>12:53</td><td>13:11</td><td>13:23</td><td>13:45</td><td></td><td></td><td>14:13</td><td>매일</td></tr><tr><td>710</td><td>KTX-이음</td><td>12:07</td><td></td><td>12:21</td><td></td><td></td><td>12:53</td><td></td><td>13:16</td><td></td><td>13:51</td><td>14:03</td><td>14:19</td><td>14:28</td><td>14:39</td><td>14:55</td><td>15:12</td><td></td><td>15:34</td><td></td><td>15:58</td><td>16:04</td><td>매일</td></tr><tr><td>712</td><td>KTX-이음</td><td>13:29</td><td></td><td></td><td></td><td></td><td>14:13</td><td></td><td>14:35</td><td></td><td></td><td>15:20</td><td>15:35</td><td></td><td></td><td>16:03</td><td>16:20</td><td>16:32</td><td></td><td></td><td></td><td>17:21</td><td>매일</td></tr><tr><td>714</td><td>KTX-이음</td><td>14:43</td><td></td><td>14:58</td><td></td><td></td><td>15:30</td><td>15:39</td><td>15:56</td><td>16:12</td><td></td><td>16:43</td><td>16:59</td><td></td><td>17:15</td><td>17:31</td><td>17:48</td><td>18:01</td><td>18:23</td><td></td><td></td><td>18:51</td><td>매일</td></tr><tr><td>716</td><td>KTX-이음</td><td>16:23</td><td></td><td></td><td></td><td></td><td>17:07</td><td></td><td>17:29</td><td></td><td></td><td>18:14</td><td>18:30</td><td></td><td></td><td>18:57</td><td>19:14</td><td>19:27</td><td></td><td></td><td></td><td>20:15</td><td>매일</td></tr><tr><td>782</td><td>KTX-이음</td><td>17:27</td><td></td><td></td><td></td><td></td><td>18:11</td><td></td><td>18:33</td><td></td><td></td><td>19:18</td><td>19:33</td><td>19:42</td><td>19:52</td><td>20:07</td><td>20:24</td><td></td><td></td><td>20:59</td><td></td><td>21:13</td><td>토일</td></tr><tr><td>718</td><td>KTX-이음</td><td>19:12</td><td></td><td>19:27</td><td></td><td></td><td>20:00</td><td></td><td>20:22</td><td></td><td></td><td>21:07</td><td>21:22</td><td></td><td></td><td>21:49</td><td>22:07</td><td></td><td>22:29</td><td></td><td>22:52</td><td>22:58</td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>부전</th><th>센텀</th><th>신해운대</th><th>기장</th><th>남창</th><th>태화강</th><th>북울산</th><th>경주</th><th>아화</th><th>영천</th><th>군위</th><th>의성</th><th>안동</th><th>영주</th><th>풍기</th><th>단양</th><th>제천</th><th>원주</th><th>서원주</th><th>양동</th><th>매곡</th><th>일신</th><th>지평</th><th>용문</th><th>양평</th><th>청량리</th></tr></thead><tbody><tr><td>1602</td><td>ITX-마음</td><td>07:03</td><td>07:14</td><td>07:21</td><td>07:31</td><td>07:51</td><td>08:08</td><td>08:17</td><td>08:39</td><td>08:57</td><td>09:08</td><td>09:30</td><td>09:53</td><td>10:13</td><td>10:35</td><td>10:46</td><td>11:01</td><td>11:19</td><td>11:44</td><td>11:52</td><td>12:00</td><td>12:05</td><td>12:10</td><td>12:16</td><td>12:22</td><td>12:29</td><td>12:56</td></tr><tr><td>1604</td><td>ITX-마음</td><td>15:14</td><td>15:25</td><td>15:33</td><td>15:43</td><td>16:03</td><td>16:20</td><td>16:29</td><td>16:50</td><td>17:07</td><td>17:20</td><td>17:41</td><td>18:04</td><td>18:22</td><td>18:43</td><td>18:53</td><td>19:07</td><td>19:25</td><td>19:50</td><td>19:58</td><td>20:08</td><td></td><td></td><td></td><td>20:21</td><td>20:29</td><td>20:56</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">청량리 →&nbsp;부전 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>청량리</th><th>상봉</th><th>덕소</th><th>양평</th><th>서원주</th><th>원주</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th><th>안동</th><th>의성</th><th>영천</th><th>경주</th><th>북울산</th><th>태화강</th><th>남창</th><th>기장</th><th>신해운대</th><th>센텀</th><th>부전</th><th>비고</th></tr></thead><tbody><tr><td>701</td><td>KTX-이음</td><td>5:40</td><td>5:46</td><td></td><td></td><td></td><td>6:30</td><td>6:47</td><td>7:02</td><td></td><td>7:19</td><td>7:34</td><td></td><td></td><td>8:19</td><td></td><td>8:40</td><td></td><td></td><td></td><td></td><td>9:24</td><td>매일</td></tr><tr><td>703</td><td>KTX-이음</td><td>6:27</td><td></td><td></td><td>6:54</td><td>7:18</td><td>7:24</td><td>7:40</td><td>7:55</td><td>8:07</td><td>8:16</td><td>8:31</td><td>8:44</td><td></td><td>9:22</td><td>9:39</td><td>9:48</td><td></td><td></td><td>10:21</td><td></td><td>10:34</td><td>매일</td></tr><tr><td>705</td><td>KTX-이음</td><td>9:18</td><td></td><td></td><td></td><td>10:05</td><td>10:13</td><td>10:30</td><td></td><td></td><td>10:57</td><td>11:12</td><td></td><td></td><td>11:57</td><td></td><td>12:18</td><td></td><td></td><td></td><td></td><td>13:01</td><td>매일</td></tr><tr><td>707</td><td>KTX-이음</td><td>11:20</td><td></td><td></td><td>11:47</td><td>12:11</td><td>12:18</td><td>12:36</td><td>12:50</td><td>13:02</td><td>13:11</td><td>13:26</td><td></td><td>13:57</td><td>14:16</td><td></td><td>14:39</td><td></td><td></td><td>15:12</td><td></td><td>15:27</td><td>매일</td></tr><tr><td>709</td><td>KTX-이음</td><td>13:16</td><td></td><td></td><td></td><td>14:03</td><td>14:10</td><td>14:27</td><td>14:41</td><td></td><td>14:57</td><td>15:11</td><td></td><td></td><td>15:57</td><td></td><td>16:18</td><td></td><td></td><td></td><td></td><td>17:00</td><td>매일</td></tr><tr><td>781</td><td>KTX-이음</td><td>13:57</td><td></td><td>14:11</td><td></td><td></td><td>14:47</td><td>15:04</td><td></td><td></td><td>15:31</td><td>15:46</td><td></td><td></td><td>16:31</td><td></td><td>16:52</td><td></td><td></td><td></td><td></td><td>17:35</td><td>토일</td></tr><tr><td>711</td><td>KTX-이음</td><td>14:40</td><td></td><td></td><td>15:07</td><td>15:30</td><td>15:38</td><td>15:56</td><td></td><td></td><td>16:22</td><td>16:37</td><td></td><td>17:08</td><td>17:27</td><td>17:44</td><td>17:51</td><td></td><td>18:17</td><td>18:27</td><td></td><td>18:41</td><td>매일</td></tr><tr><td>713</td><td>KTX-이음</td><td>16:32</td><td></td><td></td><td>16:58</td><td>17:22</td><td>17:30</td><td>17:48</td><td>18:03</td><td>18:14</td><td>18:22</td><td>18:38</td><td>18:50</td><td></td><td>19:25</td><td></td><td>19:46</td><td>19:59</td><td></td><td></td><td>20:25</td><td>20:36</td><td>매일</td></tr><tr><td>715</td><td>KTX-이음</td><td>19:00</td><td>19:06</td><td></td><td></td><td></td><td>19:49</td><td>20:06</td><td>20:21</td><td>20:32</td><td>20:41</td><td>20:56</td><td></td><td>21:27</td><td>21:46</td><td></td><td>22:08</td><td></td><td></td><td>22:40</td><td></td><td>22:54</td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>청량리</th><th>양평</th><th>용문</th><th>지평</th><th>양동</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th><th>안동</th><th>의성</th><th>군위</th><th>영천</th><th>아화</th><th>경주</th><th>북울산</th><th>태화강</th><th>남창</th><th>기장</th><th>신해운대</th><th>센텀</th><th>부전</th></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</td><td>06:38</td><td>07:08</td><td>07:16</td><td>07:21</td><td>07:31</td><td>07:40</td><td>07:47</td><td>08:05</td><td>08:14</td><td>08:31</td><td>08:44</td><td>08:55</td><td>09:16</td><td>09:34</td><td>09:52</td><td>10:14</td><td>10:26</td><td>10:43</td><td>11:04</td><td>11:13</td><td>11:30</td><td>11:51</td><td>12:02</td><td>12:10</td><td>12:20</td></tr><tr><td>1603</td><td>ITX-마음</td><td>14:48</td><td>15:18</td><td>15:26</td><td>15:31</td><td>15:46</td><td>15:56</td><td>16:03</td><td></td><td>16:28</td><td>16:45</td><td>16:58</td><td>17:10</td><td>17:31</td><td>17:49</td><td>18:06</td><td>18:27</td><td>18:38</td><td>18:55</td><td>19:15</td><td>19:23</td><td>19:39</td><td>20:00</td><td>20:10</td><td>20:17</td><td>20:28</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>청량리역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '청량리'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">청량리역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">청량리역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '11';
            let curName = '청량리';
            let altCity = '21';
            let altName = '부전';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">청량리역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">17℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">청량리역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A1%AF%EB%8D%B0%EB%B0%B1%ED%99%94%EC%A0%90+%EC%B2%AD%EB%9F%89%EB%A6%AC%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EB%8F%99%EB%8C%80%EB%AC%B8%EA%B5%AC+%EC%A0%84%EB%86%8D%EB%8F%99+591-92" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">롯데백화점 청량리점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">쇼핑,유통&gt;백화점</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 동대문구 전농동 591-92</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%8F%85%EB%A6%BD%EB%B0%80%EB%B0%A9+%EC%B2%AD%EB%9F%89%EB%A6%AC+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EB%8F%99%EB%8C%80%EB%AC%B8%EA%B5%AC+%EC%A0%84%EB%86%8D%EB%8F%99+547+%EC%B2%AD%EB%9F%89%EB%A6%AC%EC%97%AD%EC%82%AC+3%EC%B8%B5+308%ED%98%B8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">독립밀방 청량리</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;양식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 동대문구 전농동 547 청량리역사 3층 308호</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A1%AF%EB%8D%B0%EB%A6%AC%EC%95%84+%EC%B2%AD%EB%9F%89%EB%A6%AC%EC%97%AD%EC%82%AC%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EB%8F%99%EB%8C%80%EB%AC%B8%EA%B5%AC+%EC%A0%84%EB%86%8D%EB%8F%99+591-92+%EC%B2%AD%EB%9F%89%EB%A6%AC%EC%97%AD%EC%82%AC+3%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">롯데리아 청량리역사점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 동대문구 전농동 591-92 청량리역사 3층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%95%A0%EB%A8%B8%EB%8B%88%EB%83%89%EB%A9%B4+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EB%8F%99%EB%8C%80%EB%AC%B8%EA%B5%AC+%EC%A0%9C%EA%B8%B0%EB%8F%99+469" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">할머니냉면</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;냉면</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 동대문구 제기동 469</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%98%B8%EA%B0%90%ED%95%B4%EC%9E%A5+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EB%8F%99%EB%8C%80%EB%AC%B8%EA%B5%AC+%EC%B2%AD%EB%9F%89%EB%A6%AC%EB%8F%99+773+1%EC%B8%B5+%EC%A0%9C+15%ED%98%B8+%ED%98%B8%EA%B0%90%ED%95%B4%EC%9E%A5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">호감해장</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;해장국</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">서울특별시 동대문구 청량리동 773 1층 제 15호 호감해장</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">청량리역 실시간 주차장 요금</h4>
        
                    <div style="text-align: center; padding: 50px 20px; background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 12px; font-family: 'Noto Sans KR', sans-serif;">
                <p style="color: #64748b; margin: 0;">해당 역의 공식 주차 정보가 없습니다.</p>
            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">청량리역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 청량리역 인근 공영 및 노상주차장 이용 권장</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:1544-7788" style="color: #0052a4; font-weight: bold; text-decoration: none;">1544-7788</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%B2%AD%EB%9F%89%EB%A6%AC%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/청량리역-부전역-상하행-기차-시간표-KTX-이음-ITX-마음-중앙선-첫기차-마지막기차-요금-정차역.jpg" alt="청량리역-부전역-상하행-기차-시간표-KTX-이음-ITX-마음-중앙선-첫기차-마지막기차-요금-정차역" class="wp-image-20201" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/청량리역-부전역-상하행-기차-시간표-KTX-이음-ITX-마음-중앙선-첫기차-마지막기차-요금-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/청량리역-부전역-상하행-기차-시간표-KTX-이음-ITX-마음-중앙선-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/청량리역-부전역-상하행-기차-시간표-KTX-이음-ITX-마음-중앙선-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>부전역과 서울역 기차 KTX-이음 중앙선 상하행 시간표 요금 정리</title>
		<link>https://krailroad.co.kr/%eb%b6%80%ec%a0%84%ec%97%ad%ea%b3%bc-%ec%84%9c%ec%9a%b8%ec%97%ad-%ea%b8%b0%ec%b0%a8-ktx-%ec%9d%b4%ec%9d%8c-%ec%a4%91%ec%95%99%ec%84%a0-%ec%83%81%ed%95%98%ed%96%89-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%94/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Fri, 03 Apr 2026 00:29:15 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[부전역과 서울역 기차]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20132</guid>

					<description><![CDATA[부산의 활기가 시작되는 부전역 승강장, 이제 이곳은 무궁화호를 타고 밤새 경북 내륙을 굽이돌던 느릿한 추억 대신 시속 260km로 매끄럽게 질주하는 KTX-이음의 금속성 엔진 소리가 주인이 되었습니다. 부전역과 서울역 기차인 KTX-이음 노선은 영남권과 수도권을 단 몇 시간대로 묶어주며 지역 간의 경계를 허무는 결정적인 계기가 되었는데요. 꽉 막힌 아스팔트 위에서 앞차의 제동등만 바라보며 진을 빼야 했던 예전과는 ... <a title="부전역과 서울역 기차 KTX-이음 중앙선 상하행 시간표 요금 정리" class="read-more button" href="https://krailroad.co.kr/%eb%b6%80%ec%a0%84%ec%97%ad%ea%b3%bc-%ec%84%9c%ec%9a%b8%ec%97%ad-%ea%b8%b0%ec%b0%a8-ktx-%ec%9d%b4%ec%9d%8c-%ec%a4%91%ec%95%99%ec%84%a0-%ec%83%81%ed%95%98%ed%96%89-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%94/" aria-label="부전역과 서울역 기차 KTX-이음 중앙선 상하행 시간표 요금 정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">부산의 활기가 시작되는 부전역 승강장, 이제 이곳은 무궁화호를 타고 밤새 경북 내륙을 굽이돌던 느릿한 추억 대신 시속 260km로 매끄럽게 질주하는 KTX-이음의 금속성 엔진 소리가 주인이 되었습니다. 부전역과 서울역 기차인 KTX-이음 노선은 영남권과 수도권을 단 몇 시간대로 묶어주며 지역 간의 경계를 허무는 결정적인 계기가 되었는데요. 꽉 막힌 아스팔트 위에서 앞차의 제동등만 바라보며 진을 빼야 했던 예전과는 비교할 수 없는 속도로 지역을 이동할 수 있습니다.</p>



<p class="wp-block-paragraph">이런 현 시대에 맞지 않게 역사 내 전광판을 확인하러 뛰어다니거나, 출처 불분명한 오래된 열차 정보에 속아 헛 수고는 이제 내려놓으셔도 좋습니다. 아래 자료는 공공데이터와 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 자료를 기반으로 현재 기차가 어디쯤 달려오고 있는지 실시간으로 추적하는 시스템과 음성안내 그리고 최신 데이터베이스를 추출하여 제공하고 있는데요. 스마트폰 화면을 열어두면 열차의 출발 임박 상태나 정확한 도착 시각을 즉시 확인할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>부전역과 서울역 기차의 변화</strong></h2>



<h3 class="wp-block-heading">중앙선 철도 현대화에 따른 진화</h3>



<p class="wp-block-paragraph"><a href="https://krailroad.co.kr/%eb%b6%80%ec%a0%84%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b2%ad%eb%9f%89%eb%a6%ac%c2%b7%ea%b0%95%eb%a6%89%c2%b7%ec%95%88%eb%8f%99%ed%96%89%ec%86%8d%ec%b4%88-%ed%8f%ac%ed%95%ad-%ec%a4%91/">부전역</a>은 부산의 원도심과 수도권을 잇는 동해선 및 중앙선 철도의 중추적인 거점으로 거듭나는 중으로, 철길을 넓히고 전동차가 시원하게 내달릴 수 있도록 선로를 개량한 노력이 결실을 보며, 이제는 서울역까지 직결되는 KTX-이음이 운행되는 중요한 길목이 되었는데요. 세련된 역사로 탈바꿈한 이곳은 부산의 역동적인 에너지를 전달하며, 안동과 제천을 거쳐 서울로 향하는 길을 더욱 촘촘하게 만들어 지역 경제 전반에 새로운 활기를 불어넣는 든든한 배경이 되었습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">노선별 열차 구성과 요금의 특징</h3>



<p class="wp-block-paragraph">부전역과 서울역 기차 열차 종별을 살펴보면 목적지에 따라 이용하는 열차가 조금씩 다릅니다. 부전역과 서울역 기차는 최신형 고속열차인 KTX-이음만 운행하는 반면, 청량리역과 부전역 중앙선 상하행 기차는 KTX-이음 외에도 최근 도입된 ITX-마음이 함께 편성되어 이용객들의 선택지가 넓어졌는데요. <a href="https://krailroad.co.kr/ktx-%ec%a0%84-%eb%85%b8%ec%84%a0-%ec%9a%94%ea%b8%88%ed%91%9c-%ed%95%9c%eb%88%88%ec%97%90-%eb%b3%b4%ea%b8%b0/%ea%b8%b0%eb%b3%b8%ec%97%ad-%ea%b2%bd%ec%9c%a0-%ec%a4%91%ec%95%99%ec%84%a0-ktx-%ec%9a%94%ea%b8%88/">중앙선 전 구간 요금표</a>를 확인해 보면 고속열차부터 ITX-마음까지 비용 체계가 잘 갖춰져 있습니다.</p>



<p class="wp-block-paragraph">또한 공공데이터를 이용한 정확한 정보를 참고하여 1분마다 스스로 정보를 갱신하면서 기차 현황을 알려주는 실시간 데이터를 활용하신다면, 중앙선 열차를 이용하실때 역사에 앉아 있는 것처럼 편리하게 이용하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부전 ↔&nbsp;서울 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">부전<br>↓<br>서울</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">704호</span><div class="time-display">5:54</div><div class="arrival-info">10:19 도착</div></td><td><span class="train-detail">714호</span><div class="time-display">14:43</div><div class="arrival-info">19:13 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">서울<br>↓<br>부전</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">705호</span><div class="time-display">8:57</div><div class="arrival-info">13:01 도착</div></td><td><span class="train-detail">713호</span><div class="time-display">16:11</div><div class="arrival-info">20:36 도착</div></td></tr></tbody></table></div>


    
    <h2>부전 ↔ 서울 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부전</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                42,200원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">서울 ↔ 부전</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">기본</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                57,100원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                68,500원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부전 →&nbsp;서울 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>부전</th><th>신해운대</th><th>남창</th><th>태화강</th><th>북울산</th><th>경주</th><th>영천</th><th>의성</th><th>안동</th><th>영주</th><th>풍기</th><th>단양</th><th>제천</th><th>원주</th><th>서원주</th><th>양평</th><th>청량리</th><th>서울</th><th>비고</th></tr></thead><tbody><tr><td>704</td><td>KTX-이음</td><td>5:54</td><td>6:09</td><td></td><td>6:41</td><td></td><td>7:04</td><td>7:22</td><td>7:43</td><td>7:55</td><td>8:10</td><td></td><td>8:27</td><td>8:43</td><td>9:00</td><td>9:12</td><td></td><td>9:59</td><td>10:19</td><td>매일</td></tr><tr><td>708</td><td>KTX-이음</td><td>10:02</td><td></td><td>10:35</td><td>10:50</td><td></td><td>11:12</td><td>11:30</td><td></td><td>12:01</td><td>12:17</td><td>12:26</td><td>12:38</td><td>12:53</td><td>13:11</td><td>13:23</td><td>13:45</td><td>14:13</td><td>14:33</td><td>매일</td></tr><tr><td>712</td><td>KTX-이음</td><td>13:29</td><td></td><td></td><td>14:13</td><td></td><td>14:35</td><td></td><td></td><td>15:20</td><td>15:35</td><td></td><td></td><td>16:03</td><td>16:20</td><td>16:32</td><td></td><td>17:21</td><td>17:41</td><td>매일</td></tr><tr><td>714</td><td>KTX-이음</td><td>14:43</td><td>14:58</td><td></td><td>15:30</td><td>15:39</td><td>15:56</td><td>16:12</td><td></td><td>16:43</td><td>16:59</td><td></td><td>17:15</td><td>17:31</td><td>17:48</td><td>18:01</td><td>18:23</td><td>18:51</td><td>19:13</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">서울 →&nbsp;부전 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>서울</th><th>청량리</th><th>양평</th><th>서원주</th><th>원주</th><th>제천</th><th>단양</th><th>풍기</th><th>영주</th><th>안동</th><th>의성</th><th>영천</th><th>경주</th><th>태화강</th><th>남창</th><th>신해운대</th><th>센텀</th><th>부전</th><th>비고</th></tr></thead><tbody><tr><td>705</td><td>KTX-이음</td><td>8:57</td><td>9:18</td><td></td><td>10:05</td><td>10:13</td><td>10:30</td><td></td><td></td><td>10:57</td><td>11:12</td><td></td><td></td><td>11:57</td><td>12:18</td><td></td><td></td><td></td><td>13:01</td><td>매일</td></tr><tr><td>707</td><td>KTX-이음</td><td>10:59</td><td>11:20</td><td>11:47</td><td>12:11</td><td>12:18</td><td>12:36</td><td>12:50</td><td>13:02</td><td>13:11</td><td>13:26</td><td></td><td>13:57</td><td>14:16</td><td>14:39</td><td></td><td>15:12</td><td></td><td>15:27</td><td>매일</td></tr><tr><td>709</td><td>KTX-이음</td><td>12:55</td><td>13:16</td><td></td><td>14:03</td><td>14:10</td><td>14:27</td><td>14:41</td><td></td><td>14:57</td><td>15:11</td><td></td><td></td><td>15:57</td><td>16:18</td><td></td><td></td><td></td><td>17:00</td><td>매일</td></tr><tr><td>713</td><td>KTX-이음</td><td>16:11</td><td>16:32</td><td>16:58</td><td>17:22</td><td>17:30</td><td>17:48</td><td>18:03</td><td>18:14</td><td>18:22</td><td>18:38</td><td>18:50</td><td></td><td>19:25</td><td>19:46</td><td>19:59</td><td></td><td>20:25</td><td>20:36</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>부전역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '부전'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">부전역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">부전역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '21';
            let curName = '부전';
            let altCity = '11';
            let altName = '서울';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">부전역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">16℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">부전역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A7%A5%EB%8F%84%EB%82%A0%EB%93%9C+%EB%B6%80%EC%82%B0%EB%B2%94%EC%A0%84DT+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EB%B2%94%EC%A0%84%EB%8F%99+383-25" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">맥도날드 부산범전DT</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 범전동 383-25</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%AA%85%EB%9E%80%EA%B9%80%EB%B0%A5+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EB%B6%80%EC%A0%84%EB%8F%99+573-3+%EB%AA%85%EB%9E%80%EA%B9%80%EB%B0%A5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">명란김밥</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">분식&gt;김밥</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 부전동 573-3 명란김밥</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%8A%A4%ED%83%80%EB%B2%85%EC%8A%A4+%EB%B6%80%EC%A0%84%EC%97%AD%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EB%B6%80%EC%A0%84%EB%8F%99+573-7+%EC%84%9C%EB%A9%B4%ED%98%B8%ED%85%94+%EB%B3%B5%ED%95%A9%EC%8B%9C%EC%84%A41%2C2%EC%B8%B5+%28%29" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">스타벅스 부전역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;카페</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 부전동 573-7 서면호텔 복합시설1,2층 ()</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%B6%80%EC%82%B0%ED%9A%9F%EC%A7%91+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EB%B6%80%EC%A0%84%EB%8F%99+341-43+%EB%B6%80%EC%82%B0%ED%9A%9F%EC%A7%91" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">부산횟집</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;생선회</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 부전동 341-43 부산횟집</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%9D%B4%EB%B0%94%EB%8F%94%EA%B0%90%EC%9E%90%ED%83%95+%EC%A0%84%ED%8F%AC%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%80%EC%82%B0%EC%A7%84%EA%B5%AC+%EC%A0%84%ED%8F%AC%EB%8F%99+874-1+%EA%B8%88%EC%A0%95%EB%B9%8C%EB%94%A9" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">이바돔감자탕 전포점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;감자탕</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">부산광역시 부산진구 전포동 874-1 금정빌딩</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">부전역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 부전역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,500원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">15,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 부산광역시 부산진구 부전동 573-1<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 051-441-7782                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 부전역2                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">0원</strong> 
                                <small style="color: #94a3b8;">/ 0분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">0원</strong>
                                <small style="color: #94a3b8;">/ 0분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">0원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 부산광역시 부산진구 부전로 181<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 051-441-7782                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">부전역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 부산광역시 부산진구 부전동 573-1</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:051-441-7782" style="color: #0052a4; font-weight: bold; text-decoration: none;">051-441-7782</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EB%B6%80%EC%A0%84%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/부전역과-서울역-기차-시간표-KTX-이음-중앙선-첫기차-마지막기차-요금-정차역.jpg" alt="부전역과-서울역-기차-시간표-KTX-이음-중앙선-첫기차-마지막기차-요금-정차역" class="wp-image-20198" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/부전역과-서울역-기차-시간표-KTX-이음-중앙선-첫기차-마지막기차-요금-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/부전역과-서울역-기차-시간표-KTX-이음-중앙선-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/부전역과-서울역-기차-시간표-KTX-이음-중앙선-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>일신역 기차 시간표 ITX-마음 무궁화호 청량리-동해-안동-제천 중앙선 요금</title>
		<link>https://krailroad.co.kr/%ec%9d%bc%ec%8b%a0%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%8f%99%ed%95%b4-%ec%95%88%eb%8f%99/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Fri, 03 Apr 2026 00:08:46 +0000</pubDate>
				<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[일신역 기차 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20098</guid>

					<description><![CDATA[중앙선 지평역과 매곡역 사이에 자리 잡은 일신역은 양평 동부권의 조용한 간이역으로, 도심의 큰 역사들과 달리 고가 위에서 주변 산세를 한눈에 담을 수 있는 정거장입니다. 현재 일신역 기차는 역무원이 상주하지 않는 무인역으로 운영되고 있어 열차 이용 시 현장에서 즉각적인 안내를 받기 어려운데요. 이러한 불편을 해소하고자 코레일 공식 데이터와 실시간 API를 연동하여 일신역 이용객을 위한 운행 정보 ... <a title="일신역 기차 시간표 ITX-마음 무궁화호 청량리-동해-안동-제천 중앙선 요금" class="read-more button" href="https://krailroad.co.kr/%ec%9d%bc%ec%8b%a0%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%8f%99%ed%95%b4-%ec%95%88%eb%8f%99/" aria-label="일신역 기차 시간표 ITX-마음 무궁화호 청량리-동해-안동-제천 중앙선 요금 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">중앙선 지평역과 <a href="https://krailroad.co.kr/%eb%a7%a4%ea%b3%a1%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9c-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%a4%91%ec%95%99%ec%84%a0-%ec%97%b4%ec%b0%a8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%ec%95%88/">매곡역</a> 사이에 자리 잡은 일신역은 양평 동부권의 조용한 간이역으로, 도심의 큰 역사들과 달리 고가 위에서 주변 산세를 한눈에 담을 수 있는 정거장입니다. 현재 일신역 기차는 역무원이 상주하지 않는 무인역으로 운영되고 있어 열차 이용 시 현장에서 즉각적인 안내를 받기 어려운데요. 이러한 불편을 해소하고자 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일 공식 데이터</a>와 실시간 API를 연동하여 일신역 이용객을 위한 운행 정보 확인 시스템을 정리했습니다.</p>



<p class="wp-block-paragraph">정확하지 않은 옛날 일신역 기차 시간표나 인터넷상의 불확실한 정보 때문에 승강장에서 헛걸음하는 일을 방지하기 위해 실시간 데이터를 역 전광판 기반으로 정보를 구성했는데요. 아래의 운행 현황은 1분 단위로 자동 갱신되며, 청량리로 향하는 상행선과 안동, 제천, 동해 방면 하행선 열차의 현재 위치를 실제 역내 전광판처럼 생생하게 음성안내 시스템으로 안내 받으실 수 있습니다. 재가 개발한 로직으로 인해 화면을 띄워두는 것만으로도 ITX-마음과 무궁화호의 출발 임박 여부나 정확한 도착 시각을 즉시 파악할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">일신역 기차와 중앙선</h2>



<h3 class="wp-block-heading">구둔역과 일신역의 발자취</h3>



<p class="wp-block-paragraph">일신역 기차는 과거 근대문화유산으로 지정된 구둔역의 영업을 이어받아 문을 열었습니다. 2011년 중앙선 현대화 사업이 마무리되면서 지금의 현대식 고가 역사로 이전하게 되었는데요. 철길을 정비하고 열차가 매끄럽게 달릴 수 있도록 선로를 개량한 덕분에 수도권과 내륙을 잇는 철도망의 한 축을 담당하게 되었습니다. 그러나 현재는 무인역 형태이지만 양평 지형의 특성을 반영한 설계로 지역 주민들의 소중한 이동 지점이 되어주고 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">무궁화호와 ITX-마음 운행</h3>



<p class="wp-block-paragraph">이곳은 서울 청량리를 출발해 경북 <a href="https://krailroad.co.kr/%ec%95%88%eb%8f%99%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%a4%91%ec%95%99%ec%84%a0-%ec%9a%94/">안동</a>이나 강원도 동해까지 이어지는 노선이 주를 이룹니다. 고속열차와 달리 산세와 들판이 이어지는 풍경을 감상하며 이동할 수 있는 무궁화호와 최신 설비를 갖춘 ITX-마음이 정차하는데요. 일신역 기차 시간표를 확인해 보면 전체 운행 횟수가 많지는 않으나, 정해진 시각에 맞춰 운행되는 정확한 시간을 바탕으로 출장이나 여행을 목적으로 방문하는 이들에게 안정적인 교통수단이 될것입니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">무인역이 주는 새로운 가치</h3>



<p class="wp-block-paragraph">실시간으로 업데이트되는 데이터베이스를 활용하면 서원주를 거쳐 남쪽으로 내려가거나 양평 시내로 이동하는 일정을 훨씬 확실하게 시간표와 소요시간을 확인 하실 수 있으며, 고가 역사 위에서 내려다보는 지평면 일대의 전경은 일신역만의 특징이기도 한데요. 역사 주변의 주차 공간이나 실시간 날씨 정보를 함께 체크해두면 기차 시간을 놓치지 않고 여유롭게 이용하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">일신<strong>역 첫차 &amp; 막차 운행 정보</strong></h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">일신<br>↓<br>청량리</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1602호</span><div class="time-display">12:10</div><div class="arrival-info">12:56 도착</div></td><td><span class="train-detail">1602호</span><div class="time-display">12:10</div><div class="arrival-info">12:56 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1652호</span><div class="time-display">06:27</div><div class="arrival-info">07:21 도착</div></td><td><span class="train-detail">1676호</span><div class="time-display">19:03</div><div class="arrival-info">19:55 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">일신<br>↓<br>제천</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1671호</span><div class="time-display">08:35</div><div class="arrival-info">09:31 도착</div></td><td><span class="train-detail">1651호</span><div class="time-display">21:28</div><div class="arrival-info">22:24 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">일신<br>↓<br>태백</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1671호</span><div class="time-display">08:35</div><div class="arrival-info">11:17 도착</div></td><td><span class="train-detail">1677호</span><div class="time-display">20:10</div><div class="arrival-info">22:44 도착</div></td></tr><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">일신<br>↓<br>동해</td><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1671호</span><div class="time-display">08:35</div><div class="arrival-info">12:25 도착</div></td><td><span class="train-detail">1677호</span><div class="time-display">20:10</div><div class="arrival-info">23:50 도착</div></td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong><strong><strong><strong>일신</strong></strong></strong>역 </strong>ITX-마음 무궁화호 <strong>요금표</strong></h2>



<p class="wp-block-paragraph">👈 <strong><mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 스크롤하여 요금 확인</strong></mark></strong><br>💳 <a href="https://krailroad.co.kr/ktx-%EC%A0%84-%EB%85%B8%EC%84%A0-%EC%9A%94%EA%B8%88%ED%91%9C-%ED%95%9C%EB%88%88%EC%97%90-%EB%B3%B4%EA%B8%B0/" data-type="link" data-id="https://krailroad.co.kr/ktx-%EC%A0%84-%EB%85%B8%EC%84%A0-%EC%9A%94%EA%B8%88%ED%91%9C-%ED%95%9C%EB%88%88%EC%97%90-%EB%B3%B4%EA%B8%B0/">KTX 전체 요금표 한눈에 보기</a><br>🔎 <strong><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 요금 검색 바로가기</mark></a></strong></p>


<p style="text-align: right; font-size: small; color: #777; margin: 0;">최신 요금표 기준: 2026년 05월 24일</p><p style="text-align: right; font-size: small; color: #777; margin: 0;">(요금이 동일한 열차는 [무궁화·ITX·KTX] 3종으로 단순화)</p><div style="margin-top: 30px;"><div style="max-width: 100%; overflow-x: auto; margin: 20px 0;"><table class="train-table"><thead><tr><th>노선</th><th>종별</th><th>출발</th><th>도착</th><th>운임</th></tr></thead><tbody><tr><td>중앙1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">일신</td><td>4,400</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">일신</td><td>4,400</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">청량리</td><td class="highlight">일신</td><td>6,600</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">일신</td><td class="highlight">경주</td><td>19,300</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">일신</td><td class="highlight">경주</td><td>25,000</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">일신</td><td class="highlight">태화강</td><td>22,000</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">일신</td><td class="highlight">태화강</td><td>29,000</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">일신</td><td class="highlight">부전</td><td>26,100</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">일신</td><td class="highlight">부전</td><td>35,100</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">일신</td><td class="highlight">제천</td><td>4,800</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">일신</td><td class="highlight">제천</td><td>4,800</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">일신</td><td class="highlight">제천</td><td>6,100</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">일신</td><td class="highlight">태백</td><td>10,800</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">일신</td><td class="highlight">동해</td><td>14,800</td></tr></tbody></table></div></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading has-medium-font-size"><strong>일신역 다른 열차 시간표</strong></h2>



<p class="wp-block-paragraph">✅ <s>일신역 KTX 노선 없음</s><br>✅ <s>일신역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%ec%9d%bc%ec%8b%a0%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-itx-%eb%a7%88%ec%9d%8c-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%8f%99%ed%95%b4-%ec%95%88%eb%8f%99/#%EC%9D%BC%EC%8B%A0%EC%97%AD_%EB%8B%A4%EB%A5%B8_%EC%97%B4%EC%B0%A8_%EC%8B%9C%EA%B0%84%ED%91%9C">일신역 ITX, 무궁화 시간표 바로가기</a></p>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>일신역 ITX-마음 <strong><strong><strong>무궁화호 </strong>시간표</strong></strong></strong></h2>



<h3 class="wp-block-heading">출발 : 일신 → 도착 : 청량리</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>일신</th><th>석불</th><th>지평</th><th>용문</th><th>양평</th><th>덕소</th><th>청량리</th></tr></thead><tbody><tr><td>1652</td><td>무궁화</td><td>06:27</td><td>06:32</td><td>06:37</td><td>06:43</td><td>06:51</td><td>07:08</td><td>07:21</td></tr><tr><td>1662</td><td>무궁화</td><td>07:33</td><td>07:38</td><td>07:42</td><td>07:48</td><td>07:56</td><td>08:13</td><td>08:27</td></tr><tr><td>1672</td><td>무궁화</td><td>09:41</td><td></td><td>09:48</td><td>09:54</td><td>10:01</td><td>10:18</td><td>10:31</td></tr><tr><td>1602</td><td>ITX-마음</td><td>12:10</td><td></td><td>12:16</td><td>12:22</td><td>12:29</td><td></td><td>12:56</td></tr><tr><td>1674</td><td>무궁화</td><td>17:35</td><td>17:41</td><td>17:50</td><td>17:56</td><td>18:04</td><td>18:21</td><td>18:35</td></tr><tr><td>1676</td><td>무궁화</td><td>19:03</td><td>19:08</td><td>19:12</td><td>19:17</td><td>19:25</td><td>19:42</td><td>19:55</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 일신 → 도착 : 제천</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>일신</th><th>매곡</th><th>양동</th><th>삼산</th><th>서원주</th><th>원주</th><th>봉양</th><th>제천</th></tr></thead><tbody><tr><td>1671</td><td>무궁화</td><td>08:35</td><td>08:40</td><td>08:44</td><td>08:49</td><td>08:57</td><td>09:05</td><td></td><td>09:31</td></tr><tr><td>1675</td><td>무궁화</td><td>13:17</td><td>13:22</td><td>13:27</td><td></td><td>13:36</td><td>13:43</td><td></td><td>14:07</td></tr><tr><td>1677</td><td>무궁화</td><td>20:10</td><td>20:15</td><td>20:20</td><td></td><td>20:29</td><td>20:36</td><td></td><td>21:01</td></tr><tr><td>1651</td><td>무궁화</td><td>21:28</td><td>21:33</td><td>21:38</td><td>21:43</td><td>21:50</td><td>21:57</td><td>22:16</td><td>22:24</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">출발 : 일신 → 도착 : 동해</h3>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차종별</th><th>열차번호</th><th>일신</th><th>매곡</th><th>양동</th><th>삼산</th><th>서원주</th><th>원주</th><th>제천</th><th>쌍룡</th><th>영월</th><th>예미</th><th>민둥산</th><th>사북</th><th>고한</th><th>태백</th><th>동백산</th><th>도계</th><th>신기</th><th>동해</th></tr></thead><tbody><tr><td>무궁화</td><td>1671</td><td>08:35</td><td>08:40</td><td>08:44</td><td>08:49</td><td>08:57</td><td>09:05</td><td>09:31</td><td></td><td>10:05</td><td>10:25</td><td>10:47</td><td>10:56</td><td>11:03</td><td>11:17</td><td>11:29</td><td>11:45</td><td>12:02</td><td>12:25</td></tr><tr><td>무궁화</td><td>1675</td><td>13:17</td><td>13:22</td><td>13:27</td><td></td><td>13:36</td><td>13:43</td><td>14:07</td><td>14:22</td><td>14:40</td><td>15:01</td><td>15:23</td><td>15:32</td><td>15:39</td><td>15:54</td><td>16:05</td><td>16:23</td><td></td><td>17:05</td></tr><tr><td>무궁화</td><td>1677</td><td>20:10</td><td>20:15</td><td>20:20</td><td></td><td>20:29</td><td>20:36</td><td>21:01</td><td></td><td>21:32</td><td>21:52</td><td>22:13</td><td>22:22</td><td>22:29</td><td>22:44</td><td>22:56</td><td>23:12</td><td></td><td>23:50</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>일신역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '일신'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">일신역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">일신역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '';
            let curName = '일신';
            let altCity = '';
            let altName = '';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">일신역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">12℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">일신역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EA%B9%80%EB%B0%A5%ED%83%80%EC%9A%B4+%EC%86%A1%EB%82%B4%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EB%B6%80%EC%B2%9C%EC%8B%9C+%EC%86%8C%EC%82%AC%EA%B5%AC+%EC%86%A1%EB%82%B4%EB%8F%99+299" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">김밥타운 송내점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">분식&gt;김밥</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 부천시 소사구 송내동 299</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%8C%8C%EB%A6%AC%EB%B0%94%EA%B2%8C%EB%9C%A8+%EC%86%A1%EB%82%B4%EC%97%AD%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EB%B6%80%EC%B2%9C%EC%8B%9C+%EC%86%8C%EC%82%AC%EA%B5%AC+%EC%86%A1%EB%82%B4%EB%8F%99+709-2+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">파리바게뜨 송내역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 부천시 소사구 송내동 709-2 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A7%A4%EB%A8%B8%EB%93%9C%EC%9D%B5%EC%8A%A4%ED%94%84%EB%A0%88%EC%8A%A4+%EC%86%A1%EB%82%B4%EB%82%A8%EB%B6%80%EC%97%AD%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EB%B6%80%EC%B2%9C%EC%8B%9C+%EC%86%8C%EC%82%AC%EA%B5%AC+%EC%86%A1%EB%82%B4%EB%8F%99+709-7+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">매머드익스프레스 송내남부역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;카페</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 부천시 소사구 송내동 709-7 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%98%AC%EB%A6%AC%EB%B8%8C%EC%95%A4%EC%98%AC%EB%A6%AC%EB%B9%84%EC%95%84+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EB%B6%80%EC%B2%9C%EC%8B%9C+%EC%86%8C%EC%82%AC%EA%B5%AC+%EC%86%A1%EB%82%B4%EB%8F%99+700-6+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">올리브앤올리비아</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;카페,디저트</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 부천시 소사구 송내동 700-6 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%86%A1%EB%82%B4%ED%8C%94%EB%B0%A9%EC%83%81%ED%9A%8C+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EB%B6%80%EC%B2%9C%EC%8B%9C+%EC%86%8C%EC%82%AC%EA%B5%AC+%EC%86%A1%EB%82%B4%EB%8F%99+280-3" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">송내팔방상회</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;육류,고기요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 부천시 소사구 송내동 280-3</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">일신역 실시간 주차장 요금</h4>
        
                    <div style="text-align: center; padding: 50px 20px; background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 12px; font-family: 'Noto Sans KR', sans-serif;">
                <p style="color: #64748b; margin: 0;">해당 역의 공식 주차 정보가 없습니다.</p>
            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">일신역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 일신역 인근 공영 및 노상주차장 이용 권장</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:1544-7788" style="color: #0052a4; font-weight: bold; text-decoration: none;">1544-7788</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%9D%BC%EC%8B%A0%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/04/일신역-기차-ITX-마음-무궁화호-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="일신역-기차-ITX-마음-무궁화호-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-20130" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/일신역-기차-ITX-마음-무궁화호-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/04/일신역-기차-ITX-마음-무궁화호-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/일신역-기차-ITX-마음-무궁화호-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>광명역과 부산역 기차 상하행 시간표 KTX 경부선 노선 요금</title>
		<link>https://krailroad.co.kr/%ea%b4%91%eb%aa%85%ec%97%ad%ea%b3%bc-%eb%b6%80%ec%82%b0%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%83%81%ed%95%98%ed%96%89-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ea%b2%bd%eb%b6%80%ec%84%a0-%eb%85%b8%ec%84%a0-%ec%9a%94/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 02 Apr 2026 05:36:47 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[광명역과 부산역 기차]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20064</guid>

					<description><![CDATA[전통적인 철길의 낭만과 현대적인 속도감이 공존하는 경부선, 그 중심을 가로지르는 광명역과 부산역 기차 여행은 이제 대한민국 남북을 잇는 획기적인 시간의 통로가 되었습니다. 거대한 아치형 지붕이 인상적인 광명의 첨단 역사에서 출발해 활력 넘치는 부산의 바다 냄새를 맡기까지, 옛날처럼 지루한 이동은 이제 KTX의 눈부신 발전 덕분에 한낮의 가벼운 외출처럼 짧아졌는데요. 역사 내 혼잡한 전광판 앞에서 고개를 치켜들고 ... <a title="광명역과 부산역 기차 상하행 시간표 KTX 경부선 노선 요금" class="read-more button" href="https://krailroad.co.kr/%ea%b4%91%eb%aa%85%ec%97%ad%ea%b3%bc-%eb%b6%80%ec%82%b0%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%83%81%ed%95%98%ed%96%89-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ea%b2%bd%eb%b6%80%ec%84%a0-%eb%85%b8%ec%84%a0-%ec%9a%94/" aria-label="광명역과 부산역 기차 상하행 시간표 KTX 경부선 노선 요금 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">전통적인 철길의 낭만과 현대적인 속도감이 공존하는 경부선, 그 중심을 가로지르는 광명역과 부산역 기차 여행은 이제 대한민국 남북을 잇는 획기적인 시간의 통로가 되었습니다. 거대한 아치형 지붕이 인상적인 광명의 첨단 역사에서 출발해 활력 넘치는 부산의 바다 냄새를 맡기까지, 옛날처럼 지루한 이동은 이제 KTX의 눈부신 발전 덕분에 한낮의 가벼운 외출처럼 짧아졌는데요.</p>



<p class="wp-block-paragraph">역사 내 혼잡한 전광판 앞에서 고개를 치켜들고 내 열차를 찾거나, 출처가 불분명해 신뢰하기 어려운 인터넷상의 낡은 시간표에 의존하던 불편함은 이제 내려놓으시고, 제가 제공하는 자료는 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a>의 공식 자료를 직접 데이터베이스한 것과 실시간 공공데이터 API를 직접 연동한 <a href="https://krailroad.co.kr/train-schedule-search/">Train Schedule Search 검색 폼</a>을 이용하시면, 스마트폰 화면을 띄워두는 것만으로도 1분 단위 자동 갱신으로 출발 임박 알림이나 지연 여부를 즉시 확인할 수 있으며, 운전중이거나 다른 일을 하는 중에도 음성 안내 시스템을 켜두기만 하면 15분전에 출발하는 열차는 자동으로 알려주는 시스템까지 이용하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>광명역과 부산역 기차 안내</strong></h2>



<h3 class="wp-block-heading">유라시아의 기점, 부산과 광명</h3>



<p class="wp-block-paragraph">대한민국 제2의 도시이자 해양 물류의 심장인 부산역은 이제 단순한 기차역의 경계를 넘어 유라시아 대륙철도로 향하는 거대한 시발점으로 거듭나고 있습니다. 북항 재개발 사업과 맞물려 상전벽해의 변화를 보여주는 이곳은, 방문객들에게 부산만의 역동적인 에너지를 가감 없이 전달하는데요. 특히 광명역과의 연결은 수도권 남부의 막강한 소비층과 부산의 관광 콘텐츠를 실시간으로 결합하며, 두 도시를 하나의 거대 메가시티처럼 묶어주는 결정적인 연결고리가 되었습니다.</p>



<p class="wp-block-paragraph">이 <a href="https://krailroad.co.kr/%eb%b6%80%ec%82%b0%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b5%9c%ec%8b%a0-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%9a%94%ea%b8%88-%eb%b0%8f-%ec%86%8c%ec%9a%94-%ec%8b%9c%ea%b0%84/">부산역 열차 시간표</a>를 이용한 광명역과 부산역 기차는 업무의 효율성뿐만 아니라 일상의 휴식마저 새롭게 하는데요. 열차에서 내려 곧장 마주하는 초량 이바구길의 정취나 광명역 인근의 대형 쇼핑 단지는 복잡한 일상을 잠시 잊게 만드는 경험을 하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">스마트 스테이션으로의 진화</h3>



<p class="wp-block-paragraph">현재 광명역과 부산역 기차 노선은 단순한 이동 수단의 기능을 넘어, 전국 각지의 교통망이 거미줄처럼 얽히는 스마트 모빌리티의 중심지로 진화하고 있습니다. 선로의 고속화 사업과 역세권의 대대적인 정비는 수도권의 첨단 지식 산업과 부산의 해양 인프라가 시차 없이 소통하는 토대가 되었는데요. 앞으로 가덕도 신공항이나 광역 철도망이 추가로 연동되면 그 가치는 더욱 상승할 것이며, 이는 지역 경제 전반에 새로운 생기를 불어넣는 든든한 배경이 될 것입니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">파노라마가 선사하는 쵀적함</h3>



<p class="wp-block-paragraph">열차를 이용해 추풍령의 산세와 낙동강 줄기를 감상하다 보면, 어느덧 가고자 하는 목적지에 금방 도착 할 수 있으며, 아래 출발 실시간 정보 검색폼으로 광명역과 부산역 기차 시간표 를 이용하면, 열차의 실시간 위치뿐만 아니라 역사 주변의 주차장 요금 정보, 실시간 버스 도착 현황, 그리고 현지인들이 즐겨 찾는 숨은 맛집 정보까지 통합하여 확인 할 수 있으니 참고하시고 이용하시면 됩니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부산 ↔&nbsp;광명 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">부산<br>↓<br>광명</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">166호</span><div class="time-display">4:38</div><div class="arrival-info">7:31 도착</div></td><td><span class="train-detail">70호</span><div class="time-display">21:41</div><div class="arrival-info">0:03 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">광명<br>↓<br>부산</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">1호</span><div class="time-display">5:32</div><div class="arrival-info">7:50 도착</div></td><td><span class="train-detail">97호</span><div class="time-display">23:08</div><div class="arrival-info">1:12 도착</div></td></tr></tbody></table></div>


    
    <h2>광명 ↔ 부산 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">광명 ↔ 부산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">경주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                57,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                69,200원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                80,800원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">광명 ↔ 부산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">구포</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                51,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                72,500원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">광명 ↔ 부산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구,경주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                57,300원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                80,200원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">광명 ↔ 부산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구,구포</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                51,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                72,000원                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">부산 →&nbsp;광명 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>부산</th><th>구포</th><th>물금</th><th>밀양</th><th>경산</th><th>울산</th><th>경주</th><th>동대구</th><th>서대구</th><th>김천구미</th><th>대전</th><th>오송</th><th>천안아산</th><th>광명</th><th>운행요일</th></tr></thead><tbody><tr><td>82</td><td>KTX</td><td>4:45</td><td></td><td></td><td></td><td></td><td>5:08</td><td>5:20</td><td>5:38</td><td></td><td></td><td>6:21</td><td></td><td>6:45</td><td>7:11</td><td>월</td></tr><tr><td>166</td><td>KTX</td><td>4:38</td><td>4:52</td><td></td><td>5:17</td><td></td><td></td><td></td><td>5:52</td><td></td><td></td><td>6:35</td><td>6:52</td><td>7:05</td><td>7:31</td><td>월</td></tr><tr><td>2</td><td>KTX</td><td>5:09</td><td></td><td></td><td></td><td></td><td>5:32</td><td></td><td>5:57</td><td></td><td>6:20</td><td>6:45</td><td></td><td>7:09</td><td>7:35</td><td>매일</td></tr><tr><td>4</td><td>KTX</td><td>5:19</td><td></td><td></td><td></td><td></td><td></td><td>5:47</td><td>6:06</td><td></td><td></td><td>6:49</td><td>7:07</td><td></td><td>7:39</td><td>매일</td></tr><tr><td>6</td><td>KTX</td><td>5:39</td><td></td><td></td><td></td><td></td><td>6:02</td><td></td><td>6:27</td><td></td><td></td><td>7:10</td><td>7:27</td><td>7:40</td><td>8:07</td><td>매일</td></tr><tr><td>192</td><td>KTX-산천</td><td>6:01</td><td></td><td></td><td></td><td></td><td>6:24</td><td>6:37</td><td>6:55</td><td></td><td>7:18</td><td>7:44</td><td></td><td>8:10</td><td>8:35</td><td>매일</td></tr><tr><td>8</td><td>KTX</td><td>6:09</td><td></td><td></td><td></td><td></td><td>6:32</td><td>6:44</td><td>7:02</td><td></td><td>7:25</td><td>7:51</td><td>8:08</td><td>8:21</td><td>8:47</td><td>매일</td></tr><tr><td>102</td><td>KTX</td><td>6:11</td><td>6:25</td><td>6:35</td><td>6:55</td><td>7:22</td><td></td><td></td><td>7:33</td><td></td><td>7:56</td><td>8:21</td><td>8:39</td><td>8:52</td><td>9:17</td><td>매일</td></tr><tr><td>10</td><td>KTX</td><td>6:58</td><td></td><td></td><td></td><td></td><td>7:21</td><td></td><td>7:46</td><td></td><td>8:09</td><td>8:35</td><td>8:52</td><td></td><td>9:25</td><td>매일</td></tr><tr><td>12</td><td>KTX</td><td>7:22</td><td></td><td></td><td></td><td></td><td>7:45</td><td>7:57</td><td>8:15</td><td>8:25</td><td></td><td>9:07</td><td></td><td>9:33</td><td>9:58</td><td>매일</td></tr><tr><td>86</td><td>KTX</td><td>7:48</td><td></td><td></td><td></td><td></td><td>8:11</td><td></td><td>8:36</td><td></td><td>8:59</td><td>9:24</td><td>9:42</td><td>9:55</td><td>10:20</td><td>금토일</td></tr><tr><td>104</td><td>KTX</td><td>8:01</td><td>8:15</td><td>8:25</td><td>8:45</td><td></td><td></td><td></td><td>9:19</td><td>9:29</td><td></td><td>10:11</td><td>10:29</td><td></td><td>11:01</td><td>매일</td></tr><tr><td>16</td><td>KTX</td><td>8:39</td><td></td><td></td><td></td><td></td><td>9:02</td><td>9:14</td><td>9:32</td><td></td><td></td><td>10:16</td><td>10:33</td><td></td><td>11:06</td><td>매일</td></tr><tr><td>18</td><td>KTX</td><td>8:50</td><td></td><td></td><td></td><td></td><td>9:13</td><td></td><td>9:38</td><td></td><td>10:01</td><td>10:26</td><td></td><td></td><td>11:10</td><td>매일</td></tr><tr><td>20</td><td>KTX</td><td>9:05</td><td></td><td></td><td></td><td></td><td>9:28</td><td></td><td>9:53</td><td></td><td></td><td>10:36</td><td>10:53</td><td>11:06</td><td>11:31</td><td>매일</td></tr><tr><td>88</td><td>KTX</td><td>9:37</td><td></td><td></td><td></td><td></td><td>10:00</td><td></td><td>10:25</td><td></td><td>10:48</td><td>11:13</td><td></td><td></td><td>11:57</td><td>금토일</td></tr><tr><td>188</td><td>KTX-산천</td><td>9:37</td><td></td><td></td><td></td><td></td><td>10:00</td><td></td><td>10:25</td><td></td><td>10:48</td><td>11:13</td><td></td><td></td><td>11:57</td><td>월화수목</td></tr><tr><td>24</td><td>KTX</td><td>9:49</td><td></td><td></td><td></td><td></td><td>10:12</td><td>10:24</td><td>10:43</td><td></td><td></td><td>11:26</td><td></td><td>11:50</td><td>12:15</td><td>매일</td></tr><tr><td>26</td><td>KTX</td><td>10:28</td><td></td><td></td><td></td><td></td><td></td><td></td><td>11:09</td><td>11:18</td><td></td><td>12:00</td><td></td><td></td><td>12:46</td><td>매일</td></tr><tr><td>30</td><td>KTX</td><td>12:00</td><td></td><td></td><td></td><td></td><td>12:23</td><td></td><td>12:48</td><td></td><td>13:11</td><td>13:37</td><td>13:55</td><td>14:08</td><td>14:33</td><td>매일</td></tr><tr><td>90</td><td>KTX</td><td>13:28</td><td></td><td></td><td></td><td></td><td></td><td></td><td>14:10</td><td></td><td></td><td>14:53</td><td>15:10</td><td>15:23</td><td>15:49</td><td>금토</td></tr><tr><td>106</td><td>KTX-산천</td><td>13:22</td><td>13:36</td><td>13:46</td><td>14:07</td><td></td><td></td><td></td><td>14:44</td><td></td><td></td><td>15:27</td><td>15:45</td><td>15:58</td><td>16:23</td><td>매일</td></tr><tr><td>40</td><td>KTX</td><td>14:31</td><td></td><td></td><td></td><td></td><td>14:54</td><td>15:06</td><td>15:24</td><td></td><td>15:47</td><td>16:13</td><td></td><td></td><td>16:56</td><td>매일</td></tr><tr><td>92</td><td>KTX</td><td>15:00</td><td></td><td></td><td></td><td></td><td>15:23</td><td>15:35</td><td>15:53</td><td></td><td></td><td>16:36</td><td>16:54</td><td></td><td>17:26</td><td>금토일</td></tr><tr><td>44</td><td>KTX</td><td>15:43</td><td></td><td></td><td></td><td></td><td>16:06</td><td></td><td>16:31</td><td></td><td></td><td>17:14</td><td></td><td>17:38</td><td>18:04</td><td>매일</td></tr><tr><td>108</td><td>KTX</td><td>15:25</td><td>15:39</td><td></td><td>16:05</td><td></td><td></td><td></td><td>16:39</td><td>16:49</td><td></td><td>17:31</td><td>17:49</td><td>18:02</td><td>18:27</td><td>매일</td></tr><tr><td>46</td><td>KTX</td><td>16:15</td><td></td><td></td><td></td><td></td><td>16:38</td><td>16:50</td><td>17:09</td><td></td><td>17:32</td><td>17:57</td><td>18:15</td><td></td><td>18:47</td><td>매일</td></tr><tr><td>94</td><td>KTX</td><td>16:28</td><td></td><td></td><td></td><td></td><td>16:51</td><td></td><td>17:16</td><td></td><td>17:39</td><td>18:04</td><td>18:22</td><td></td><td>18:56</td><td>매일</td></tr><tr><td>48</td><td>KTX</td><td>16:55</td><td></td><td></td><td></td><td></td><td></td><td>17:24</td><td>17:42</td><td></td><td></td><td>18:25</td><td></td><td>18:49</td><td>19:15</td><td>매일</td></tr><tr><td>50</td><td>KTX</td><td>17:00</td><td></td><td></td><td></td><td></td><td>17:23</td><td></td><td>17:48</td><td></td><td></td><td>18:30</td><td>18:48</td><td>19:01</td><td>19:26</td><td>매일</td></tr><tr><td>52</td><td>KTX_산천</td><td>17:20</td><td></td><td></td><td></td><td></td><td>17:43</td><td>17:55</td><td>18:13</td><td></td><td></td><td>18:56</td><td></td><td>19:20</td><td>19:46</td><td>매일</td></tr><tr><td>54</td><td>KTX</td><td>18:00</td><td></td><td></td><td></td><td></td><td>18:23</td><td></td><td>18:49</td><td></td><td>19:12</td><td>19:37</td><td>19:55</td><td>20:08</td><td>20:34</td><td>매일</td></tr><tr><td>56</td><td>KTX</td><td>18:32</td><td></td><td></td><td></td><td></td><td>18:55</td><td>19:07</td><td>19:25</td><td></td><td>19:48</td><td>20:15</td><td>20:33</td><td></td><td>21:06</td><td>매일</td></tr><tr><td>60</td><td>KTX</td><td>19:16</td><td></td><td></td><td></td><td></td><td></td><td></td><td>19:57</td><td></td><td>20:20</td><td>20:46</td><td>21:04</td><td>21:17</td><td>21:41</td><td>매일</td></tr><tr><td>110</td><td>KTX-산천</td><td>18:42</td><td>18:56</td><td>19:07</td><td>19:27</td><td>19:54</td><td></td><td></td><td>20:08</td><td>20:18</td><td></td><td>21:01</td><td></td><td></td><td>21:47</td><td>매일</td></tr><tr><td>100</td><td>KTX</td><td>19:38</td><td></td><td></td><td></td><td></td><td>20:01</td><td>20:13</td><td>20:31</td><td></td><td></td><td>21:14</td><td></td><td>21:38</td><td>22:03</td><td>금토일</td></tr><tr><td>194</td><td>KTX-산천</td><td>19:38</td><td></td><td></td><td></td><td></td><td>20:01</td><td>20:13</td><td>20:31</td><td></td><td></td><td>21:14</td><td></td><td>21:38</td><td>22:03</td><td>월화수목</td></tr><tr><td>198</td><td>KTX-산천</td><td>20:11</td><td></td><td></td><td></td><td></td><td></td><td></td><td>20:57</td><td></td><td></td><td>21:40</td><td></td><td>22:04</td><td>22:29</td><td>금토일</td></tr><tr><td>62</td><td>KTX</td><td>20:23</td><td></td><td></td><td></td><td></td><td>20:46</td><td></td><td>21:13</td><td></td><td></td><td>21:56</td><td></td><td>22:20</td><td>22:46</td><td>매일</td></tr><tr><td>64</td><td>KTX</td><td>20:40</td><td></td><td></td><td></td><td></td><td>21:03</td><td></td><td>21:28</td><td></td><td>21:51</td><td>22:16</td><td></td><td>22:40</td><td>23:05</td><td>매일</td></tr><tr><td>66</td><td>KTX</td><td>21:00</td><td></td><td></td><td></td><td></td><td>21:23</td><td>21:35</td><td>21:53</td><td></td><td></td><td>22:36</td><td>22:53</td><td></td><td>23:27</td><td>매일</td></tr><tr><td>112</td><td>KTX</td><td>20:36</td><td>20:50</td><td></td><td>21:16</td><td></td><td></td><td></td><td>21:50</td><td>22:00</td><td></td><td>22:42</td><td>22:59</td><td></td><td>23:32</td><td>매일</td></tr><tr><td>68</td><td>KTX</td><td>21:28</td><td></td><td></td><td></td><td></td><td>21:51</td><td>22:03</td><td>22:21</td><td></td><td>22:44</td><td>23:10</td><td></td><td></td><td>23:53</td><td>매일</td></tr><tr><td>70</td><td>KTX</td><td>21:41</td><td></td><td></td><td></td><td></td><td>22:04</td><td></td><td>22:29</td><td></td><td></td><td>23:13</td><td>23:31</td><td></td><td>0:03</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">광명 →&nbsp;부산 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>광명</th><th>천안아산</th><th>오송</th><th>대전</th><th>김천구미</th><th>서대구</th><th>동대구</th><th>경주</th><th>울산</th><th>경산</th><th>밀양</th><th>물금</th><th>구포</th><th>부산</th><th>비고</th></tr></thead><tbody><tr><td>1</td><td>KTX</td><td>5:32</td><td></td><td></td><td>6:14</td><td></td><td></td><td>6:58</td><td>7:16</td><td>7:29</td><td></td><td></td><td></td><td></td><td>7:50</td><td>매일</td></tr><tr><td>161</td><td>KTX</td><td>5:37</td><td></td><td></td><td>6:19</td><td></td><td></td><td>7:03</td><td></td><td></td><td></td><td>7:36</td><td></td><td>8:03</td><td>8:16</td><td>월</td></tr><tr><td>3</td><td>KTX</td><td>5:46</td><td>6:09</td><td></td><td>6:34</td><td>6:59</td><td></td><td>7:24</td><td>7:42</td><td>7:55</td><td></td><td></td><td></td><td></td><td>8:16</td><td>매일</td></tr><tr><td>5</td><td>KTX</td><td>6:17</td><td>6:39</td><td></td><td>7:04</td><td></td><td>7:47</td><td>7:56</td><td></td><td>8:22</td><td></td><td></td><td></td><td></td><td>8:43</td><td>매일</td></tr><tr><td>75</td><td>KTX-산천</td><td>6:22</td><td>6:44</td><td>6:57</td><td>7:14</td><td>7:38</td><td></td><td>8:03</td><td></td><td>8:28</td><td></td><td></td><td></td><td></td><td>8:49</td><td>매일</td></tr><tr><td>7</td><td>KTX</td><td>6:52</td><td></td><td>7:21</td><td>7:40</td><td>8:04</td><td></td><td>8:29</td><td>8:48</td><td>9:00</td><td></td><td></td><td></td><td></td><td>9:22</td><td>매일</td></tr><tr><td>9</td><td>KTX</td><td>7:16</td><td>7:39</td><td>7:52</td><td>8:09</td><td></td><td></td><td>8:53</td><td></td><td>9:18</td><td></td><td></td><td></td><td></td><td>9:39</td><td>매일</td></tr><tr><td>11</td><td>KTX</td><td>7:46</td><td></td><td>8:14</td><td>8:32</td><td>8:57</td><td></td><td>9:22</td><td></td><td></td><td></td><td></td><td></td><td></td><td>10:03</td><td>매일</td></tr><tr><td>13</td><td>KTX</td><td>8:09</td><td></td><td></td><td>8:49</td><td></td><td></td><td>9:33</td><td>9:52</td><td>10:04</td><td></td><td></td><td></td><td></td><td>10:26</td><td>매일</td></tr><tr><td>15</td><td>KTX</td><td>8:17</td><td>8:39</td><td></td><td>9:04</td><td>9:29</td><td></td><td>9:54</td><td>10:12</td><td>10:25</td><td></td><td></td><td></td><td></td><td>10:46</td><td>매일</td></tr><tr><td>191</td><td>KTX-산천</td><td>8:54</td><td></td><td></td><td>9:36</td><td></td><td></td><td>10:24</td><td></td><td></td><td></td><td></td><td></td><td></td><td>11:04</td><td>매일</td></tr><tr><td>101</td><td>KTX</td><td>9:52</td><td>10:14</td><td>10:27</td><td>10:44</td><td></td><td>11:27</td><td>11:37</td><td></td><td></td><td></td><td>12:09</td><td>12:29</td><td>12:40</td><td>12:53</td><td>매일</td></tr><tr><td>21</td><td>KTX</td><td>10:17</td><td>10:39</td><td></td><td>11:04</td><td>11:29</td><td></td><td>11:54</td><td>12:12</td><td>12:25</td><td></td><td></td><td></td><td></td><td>12:46</td><td>매일</td></tr><tr><td>23</td><td>KTX</td><td>10:47</td><td>11:09</td><td>11:22</td><td>11:39</td><td>12:03</td><td></td><td>12:28</td><td></td><td>12:53</td><td></td><td></td><td></td><td></td><td>13:14</td><td>매일</td></tr><tr><td>25</td><td>KTX</td><td>11:17</td><td>11:39</td><td></td><td>12:05</td><td></td><td></td><td>12:49</td><td>13:08</td><td>13:20</td><td></td><td></td><td></td><td></td><td>13:42</td><td>매일</td></tr><tr><td>27</td><td>KTX</td><td>12:17</td><td>12:39</td><td></td><td>13:05</td><td></td><td></td><td>13:49</td><td>14:08</td><td>14:20</td><td></td><td></td><td></td><td></td><td>14:42</td><td>매일</td></tr><tr><td>29</td><td>KTX</td><td>12:44</td><td>13:06</td><td></td><td>13:31</td><td>13:56</td><td></td><td>14:21</td><td></td><td>14:46</td><td></td><td></td><td></td><td></td><td>15:07</td><td>매일</td></tr><tr><td>31</td><td>KTX_산천</td><td>13:17</td><td>13:39</td><td>13:52</td><td>14:09</td><td></td><td></td><td>15:00</td><td>15:19</td><td></td><td></td><td></td><td></td><td></td><td>15:47</td><td>매일</td></tr><tr><td>103</td><td>KTX</td><td>13:27</td><td>13:49</td><td></td><td>14:14</td><td>14:39</td><td>15:03</td><td>15:12</td><td></td><td></td><td></td><td>15:44</td><td>16:04</td><td>16:15</td><td>16:28</td><td>매일</td></tr><tr><td>33</td><td>KTX</td><td>13:37</td><td>14:00</td><td>14:12</td><td>14:29</td><td></td><td></td><td>15:13</td><td></td><td>15:38</td><td></td><td></td><td></td><td></td><td>15:59</td><td>매일</td></tr><tr><td>83</td><td>KTX</td><td>14:08</td><td></td><td></td><td>14:50</td><td>15:14</td><td></td><td>15:39</td><td></td><td>16:04</td><td></td><td></td><td></td><td></td><td>16:25</td><td>금토일</td></tr><tr><td>183</td><td>KTX</td><td>14:08</td><td></td><td></td><td>14:50</td><td>15:14</td><td></td><td>15:39</td><td></td><td>16:04</td><td></td><td></td><td></td><td></td><td>16:25</td><td>월화수목</td></tr><tr><td>85</td><td>KTX</td><td>14:34</td><td></td><td></td><td>15:14</td><td>15:38</td><td></td><td>16:04</td><td></td><td></td><td></td><td></td><td></td><td></td><td>16:44</td><td>금토일</td></tr><tr><td>87</td><td>KTX</td><td>15:01</td><td>15:23</td><td>15:36</td><td>15:53</td><td></td><td></td><td>16:37</td><td>16:55</td><td></td><td></td><td></td><td></td><td></td><td>17:23</td><td>금토일</td></tr><tr><td>41</td><td>KTX</td><td>15:17</td><td>15:39</td><td>15:52</td><td>16:10</td><td></td><td></td><td>16:55</td><td>17:13</td><td>17:26</td><td></td><td></td><td></td><td></td><td>17:48</td><td>매일</td></tr><tr><td>45</td><td>KTX</td><td>16:17</td><td></td><td></td><td>16:57</td><td>17:21</td><td>17:45</td><td>17:54</td><td>18:14</td><td></td><td></td><td></td><td></td><td></td><td>18:42</td><td>매일</td></tr><tr><td>49</td><td>KTX</td><td>17:18</td><td></td><td>17:46</td><td>18:05</td><td>18:30</td><td></td><td>18:55</td><td>19:13</td><td>19:26</td><td></td><td></td><td></td><td></td><td>19:47</td><td>매일</td></tr><tr><td>105</td><td>KTX</td><td>17:32</td><td></td><td></td><td>18:14</td><td></td><td></td><td>18:58</td><td></td><td></td><td>19:09</td><td>19:36</td><td></td><td>20:02</td><td>20:15</td><td>매일</td></tr><tr><td>51</td><td>KTX</td><td>17:42</td><td>18:04</td><td></td><td>18:29</td><td>18:54</td><td></td><td>19:19</td><td>19:37</td><td>19:50</td><td></td><td></td><td></td><td></td><td>20:11</td><td>매일</td></tr><tr><td>55</td><td>KTX</td><td>18:32</td><td></td><td>19:00</td><td>19:19</td><td>19:44</td><td></td><td>20:09</td><td></td><td>20:34</td><td></td><td></td><td></td><td></td><td>20:55</td><td>매일</td></tr><tr><td>57</td><td>KTX</td><td>18:43</td><td>19:06</td><td>19:18</td><td>19:37</td><td></td><td></td><td>20:21</td><td>20:40</td><td>20:52</td><td></td><td></td><td></td><td></td><td>21:14</td><td>매일</td></tr><tr><td>107</td><td>KTX</td><td>19:00</td><td>19:22</td><td>19:35</td><td>19:52</td><td>20:16</td><td>20:40</td><td>20:49</td><td></td><td></td><td></td><td>21:22</td><td>21:42</td><td>21:53</td><td>22:06</td><td>매일</td></tr><tr><td>59</td><td>KTX</td><td>19:17</td><td>19:39</td><td>19:52</td><td>20:09</td><td></td><td></td><td>20:52</td><td></td><td>21:17</td><td></td><td></td><td></td><td></td><td>21:38</td><td>매일</td></tr><tr><td>91</td><td>KTX</td><td>19:39</td><td></td><td></td><td>20:19</td><td></td><td></td><td>21:03</td><td>21:21</td><td></td><td></td><td></td><td></td><td></td><td>21:49</td><td>금토일</td></tr><tr><td>165</td><td>KTX</td><td>20:03</td><td>20:25</td><td></td><td>20:49</td><td></td><td></td><td>21:33</td><td></td><td></td><td></td><td>22:06</td><td>22:26</td><td>22:37</td><td>22:50</td><td>금토</td></tr><tr><td>93</td><td>KTX</td><td>20:13</td><td>20:35</td><td></td><td>20:58</td><td></td><td></td><td>21:42</td><td>22:01</td><td></td><td></td><td></td><td></td><td></td><td>22:29</td><td>금토일</td></tr><tr><td>63</td><td>KTX</td><td>20:17</td><td>20:39</td><td>20:52</td><td>21:09</td><td></td><td></td><td>21:52</td><td></td><td>22:17</td><td></td><td></td><td></td><td></td><td>22:38</td><td>매일</td></tr><tr><td>95</td><td>KTX</td><td>20:32</td><td>20:55</td><td></td><td>21:18</td><td></td><td></td><td>22:02</td><td></td><td></td><td></td><td></td><td></td><td></td><td>22:42</td><td>금토일</td></tr><tr><td>109</td><td>KTX</td><td>21:08</td><td>21:30</td><td></td><td>21:54</td><td></td><td>22:37</td><td>22:46</td><td></td><td></td><td></td><td>23:19</td><td>23:39</td><td>23:50</td><td>0:03</td><td>매일</td></tr><tr><td>67</td><td>KTX</td><td>21:16</td><td>21:39</td><td></td><td>22:04</td><td>22:28</td><td></td><td>22:53</td><td>23:12</td><td>23:24</td><td></td><td></td><td></td><td></td><td>23:46</td><td>매일</td></tr><tr><td>69</td><td>KTX</td><td>21:47</td><td></td><td>22:16</td><td>22:35</td><td></td><td></td><td>23:19</td><td></td><td>23:43</td><td></td><td></td><td></td><td></td><td>0:05</td><td>매일</td></tr><tr><td>195</td><td>KTX-산천</td><td>21:52</td><td>22:14</td><td></td><td>22:39</td><td></td><td></td><td>23:24</td><td>23:43</td><td></td><td></td><td></td><td></td><td></td><td>0:10</td><td>매일</td></tr><tr><td>111</td><td>KTX</td><td>21:57</td><td>22:19</td><td></td><td>22:44</td><td></td><td>23:27</td><td>23:36</td><td></td><td></td><td></td><td>0:09</td><td></td><td>0:35</td><td>0:48</td><td>매일</td></tr><tr><td>71</td><td>KTX</td><td>22:17</td><td>22:39</td><td></td><td>23:04</td><td></td><td>23:47</td><td>23:56</td><td></td><td>0:22</td><td></td><td></td><td></td><td></td><td>0:43</td><td>매일</td></tr><tr><td>73</td><td>KTX</td><td>22:47</td><td>23:09</td><td></td><td>23:34</td><td></td><td></td><td>0:18</td><td></td><td>0:43</td><td></td><td></td><td></td><td></td><td>1:04</td><td>매일</td></tr><tr><td>97</td><td>KTX</td><td>23:08</td><td></td><td></td><td>23:48</td><td></td><td></td><td>0:32</td><td></td><td></td><td></td><td></td><td></td><td></td><td>1:12</td><td>금토일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>광명역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '광명'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">광명역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">광명역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '';
            let curName = '광명';
            let altCity = '21';
            let altName = '부산';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">광명역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">16℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">광명역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%BD%94%EC%8A%A4%ED%8A%B8%EC%BD%94%ED%91%B8%EB%93%9C%EC%BD%94%ED%8A%B8+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EA%B4%91%EB%AA%85%EC%8B%9C+%EC%9D%BC%EC%A7%81%EB%8F%99+163-3" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">코스트코푸드코트</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;양식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 광명시 일직동 163-3</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%85%BC%EB%91%90%EB%A0%81%EC%98%A4%EB%A6%AC%EC%A3%BC%EB%AC%BC%EB%9F%AD+%EA%B4%91%EB%AA%85%EB%B3%B8%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EA%B4%91%EB%AA%85%EC%8B%9C+%EC%9D%BC%EC%A7%81%EB%8F%99+510-3+1%EC%B8%B5+106%2C+107%ED%98%B8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">논두렁오리주물럭 광명본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;오리요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 광명시 일직동 510-3 1층 106, 107호</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%A0%95%EC%9D%B4%ED%92%88%EC%AD%88%EA%BE%B8%EB%AF%B8+%EA%B4%91%EB%AA%851%ED%98%B8%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EA%B4%91%EB%AA%85%EC%8B%9C+%EC%9D%BC%EC%A7%81%EB%8F%99+512-3+1%EC%B8%B5+161%ED%98%B8+%EC%A0%95%EC%9D%B4%ED%92%88%EC%AD%88%EA%BE%B8%EB%AF%B8+%EA%B4%91%EB%AA%851%ED%98%B8%EC%A0%90" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">정이품쭈꾸미 광명1호점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;주꾸미요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 광명시 일직동 512-3 1층 161호 정이품쭈꾸미 광명1호점</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EA%B5%AC%EA%B5%AC%EC%A1%B1+%EC%A3%BC%EB%A7%89+%EA%B4%91%EB%AA%85%EC%97%AD%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EA%B4%91%EB%AA%85%EC%8B%9C+%EC%9D%BC%EC%A7%81%EB%8F%99+510-8+2%EC%B8%B5+203%ED%98%B8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">구구족 주막 광명역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;한식&gt;육류,고기요리&gt;족발,보쌈</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 광명시 일직동 510-8 2층 203호</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%95%9C%EC%96%91%EC%A4%91%EC%8B%9D+%EA%B4%91%EB%AA%85%EC%A0%90+%EA%B2%BD%EA%B8%B0%EB%8F%84+%EA%B4%91%EB%AA%85%EC%8B%9C+%EC%9D%BC%EC%A7%81%EB%8F%99+513+%EC%95%84%EB%B8%8C%EB%89%B4%ED%94%84%EB%9E%91+2%EC%B8%B5+%ED%95%9C%EC%96%91%EC%A4%91%EC%8B%9D" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">한양중식 광명점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">중식&gt;중식당</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경기도 광명시 일직동 513 아브뉴프랑 2층 한양중식</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">광명역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 광명역A                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">2,400원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">600원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">15,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 경기도 광명시 일직동 276-8<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 02-6952-8100                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">광명역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 경기도 광명시 일직동 276-8</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:02-6952-8100" style="color: #0052a4; font-weight: bold; text-decoration: none;">02-6952-8100</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EA%B4%91%EB%AA%85%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/광명역과-부산역-기차-시간표-KTX-경부선-첫기차-마지막기차-요금-정차역.jpg" alt="광명역과-부산역-기차-시간표-KTX-경부선-첫기차-마지막기차-요금-정차역" class="wp-image-20096" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/광명역과-부산역-기차-시간표-KTX-경부선-첫기차-마지막기차-요금-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/광명역과-부산역-기차-시간표-KTX-경부선-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/광명역과-부산역-기차-시간표-KTX-경부선-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>익산역과 용산역 기차 상하행 시간표 KTX ITX-새마을 마음 무궁화호 요금</title>
		<link>https://krailroad.co.kr/%ec%9d%b5%ec%82%b0%ec%97%ad%ea%b3%bc-%ec%9a%a9%ec%82%b0%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%83%81%ed%95%98%ed%96%89-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-itx-%ec%83%88%eb%a7%88%ec%9d%84-%eb%a7%88%ec%9d%8c/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 02 Apr 2026 05:33:44 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[익산역과 용산역 상하행 기차]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20047</guid>

					<description><![CDATA[호남의 심장부라 불리는 익산역에서 서울의 관문 용산역으로 향하는 길은 이제 단순한 이동 수단을 넘어, 대한민국을 관통하는 가장 역동적인 익산역과 용산역 기차 노선이 되었습니다. 익산역과 용산역 기차는 두 도시를 하나의 일상생활권으로 묶어주는 든든한 가교가 되었으며, 더 이상 역사 내 대합실 전광판 아래에서 초조하게 시계를 보거나, 인터넷에 떠도는 검증되지 않은 낡은 정보에 마음 졸일 필요가 없습니다. 아래 ... <a title="익산역과 용산역 기차 상하행 시간표 KTX ITX-새마을 마음 무궁화호 요금" class="read-more button" href="https://krailroad.co.kr/%ec%9d%b5%ec%82%b0%ec%97%ad%ea%b3%bc-%ec%9a%a9%ec%82%b0%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%83%81%ed%95%98%ed%96%89-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-itx-%ec%83%88%eb%a7%88%ec%9d%84-%eb%a7%88%ec%9d%8c/" aria-label="익산역과 용산역 기차 상하행 시간표 KTX ITX-새마을 마음 무궁화호 요금 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">호남의 심장부라 불리는 익산역에서 서울의 관문 용산역으로 향하는 길은 이제 단순한 이동 수단을 넘어, 대한민국을 관통하는 가장 역동적인 익산역과 용산역 기차 노선이 되었습니다. 익산역과 용산역 기차는 두 도시를 하나의 일상생활권으로 묶어주는 든든한 가교가 되었으며, 더 이상 역사 내 대합실 전광판 아래에서 초조하게 시계를 보거나, 인터넷에 떠도는 검증되지 않은 낡은 정보에 마음 졸일 필요가 없습니다.</p>



<p class="wp-block-paragraph">아래 자료는 코레일 공식 시스템과 실시간 <a href="https://www.data.go.kr/index.do" target="_blank" rel="noopener">공공데이터</a> API를 직접 연동하여, 지금 이 순간에도 선로 위를 달리는 KTX, KTX-산천, SRT는 물론, 새롭게 도입된 ITX-마음과 정겨운 무궁화호의 위치를 실시간으로 추적합니다. 스마트폰 화면을 가볍게 열어보는 것만으로도 열차의 진입 상태와 정확한 도착 시간을 확인할 수 있어, 마치 나만의 전용 전광판을 주머니 속에 넣고 다니는 듯한 편리함을 경험하게 될 것입니다(실시간 열차 위치를 시각적으로 확인하려면 <a href="https://krailroad.co.kr/train-schedule-search/">전용 검색 페이지</a>를 활용해 보세요).</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>익산역과 용산역 기차 안내</strong></h2>



<h3 class="wp-block-heading">산과 용산을 잇는 기술의 힘</h3>



<p class="wp-block-paragraph">과거의 불편함을 걷어내고 고속화 사업을 통해 새롭게 태어난 익산역과 용산역 기차 노선은 남도와 수도권을 연결하는 결정적인 통로로 자리 잡았으며, 특히 익산역과 용산역 기차 구간은 단순한 철길 그 이상의 의미를 지닙니다. 호남권 교통의 허브로서 수많은 여행객의 발길이 머무는 이곳은, 최첨단 역사 시설과 쾌적한 열차 환경이 어우러져 이동의 피로를 확실히 줄여 들게 하였습니다.</p>



<p class="wp-block-paragraph">이제 이 노선은 단순히 기차가 멈춰 서는 정거장의 개념을 넘어, 지역 경제와 관광의 판도를 바꾸는 핵심 동력으로 평가받고 있습니다. 향후 열차 간격이 더욱 촘촘해지고 열차 운영 효율이 극대화되면, 익산의 역사적인 문화 유산과 용산의 현대적인 도시 인프라는 시차 없이 실시간으로 소통하게 될 것입니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">KTX와 ITX-마음의 새로운 기준</h3>



<p class="wp-block-paragraph">호남평야의 광활한 대지와 금강 줄기를 바라보다 보면, 어느덧 복잡한 일상을 벗어나 여행의 참맛을 느끼게 되며, <a href="https://krailroad.co.kr/%ec%9d%b5%ec%82%b0%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac-%ec%97%ac%ec%88%98-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%a0%84%eb%9d%bc%ec%84%a0/">익산역 열차 시간표</a>와 용산역 기차 시간표를 살펴보면 알 수 있듯, 넉넉한 운행 횟수 덕분에 비즈니스 목적의 방문이나 가족 단위의 나들이객 모두 시간의 제약 없이 철도를 이용할 수 있습니다.</p>



<p class="wp-block-paragraph">단순한 열차 정보를 넘어, 본 시스템은 여행자의 동선에 필요한 모든 데이터를 한데 모았으며, 역사 주변 주차장의 실시간 빈자리와 요금 체계는 물론, 도착역 근처에서 입소문 난 숨은 맛집 정보, 그리고 현재 날씨에 따른 옷차림 가이드까지 연동되어 있습니다. 또한 연계되는 실시간 버스 도착 정보까지 한눈에 파악할 수 있어, 역을 나서는 순간까지 여러분의 여정은 막힘없이 이어질 것입니다. </p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">익산 ↔&nbsp;용산 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">익산<br>↓<br>용산</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">402호</span><div class="time-display">6:14</div><div class="arrival-info">7:42 도착</div></td><td><span class="train-detail">524호</span><div class="time-display">23:27</div><div class="arrival-info">0:46 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">용산<br>↓<br>익산</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">401호</span><div class="time-display">5:08</div><div class="arrival-info">6:32 도착</div></td><td><span class="train-detail">439호</span><div class="time-display">22:23</div><div class="arrival-info">23:46 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="3" style="border-top:1px solid #ddd;">익산<br>↓<br>용산</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1404호</span><div class="time-display">12:56</div><div class="arrival-info">15:40 도착</div></td><td><span class="train-detail">1508호</span><div class="time-display">17:41</div><div class="arrival-info">20:27 도착</div></td></tr><tr><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1422호</span><div class="time-display">8:06</div><div class="arrival-info">10:53 도착</div></td><td><span class="train-detail">1430호</span><div class="time-display">19:42</div><div class="arrival-info">22:30 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1272호</span><div class="time-display">5:15</div><div class="arrival-info">9:06 도착</div></td><td><span class="train-detail">1578호</span><div class="time-display">21:25</div><div class="arrival-info">0:31 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="3" style="border-top:1px solid #ddd;">용산<br>↓<br>익산</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1403호</span><div class="time-display">9:47</div><div class="arrival-info">12:34 도착</div></td><td><span class="train-detail">1507호</span><div class="time-display">17:18</div><div class="arrival-info">20:04 도착</div></td></tr><tr><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1421호</span><div class="time-display">6:24</div><div class="arrival-info">9:48 도착</div></td><td><span class="train-detail">1429호</span><div class="time-display">20:03</div><div class="arrival-info">22:56 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1271호</span><div class="time-display">5:32</div><div class="arrival-info">9:21 도착</div></td><td><span class="train-detail">1471호</span><div class="time-display">21:22</div><div class="arrival-info">0:38 도착</div></td></tr></tbody></table></div>


    
    <h2>익산 ↔ 용산 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                23,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                23,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                23,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                23,700원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">공주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                32,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                38,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                44,800원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">공주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                32,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                44,800원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">김제,장성</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                30,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                42,800원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대전</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                30,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                42,800원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                16,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                16,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                16,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 익산</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                15,900원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">익산 →&nbsp;용산 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>



<p class="box1 wp-block-paragraph">💡 <strong>익산에서 용산 가는 전체 노선 시간표</strong></p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>익산</th><th>논산</th><th>계룡</th><th>서대전</th><th>공주</th><th>오송</th><th>천안아산</th><th>광명</th><th>용산</th><th>비고</th></tr></thead><tbody><tr><td>402</td><td>KTX</td><td>6:14</td><td></td><td></td><td></td><td></td><td>6:46</td><td>7:00</td><td>7:26</td><td>7:42</td><td>매일</td></tr><tr><td>404</td><td>KTX-산천</td><td>6:45</td><td></td><td></td><td></td><td>7:05</td><td>7:24</td><td></td><td>7:57</td><td>8:16</td><td>매일</td></tr><tr><td>502</td><td>KTX-산천</td><td>6:45</td><td></td><td></td><td></td><td>7:05</td><td>7:24</td><td></td><td>7:57</td><td>8:16</td><td>매일</td></tr><tr><td>474</td><td>KTX-산천</td><td>6:25</td><td>6:50</td><td>7:08</td><td>7:24</td><td></td><td></td><td>7:49</td><td>8:15</td><td>8:35</td><td>매일</td></tr><tr><td>504</td><td>KTX</td><td>7:42</td><td></td><td></td><td></td><td>8:02</td><td></td><td>8:28</td><td>8:54</td><td>9:14</td><td>매일</td></tr><tr><td>472</td><td>KTX</td><td>7:12</td><td>7:36</td><td>7:54</td><td>8:11</td><td></td><td>8:30</td><td>8:43</td><td>9:09</td><td>9:27</td><td>매일</td></tr><tr><td>406</td><td>KTX</td><td>8:18</td><td></td><td></td><td></td><td>8:38</td><td>8:56</td><td></td><td>9:30</td><td>9:46</td><td>매일</td></tr><tr><td>408</td><td>KTX-산천</td><td>9:32</td><td></td><td></td><td></td><td></td><td>10:03</td><td>10:17</td><td>10:43</td><td>11:05</td><td>매일</td></tr><tr><td>542</td><td>KTX-산천</td><td>9:32</td><td></td><td></td><td></td><td></td><td>10:03</td><td>10:17</td><td>10:43</td><td>11:05</td><td>매일</td></tr><tr><td>476</td><td>KTX-산천</td><td>9:05</td><td>9:30</td><td>9:48</td><td>10:04</td><td></td><td>10:23</td><td></td><td></td><td>11:07</td><td>매일</td></tr><tr><td>410</td><td>KTX-산천</td><td>10:22</td><td></td><td></td><td></td><td></td><td></td><td></td><td>11:20</td><td>11:36</td><td>매일</td></tr><tr><td>506</td><td>KTX-산천</td><td>10:22</td><td></td><td></td><td></td><td></td><td></td><td></td><td>11:20</td><td>11:36</td><td>매일</td></tr><tr><td>412</td><td>KTX</td><td>11:04</td><td></td><td></td><td></td><td></td><td></td><td></td><td>12:02</td><td>12:23</td><td>매일</td></tr><tr><td>442</td><td>KTX-산천</td><td>11:36</td><td></td><td></td><td></td><td></td><td>12:07</td><td></td><td>12:41</td><td>12:57</td><td>월-목</td></tr><tr><td>452</td><td>KTX</td><td>11:36</td><td></td><td></td><td></td><td></td><td>12:07</td><td></td><td>12:41</td><td>12:57</td><td>금,토,일</td></tr><tr><td>414</td><td>KTX-산천</td><td>11:58</td><td></td><td></td><td></td><td>12:18</td><td></td><td>12:44</td><td>13:10</td><td>13:28</td><td>매일</td></tr><tr><td>508</td><td>KTX-산천</td><td>11:58</td><td></td><td></td><td></td><td>12:18</td><td></td><td>12:44</td><td>13:10</td><td>13:28</td><td>매일</td></tr><tr><td>416</td><td>KTX</td><td>12:12</td><td></td><td></td><td></td><td></td><td>12:43</td><td>12:57</td><td>13:23</td><td>13:40</td><td>매일</td></tr><tr><td>510</td><td>KTX</td><td>13:35</td><td></td><td></td><td></td><td>13:54</td><td>14:12</td><td>14:26</td><td></td><td>15:03</td><td>매일</td></tr><tr><td>586</td><td>KTX</td><td>13:10</td><td>13:35</td><td>13:53</td><td>14:09</td><td></td><td>14:28</td><td></td><td>15:02</td><td>15:18</td><td>매일</td></tr><tr><td>418</td><td>KTX</td><td>13:59</td><td></td><td></td><td></td><td>14:19</td><td>14:37</td><td></td><td>15:11</td><td>15:31</td><td>매일</td></tr><tr><td>582</td><td>KTX</td><td>13:44</td><td>14:09</td><td>14:27</td><td>14:43</td><td></td><td>15:02</td><td>15:15</td><td></td><td>15:52</td><td>매일</td></tr><tr><td>512</td><td>KTX</td><td>14:34</td><td></td><td></td><td></td><td></td><td>15:05</td><td>15:19</td><td>15:45</td><td>16:05</td><td>매일</td></tr><tr><td>420</td><td>KTX</td><td>15:00</td><td></td><td></td><td></td><td>15:19</td><td>15:38</td><td></td><td>16:10</td><td>16:26</td><td>매일</td></tr><tr><td>422</td><td>KTX-산천</td><td>15:41</td><td></td><td></td><td></td><td>16:01</td><td></td><td></td><td>16:47</td><td>17:05</td><td>매일</td></tr><tr><td>514</td><td>KTX-산천</td><td>15:41</td><td></td><td></td><td></td><td>16:01</td><td></td><td></td><td>16:47</td><td>17:05</td><td>매일</td></tr><tr><td>588</td><td>KTX-산천</td><td>15:14</td><td>15:39</td><td>15:58</td><td>16:14</td><td></td><td>16:33</td><td></td><td>17:06</td><td>17:22</td><td>매일</td></tr><tr><td>4042</td><td>KTX-산천</td><td>16:28</td><td></td><td></td><td></td><td></td><td></td><td></td><td>17:26</td><td>17:42</td><td>월-목</td></tr><tr><td>516</td><td>KTX</td><td>16:34</td><td></td><td></td><td></td><td>16:53</td><td>17:11</td><td></td><td>17:45</td><td>18:03</td><td>매일</td></tr><tr><td>424</td><td>KTX-산천</td><td>17:11</td><td></td><td></td><td></td><td>17:31</td><td></td><td>17:57</td><td></td><td>18:43</td><td>매일</td></tr><tr><td>4052</td><td>KTX-산천</td><td>17:11</td><td></td><td></td><td></td><td>17:31</td><td></td><td>17:57</td><td></td><td>18:43</td><td>금,토,일</td></tr><tr><td>590</td><td>KTX</td><td>16:41</td><td>17:06</td><td>17:24</td><td>17:40</td><td></td><td>17:59</td><td>18:12</td><td></td><td>18:49</td><td>금,토,일</td></tr><tr><td>426</td><td>KTX-산천</td><td>18:16</td><td></td><td></td><td></td><td></td><td></td><td>18:54</td><td>19:20</td><td>19:36</td><td>매일</td></tr><tr><td>518</td><td>KTX-산천</td><td>18:16</td><td></td><td></td><td></td><td></td><td></td><td>18:54</td><td>19:20</td><td>19:36</td><td>매일</td></tr><tr><td>428</td><td>KTX-청룡</td><td>18:56</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>20:08</td><td>월-목</td></tr><tr><td>492</td><td>KTX</td><td>18:56</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>20:08</td><td>금,토,일</td></tr><tr><td>482</td><td>KTX-산천</td><td>18:07</td><td>18:32</td><td>18:50</td><td>19:07</td><td></td><td>19:26</td><td></td><td>19:59</td><td>20:17</td><td>월-목</td></tr><tr><td>488</td><td>KTX-산천</td><td>18:07</td><td>18:32</td><td>18:50</td><td>19:07</td><td></td><td>19:26</td><td></td><td>19:59</td><td>20:17</td><td>금,토,일</td></tr><tr><td>4054</td><td>KTX-산천</td><td>18:07</td><td>18:32</td><td>18:50</td><td>19:07</td><td></td><td>19:26</td><td></td><td>19:59</td><td>20:17</td><td>금,토,일</td></tr><tr><td>430</td><td>KTX</td><td>19:19</td><td></td><td></td><td></td><td></td><td>19:50</td><td>20:04</td><td>20:30</td><td>20:46</td><td>매일</td></tr><tr><td>520</td><td>KTX</td><td>19:45</td><td></td><td></td><td></td><td>20:04</td><td>20:23</td><td></td><td>20:57</td><td>21:15</td><td>매일</td></tr><tr><td>432</td><td>KTX</td><td>20:03</td><td></td><td></td><td></td><td></td><td></td><td></td><td>21:02</td><td>21:18</td><td>매일</td></tr><tr><td>434</td><td>KTX-산천</td><td>21:06</td><td></td><td></td><td></td><td>21:26</td><td>21:44</td><td></td><td>22:18</td><td>22:36</td><td>매일</td></tr><tr><td>544</td><td>KTX-산천</td><td>21:06</td><td></td><td></td><td></td><td>21:26</td><td>21:44</td><td></td><td>22:18</td><td>22:36</td><td>월-목토일</td></tr><tr><td>4044</td><td>KTX-산천</td><td>20:35</td><td>21:00</td><td>21:18</td><td>21:34</td><td></td><td></td><td>21:59</td><td>22:25</td><td>22:41</td><td>금,토,일</td></tr><tr><td>584</td><td>KTX-산천</td><td>20:35</td><td>21:00</td><td>21:18</td><td>21:34</td><td></td><td></td><td>21:59</td><td>22:25</td><td>22:41</td><td>매일</td></tr><tr><td>436</td><td>KTX</td><td>21:27</td><td></td><td></td><td></td><td></td><td>21:58</td><td>22:12</td><td>22:38</td><td>22:54</td><td>매일</td></tr><tr><td>438</td><td>KTX-산천</td><td>22:04</td><td></td><td></td><td></td><td></td><td>22:35</td><td>22:49</td><td></td><td>23:26</td><td>매일</td></tr><tr><td>522</td><td>KTX-산천</td><td>22:04</td><td></td><td></td><td></td><td></td><td>22:35</td><td>22:49</td><td></td><td>23:26</td><td>매일</td></tr><tr><td>440</td><td>KTX</td><td>23:01</td><td></td><td></td><td></td><td></td><td></td><td></td><td>23:59</td><td>0:19</td><td>매일</td></tr><tr><td>524</td><td>KTX-산천</td><td>23:27</td><td></td><td></td><td></td><td></td><td>23:59</td><td></td><td></td><td>0:46</td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>익산</th><th>함열</th><th>강경</th><th>논산</th><th>연산</th><th>계룡</th><th>서대전</th><th>신탄진</th><th>부강</th><th>조치원</th><th>전의</th><th>천안</th><th>성환</th><th>평택</th><th>서정리</th><th>오산</th><th>수원</th><th>안양</th><th>영등포</th><th>용산</th></tr></thead><tbody><tr><td>1272</td><td>무궁화</td><td>5:15</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>7:47</td><td></td><td>8:05</td><td></td><td></td><td>8:28</td><td>8:41</td><td>8:56</td><td>9:06</td></tr><tr><td>1472</td><td>무궁화</td><td>5:30</td><td>5:43</td><td>5:54</td><td>6:03</td><td></td><td>6:22</td><td>6:39</td><td>6:53</td><td></td><td>7:10</td><td>7:21</td><td>7:35</td><td></td><td>7:51</td><td></td><td>8:04</td><td>8:16</td><td>8:29</td><td>8:45</td><td>8:55</td></tr><tr><td>1274</td><td>무궁화</td><td>6:50</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>9:31</td><td></td><td>9:49</td><td></td><td></td><td>10:11</td><td></td><td>10:34</td><td>10:43</td></tr><tr><td>1422</td><td>ITX-새마을</td><td>8:06</td><td></td><td></td><td>8:32</td><td></td><td>8:50</td><td>9:06</td><td></td><td></td><td>9:31</td><td></td><td>9:52</td><td></td><td>10:04</td><td></td><td></td><td>10:24</td><td></td><td>10:44</td><td>10:53</td></tr><tr><td>1572</td><td>무궁화</td><td>8:39</td><td>8:52</td><td>9:02</td><td>9:12</td><td>9:22</td><td>9:35</td><td>9:52</td><td>10:06</td><td>10:16</td><td>10:25</td><td></td><td>10:47</td><td></td><td>11:01</td><td></td><td></td><td>11:23</td><td>11:36</td><td>11:49</td><td>11:58</td></tr><tr><td>1276</td><td>무궁화</td><td>8:41</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>11:26</td><td></td><td>11:45</td><td></td><td></td><td>12:06</td><td></td><td>12:28</td><td>12:37</td></tr><tr><td>1452</td><td>무궁화</td><td>9:10</td><td>9:23</td><td>9:32</td><td>9:42</td><td>9:52</td><td>10:05</td><td>10:22</td><td>10:36</td><td></td><td>10:52</td><td>11:03</td><td>11:17</td><td></td><td>11:31</td><td></td><td></td><td>11:51</td><td></td><td>12:17</td><td>12:26</td></tr><tr><td>1424</td><td>ITX-새마을</td><td>10:05</td><td></td><td>10:25</td><td>10:34</td><td></td><td>10:52</td><td>11:08</td><td></td><td></td><td>11:33</td><td></td><td>11:54</td><td></td><td></td><td></td><td></td><td>12:23</td><td></td><td>12:44</td><td>12:53</td></tr><tr><td>1502</td><td>ITX-새마을</td><td>10:35</td><td></td><td></td><td>11:01</td><td></td><td>11:19</td><td>11:35</td><td>11:48</td><td></td><td>12:03</td><td></td><td>12:24</td><td></td><td>12:36</td><td></td><td></td><td>12:56</td><td></td><td>13:20</td><td>13:29</td></tr><tr><td>1278</td><td>무궁화</td><td>11:44</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>14:27</td><td></td><td>14:49</td><td></td><td></td><td>15:13</td><td></td><td>15:40</td><td>15:49</td></tr><tr><td>1402</td><td>ITX-새마을</td><td>12:12</td><td></td><td>12:31</td><td>12:41</td><td></td><td>12:59</td><td>13:15</td><td></td><td></td><td>13:40</td><td></td><td>14:01</td><td></td><td>14:13</td><td></td><td></td><td>14:33</td><td></td><td>14:57</td><td>15:06</td></tr><tr><td>1280</td><td>무궁화</td><td>12:50</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>15:29</td><td></td><td>15:47</td><td></td><td></td><td>16:08</td><td></td><td>16:37</td><td>16:46</td></tr><tr><td>1404</td><td>ITX-마음</td><td>12:56</td><td></td><td></td><td>13:22</td><td></td><td></td><td>13:53</td><td></td><td></td><td></td><td></td><td>14:37</td><td></td><td></td><td></td><td></td><td>15:06</td><td></td><td>15:31</td><td>15:40</td></tr><tr><td>1504</td><td>ITX-마음</td><td>12:56</td><td></td><td></td><td>13:22</td><td></td><td></td><td>13:53</td><td></td><td></td><td></td><td></td><td>14:37</td><td></td><td></td><td></td><td></td><td>15:06</td><td></td><td>15:31</td><td>15:40</td></tr><tr><td>1462</td><td>무궁화</td><td>13:33</td><td>13:47</td><td>14:02</td><td>14:13</td><td></td><td>14:33</td><td>14:50</td><td>15:04</td><td></td><td>15:20</td><td>15:31</td><td>15:45</td><td></td><td>15:59</td><td></td><td></td><td>16:20</td><td></td><td>16:45</td><td>16:54</td></tr><tr><td>1442</td><td>ITX-새마을</td><td>14:18</td><td></td><td></td><td>14:45</td><td></td><td>15:03</td><td>15:19</td><td>15:32</td><td></td><td>15:48</td><td></td><td>16:09</td><td></td><td>16:22</td><td></td><td></td><td>16:42</td><td></td><td>17:06</td><td>17:15</td></tr><tr><td>1426</td><td>ITX-새마을</td><td>14:48</td><td></td><td></td><td>15:14</td><td></td><td>15:32</td><td>15:48</td><td></td><td></td><td>16:13</td><td></td><td>16:34</td><td></td><td>16:47</td><td></td><td></td><td>17:06</td><td></td><td>17:27</td><td>17:36</td></tr><tr><td>1282</td><td>무궁화</td><td>14:58</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>17:43</td><td></td><td>18:01</td><td></td><td></td><td>18:24</td><td></td><td>18:50</td><td>18:59</td></tr><tr><td>1574</td><td>무궁화</td><td>15:23</td><td>15:36</td><td>15:46</td><td>15:56</td><td>16:06</td><td>16:18</td><td>16:35</td><td>16:48</td><td></td><td>17:09</td><td></td><td>17:32</td><td>17:41</td><td>17:53</td><td></td><td></td><td>18:17</td><td></td><td>18:42</td><td>18:52</td></tr><tr><td>1506</td><td>ITX-새마을</td><td>16:06</td><td></td><td>16:25</td><td>16:35</td><td></td><td>16:53</td><td>17:09</td><td>17:22</td><td></td><td>17:38</td><td></td><td>17:59</td><td></td><td>18:12</td><td></td><td></td><td>18:31</td><td></td><td>18:57</td><td>19:06</td></tr><tr><td>1428</td><td>ITX-새마을</td><td>16:22</td><td>16:35</td><td>16:45</td><td>16:56</td><td></td><td>17:16</td><td>17:33</td><td>17:47</td><td>17:57</td><td>18:06</td><td></td><td>18:28</td><td>18:37</td><td>18:45</td><td></td><td>18:57</td><td>19:08</td><td>19:21</td><td>19:39</td><td>19:48</td></tr><tr><td>1284</td><td>무궁화</td><td>16:53</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>19:28</td><td></td><td>19:46</td><td></td><td></td><td>20:07</td><td></td><td>20:30</td><td>20:39</td></tr><tr><td>1406</td><td>ITX-마음</td><td>17:41</td><td></td><td></td><td>18:07</td><td></td><td></td><td>18:38</td><td></td><td></td><td>19:04</td><td></td><td>19:25</td><td></td><td>19:37</td><td></td><td></td><td>19:57</td><td></td><td>20:18</td><td>20:27</td></tr><tr><td>1508</td><td>ITX-마음</td><td>17:41</td><td></td><td></td><td>18:07</td><td></td><td></td><td>18:38</td><td></td><td></td><td>19:04</td><td></td><td>19:25</td><td></td><td>19:37</td><td></td><td></td><td>19:57</td><td></td><td>20:18</td><td>20:27</td></tr><tr><td>1286</td><td>무궁화</td><td>18:10</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>20:51</td><td></td><td>21:09</td><td></td><td></td><td>21:32</td><td></td><td>21:56</td><td>22:06</td></tr><tr><td>1408</td><td>ITX-새마을</td><td>18:21</td><td>18:34</td><td>18:44</td><td>18:55</td><td>19:05</td><td>19:17</td><td>19:34</td><td>19:47</td><td>19:58</td><td>20:07</td><td>20:18</td><td>20:31</td><td></td><td>20:45</td><td>20:53</td><td></td><td>21:09</td><td></td><td>21:31</td><td>21:40</td></tr><tr><td>1410</td><td>ITX-새마을</td><td>19:25</td><td></td><td>19:44</td><td>19:54</td><td></td><td>20:12</td><td>20:28</td><td></td><td></td><td>20:53</td><td></td><td>21:14</td><td></td><td>21:26</td><td></td><td></td><td>21:46</td><td></td><td>22:06</td><td>22:15</td></tr><tr><td>1430</td><td>ITX-새마을</td><td>19:42</td><td></td><td>20:01</td><td>20:11</td><td></td><td>20:29</td><td>20:45</td><td></td><td></td><td>21:11</td><td></td><td>21:32</td><td></td><td></td><td></td><td></td><td>22:01</td><td></td><td>22:22</td><td>22:30</td></tr><tr><td>1288</td><td>무궁화</td><td>20:07</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>22:44</td><td></td><td>23:02</td><td></td><td></td><td>23:23</td><td></td><td>23:46</td><td>23:55</td></tr><tr><td>1576</td><td>무궁화</td><td>20:18</td><td>20:31</td><td>20:41</td><td>20:50</td><td>21:00</td><td>21:13</td><td>21:36</td><td></td><td></td><td>22:04</td><td></td><td>22:26</td><td></td><td>22:40</td><td></td><td></td><td>23:03</td><td>23:16</td><td>23:28</td><td>23:37</td></tr><tr><td>1578</td><td>무궁화</td><td>21:25</td><td>21:38</td><td>21:47</td><td>21:57</td><td></td><td>22:17</td><td>22:33</td><td>22:47</td><td></td><td>23:03</td><td></td><td>23:25</td><td></td><td>23:39</td><td></td><td></td><td>23:59</td><td></td><td>0:22</td><td>0:31</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">용산 →&nbsp;익산 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>



<p class="box1 wp-block-paragraph">💡 <strong>용산에서 익산 가는 전체 노선 시간표</strong></p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>용산</th><th>광명</th><th>천안아산</th><th>오송</th><th>공주</th><th>서대전</th><th>계룡</th><th>논산</th><th>익산</th><th>비고</th></tr></thead><tbody><tr><td>401</td><td>KTX-산천</td><td>5:08</td><td>5:25</td><td></td><td>5:55</td><td>6:12</td><td></td><td></td><td></td><td>6:32</td><td>매일</td></tr><tr><td>501</td><td>KTX-산천</td><td>5:08</td><td>5:25</td><td></td><td>5:55</td><td>6:12</td><td></td><td></td><td></td><td>6:35</td><td>매일</td></tr><tr><td>403</td><td>KTX-산천</td><td>5:48</td><td>6:05</td><td>6:28</td><td>6:40</td><td></td><td></td><td></td><td></td><td>7:11</td><td>매일</td></tr><tr><td>471</td><td>KTX-산천</td><td>6:10</td><td>6:27</td><td>6:50</td><td>7:02</td><td></td><td>7:21</td><td>7:37</td><td>7:55</td><td>8:18</td><td>매일</td></tr><tr><td>405</td><td>KTX</td><td>6:29</td><td>6:46</td><td></td><td>7:16</td><td>7:33</td><td></td><td></td><td></td><td>7:53</td><td>매일</td></tr><tr><td>503</td><td>KTX</td><td>7:10</td><td>7:27</td><td>7:50</td><td>8:02</td><td>8:19</td><td></td><td></td><td></td><td>8:39</td><td>매일</td></tr><tr><td>441</td><td>KTX-산천</td><td>7:38</td><td>7:55</td><td></td><td>8:25</td><td></td><td></td><td></td><td></td><td>8:55</td><td>월-목</td></tr><tr><td>451</td><td>KTX</td><td>7:38</td><td>7:55</td><td></td><td>8:25</td><td></td><td></td><td></td><td></td><td>8:55</td><td>금,토,일</td></tr><tr><td>581</td><td>KTX</td><td>7:43</td><td>8:01</td><td></td><td></td><td></td><td>8:44</td><td>9:00</td><td>9:18</td><td>9:42</td><td>매일</td></tr><tr><td>407</td><td>KTX-산천</td><td>7:47</td><td>8:05</td><td></td><td></td><td>8:47</td><td></td><td></td><td></td><td>9:07</td><td>매일</td></tr><tr><td>4051</td><td>KTX-산천</td><td>7:47</td><td>8:05</td><td></td><td></td><td>8:47</td><td></td><td></td><td></td><td>9:10</td><td>금,토,일</td></tr><tr><td>409</td><td>KTX</td><td>8:20</td><td></td><td>8:55</td><td>9:07</td><td></td><td></td><td></td><td></td><td>9:38</td><td>매일</td></tr><tr><td>505</td><td>KTX</td><td>8:40</td><td>8:58</td><td></td><td>9:27</td><td>9:44</td><td></td><td></td><td></td><td>10:04</td><td>매일</td></tr><tr><td>411</td><td>KTX</td><td>9:19</td><td>9:36</td><td></td><td>10:06</td><td></td><td></td><td></td><td></td><td>10:36</td><td>매일</td></tr><tr><td>475</td><td>KTX-산천</td><td>9:44</td><td>10:02</td><td>10:25</td><td></td><td></td><td>10:52</td><td>11:07</td><td>11:25</td><td>11:52</td><td>매일</td></tr><tr><td>507</td><td>KTX-산천</td><td>9:53</td><td>10:11</td><td>10:33</td><td>10:46</td><td>11:03</td><td></td><td></td><td></td><td>11:23</td><td>매일</td></tr><tr><td>9507</td><td>KTX-산천</td><td>9:53</td><td>10:11</td><td>10:33</td><td>10:46</td><td>11:03</td><td></td><td></td><td></td><td>11:23</td><td>금,토,일</td></tr><tr><td>585</td><td>KTX</td><td>10:04</td><td>10:22</td><td>10:44</td><td></td><td></td><td>11:11</td><td>11:26</td><td>11:44</td><td>12:09</td><td>매일</td></tr><tr><td>413</td><td>KTX</td><td>10:40</td><td></td><td>11:15</td><td>11:27</td><td></td><td></td><td></td><td></td><td>11:58</td><td>매일</td></tr><tr><td>509</td><td>KTX</td><td>10:53</td><td>11:10</td><td>11:33</td><td>11:45</td><td>12:02</td><td></td><td></td><td></td><td>12:22</td><td>매일</td></tr><tr><td>587</td><td>KTX-산천</td><td>12:11</td><td>12:29</td><td>12:53</td><td></td><td></td><td>13:19</td><td>13:34</td><td>13:51</td><td>14:16</td><td>매일</td></tr><tr><td>415</td><td>KTX-산천</td><td>12:18</td><td>12:35</td><td>12:58</td><td></td><td>13:23</td><td></td><td></td><td></td><td>13:43</td><td>매일</td></tr><tr><td>511</td><td>KTX-산천</td><td>12:18</td><td>12:35</td><td>12:58</td><td></td><td>13:23</td><td></td><td></td><td></td><td>13:46</td><td>매일</td></tr><tr><td>417</td><td>KTX-산천</td><td>12:45</td><td></td><td></td><td>13:27</td><td>13:44</td><td></td><td></td><td></td><td>14:04</td><td>매일</td></tr><tr><td>543</td><td>KTX-산천</td><td>12:45</td><td></td><td></td><td>13:27</td><td>13:44</td><td></td><td></td><td></td><td>14:07</td><td>월-목토일</td></tr><tr><td>589</td><td>KTX</td><td>13:15</td><td>13:32</td><td>13:55</td><td></td><td></td><td>14:21</td><td>14:36</td><td>14:54</td><td>15:19</td><td>금,토,일</td></tr><tr><td>9419</td><td>KTX-산천</td><td>13:30</td><td>13:47</td><td>14:10</td><td></td><td></td><td></td><td></td><td></td><td>14:48</td><td>월-목</td></tr><tr><td>419</td><td>KTX-산천</td><td>13:30</td><td>13:47</td><td>14:10</td><td></td><td></td><td></td><td></td><td></td><td>14:48</td><td>매일</td></tr><tr><td>513</td><td>KTX</td><td>14:10</td><td>14:28</td><td></td><td>14:57</td><td>15:14</td><td></td><td></td><td></td><td>15:34</td><td>매일</td></tr><tr><td>4041</td><td>KTX-산천</td><td>14:38</td><td>14:56</td><td>15:18</td><td>15:31</td><td></td><td>15:49</td><td>16:05</td><td>16:23</td><td>16:48</td><td>금,토,일</td></tr><tr><td>583</td><td>KTX-산천</td><td>14:38</td><td>14:56</td><td>15:18</td><td>15:31</td><td></td><td>15:49</td><td>16:05</td><td>16:23</td><td>16:48</td><td>월-목</td></tr><tr><td>593</td><td>KTX-산천</td><td>14:38</td><td>14:56</td><td>15:18</td><td>15:31</td><td></td><td>15:49</td><td>16:05</td><td>16:23</td><td>16:51</td><td>금,토,일</td></tr><tr><td>421</td><td>KTX</td><td>14:48</td><td>15:05</td><td>15:28</td><td>15:40</td><td></td><td></td><td></td><td></td><td>16:11</td><td>매일</td></tr><tr><td>423</td><td>KTX</td><td>15:33</td><td>15:50</td><td></td><td>16:20</td><td>16:37</td><td></td><td></td><td></td><td>16:57</td><td>매일</td></tr><tr><td>425</td><td>KTX-청룡</td><td>16:08</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>17:15</td><td>월-목</td></tr><tr><td>491</td><td>KTX</td><td>16:08</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>17:15</td><td>금,토,일</td></tr><tr><td>427</td><td>KTX-산천</td><td>16:43</td><td>17:00</td><td>17:23</td><td></td><td>17:48</td><td></td><td></td><td></td><td>18:07</td><td>매일</td></tr><tr><td>515</td><td>KTX-산천</td><td>16:43</td><td>17:00</td><td>17:23</td><td></td><td>17:48</td><td></td><td></td><td></td><td>18:11</td><td>매일</td></tr><tr><td>481</td><td>KTX</td><td>17:10</td><td>17:28</td><td></td><td></td><td></td><td>18:11</td><td>18:27</td><td>18:45</td><td>19:10</td><td>매일</td></tr><tr><td>429</td><td>KTX-산천</td><td>17:44</td><td></td><td></td><td>18:26</td><td>18:43</td><td></td><td></td><td></td><td>19:03</td><td>매일</td></tr><tr><td>517</td><td>KTX-산천</td><td>17:44</td><td></td><td></td><td>18:26</td><td>18:43</td><td></td><td></td><td></td><td>19:06</td><td>매일</td></tr><tr><td>431</td><td>KTX</td><td>18:31</td><td>18:49</td><td>19:11</td><td>19:24</td><td></td><td></td><td></td><td></td><td>19:54</td><td>매일</td></tr><tr><td>519</td><td>KTX-산천</td><td>18:48</td><td>19:05</td><td>19:28</td><td></td><td>19:53</td><td></td><td></td><td></td><td>20:12</td><td>매일</td></tr><tr><td>433</td><td>KTX</td><td>19:41</td><td>19:59</td><td></td><td>20:28</td><td>20:45</td><td></td><td></td><td></td><td>21:05</td><td>매일</td></tr><tr><td>521</td><td>KTX</td><td>20:09</td><td>20:26</td><td>20:49</td><td>21:01</td><td></td><td></td><td></td><td></td><td>21:32</td><td>매일</td></tr><tr><td>435</td><td>KTX-산천</td><td>20:33</td><td>20:50</td><td>21:13</td><td>21:25</td><td></td><td></td><td></td><td></td><td>21:56</td><td>매일</td></tr><tr><td>541</td><td>KTX-산천</td><td>20:33</td><td>20:50</td><td>21:13</td><td>21:25</td><td></td><td></td><td></td><td></td><td>21:59</td><td>매일</td></tr><tr><td>485</td><td>KTX-산천</td><td>21:09</td><td>21:27</td><td>21:49</td><td></td><td></td><td>22:16</td><td>22:31</td><td>22:49</td><td>23:13</td><td>매일</td></tr><tr><td>437</td><td>KTX</td><td>21:18</td><td>21:35</td><td></td><td></td><td>22:18</td><td></td><td></td><td></td><td>22:38</td><td>매일</td></tr><tr><td>523</td><td>KTX-산천</td><td>21:48</td><td>22:05</td><td></td><td></td><td></td><td></td><td></td><td></td><td>22:59</td><td>매일</td></tr><tr><td>439</td><td>KTX</td><td>22:23</td><td>22:41</td><td>23:03</td><td>23:16</td><td></td><td></td><td></td><td></td><td>23:46</td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>용산</th><th>영등포</th><th>안양</th><th>수원</th><th>오산</th><th>서정리</th><th>평택</th><th>성환</th><th>천안</th><th>전의</th><th>조치원</th><th>부강</th><th>신탄진</th><th>서대전</th><th>계룡</th><th>연산</th><th>논산</th><th>강경</th><th>함열</th><th>익산</th></tr></thead><tbody><tr><td>1271</td><td>무궁화</td><td>5:32</td><td>5:42</td><td></td><td>6:06</td><td></td><td></td><td>6:28</td><td></td><td>6:48</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>9:21</td></tr><tr><td>1571</td><td>무궁화</td><td>5:44</td><td>5:56</td><td></td><td>6:19</td><td></td><td>6:35</td><td>6:43</td><td></td><td>6:57</td><td></td><td>7:19</td><td></td><td>7:35</td><td>7:50</td><td>8:06</td><td>8:18</td><td>8:28</td><td>8:37</td><td></td><td>8:57</td></tr><tr><td>1273</td><td>무궁화</td><td>6:18</td><td>6:28</td><td>6:40</td><td>6:55</td><td></td><td></td><td>7:15</td><td></td><td>7:35</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>10:05</td></tr><tr><td>1421</td><td>ITX-새마을</td><td>6:24</td><td>6:37</td><td>6:49</td><td>7:03</td><td></td><td>7:19</td><td>7:27</td><td>7:34</td><td>7:44</td><td></td><td>8:05</td><td></td><td>8:21</td><td>8:37</td><td>8:53</td><td></td><td>9:12</td><td>9:25</td><td>9:35</td><td>9:48</td></tr><tr><td>1501</td><td>ITX-새마을</td><td>7:14</td><td>7:23</td><td></td><td>7:45</td><td></td><td></td><td>8:05</td><td></td><td>8:18</td><td></td><td>8:39</td><td></td><td></td><td>9:07</td><td>9:22</td><td></td><td>9:41</td><td>9:50</td><td></td><td>10:11</td></tr><tr><td>1275</td><td>무궁화</td><td>7:24</td><td>7:36</td><td>7:49</td><td>8:04</td><td></td><td></td><td>8:24</td><td></td><td>8:43</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>11:20</td></tr><tr><td>1401</td><td>ITX-새마을</td><td>7:34</td><td>7:46</td><td>7:58</td><td>8:12</td><td></td><td></td><td>8:32</td><td>8:40</td><td>8:50</td><td></td><td>9:12</td><td></td><td>9:28</td><td>9:44</td><td>10:00</td><td></td><td>10:21</td><td>10:30</td><td>10:39</td><td>10:51</td></tr><tr><td>1423</td><td>ITX-새마을</td><td>8:44</td><td>8:52</td><td></td><td>9:15</td><td></td><td></td><td>9:34</td><td></td><td>9:48</td><td></td><td>10:08</td><td></td><td></td><td>10:35</td><td>10:51</td><td></td><td>11:09</td><td></td><td></td><td>11:35</td></tr><tr><td>1573</td><td>무궁화</td><td>9:38</td><td>9:47</td><td></td><td>10:10</td><td></td><td></td><td>10:31</td><td></td><td>10:45</td><td>11:03</td><td>11:16</td><td>11:24</td><td>11:35</td><td>11:50</td><td>12:13</td><td>12:26</td><td>12:36</td><td>12:46</td><td>12:55</td><td>13:10</td></tr><tr><td>1403</td><td>ITX-마음</td><td>9:47</td><td>9:56</td><td></td><td>10:19</td><td></td><td></td><td>10:38</td><td></td><td>10:51</td><td></td><td></td><td></td><td></td><td>11:36</td><td></td><td></td><td>12:08</td><td></td><td></td><td>12:34</td></tr><tr><td>1503</td><td>ITX-마음</td><td>9:47</td><td>9:56</td><td></td><td>10:19</td><td></td><td></td><td>10:38</td><td></td><td>10:51</td><td></td><td></td><td></td><td></td><td>11:36</td><td></td><td></td><td>12:08</td><td></td><td></td><td>12:37</td></tr><tr><td>1441</td><td>ITX-새마을</td><td>9:56</td><td>10:07</td><td></td><td>10:31</td><td></td><td></td><td>10:50</td><td></td><td>11:04</td><td></td><td>11:25</td><td></td><td>11:40</td><td>11:55</td><td>12:10</td><td></td><td>12:29</td><td></td><td></td><td>12:54</td></tr><tr><td>1277</td><td>무궁화</td><td>10:33</td><td>10:42</td><td></td><td>11:06</td><td></td><td></td><td>11:26</td><td></td><td>11:46</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>14:16</td></tr><tr><td>1405</td><td>ITX-새마을</td><td>12:07</td><td>12:19</td><td></td><td>12:42</td><td>12:52</td><td></td><td>13:04</td><td></td><td>13:18</td><td></td><td>13:38</td><td></td><td></td><td>14:05</td><td>14:21</td><td></td><td>14:39</td><td>14:48</td><td></td><td>15:08</td></tr><tr><td>1279</td><td>무궁화</td><td>12:53</td><td>13:03</td><td></td><td>13:26</td><td></td><td></td><td>13:46</td><td></td><td>14:06</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>16:41</td></tr><tr><td>1425</td><td>ITX-새마을</td><td>13:24</td><td>13:32</td><td></td><td>13:55</td><td></td><td>14:10</td><td>14:17</td><td></td><td>14:31</td><td></td><td>14:51</td><td></td><td>15:06</td><td>15:21</td><td>15:37</td><td></td><td>15:55</td><td>16:04</td><td></td><td>16:24</td></tr><tr><td>1281</td><td>무궁화</td><td>14:25</td><td>14:37</td><td></td><td>15:01</td><td></td><td></td><td>15:21</td><td></td><td>15:41</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>18:20</td></tr><tr><td>1575</td><td>무궁화</td><td>15:04</td><td>15:13</td><td></td><td>15:37</td><td></td><td></td><td>15:57</td><td></td><td>16:11</td><td></td><td>16:33</td><td></td><td>16:49</td><td>17:05</td><td>17:21</td><td></td><td>17:40</td><td>17:49</td><td>17:59</td><td>18:19</td></tr><tr><td>1427</td><td>ITX-새마을</td><td>15:14</td><td>15:23</td><td></td><td>15:46</td><td></td><td></td><td>16:05</td><td></td><td>16:18</td><td></td><td>16:43</td><td></td><td>16:59</td><td>17:14</td><td>17:29</td><td></td><td>17:48</td><td>17:57</td><td></td><td>18:17</td></tr><tr><td>1461</td><td>무궁화</td><td>16:15</td><td>16:28</td><td></td><td>16:53</td><td></td><td></td><td>17:13</td><td></td><td>17:27</td><td></td><td>17:49</td><td></td><td></td><td>18:18</td><td>18:34</td><td>18:46</td><td>18:57</td><td>19:13</td><td>19:23</td><td>19:37</td></tr><tr><td>1283</td><td>무궁화</td><td>16:25</td><td>16:37</td><td></td><td>17:01</td><td></td><td></td><td>17:21</td><td></td><td>17:42</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>20:17</td></tr><tr><td>1505</td><td>ITX-새마을</td><td>16:38</td><td>16:46</td><td></td><td>17:09</td><td></td><td></td><td>17:28</td><td></td><td>17:41</td><td></td><td>18:01</td><td></td><td></td><td>18:28</td><td>18:44</td><td></td><td>19:02</td><td>19:11</td><td></td><td>19:31</td></tr><tr><td>1407</td><td>ITX-마음</td><td>17:18</td><td>17:27</td><td></td><td>17:50</td><td></td><td></td><td></td><td></td><td>18:19</td><td></td><td></td><td></td><td></td><td>19:04</td><td></td><td></td><td>19:35</td><td></td><td></td><td>20:02</td></tr><tr><td>1507</td><td>ITX-마음</td><td>17:18</td><td>17:27</td><td></td><td>17:50</td><td></td><td></td><td></td><td></td><td>18:19</td><td></td><td></td><td></td><td></td><td>19:04</td><td></td><td></td><td>19:35</td><td></td><td></td><td>20:04</td></tr><tr><td>1451</td><td>무궁화</td><td>18:10</td><td>18:22</td><td></td><td>18:46</td><td></td><td></td><td>19:06</td><td></td><td>19:20</td><td></td><td>19:42</td><td>19:51</td><td>20:01</td><td>20:18</td><td>20:34</td><td></td><td>20:54</td><td>21:04</td><td>21:14</td><td>21:28</td></tr><tr><td>1285</td><td>무궁화</td><td>18:21</td><td>18:34</td><td>18:46</td><td>19:01</td><td></td><td></td><td>19:21</td><td></td><td>19:40</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>22:14</td></tr><tr><td>1409</td><td>ITX-새마을</td><td>19:11</td><td>19:19</td><td></td><td>19:42</td><td></td><td></td><td>20:01</td><td></td><td>20:14</td><td></td><td>20:34</td><td></td><td></td><td>21:01</td><td>21:17</td><td></td><td>21:35</td><td></td><td></td><td>22:01</td></tr><tr><td>1577</td><td>무궁화</td><td>19:15</td><td>19:24</td><td></td><td>19:49</td><td></td><td>20:04</td><td>20:17</td><td></td><td>20:32</td><td></td><td>20:54</td><td></td><td></td><td>21:22</td><td>21:38</td><td></td><td>21:57</td><td>22:06</td><td></td><td>22:26</td></tr><tr><td>1429</td><td>ITX-새마을</td><td>20:03</td><td>20:11</td><td></td><td>20:34</td><td></td><td></td><td>20:53</td><td></td><td>21:06</td><td></td><td>21:26</td><td></td><td></td><td>21:53</td><td>22:09</td><td></td><td>22:27</td><td>22:36</td><td></td><td>22:56</td></tr><tr><td>1287</td><td>무궁화</td><td>20:43</td><td>20:53</td><td>21:05</td><td>21:20</td><td></td><td></td><td>21:40</td><td></td><td>21:59</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>0:30</td></tr><tr><td>1471</td><td>무궁화</td><td>21:22</td><td>21:31</td><td>21:44</td><td>21:59</td><td></td><td></td><td>22:21</td><td></td><td>22:36</td><td></td><td>22:57</td><td></td><td>23:14</td><td>23:30</td><td>23:46</td><td></td><td>0:06</td><td>0:15</td><td>0:26</td><td>0:38</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>익산역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '익산'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">익산역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">익산역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '35030';
            let curName = '익산';
            let altCity = '11';
            let altName = '용산';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">익산역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">16℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 구름많음</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">20%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">익산역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%83%9C%EB%B0%B1%EC%B9%BC%EA%B5%AD%EC%88%98+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%9D%B5%EC%82%B0%EC%8B%9C+%EC%A4%91%EC%95%99%EB%8F%991%EA%B0%80+52-3" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">태백칼국수</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;칼국수,만두</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 익산시 중앙동1가 52-3</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%8B%A4%EB%A6%AC%EB%AF%B8%EC%82%BC%EA%B2%B9%EC%82%B4+%EC%9D%B5%EC%82%B0%EC%A0%90+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%9D%B5%EC%82%B0%EC%8B%9C+%EB%AA%A8%ED%98%84%EB%8F%991%EA%B0%80+277-90+1%EC%B8%B5+%EB%8B%A4%EB%A6%AC%EB%AF%B8%EC%82%BC%EA%B2%B9%EC%82%B4+%EC%9D%B5%EC%82%B0%EC%A0%90" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">다리미삼겹살 익산점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;돼지고기구이</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 익산시 모현동1가 277-90 1층 다리미삼겹살 익산점</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%8C%8C%EB%A6%AC%EB%B0%94%EA%B2%8C%EB%9C%A8+%EC%9D%B5%EC%82%B0%EB%AA%A8%ED%98%84%EC%A0%90+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%9D%B5%EC%82%B0%EC%8B%9C+%EB%AA%A8%ED%98%84%EB%8F%991%EA%B0%80+271-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">파리바게뜨 익산모현점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 익산시 모현동1가 271-1</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A9%94%EA%B0%80MGC%EC%BB%A4%ED%94%BC+%EC%9D%B5%EC%82%B0%EB%AA%A8%ED%98%84%EC%A0%90+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%9D%B5%EC%82%B0%EC%8B%9C+%EB%AA%A8%ED%98%84%EB%8F%991%EA%B0%80+272-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">메가MGC커피 익산모현점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;카페</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 익산시 모현동1가 272-1</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A1%AF%EB%8D%B0%EB%A6%AC%EC%95%84+%EC%9D%B5%EC%82%B0%EB%AA%A8%ED%98%84%EC%A0%90+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%9D%B5%EC%82%B0%EC%8B%9C+%EB%AA%A8%ED%98%84%EB%8F%991%EA%B0%80+272-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">롯데리아 익산모현점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 익산시 모현동1가 272-1</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">익산역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 익산역 동                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,000원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 전라북도 익산시 창인동2가 1<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 익산역 서                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,000원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 전라북도 익산시 창인동2가 1<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">익산역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 전라북도 익산시 창인동2가 1</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:062-941-0874" style="color: #0052a4; font-weight: bold; text-decoration: none;">062-941-0874</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%9D%B5%EC%82%B0%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/익산역과-용산역-기차-시간표-KTX-ITX-마음-새마을호-무궁화호-호남선-전라선-첫기차-마지막기차-요금-정차역.jpg" alt="익산역과-용산역-기차-시간표-KTX-ITX-마음-새마을호-무궁화호-호남선-전라선-첫기차-마지막기차-요금-정차역" class="wp-image-20093" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/익산역과-용산역-기차-시간표-KTX-ITX-마음-새마을호-무궁화호-호남선-전라선-첫기차-마지막기차-요금-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/익산역과-용산역-기차-시간표-KTX-ITX-마음-새마을호-무궁화호-호남선-전라선-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/익산역과-용산역-기차-시간표-KTX-ITX-마음-새마을호-무궁화호-호남선-전라선-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>전주역 여수역 기차 시간표 KTX SRT 마음 새마을 무궁화호 왕복 요금</title>
		<link>https://krailroad.co.kr/%ec%a0%84%ec%a3%bc%ec%97%ad-%ec%97%ac%ec%88%98%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-srt-%eb%a7%88%ec%9d%8c-%ec%83%88%eb%a7%88%ec%9d%84-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 02 Apr 2026 05:28:27 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[전주역 여수역 기차]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20027</guid>

					<description><![CDATA[한옥의 조용한 정취가 머무는 전주를 떠나 푸른 바다의 낭만이 기다리는 여수로 향하는 길은 이제 호남 내륙과 남해안을 잇는 가장 아름다운 철길로써, 예전처럼 굽이진 단선 선로를 따라 느릿하게 풍경을 눈에 담던 기억은 전주역 여수역 기차 덕분에 과거의 장면이 되었으며, 두 도시 사이의 거리는 이제 마음만 먹으면 언제든 닿을 수 있는 일상적인 생활권으로 좁혀졌는데요. 역사 대합실 전광판 ... <a title="전주역 여수역 기차 시간표 KTX SRT 마음 새마을 무궁화호 왕복 요금" class="read-more button" href="https://krailroad.co.kr/%ec%a0%84%ec%a3%bc%ec%97%ad-%ec%97%ac%ec%88%98%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-srt-%eb%a7%88%ec%9d%8c-%ec%83%88%eb%a7%88%ec%9d%84-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8/" aria-label="전주역 여수역 기차 시간표 KTX SRT 마음 새마을 무궁화호 왕복 요금 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">한옥의 조용한 정취가 머무는 전주를 떠나 푸른 바다의 낭만이 기다리는 여수로 향하는 길은 이제 호남 내륙과 남해안을 잇는 가장 아름다운 철길로써, 예전처럼 굽이진 단선 선로를 따라 느릿하게 풍경을 눈에 담던 기억은 전주역 여수역 기차 덕분에 과거의 장면이 되었으며, 두 도시 사이의 거리는 이제 마음만 먹으면 언제든 닿을 수 있는 일상적인 생활권으로 좁혀졌는데요.</p>



<p class="wp-block-paragraph">역사 대합실 전광판 앞에 서서 순서를 기다리거나 웹상에 떠도는 출처 불분명한 정보에 속아 헛걸음 하는 수고는 이제 내려놓으셔도 좋습니다. 아래 자료는 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 자료와 실시간 공공데이터 API를 기반으로 현재 KTX, KTX-산천, SRT, ITX-마음, ITX-새마을호, 무궁화호 전주역 여수역 기차가 어디쯤 달려오고 있는지 실시간으로 추적하는 시스템을 마련했기 때문인데요. 화면을 열어두는 것만으로도 열차의 출발 임박 상태나 정확한 도착 시각을 즉시 확인할 수 있어, 스마트폰 하나로 전주역 여수역 기차 시간표의 흐름을 완벽하게 파악할 수 있습니다(<a href="https://krailroad.co.kr/train-schedule-search/">전광판 처럼 이용가능한 검색은 여기로 이동하세요</a>).</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>전주역 여수역 기차 안내</strong></h2>



<h3 class="wp-block-heading">남도의 맥박을 잇는 전라선</h3>



<p class="wp-block-paragraph">오랜 시간 단선 구간이 많아 속도를 내기 어려웠던 전라선은 철길을 넓히고 전동차가 시원하게 내달릴 수 있도록 현대화한 공사가 결실을 보며 완전히 새로운 전환점을 맞이했습니다. 특히 전주역과 여수엑스포역을 잇는 이 구간은 남도 관광의 핵심축이자 서로를 잇는 결정적인 길목으로 거듭났는데요. 세련된 역사와 탁 트인 풍경은 방문객들에게 전주와 여수라는 두 도시의 매력을 고스란히 전달하는 상징적인 통로가 되었습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">미래를 향해 확장되는 전라권 철도</h3>



<p class="wp-block-paragraph">현재 전주역 여수역 기차 노선은 단순히 기차가 서는 곳을 넘어 전라권 교통과 관광을 견인하는 핵심적인 역할을 수행하고 있습니다. 앞으로 열차 배차가 더욱 촘촘해지고 고속화 사업이 지속되면, 전주의 전통 문화와 여수의 해양 인프라가 실시간으로 교류하며 지역 경제 전반에 새로운 활기를 불어넣는 든든한 배경이 될 것입니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">KTX와 ITX-마음의 전라권 지도</h3>



<p class="wp-block-paragraph">좌석에 앉아 창밖으로 흐르는 지리산 자락과 남도의 너른 들판을 보면 어느덧 목적지인 여수의 바다 공기가 느껴집니다. <a href="https://krailroad.co.kr/%ec%a0%84%ec%a3%bc%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%95%9c%ec%98%a5%eb%a7%88%ec%9d%84-%ec%97%ac%ec%88%98%c2%b7%ec%9a%a9%ec%82%b0%ed%96%89%ec%84%9c%ec%9a%b8%ec%97%ad-%ea%b4%91%eb%aa%85/">전주역 열차 시간표</a>나 <a href="https://krailroad.co.kr/%ec%97%ac%ec%88%98%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%88%9c%ec%b2%9c%ec%a0%84%ec%a3%bc%ec%9a%a9%ec%82%b0%ed%96%89-%ec%a0%84%eb%9d%bc%ec%84%a0-%ed%95%98%ed%96%89-%ec%83%81%ed%96%89-%eb%85%b8/">여수역 기차 시간표</a>를 살펴보면 열차들이 촘촘히 운행하고 있어서 혼행이나 가족여행등 열차를 이용하시기에 큰 불편함 없이 이용하실 수 있으며, 아래 실시간 버스 도착, 주변 맛집, 역사 주차장 요금과 위치, 날씨등도 같이 연동되어 있으니 참고하시고 이용하시면 됩니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">여수 ↔&nbsp;전주 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">여수엑스포<br>↓<br>전주</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">502호</span><div class="time-display">5:05</div><div class="arrival-info">6:25 도착</div></td><td><span class="train-detail">524호</span><div class="time-display">21:54</div><div class="arrival-info">23:11 도착</div></td></tr><tr><td><span class="type-label type-default">SRT</span></td><td><span class="train-detail">682호</span><div class="time-display">6:45</div><div class="arrival-info">8:10 도착</div></td><td><span class="train-detail">684호</span><div class="time-display">14:30</div><div class="arrival-info">15:55 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">전주<br>↓<br>여수엑스포</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">501호</span><div class="time-display">6:51</div><div class="arrival-info">8:11 도착</div></td><td><span class="train-detail">523호</span><div class="time-display">23:16</div><div class="arrival-info">0:36 도착</div></td></tr><tr><td><span class="type-label type-default">SRT</span></td><td><span class="train-detail">681호</span><div class="time-display">12:09</div><div class="arrival-info">13:36 도착</div></td><td><span class="train-detail">683호</span><div class="time-display">20:53</div><div class="arrival-info">22:20 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="3" style="border-top:1px solid #ddd;">여수엑스포<br>↓<br>전주</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1522호</span><div class="time-display">06:51</div><div class="arrival-info">08:27 도착</div></td><td><span class="train-detail">1532호</span><div class="time-display">22:40</div><div class="arrival-info">00:15 도착</div></td></tr><tr><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1502호</span><div class="time-display">08:48</div><div class="arrival-info">10:17 도착</div></td><td><span class="train-detail">1506호</span><div class="time-display">14:10</div><div class="arrival-info">15:44 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1572호</span><div class="time-display">06:30</div><div class="arrival-info">08:17 도착</div></td><td><span class="train-detail">1578호</span><div class="time-display">19:15</div><div class="arrival-info">21:04 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="3" style="border-top:1px solid #ddd;">전주<br>↓<br>여수엑스포</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1521호</span><div class="time-display">07:01</div><div class="arrival-info">08:40 도착</div></td><td><span class="train-detail">1531호</span><div class="time-display">21:20</div><div class="arrival-info">22:56 도착</div></td></tr><tr><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1501호</span><div class="time-display">10:27</div><div class="arrival-info">11:56 도착</div></td><td><span class="train-detail">1505호</span><div class="time-display">19:50</div><div class="arrival-info">21:22 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1571호</span><div class="time-display">09:17</div><div class="arrival-info">11:03 도착</div></td><td><span class="train-detail">1577호</span><div class="time-display">22:46</div><div class="arrival-info">00:26 도착</div></td></tr></tbody></table></div>


    
    <h2>전주 ↔ 여수 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">전주 ↔ 여수</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                14,900원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">전주 ↔ 여수엑스포</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">공주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                16,100원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                22,500원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">전주 ↔ 여수엑스포</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대전</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                16,100원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                22,500원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">전주 ↔ 여수엑스포</span>
                            <span class="u-grade-bottom">SRT</span>
                                                            <span class="t-via">전라선</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                15,300원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                22,200원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">전주 ↔ 여수</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                10,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전주 →&nbsp;여수 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>전주</th><th>남원</th><th>곡성</th><th>구례구</th><th>순천</th><th>여천</th><th>여수엑스포</th><th>비고</th></tr></thead><tbody><tr><td>501</td><td>KTX_산천</td><td>6:51</td><td>7:18</td><td></td><td></td><td>7:49</td><td>8:03</td><td>8:11</td><td>매일</td></tr><tr><td>503</td><td>KTX</td><td>8:56</td><td>9:23</td><td></td><td>9:41</td><td>9:57</td><td>10:11</td><td>10:19</td><td>매일</td></tr><tr><td>4051</td><td>KTX_산천</td><td>9:27</td><td>9:54</td><td></td><td></td><td>10:25</td><td>10:39</td><td>10:47</td><td>금토일</td></tr><tr><td>581</td><td>KTX</td><td>9:59</td><td>10:27</td><td>10:37</td><td></td><td>11:01</td><td>11:15</td><td>11:23</td><td>매일</td></tr><tr><td>505</td><td>KTX</td><td>10:20</td><td>10:47</td><td>10:57</td><td>11:09</td><td>11:24</td><td>11:38</td><td>11:47</td><td>매일</td></tr><tr><td>507</td><td>KTX_산천</td><td>11:39</td><td>12:06</td><td>12:16</td><td></td><td>12:40</td><td>12:54</td><td>13:02</td><td>매일</td></tr><tr><td>9507</td><td>KTX-산천</td><td>11:39</td><td>12:06</td><td>12:16</td><td></td><td>12:40</td><td>12:54</td><td>13:02</td><td>금토일</td></tr><tr><td>509</td><td>KTX</td><td>12:39</td><td>13:06</td><td></td><td></td><td>13:37</td><td>13:51</td><td>13:59</td><td>매일</td></tr><tr><td>511</td><td>KTX-산천</td><td>14:03</td><td>14:30</td><td>14:40</td><td></td><td>15:04</td><td></td><td>15:23</td><td>매일</td></tr><tr><td>543</td><td>KTX_산천</td><td>14:24</td><td>14:51</td><td></td><td>15:10</td><td>15:26</td><td>15:40</td><td>15:48</td><td>월화수목토일</td></tr><tr><td>513</td><td>KTX</td><td>15:51</td><td>16:18</td><td></td><td></td><td>16:49</td><td>17:03</td><td>17:12</td><td>매일</td></tr><tr><td>583</td><td>KTX-산천</td><td>17:05</td><td>17:32</td><td></td><td>17:50</td><td>18:06</td><td>18:20</td><td>18:28</td><td>월화수목</td></tr><tr><td>593</td><td>KTX_산천</td><td>17:07</td><td>17:34</td><td></td><td>17:53</td><td>18:08</td><td>18:22</td><td>18:30</td><td>금토일</td></tr><tr><td>515</td><td>KTX_산천</td><td>18:27</td><td>18:54</td><td>19:04</td><td>19:16</td><td>19:31</td><td>19:45</td><td>19:54</td><td>매일</td></tr><tr><td>517</td><td>KTX-산천</td><td>19:23</td><td>19:50</td><td></td><td></td><td>20:21</td><td>20:35</td><td>20:44</td><td>매일</td></tr><tr><td>519</td><td>KTX-산천</td><td>20:29</td><td>20:56</td><td></td><td>21:14</td><td>21:30</td><td>21:44</td><td>21:52</td><td>매일</td></tr><tr><td>521</td><td>KTX</td><td>21:48</td><td>22:15</td><td>22:25</td><td></td><td>22:49</td><td>23:03</td><td>23:12</td><td>매일</td></tr><tr><td>541</td><td>KTX-산천</td><td>22:15</td><td>22:42</td><td></td><td></td><td>23:13</td><td>23:27</td><td>23:36</td><td>매일</td></tr><tr><td>523</td><td>KTX_산천</td><td>23:16</td><td>23:43</td><td></td><td></td><td>0:14</td><td>0:28</td><td>0:36</td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>전주</th><th>임실</th><th>오수</th><th>남원</th><th>곡성</th><th>구례구</th><th>순천</th><th>여천</th><th>여수엑스포</th></tr></thead><tbody><tr><td>1521</td><td>ITX-마음</td><td>07:01</td><td>07:18</td><td>07:26</td><td>07:37</td><td>07:48</td><td>08:00</td><td>08:17</td><td>08:32</td><td>08:40</td></tr><tr><td>1523</td><td>ITX-마음</td><td>07:53</td><td>08:10</td><td>08:18</td><td>08:29</td><td>08:40</td><td>08:52</td><td>09:09</td><td>09:24</td><td>09:32</td></tr><tr><td>1571</td><td>무궁화</td><td>09:17</td><td>09:34</td><td>09:47</td><td>09:59</td><td>10:10</td><td>10:22</td><td>10:40</td><td>10:55</td><td>11:03</td></tr><tr><td>1525</td><td>ITX-마음</td><td>09:50</td><td>10:06</td><td>10:20</td><td>10:32</td><td>10:43</td><td>10:55</td><td>11:11</td><td>11:26</td><td>11:34</td></tr><tr><td>1501</td><td>ITX-새마을</td><td>10:27</td><td></td><td></td><td>10:54</td><td>11:05</td><td>11:17</td><td>11:33</td><td>11:48</td><td>11:56</td></tr><tr><td>1503</td><td>ITX-마음</td><td>12:53</td><td></td><td></td><td>13:21</td><td>13:32</td><td>13:44</td><td>14:02</td><td>14:17</td><td>14:26</td></tr><tr><td>1573</td><td>무궁화</td><td>13:30</td><td>13:47</td><td>13:55</td><td>14:07</td><td>14:18</td><td>14:30</td><td>14:49</td><td>15:04</td><td>15:13</td></tr><tr><td>1527</td><td>ITX-마음</td><td>14:18</td><td>14:39</td><td>14:48</td><td>15:00</td><td>15:11</td><td>15:24</td><td>15:41</td><td>15:57</td><td>16:05</td></tr><tr><td>1529</td><td>ITX-마음</td><td>17:20</td><td>17:38</td><td>17:47</td><td>18:00</td><td>18:11</td><td>18:24</td><td>18:42</td><td>18:59</td><td>19:08</td></tr><tr><td>1575</td><td>무궁화</td><td>18:40</td><td>18:57</td><td>19:05</td><td>19:16</td><td>19:27</td><td>19:40</td><td>19:57</td><td>20:13</td><td>20:21</td></tr><tr><td>1505</td><td>ITX-새마을</td><td>19:50</td><td></td><td>20:10</td><td>20:20</td><td>20:30</td><td>20:42</td><td>20:59</td><td>21:13</td><td>21:22</td></tr><tr><td>1531</td><td>ITX-마음</td><td>21:20</td><td>21:36</td><td>21:44</td><td>21:54</td><td>22:05</td><td>22:17</td><td>22:33</td><td>22:48</td><td>22:56</td></tr><tr><td>1507</td><td>ITX-마음</td><td>20:19</td><td></td><td></td><td>20:46</td><td></td><td></td><td>21:20</td><td>21:34</td><td>21:43</td></tr><tr><td>1577</td><td>무궁화</td><td>22:46</td><td>23:03</td><td>23:11</td><td>23:22</td><td>23:33</td><td>23:45</td><td>00:02</td><td>00:17</td><td>00:26</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전주 →&nbsp;여수 SRT 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>전주</th><th>남원</th><th>곡성</th><th>구례구</th><th>순천</th><th>여천</th><th>여수엑스포</th><th>비고</th></tr></thead><tbody><tr><td>681</td><td>SRT</td><td>12:09</td><td>12:36</td><td>12:46</td><td>12:58</td><td>13:14</td><td>13:28</td><td>13:36</td><td>매일</td></tr><tr><td>683</td><td>SRT</td><td>20:53</td><td>21:20</td><td>21:30</td><td>21:41</td><td>21:57</td><td>22:11</td><td>22:20</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">여수 →&nbsp;전주 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>여수엑스포</th><th>여천</th><th>순천</th><th>구례구</th><th>곡성</th><th>남원</th><th>전주</th><th>비고</th></tr></thead><tbody><tr><td>502</td><td>KTX-산천</td><td>5:05</td><td>5:13</td><td>5:26</td><td>5:41</td><td></td><td>6:00</td><td>6:25</td><td>매일</td></tr><tr><td>504</td><td>KTX</td><td>6:03</td><td>6:11</td><td>6:25</td><td></td><td>6:48</td><td>6:59</td><td>7:26</td><td>매일</td></tr><tr><td>542</td><td>KTX_산천</td><td>7:47</td><td>7:55</td><td>8:08</td><td>8:23</td><td>8:35</td><td>8:45</td><td>9:11</td><td>매일</td></tr><tr><td>506</td><td>KTX-산천</td><td>8:41</td><td>8:49</td><td>9:02</td><td>9:17</td><td></td><td>9:36</td><td>10:02</td><td>매일</td></tr><tr><td>508</td><td>KTX_산천</td><td>10:21</td><td>10:28</td><td>10:42</td><td></td><td></td><td>11:12</td><td>11:38</td><td>매일</td></tr><tr><td>510</td><td>KTX</td><td>11:57</td><td>12:04</td><td>12:18</td><td></td><td>12:42</td><td>12:52</td><td>13:18</td><td>매일</td></tr><tr><td>582</td><td>KTX</td><td>12:09</td><td></td><td>12:28</td><td>12:43</td><td></td><td>13:02</td><td>13:27</td><td>매일</td></tr><tr><td>512</td><td>KTX</td><td>13:03</td><td></td><td>13:22</td><td></td><td></td><td>13:52</td><td>14:18</td><td>매일</td></tr><tr><td>514</td><td>KTX_산천</td><td>14:00</td><td>14:08</td><td>14:22</td><td></td><td>14:45</td><td>14:56</td><td>15:21</td><td>매일</td></tr><tr><td>516</td><td>KTX</td><td>14:56</td><td>15:04</td><td>15:18</td><td>15:33</td><td></td><td>15:51</td><td>16:17</td><td>매일</td></tr><tr><td>4052</td><td>KTX_산천</td><td>15:26</td><td>15:34</td><td>15:48</td><td>16:03</td><td>16:14</td><td>16:25</td><td>16:51</td><td>금토일</td></tr><tr><td>4054</td><td>KTX-산천</td><td>16:26</td><td>16:33</td><td>16:48</td><td>17:03</td><td></td><td>17:21</td><td>17:47</td><td>금토일</td></tr><tr><td>518</td><td>KTX-산천</td><td>16:34</td><td>16:42</td><td>16:56</td><td></td><td>17:20</td><td>17:30</td><td>17:56</td><td>매일</td></tr><tr><td>520</td><td>KTX</td><td>18:03</td><td>18:11</td><td>18:25</td><td>18:40</td><td>18:52</td><td>19:02</td><td>19:28</td><td>매일</td></tr><tr><td>584</td><td>KTX_산천</td><td>18:53</td><td>19:01</td><td>19:15</td><td></td><td>19:39</td><td>19:49</td><td>20:15</td><td>매일</td></tr><tr><td>544</td><td>KTX-산천</td><td>19:24</td><td>19:32</td><td>19:46</td><td></td><td>20:10</td><td>20:20</td><td>20:46</td><td>월화수목</td></tr><tr><td>546</td><td>KTX_산천</td><td>19:24</td><td>19:32</td><td>19:46</td><td></td><td>20:10</td><td>20:20</td><td>20:46</td><td>토일</td></tr><tr><td>522</td><td>KTX_산천</td><td>20:22</td><td>20:30</td><td>20:44</td><td>20:59</td><td></td><td>21:17</td><td>21:43</td><td>매일</td></tr><tr><td>524</td><td>KTX-산천</td><td>21:54</td><td>22:01</td><td>22:15</td><td></td><td></td><td>22:45</td><td>23:11</td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>여수엑스포</th><th>여천</th><th>순천</th><th>구례구</th><th>곡성</th><th>남원</th><th>오수</th><th>임실</th><th>전주</th></tr></thead><tbody><tr><td>1572</td><td>무궁화</td><td>06:30</td><td>06:38</td><td>06:54</td><td>07:11</td><td>07:23</td><td>07:34</td><td>07:45</td><td>07:58</td><td>08:17</td></tr><tr><td>1522</td><td>ITX-마음</td><td>06:51</td><td>06:59</td><td>07:14</td><td>07:30</td><td>07:42</td><td>07:53</td><td>08:03</td><td>08:11</td><td>08:27</td></tr><tr><td>1502</td><td>ITX-새마을</td><td>08:48</td><td>08:56</td><td>09:11</td><td>09:27</td><td>09:39</td><td>09:49</td><td></td><td></td><td>10:17</td></tr><tr><td>1524</td><td>ITX-마음</td><td>10:00</td><td>10:08</td><td>10:23</td><td>10:38</td><td>10:51</td><td>11:02</td><td>11:13</td><td>11:26</td><td>11:44</td></tr><tr><td>1504</td><td>ITX-마음</td><td>11:08</td><td>11:16</td><td>11:32</td><td></td><td></td><td>12:06</td><td></td><td></td><td>12:34</td></tr><tr><td>1526</td><td>ITX-마음</td><td>12:15</td><td>12:23</td><td>12:39</td><td>12:56</td><td>13:08</td><td>13:19</td><td>13:30</td><td>13:38</td><td>13:55</td></tr><tr><td>1574</td><td>무궁화</td><td>13:19</td><td>13:27</td><td>13:43</td><td>14:01</td><td>14:13</td><td>14:25</td><td>14:36</td><td>14:45</td><td>15:03</td></tr><tr><td>1506</td><td>ITX-새마을</td><td>14:10</td><td>14:19</td><td>14:34</td><td>14:50</td><td>15:02</td><td>15:13</td><td></td><td>15:27</td><td>15:44</td></tr><tr><td>1508</td><td>ITX-마음</td><td>15:49</td><td>15:57</td><td>16:12</td><td>16:28</td><td>16:40</td><td>16:51</td><td></td><td></td><td>17:19</td></tr><tr><td>1528</td><td>ITX-마음</td><td>16:47</td><td>16:55</td><td>17:10</td><td>17:26</td><td>17:38</td><td>17:49</td><td>17:59</td><td>18:07</td><td>18:23</td></tr><tr><td>1576</td><td>무궁화</td><td>18:12</td><td>18:21</td><td>18:38</td><td>18:56</td><td>19:08</td><td>19:19</td><td>19:31</td><td>19:40</td><td>19:57</td></tr><tr><td>1578</td><td>무궁화</td><td>19:15</td><td>19:23</td><td>19:39</td><td>20:01</td><td>20:15</td><td>20:28</td><td>20:39</td><td>20:47</td><td>21:04</td></tr><tr><td>1530</td><td>ITX-마음</td><td>21:00</td><td>21:08</td><td>21:24</td><td>21:41</td><td>21:53</td><td>22:04</td><td>22:15</td><td>22:23</td><td>22:41</td></tr><tr><td>1532</td><td>ITX-마음</td><td>22:40</td><td>22:48</td><td>23:04</td><td>23:21</td><td>23:33</td><td>23:44</td><td></td><td></td><td>00:15</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">여수 →&nbsp;전주 SRT 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>여수엑스포</th><th>여천</th><th>순천</th><th>구례구</th><th>곡성</th><th>남원</th><th>전주</th><th>비고</th></tr></thead><tbody><tr><td>682</td><td>SRT</td><td>6:45</td><td>6:53</td><td>7:07</td><td>7:22</td><td>7:33</td><td>7:44</td><td>8:10</td><td>매일</td></tr><tr><td>684</td><td>SRT</td><td>14:30</td><td>14:38</td><td>14:51</td><td>15:06</td><td>15:18</td><td>15:29</td><td>15:55</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>전주역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '전주'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">전주역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">전주역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '35010';
            let curName = '전주';
            let altCity = '36020';
            let altName = '여수';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">전주역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">16℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 구름많음</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">20%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">전주역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/PNB+%ED%92%8D%EB%85%84%EC%A0%9C%EA%B3%BC+%EC%A0%84%EC%A3%BC%EC%97%AD%EC%A0%90+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%A0%84%EC%A3%BC%EC%8B%9C+%EB%8D%95%EC%A7%84%EA%B5%AC+%EC%9A%B0%EC%95%84%EB%8F%993%EA%B0%80+752-56+1F+PNB%ED%92%8D%EB%85%84%EC%A0%9C%EA%B3%BC" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">PNB 풍년제과 전주역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 전주시 덕진구 우아동3가 752-56 1F PNB풍년제과</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%8C%8C%EB%A6%AC%EB%B0%94%EA%B2%8C%EB%9C%A8+%EC%A0%84%EC%A3%BC%ED%98%B8%EC%84%B1%EC%A0%90+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%A0%84%EC%A3%BC%EC%8B%9C+%EB%8D%95%EC%A7%84%EA%B5%AC+%ED%98%B8%EC%84%B1%EB%8F%991%EA%B0%80+794-8+794-8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">파리바게뜨 전주호성점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 전주시 덕진구 호성동1가 794-8 794-8</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%92%8D%EB%85%84%EC%A0%9C%EA%B3%BC+%EC%8B%9C%EA%B7%B8%EB%8B%88%EC%B2%98+%EC%A0%84%EC%A3%BC%EC%97%AD%EC%A0%84%EC%A0%90+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%A0%84%EC%A3%BC%EC%8B%9C+%EB%8D%95%EC%A7%84%EA%B5%AC+%EC%9A%B0%EC%95%84%EB%8F%993%EA%B0%80+752-48+1%EC%B8%B5+110%ED%98%B8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">풍년제과 시그니처 전주역전점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 전주시 덕진구 우아동3가 752-48 1층 110호</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A9%94%EB%A5%B4%EB%B0%80%EC%A7%84%EB%AF%B8%EC%A7%91+%EC%A0%84%EC%A3%BC%EC%97%AD%EC%A0%90+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%A0%84%EC%A3%BC%EC%8B%9C+%EB%8D%95%EC%A7%84%EA%B5%AC+%EC%9A%B0%EC%95%84%EB%8F%993%EA%B0%80+747-14+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">메르밀진미집 전주역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;한식&gt;국수</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 전주시 덕진구 우아동3가 747-14 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%8F%99%ED%98%B8%EA%B3%B1%EC%B0%BD+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%A0%84%EC%A3%BC%EC%8B%9C+%EB%8D%95%EC%A7%84%EA%B5%AC+%EC%9A%B0%EC%95%84%EB%8F%993%EA%B0%80+748-14" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">동호곱창</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;곱창,막창,양</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 전주시 덕진구 우아동3가 748-14</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">전주역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 전주역 후면                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">900원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">9,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 전라북도 전주시 덕진구 동부대로 680<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">전주역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 전라북도 전주시 덕진구 동부대로 680</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:062-941-0874" style="color: #0052a4; font-weight: bold; text-decoration: none;">062-941-0874</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%A0%84%EC%A3%BC%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/04/전주역-여수역-기차-시간표-KTX-ITX-마음-새마을호-무궁화호-전라선-첫기차-마지막기차-요금-정차역.jpg" alt="전주역-여수역-기차-시간표-KTX-ITX-마음-새마을호-무궁화호-전라선-첫기차-마지막기차-요금-정차역" class="wp-image-20090" srcset="https://krailroad.co.kr/wp-content/uploads/2026/04/전주역-여수역-기차-시간표-KTX-ITX-마음-새마을호-무궁화호-전라선-첫기차-마지막기차-요금-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/04/전주역-여수역-기차-시간표-KTX-ITX-마음-새마을호-무궁화호-전라선-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/04/전주역-여수역-기차-시간표-KTX-ITX-마음-새마을호-무궁화호-전라선-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>포항역 대전역 열차 시간표 KTX SRT 상하행 동해선노선 요금</title>
		<link>https://krailroad.co.kr/%ed%8f%ac%ed%95%ad%ec%97%ad-%eb%8c%80%ec%a0%84%ec%97%ad-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-srt-%ec%83%81%ed%95%98%ed%96%89-%eb%8f%99%ed%95%b4%ec%84%a0%eb%85%b8%ec%84%a0-%ec%9a%94/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Tue, 31 Mar 2026 05:30:04 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[포항역 대전역 열차]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=20011</guid>

					<description><![CDATA[푸른 동해의 끝자락 포항을 뒤로하고 충청권의 관문 대전으로 향하는 길은 이제 영남과 중부권을 하나의 호흡으로 묶어주는 핵심적인 철길로써, 과거 구불구불한 선로를 따라 한참을 돌아가야 했던 기억은 시원하게 뻗은 철로 위를 빠르게 질주하는 포항역 대전역 열차 덕분에 과거의 장면이 되었습니다. 인터넷 여기저기에 떠도는 오래된 정보나 믿기 힘든 구식 시간표를 확인하지 마시고, 코레일 공식 자료와 실시간 API를 ... <a title="포항역 대전역 열차 시간표 KTX SRT 상하행 동해선노선 요금" class="read-more button" href="https://krailroad.co.kr/%ed%8f%ac%ed%95%ad%ec%97%ad-%eb%8c%80%ec%a0%84%ec%97%ad-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-srt-%ec%83%81%ed%95%98%ed%96%89-%eb%8f%99%ed%95%b4%ec%84%a0%eb%85%b8%ec%84%a0-%ec%9a%94/" aria-label="포항역 대전역 열차 시간표 KTX SRT 상하행 동해선노선 요금 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">푸른 동해의 끝자락 포항을 뒤로하고 충청권의 관문 대전으로 향하는 길은 이제 영남과 중부권을 하나의 호흡으로 묶어주는 핵심적인 철길로써, 과거 구불구불한 선로를 따라 한참을 돌아가야 했던 기억은 시원하게 뻗은 철로 위를 빠르게 질주하는 포항역 대전역 열차 덕분에 과거의 장면이 되었습니다.</p>



<p class="wp-block-paragraph">인터넷 여기저기에 떠도는 오래된 정보나 믿기 힘든 구식 시간표를 확인하지 마시고, <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 자료와 실시간 API를 연동해 포항역 <a href="https://krailroad.co.kr/%eb%8c%80%ec%a0%84%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%84%9c%ec%9a%b8-%eb%b6%80%ec%82%b0-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%9a%94%ea%b8%88-%ec%a0%95%ec%b0%a8%ec%97%ad/">대전역 열차 시간표</a> 시스템을 마련했습니다. 아래 실시간 검색창은 1분 단위로 정보를 스스로 갱신하며, KTX-산천부터 SRT까지 열차의 운행 현황을 역사 내 전광판처럼 생생하게 확인 가능하며, 화면을 띄워두는 것만으로도 출발 시각과 도착 여부를 즉각 파악할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>포항역 대전역 열차 문화</strong></h2>



<h3 class="wp-block-heading">해오름 동맹, 포항역이 품은 철도</h3>



<p class="wp-block-paragraph">2015년 고속철도가 처음 기적을 울린 이래 포항역은 경북 동해안의 중추이자 도시 성장의 새로운 동력이 되었습니다. 세월이 흐르며 현대적인 선상 역사로 거듭난 이곳은 방문객들에게 포항 특유의 역동적인 에너지를 전달하며, 죽도시장이나 영일대 해수욕장 같은 명소로 향하는 통로이자 중부권을 잇는 철도 교통의 핵심적인 지점이 되었는데요. 단순히 기차가 머무는 곳을 넘어 포항의 해양 산업과 대전의 과학 인프라가 실시간으로 교류하는 거대한 가교 역할을 하고 있습니다.<br><br>이러한 철길의 연결은 비즈니스를 넘어 일상의 휴식으로도 우리를 안내하는데요. 열차에서 내려 곧장 마주하는 해상스카이워크와 가족 캠핑의 여유는 복잡한 도심을 잠시 잊게 만드는 마법 같은 순간을 선사하며, 특히 <a href="https://krailroad.co.kr/itx-%eb%a7%88%ec%9d%8c%ea%b3%bc-%ec%9e%90%eb%8f%99%ec%b0%a8%eb%a1%9c-%ec%8b%9c%ec%9e%91%ed%95%9c-%ed%8f%ac%ed%95%ad-1%eb%b0%95-2%ec%9d%bc-%ed%95%b4%ec%83%81%ec%8a%a4%ec%b9%b4%ec%9d%b4%ec%9b%8c/">ITX-마음과 자동차로 시작한 포항 1박 2일</a> 여행처럼 기차와 현지 이동 수단을 적절히 섞어 활용하면 동해안의 매력을 훨씬 입체적으로 즐길 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">미래를 향해 교차하는 대전역</h3>



<p class="wp-block-paragraph">현재 포항역 대전역 열차는 서는 역의 기능을 넘어 교통 체계의 통합과 역세권 개발이 맞물린 스마트 교통의 중심지로 진화하고 있으며, 선로를 정비하고 열차가 시원하게 내달릴 수 있도록 현대화하는 노력이 결실을 본 셈인데요. 앞으로 충청권 광역철도와 고속철도가 교차하는 지점으로서 그 가치는 더욱 커질 것으로 보이며, 이는 대전의 지식 서비스 산업이 서울의 거대 비즈니스망과 소통하며 지역 경제 전반에 새로운 생기를 불어넣는 중요한 토대가 될것입니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">창밖의 정취와 쾌적한 이동</h3>



<p class="wp-block-paragraph">좌석에 앉아 창밖으로 흐르는 경북의 산세와 너른 들판을 즐기다 보면 어느덧 목적지인 대전의 공기가 느끼실 수 있으며, <a href="https://krailroad.co.kr/%ed%8f%ac%ed%95%ad%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%84%9c%ec%9a%b8%c2%b7%eb%8c%80%ec%a0%84%c2%b7%eb%8f%99%eb%8c%80%ea%b5%ac-%eb%b0%8f-%ea%b0%95%eb%a6%89%c2%b7%eb%b6%80%ec%a0%84%ed%96%89/">포항역 열차 시간표</a>를 살펴보면 열차가 효율적으로 짜여 있어 출장이나 여행길에 오르기가 한결 가벼워졌는데요. 예전과는 비교할 수 없는 여유로운 열차 이동이 가능함으로, 나침반처럼 정교한 실시간 정보를 이정표 삼아 포항역 대전역 열차를 이용하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">포항 ↔&nbsp;대전 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">포항<br>↓<br>대전</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">232호</span><div class="time-display">05:35</div><div class="arrival-info">07:00 도착</div></td><td><span class="train-detail">254호</span><div class="time-display">21:36</div><div class="arrival-info">23:00 도착</div></td></tr><tr><td><span class="type-label type-default">SRT</span></td><td><span class="train-detail">392호</span><div class="time-display">9:41</div><div class="arrival-info">11:04 도착</div></td><td><span class="train-detail">394호</span><div class="time-display">19:42</div><div class="arrival-info">21:05 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="2" style="border-top:1px solid #ddd;">대전<br>↓<br>포항</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">297호</span><div class="time-display">06:04</div><div class="arrival-info">07:23 도착</div></td><td><span class="train-detail">253호</span><div class="time-display">23:24</div><div class="arrival-info">00:44 도착</div></td></tr><tr><td><span class="type-label type-default">SRT</span></td><td><span class="train-detail">391호</span><div class="time-display">7:30</div><div class="arrival-info">8:52 도착</div></td><td><span class="train-detail">393호</span><div class="time-display">17:34</div><div class="arrival-info">19:02 도착</div></td></tr></tbody></table></div>


    
    <h2>포항 ↔ 대전 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">대전 ↔ 포항</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">기본</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                30,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                42,600원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">대전 ↔ 포항</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대구</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                30,000원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                42,000원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">대전 ↔ 포항</span>
                            <span class="u-grade-bottom">SRT</span>
                                                            <span class="t-via">동해선</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                27,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                40,000원                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">포항 →&nbsp;대전 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>포항</th><th>동대구</th><th>서대구</th><th>김천구미</th><th>대전</th><th>비고</th></tr></thead><tbody><tr><td>232</td><td>KTX-산천</td><td>05:35</td><td>06:17</td><td></td><td></td><td>07:00</td><td>매일</td></tr><tr><td>234</td><td>KTX-산천</td><td>07:14</td><td>07:56</td><td></td><td>08:19</td><td>08:44</td><td>매일</td></tr><tr><td>236</td><td>KTX-산천</td><td>09:57</td><td>10:39</td><td></td><td></td><td>11:22</td><td>매일</td></tr><tr><td>238</td><td>KTX</td><td>10:14</td><td>10:51</td><td></td><td></td><td>11:34</td><td>매일</td></tr><tr><td>298</td><td>KTX-산천</td><td>10:39</td><td>11:21</td><td></td><td>11:44</td><td>12:09</td><td>금토일</td></tr><tr><td>240</td><td>KTX_산천</td><td>11:04</td><td>11:45</td><td></td><td></td><td>12:28</td><td>월화수목</td></tr><tr><td>4140</td><td>KTX-산천</td><td>11:04</td><td>11:45</td><td></td><td></td><td>12:28</td><td>금토일</td></tr><tr><td>242</td><td>KTX_산천</td><td>12:46</td><td>13:23</td><td></td><td></td><td>14:06</td><td>월화수목</td></tr><tr><td>292</td><td>KTX-산천</td><td>12:46</td><td>13:23</td><td></td><td></td><td>14:06</td><td>금토일</td></tr><tr><td>9292</td><td>KTX_산천</td><td>12:46</td><td>13:23</td><td></td><td></td><td>14:06</td><td>금토일</td></tr><tr><td>244</td><td>KTX-산천</td><td>14:03</td><td>14:44</td><td></td><td></td><td>15:27</td><td>매일</td></tr><tr><td>246</td><td>KTX</td><td>15:35</td><td>16:12</td><td></td><td></td><td>16:55</td><td>매일</td></tr><tr><td>248</td><td>KTX-산천</td><td>16:21</td><td>17:02</td><td></td><td>17:25</td><td>17:50</td><td>매일</td></tr><tr><td>9248</td><td>KTX-산천</td><td>16:21</td><td>17:02</td><td></td><td>17:25</td><td>17:50</td><td>월화수목</td></tr><tr><td>250</td><td>KTX</td><td>18:00</td><td>18:37</td><td></td><td></td><td>19:19</td><td>매일</td></tr><tr><td>4034</td><td>KTX-산천</td><td>18:31</td><td>19:09</td><td></td><td></td><td>19:53</td><td>월화수목</td></tr><tr><td>4032</td><td>KTX-산천</td><td>18:31</td><td>19:16</td><td></td><td></td><td>19:59</td><td>금토일</td></tr><tr><td>294</td><td>KTX_산천</td><td>18:54</td><td>19:35</td><td></td><td>19:58</td><td>20:23</td><td>금토일</td></tr><tr><td>296</td><td>KTX_산천</td><td>18:58</td><td>19:35</td><td></td><td>19:58</td><td>20:23</td><td>월화수목</td></tr><tr><td>252</td><td>KTX-산천</td><td>19:27</td><td>20:08</td><td>20:18</td><td></td><td>21:01</td><td>매일</td></tr><tr><td>254</td><td>KTX-산천</td><td>21:36</td><td>22:17</td><td></td><td></td><td>23:00</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">포항 →&nbsp;대전 SRT 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>포항</th><th>동대구</th><th>대전</th><th>운행요일</th></tr></thead><tbody><tr><td>392</td><td>SRT</td><td>9:41</td><td>10:21</td><td>11:04</td><td>매일</td></tr><tr><td>394</td><td>SRT</td><td>19:42</td><td>20:22</td><td>21:05</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">대전 →&nbsp;포항 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>대전</th><th>김천구미</th><th>동대구</th><th>포항</th><th>비고</th></tr></thead><tbody><tr><td>297</td><td>KTX-산천</td><td>06:04</td><td></td><td>06:48</td><td>07:23</td><td>금토일</td></tr><tr><td>231</td><td>KTX-산천</td><td>06:49</td><td></td><td>07:33</td><td>08:08</td><td>매일</td></tr><tr><td>233</td><td>KTX</td><td>07:50</td><td></td><td>08:34</td><td>09:09</td><td>매일</td></tr><tr><td>235</td><td>KTX_산천</td><td>09:20</td><td></td><td>10:04</td><td>10:39</td><td>월화수목</td></tr><tr><td>4135</td><td>KTX-산천</td><td>09:20</td><td></td><td>10:04</td><td>10:39</td><td>금토일</td></tr><tr><td>4031</td><td>KTX-산천</td><td>09:36</td><td></td><td>10:20</td><td>10:55</td><td>매일</td></tr><tr><td>237</td><td>KTX_산천</td><td>10:29</td><td></td><td>11:14</td><td>11:49</td><td>매일</td></tr><tr><td>239</td><td>KTX-산천</td><td>11:54</td><td></td><td>12:38</td><td>13:13</td><td>매일</td></tr><tr><td>241</td><td>KTX</td><td>13:40</td><td></td><td>14:25</td><td>15:00</td><td>매일</td></tr><tr><td>243</td><td>KTX-산천</td><td>14:09</td><td></td><td>14:56</td><td>15:32</td><td>매일</td></tr><tr><td>245</td><td>KTX</td><td>15:39</td><td>16:04</td><td>16:29</td><td>17:04</td><td>매일</td></tr><tr><td>255</td><td>KTX-산천</td><td>16:15</td><td></td><td>17:00</td><td>17:35</td><td>매일</td></tr><tr><td>4033</td><td>KTX_산천</td><td>16:46</td><td></td><td>17:30</td><td>18:05</td><td>매일</td></tr><tr><td>247</td><td>KTX-산천</td><td>17:24</td><td></td><td>18:08</td><td>18:44</td><td>매일</td></tr><tr><td>249</td><td>KTX-산천</td><td>18:39</td><td>19:04</td><td>19:29</td><td>20:04</td><td>매일</td></tr><tr><td>251</td><td>KTX-산천</td><td>21:49</td><td></td><td>22:33</td><td>23:08</td><td>매일</td></tr><tr><td>253</td><td>KTX-산천</td><td>23:24</td><td></td><td>00:09</td><td>00:44</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">대전 →&nbsp;포항 SRT 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>대전</th><th>김천구미</th><th>동대구</th><th>포항</th><th>운행요일</th></tr></thead><tbody><tr><td>391</td><td>SRT</td><td>7:30</td><td></td><td>8:17</td><td>8:52</td><td>매일</td></tr><tr><td>393</td><td>SRT</td><td>17:34</td><td>17:58</td><td>18:26</td><td>19:02</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>포항역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '포항'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">포항역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">포항역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '37010';
            let curName = '포항';
            let altCity = '25';
            let altName = '대전';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">포항역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">14℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">포항역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%83%A4%EB%B8%8C%EC%95%BC%ED%82%A4+%ED%8F%AC%ED%95%AD%EB%B6%81%EA%B5%AC%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%ED%8F%AC%ED%95%AD%EC%8B%9C+%EB%B6%81%EA%B5%AC+%ED%9D%A5%ED%95%B4%EC%9D%8D+%EC%9D%B4%EC%9D%B8%EB%A6%AC+%EC%82%B0178-1+1%EC%B8%B5+%EC%83%A4%EB%B8%8C%EC%95%BC%ED%82%A4+%ED%8F%AC%ED%95%AD%EB%B6%81%EA%B5%AC%EC%A0%90" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">샤브야키 포항북구점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;일식&gt;샤브샤브</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상북도 포항시 북구 흥해읍 이인리 산178-1 1층 샤브야키 포항북구점</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%8C%8C%EB%A6%AC%EB%B0%94%EA%B2%8C%EB%9C%A8+%ED%8F%AC%ED%95%AD%EC%9A%B0%EC%B0%BD%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%ED%8F%AC%ED%95%AD%EC%8B%9C+%EB%B6%81%EA%B5%AC+%EC%9A%B0%ED%98%84%EB%8F%99+617" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">파리바게뜨 포항우창점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상북도 포항시 북구 우현동 617</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%98%AC%EB%A6%AC%EC%95%A4+%ED%8F%AC%ED%95%AD%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%ED%8F%AC%ED%95%AD%EC%8B%9C+%EB%B6%81%EA%B5%AC+%EC%B0%BD%ED%8F%AC%EB%8F%99+443-1+1%EC%B8%B5+%EC%98%AC%EB%A6%AC%EC%95%A4" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">올리앤 포항점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;이탈리아음식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상북도 포항시 북구 창포동 443-1 1층 올리앤</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EA%B7%B8%EC%A7%91%EC%AD%88%EA%BE%B8%EB%AF%B8+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%ED%8F%AC%ED%95%AD%EC%8B%9C+%EB%B6%81%EA%B5%AC+%EC%9A%B0%ED%98%84%EB%8F%99+589+%EC%9A%B0%ED%98%84%EA%B7%B8%EC%A7%91%EC%AD%88%EA%BE%B8%EB%AF%B8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">그집쭈꾸미</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;주꾸미요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상북도 포항시 북구 우현동 589 우현그집쭈꾸미</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%8A%88%EC%8A%88%EB%AA%A8%EC%95%84+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%ED%8F%AC%ED%95%AD%EC%8B%9C+%EB%B6%81%EA%B5%AC+%EC%9A%B0%ED%98%84%EB%8F%99+4-6" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">슈슈모아</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상북도 포항시 북구 우현동 4-6</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">포항역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 포항역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,000원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">13,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 경상북도 포항시 북구 흥해읍 이인리 137-1<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 053-719-0270                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 포항역정기권                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,000원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 경상북도 포항시 북구 포항역로 1<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 053-719-0270                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">포항역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 경상북도 포항시 북구 흥해읍 이인리 137-1</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:053-719-0270" style="color: #0052a4; font-weight: bold; text-decoration: none;">053-719-0270</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%ED%8F%AC%ED%95%AD%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/03/포항역-대전역-열차-시간표-KTX-SRT-동해선-시간표-첫기차-마지막기차-요금-정차역.jpg" alt="포항역-대전역-열차-시간표-KTX-SRT-동해선-시간표-첫기차-마지막기차-요금-정차역" class="wp-image-20024" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/포항역-대전역-열차-시간표-KTX-SRT-동해선-시간표-첫기차-마지막기차-요금-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/03/포항역-대전역-열차-시간표-KTX-SRT-동해선-시간표-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/03/포항역-대전역-열차-시간표-KTX-SRT-동해선-시간표-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>사곡역 대구역 광역전철 왕복 대경선 시간표 노선 정차역 출퇴근 노선</title>
		<link>https://krailroad.co.kr/%ec%82%ac%ea%b3%a1%ec%97%ad-%eb%8c%80%ea%b5%ac%ec%97%ad-%ea%b4%91%ec%97%ad%ec%a0%84%ec%b2%a0-%ec%99%95%eb%b3%b5-%eb%8c%80%ea%b2%bd%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%85%b8%ec%84%a0-%ec%a0%95/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Mon, 30 Mar 2026 01:09:12 +0000</pubDate>
				<category><![CDATA[대경선 시간표]]></category>
		<category><![CDATA[사곡역 대구역 광역전철]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=19904</guid>

					<description><![CDATA[구미 국가산업단지의 활기가 잠들지 않는 사곡동에서 대구의 중심부인 대구역으로 향하는 사곡역 대구역 광역전철 길은 이제 대경선 광역전철이라는 새로운 맥을 타고 흐릅니다. 예전처럼 완행열차 시간에 맞춰 서둘러 집을 나서거나 꽉 막힌 도로 위에서 가다 서기를 반복하며 아침 에너지를 쏟아붓던 기억은 이제 시원하게 뻗은 전철 선로 위로 질주하는 열차 덕분에 과거의 장면이 되었는데요. 사곡역 대구역 광역전철은 경북과 ... <a title="사곡역 대구역 광역전철 왕복 대경선 시간표 노선 정차역 출퇴근 노선" class="read-more button" href="https://krailroad.co.kr/%ec%82%ac%ea%b3%a1%ec%97%ad-%eb%8c%80%ea%b5%ac%ec%97%ad-%ea%b4%91%ec%97%ad%ec%a0%84%ec%b2%a0-%ec%99%95%eb%b3%b5-%eb%8c%80%ea%b2%bd%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%85%b8%ec%84%a0-%ec%a0%95/" aria-label="사곡역 대구역 광역전철 왕복 대경선 시간표 노선 정차역 출퇴근 노선 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">구미 국가산업단지의 활기가 잠들지 않는 사곡동에서 대구의 중심부인 대구역으로 향하는 사곡역 대구역 광역전철 길은 이제 대경선 광역전철이라는 새로운 맥을 타고 흐릅니다. 예전처럼 완행열차 시간에 맞춰 서둘러 집을 나서거나 꽉 막힌 도로 위에서 가다 서기를 반복하며 아침 에너지를 쏟아붓던 기억은 이제 시원하게 뻗은 전철 선로 위로 질주하는 열차 덕분에 과거의 장면이 되었는데요. 사곡역 대구역 광역전철은 경북과 대구를 하나의 거대한 생활권으로 묶어버리며 일상의 풍경을 완전히 고쳐 쓰고 있습니다.</p>



<p class="wp-block-paragraph">정보가 찾기위해 여러 사이트를 헤매거나 역에 도착해서야 연착 정보를 확인하는 수고는 이제 내려놓으셔도 좋습니다. <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 자료를 데이터베이스화 하여 사곡역 대구역 광역전철 시간표를 현장에서 보는 전광판처럼 생생하게 구현했기 때문인데요. 만약 1분마다 정보를 갱신하며 상하행 모든 열차의 현재 위치를 보여주며, 화면을 띄워두는 것만으로도 정확한 출발 임박 여부를 즉시 파악할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">사곡역 대구역 광역전철 안내</h2>



<h3 class="wp-block-heading"><strong><strong>출퇴근 직장인의 발 광역전철</strong></strong></h3>



<p class="wp-block-paragraph">사곡 지역에서 대구 도심까지의 이동은 이제 전철로 30~40분대면 충분합니다. 사곡역 대구역 전철 노선의 가장 큰 매력은 무엇보다 도로 사정에 구애받지 않고 약속된 시간에 어김없이 도착하는 신뢰감에 있는데요. 출퇴근 수요가 몰리는 시간대에 맞춰 배차가 짜인 사곡역 <a href="https://krailroad.co.kr/%eb%8c%80%ea%b5%ac%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c%ec%99%80-%ea%b5%ac%ea%b0%84%eb%b3%84-%ec%9a%b4%ec%9e%84%ed%91%9c-%ec%83%81%ec%84%b8/">대구역 시간표</a>를 확인해 보면, 자차 운행 시 겪어야 했던 주차 전쟁이나 신호 대기의 스트레스가 얼마나 무의미했는지 체감하게 될것입니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading"><strong>경북과 대구의 새로운 생활권</strong></h3>



<p class="wp-block-paragraph">전철이 지하철처럼 수월하게 오가기 시작하면서 사곡동과 대구 도심 사이의 경계는 몰라보게 희미해졌습니다. 사곡역 대구역 소요 시간이 획기적으로 줄어들면서 퇴근 후 대구역 인근의 동성로 상권이나 문화 시설을 이용하는 것이 마치 집 앞 마당을 거니는 것처럼 자연스러운 일상이 되었는데요. 이는 단순한 교통망의 연결을 넘어 사곡동 일대가 대구의 거대 인프라와 유기적으로 호흡하며 지역의 가치를 끌어올리는 결정적인 배경이 됩니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">지갑을 가볍게 하는 실속</h3>



<p class="wp-block-paragraph">매일 중거리 이동을 반복해야 하는 이들에게 사곡역 대구역 전철 요금은 경제적으로도 매우 합리적인 대안입니다. 기존 일반 열차보다 문턱을 낮춘 비용 체계는 물론이고, 시내버스와 <a href="https://krailroad.co.kr/%eb%8c%80%ea%b5%ac-%ec%a7%80%ed%95%98%ec%b2%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%a1%b0%ed%9a%8c/">대구 지하철</a>까지 이어지는 광역 환승 할인 혜택이 더해져 체감되는 지출 절감 효과가 상당한데요. 한 달 동안 누적되는 교통비를 따져보면 유류비 절약은 물론 환경 보호까지 실천하는 영리한 선택이 됩니다.</p>



<p class="wp-block-paragraph">이제 사곡역은 단순한 간이역의 꼬리표를 떼고 지역 상권과 인구 유입을 주도하는 거점으로 발돋움하고 있습니다. 역사 주변의 주거 환경이 개선되며 사곡 지역이 새롭게 주목받는 지금, 웹상의 오래된 정보 대신 1분 단위 실시간 API 데이터를 통해 열차의 흐름을 체크하며 광역전철이 선사하는 구미와 대구의 역동적인 성장을 직접 경험해 보시기 바랍니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">출발 ↔ 도착 시간표 조회</h2>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

<style>
        .dg-s-top-container { max-width: 650px; margin: 10px auto 10px; display: flex; justify-content: space-between; align-items: flex-end; padding: 0 5px; }
        .dg-s-info-bar { font-size: 12px; color: #64748b; font-weight: 700; display: flex; align-items: center; gap: 6px; }
        .dg-s-info-tag { background: #f1f5f9; padding: 2px 6px; border-radius: 4px; color: #0f172a; }
        .dg-s-db-live { font-size: 11px; font-weight: 800; color: #0045e6; display: flex; align-items: center; gap: 4px; animation: dgs_blink 1.5s infinite; padding-bottom: 2px; }
        @keyframes dgs_blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
        .dg-s-summary-box { max-width: 650px; margin: 0 auto 15px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0 5px; }
        .dg-s-summary-card { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 12px; display: flex; flex-direction: column; gap: 4px; box-shadow: 0 2px 5px rgba(0,0,0,0.02); }
        .dg-s-summary-label { font-size: 11px; font-weight: 800; color: #64748b; }
        .dg-s-summary-time { font-size: 18px; font-weight: 900; color: #0f172a; letter-spacing: -0.5px; }
        .dg-s-summary-no { font-size: 10px; color: #0045e6; font-weight: 800; background: #eef2ff; padding: 2px 6px; border-radius: 4px; align-self: flex-start; }
        .dg-s-table-wrapper { margin: 0 auto 40px; max-width: 650px; background: #fff; border-radius: 12px; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
        .dg-s-header-box { padding: 15px 18px; background: #fff; border-bottom: 1px solid #f1f5f9; display: flex; justify-content: space-between; align-items: center; }
        .dg-s-tab-wrapper { display: flex; gap: 6px; background: #f1f5f9; padding: 4px; border-radius: 10px; }
        .dg-s-tab-item { padding: 7px 15px; border-radius: 7px; border: none; background: transparent; font-size: 13px; font-weight: 800; color: #64748b; cursor: pointer; transition: 0.2s; }
        .dg-s-tab-item.active { background: #fff; color: #0045e6; box-shadow: 0 2px 4px rgba(0,0,0,0.05); }
        .dg-s-main-table { width: 100% !important; border-collapse: collapse !important; table-layout: fixed; border: none !important; margin: 0 !important; }
        .dg-s-main-table th { font-size: 12px; color: #94a3b8; padding: 10px 5px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .dg-s-main-table td { padding: 14px 5px; border-bottom: 1px solid #f1f5f9; vertical-align: middle; text-align: center !important; }
        .dg-s-train-no { font-size: 15px; font-weight: 900; color: #0052a4; display: block; line-height: 1.1; }
        .dg-s-train-sub { font-size: 12px; color: #475569; font-weight: 800; display: block; margin-top: 3px; } 
        .dg-s-train-status { font-size: 11px; font-weight: 900; margin-top: 4px; display: inline-block; padding: 1px 0; } 
        .status-end { color: #94a3b8; }
        .status-run { color: #0045e6; }
        .dg-s-time-val { font-size: 14px; font-weight: 900; color: #1e293b; display: block; letter-spacing: -0.3px; }
        .dg-s-station-val { font-size: 13px; font-weight: 800; color: #475569; display: block; margin-top: 2px; }
        .dg-s-time-label { font-size: 12px; color: #94a3b8; font-weight: 800; display: block; margin-top: 1px; }
        .dg-s-badge-alert { display: inline-block; background: #e11d48; color: #fff; padding: 3px 7px; border-radius: 4px; font-size: 11px; font-weight: 900; margin-top: 5px; animation: dgs_ktx_pulse 1.2s infinite; }
        .dg-s-time-diff { font-size: 11px; color: #0045e6; font-weight: 900; }
        @keyframes dgs_ktx_pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(0.96); opacity: 0.8; } }
        .dg-s-footer-nav { display: flex; justify-content: center; padding: 12px; background: #fafafa; border-top: 1px solid #f1f5f9; }
        .dg-s-pagination-group { display: flex; align-items: center; gap: 15px; }
        .dg-s-page-btn { padding: 6px 14px; border: 1px solid #e2e8f0; border-radius: 6px; background: #fff; color: #475569; font-size: 12px; font-weight: 800; cursor: pointer; }
        .dg-s-page-btn:disabled { opacity: 0.4; cursor: default; }
        .dg-s-pg-text { font-size: 13px; font-weight: 900; color: #1e293b; }
        .dg-s-update-time { font-size: 10px; color: #94a3b8; font-weight: 700; }
    </style><h2>사곡 → 대구 시간표</h2><div class="dg-s-top-container"><div class="dg-s-info-bar"><span>날짜 <span class="dg-s-info-tag">2026.05.24</span></span><span>적용 <span class="dg-s-info-tag">휴일</span></span></div><div class="dg-s-db-live">● DB 실시간 연동 중</div></div>        <div class="dg-s-summary-box">
            <div class="dg-s-summary-card">
                <span class="dg-s-summary-label">첫차 시간</span>
                <span class="dg-s-summary-time">5:36:00</span>
                <span class="dg-s-summary-no">K1705 열차</span>
            </div>
            <div class="dg-s-summary-card">
                <span class="dg-s-summary-label">막차 시간</span>
                <span class="dg-s-summary-time">23:56:00</span>
                <span class="dg-s-summary-no">K1803 열차</span>
            </div>
        </div>
        <div class="dg-s-table-wrapper" id="sumv11_1_e1ef4c0d">
            <div class="dg-s-header-box"><div class="dg-s-tab-wrapper">
                <button class="dg-s-tab-item active" data-mode="rem">오늘 잔여</button>
                <button class="dg-s-tab-item" data-mode="all">오늘 전체</button>
            </div><span class="dg-s-update-time"></span></div>
            <table class="dg-s-main-table">
                <thead><tr><th style="width:38%;">열차 정보</th><th style="width:31%;">출발</th><th style="width:31%;">도착예정</th></tr></thead>
                <tbody class="dg-s-tbody"></tbody>
            </table>
            <div class="dg-s-footer-nav"><div class="dg-s-pagination-group">
                <button class="dg-s-prev-btn dg-s-page-btn">이전</button>
                <span class="dg-s-pg-display dg-s-pg-text"></span>
                <button class="dg-s-next-btn dg-s-page-btn">다음</button>
            </div></div>
        </div>
        <script>
        (function() {
            const data = {"trains":["\uc5f4\ucc28\ubc88\ud638","K1701","K1705","K1703","K1707","K1709","K1711","K1713","K1717","K1719","K1721","K1723","K1725","K1727","K1729","K1733","K1735","K1737","K1739","K1741","K1743","K1745","K1747","K1749","K1751","K1753","K1757","K1755","K1759","K1761","K1763","K1765","K1769","K1767","K1771","K1773","K1775","K1777","K1779","K1781","K1783","K1785","K1787","K1789","K1791","K1793","K1795","K1797","K1799","K1801","K1803"],"start":["\uc0ac\uace1","","5:36:00","","5:46:00","6:11:00","6:33:00","6:56:00","7:27:00","7:36:00","7:56:00","8:11:00","8:26:00","8:50:00","9:14:00","9:46:00","10:06:00","10:31:00","11:02:00","11:20:00","11:45:00","12:06:00","13:07:00","13:27:00","13:40:00","14:09:00","14:59:00","","15:28:00","15:52:00","16:12:00","16:34:00","17:07:00","","17:38:00","18:02:00","18:23:00","18:36:00","18:57:00","19:26:00","19:52:00","20:14:00","20:41:00","21:02:00","21:27:00","21:57:00","22:14:00","22:35:00","23:01:00","23:28:00","23:56:00"],"end":["\ub300\uad6c","","6:12:00","","6:22:00","6:47:00","7:09:00","7:32:00","8:03:00","8:12:00","8:32:00","8:47:00","9:02:00","9:26:00","9:54:30","10:22:00","10:46:30","11:07:00","11:38:00","11:56:00","12:25:00","12:46:00","13:43:00","14:07:30","14:21:00","14:45:00","15:40:00","","16:08:30","16:28:00","16:48:00","17:10:00","17:43:00","","18:14:00","18:42:00","18:59:00","19:17:30","19:33:00","20:02:00","20:28:00","20:50:00","21:17:00","21:38:00","22:03:00","22:33:00","22:56:00","23:16:30","23:37:00","0:04:00","0:32:00"]}, sn = "사곡", en = "대구", uid = "sumv11_1_e1ef4c0d";
            const container = document.getElementById(uid), tbody = container.querySelector('.dg-s-tbody'), pgDisplay = container.querySelector('.dg-s-pg-display');
            const updDisplay = container.querySelector('.dg-s-update-time'), prevBtn = container.querySelector('.dg-s-prev-btn'), nextBtn = container.querySelector('.dg-s-next-btn'), tabs = container.querySelectorAll('.dg-s-tab-item');
            let mode = 'rem', pg = 1;
            function render() {
                const now = new Date();
                const nowWeight = (now.getHours() < 4) ? (now.getHours() + 24) * 60 + now.getMinutes() : now.getHours() * 60 + now.getMinutes();
                const list = [];
                for (let i = 1; i < data.trains.length; i++) {
                    let dep = (data.start[i] || "").trim(), arr = (data.end[i] || "").trim();
                    if (!dep || !dep.includes(':')) continue;
                    let p = dep.split(':'), h = parseInt(p[0]), m = parseInt(p[1]);
                    let itemWeight = (h < 4) ? (h + 24) * 60 + m : h * 60 + m;
                    let displayArr = (arr && arr.includes(':')) ? arr : "미정차";
                    if (mode === 'all' || itemWeight >= nowWeight) {
                        list.push({ no: data.trains[i], dep: dep, weight: itemWeight, arr: displayArr });
                    }
                }
                list.sort((a, b) => a.weight - b.weight);
                const total = Math.ceil(list.length / 10) || 1;
                if (pg > total) pg = total; if (pg < 1) pg = 1;
                const items = list.slice((pg - 1) * 10, pg * 10);
                tbody.innerHTML = list.length === 0 ? '<tr><td colspan="3" style="padding:40px; color:#94a3b8;">열차가 없습니다.</td></tr>' : '';
                items.forEach(it => {
                    const diff = it.weight - nowWeight;
                    let st = diff < 0 ? '<span class="dg-s-train-status status-end">운행종료</span>' : '<span class="dg-s-train-status status-run">운행예정</span>';
                    let bd = (diff > 0 && diff <= 15) ? `<br><span class="dg-s-badge-alert">${diff <= 5 ? '곧 출발' : '출발임박'}</span>` : '';
                    let diffText = diff < 0 ? "출발완료" : diff + "분 후";
                    tbody.innerHTML += `<tr><td><span class="dg-s-train-no">${it.no}</span><span class="dg-s-train-sub">대경선 | ${en}행</span>${st} <span class="dg-s-time-diff">${diffText}</span>${bd}</td>
                        <td><span class="dg-s-time-val">${it.dep}</span><span class="dg-s-station-val">${sn}</span><span class="dg-s-time-label">출발</span></td>
                        <td><span class="dg-s-time-val">${it.arr}</span><span class="dg-s-station-val">${en}</span><span class="dg-s-time-label">도착</span></td></tr>`;
                });
                pgDisplay.innerText = pg + " / " + total;
                prevBtn.disabled = (pg === 1); nextBtn.disabled = (pg === total || total === 0);
                updDisplay.innerText = "갱신: " + new Date().toLocaleTimeString('ko-KR', {hour12:false, hour:'2-digit', minute:'2-digit'});
            }
            prevBtn.onclick = () => { if (pg > 1) { pg--; render(); } };
            nextBtn.onclick = () => { pg++; render(); }; 
            tabs.forEach(tab => { tab.onclick = () => { mode = tab.getAttribute('data-mode'); pg = 1; tabs.forEach(b => b.classList.remove('active')); tab.classList.add('active'); render(); }; });
            render(); setInterval(render, 60000);
        })();
        </script>
        <div style='margin-top:60px;'></div><h2>대구 → 사곡 시간표</h2><div class="dg-s-top-container"><div class="dg-s-info-bar"><span>날짜 <span class="dg-s-info-tag">2026.05.24</span></span><span>적용 <span class="dg-s-info-tag">휴일</span></span></div><div class="dg-s-db-live">● DB 실시간 연동 중</div></div>        <div class="dg-s-summary-box">
            <div class="dg-s-summary-card">
                <span class="dg-s-summary-label">첫차 시간</span>
                <span class="dg-s-summary-time">5:30:00</span>
                <span class="dg-s-summary-no">K1702 열차</span>
            </div>
            <div class="dg-s-summary-card">
                <span class="dg-s-summary-label">막차 시간</span>
                <span class="dg-s-summary-time">23:55:30</span>
                <span class="dg-s-summary-no">K1796 열차</span>
            </div>
        </div>
        <div class="dg-s-table-wrapper" id="sumv11_2_5908a72a">
            <div class="dg-s-header-box"><div class="dg-s-tab-wrapper">
                <button class="dg-s-tab-item active" data-mode="rem">오늘 잔여</button>
                <button class="dg-s-tab-item" data-mode="all">오늘 전체</button>
            </div><span class="dg-s-update-time"></span></div>
            <table class="dg-s-main-table">
                <thead><tr><th style="width:38%;">열차 정보</th><th style="width:31%;">출발</th><th style="width:31%;">도착예정</th></tr></thead>
                <tbody class="dg-s-tbody"></tbody>
            </table>
            <div class="dg-s-footer-nav"><div class="dg-s-pagination-group">
                <button class="dg-s-prev-btn dg-s-page-btn">이전</button>
                <span class="dg-s-pg-display dg-s-pg-text"></span>
                <button class="dg-s-next-btn dg-s-page-btn">다음</button>
            </div></div>
        </div>
        <script>
        (function() {
            const data = {"trains":["\uc5f4\ucc28\ubc88\ud638","K1702","K1704","K1708","K1710","K1712","K1714","K1716","K1718","K1720","K1724","K1726","K1728","K1730","K1732","K1734","K1736","K1738","K1740","K1742","K1744","K1746","K1748","K1750","K1752","K1754","K1756","K1758","K1760","K1762","K1764","K1766","K1768","K1770","K1772","K1774","K1776","K1778","K1780","K1782","K1784","K1786","K1788","K1790","K1792","K1794","K1796"],"start":["\ub300\uad6c","5:30:00","5:47:00","6:14:00","6:24:00","6:52:00","7:02:00","7:27:00","7:52:00","8:13:30","8:44:00","8:59:00","9:15:00","9:55:00","10:23:00","10:45:00","11:07:00","11:37:00","11:51:00","12:40:00","13:09:00","13:46:00","14:25:00","14:51:00","15:01:00","15:27:00","15:59:00","16:29:00","16:50:00","17:14:00","17:30:00","17:52:00","18:14:00","18:40:00","19:04:00","19:30:00","20:02:00","20:22:30","20:48:00","21:08:00","21:31:00","22:01:00","22:27:00","22:54:00","23:12:30","23:36:00","23:55:30"],"end":["\uc0ac\uace1","6:06:00","6:23:00","6:50:00","7:00:00","7:28:00","7:38:00","8:03:00","8:28:00","8:49:30","9:20:00","9:35:00","9:51:00","10:31:00","10:59:00","11:21:00","11:43:00","12:13:00","12:31:30","13:16:00","13:45:00","14:22:00","15:01:00","15:27:00","15:44:00","16:03:00","16:35:00","17:05:00","17:26:00","17:50:00","18:10:30","18:28:00","18:54:30","19:16:00","19:40:00","20:06:00","20:38:00","20:58:30","21:24:00","21:44:00","22:07:00","22:37:00","23:03:00","23:30:00","23:48:30","0:12:00","0:31:30"]}, sn = "대구", en = "사곡", uid = "sumv11_2_5908a72a";
            const container = document.getElementById(uid), tbody = container.querySelector('.dg-s-tbody'), pgDisplay = container.querySelector('.dg-s-pg-display');
            const updDisplay = container.querySelector('.dg-s-update-time'), prevBtn = container.querySelector('.dg-s-prev-btn'), nextBtn = container.querySelector('.dg-s-next-btn'), tabs = container.querySelectorAll('.dg-s-tab-item');
            let mode = 'rem', pg = 1;
            function render() {
                const now = new Date();
                const nowWeight = (now.getHours() < 4) ? (now.getHours() + 24) * 60 + now.getMinutes() : now.getHours() * 60 + now.getMinutes();
                const list = [];
                for (let i = 1; i < data.trains.length; i++) {
                    let dep = (data.start[i] || "").trim(), arr = (data.end[i] || "").trim();
                    if (!dep || !dep.includes(':')) continue;
                    let p = dep.split(':'), h = parseInt(p[0]), m = parseInt(p[1]);
                    let itemWeight = (h < 4) ? (h + 24) * 60 + m : h * 60 + m;
                    let displayArr = (arr && arr.includes(':')) ? arr : "미정차";
                    if (mode === 'all' || itemWeight >= nowWeight) {
                        list.push({ no: data.trains[i], dep: dep, weight: itemWeight, arr: displayArr });
                    }
                }
                list.sort((a, b) => a.weight - b.weight);
                const total = Math.ceil(list.length / 10) || 1;
                if (pg > total) pg = total; if (pg < 1) pg = 1;
                const items = list.slice((pg - 1) * 10, pg * 10);
                tbody.innerHTML = list.length === 0 ? '<tr><td colspan="3" style="padding:40px; color:#94a3b8;">열차가 없습니다.</td></tr>' : '';
                items.forEach(it => {
                    const diff = it.weight - nowWeight;
                    let st = diff < 0 ? '<span class="dg-s-train-status status-end">운행종료</span>' : '<span class="dg-s-train-status status-run">운행예정</span>';
                    let bd = (diff > 0 && diff <= 15) ? `<br><span class="dg-s-badge-alert">${diff <= 5 ? '곧 출발' : '출발임박'}</span>` : '';
                    let diffText = diff < 0 ? "출발완료" : diff + "분 후";
                    tbody.innerHTML += `<tr><td><span class="dg-s-train-no">${it.no}</span><span class="dg-s-train-sub">대경선 | ${en}행</span>${st} <span class="dg-s-time-diff">${diffText}</span>${bd}</td>
                        <td><span class="dg-s-time-val">${it.dep}</span><span class="dg-s-station-val">${sn}</span><span class="dg-s-time-label">출발</span></td>
                        <td><span class="dg-s-time-val">${it.arr}</span><span class="dg-s-station-val">${en}</span><span class="dg-s-time-label">도착</span></td></tr>`;
                });
                pgDisplay.innerText = pg + " / " + total;
                prevBtn.disabled = (pg === 1); nextBtn.disabled = (pg === total || total === 0);
                updDisplay.innerText = "갱신: " + new Date().toLocaleTimeString('ko-KR', {hour12:false, hour:'2-digit', minute:'2-digit'});
            }
            prevBtn.onclick = () => { if (pg > 1) { pg--; render(); } };
            nextBtn.onclick = () => { pg++; render(); }; 
            tabs.forEach(tab => { tab.onclick = () => { mode = tab.getAttribute('data-mode'); pg = 1; tabs.forEach(b => b.classList.remove('active')); tab.classList.add('active'); render(); }; });
            render(); setInterval(render, 60000);
        })();
        </script>
        


    
    <h2>대경선 상하행 전체 시간표</h2>

    <style>
        .dg-m-card { max-width: 100%; margin: 10px auto; border: 1px solid #ddd; border-radius: 8px; background: #fff; font-family: -apple-system, sans-serif; overflow: hidden; }
        .dg-m-header { background: #0052a4; color: #fff; padding: 12px; display: flex; justify-content: space-between; align-items: center; font-size: 14px; }
        .dg-m-tabs { display: flex; background: #f1f5f9; }
        .dg-m-tab { flex: 1; padding: 12px; text-align: center; cursor: pointer; font-weight: bold; color: #64748b; font-size: 13px; border-bottom: 2px solid transparent; }
        .dg-m-tab.active { background: #fff; color: #0052a4; border-bottom: 3px solid #0052a4; }
        
        /* 모바일 스크롤 영역 */
        .dg-m-scroll { 
            position: relative; 
            max-height: 450px; 
            overflow: auto; 
            -webkit-overflow-scrolling: touch; /* 모바일 부드러운 스크롤 */
        }
        
        .dg-m-table { border-collapse: separate; border-spacing: 0; width: 100%; font-size: 12px; }
        
        /* 칸 넓이 축소 및 텍스트 압축 */
        .dg-m-table th, .dg-m-table td { 
            padding: 8px 6px; 
            border-bottom: 1px solid #eee; 
            text-align: center; 
            white-space: nowrap; 
            min-width: 50px; /* 칸 최소 넓이 축소 */
        }
        
        /* 첫 번째 열(역 이름) 고정 및 모바일 최적화 */
        .dg-m-table td:first-child, .dg-m-table th:first-child {
            position: sticky;
            left: 0;
            background: #f8fafc;
            z-index: 10;
            border-right: 1px solid #ddd;
            font-weight: bold;
            min-width: 60px;
        }

        /* 헤더 고정 */
        .dg-m-table thead th {
            position: sticky;
            top: 0;
            background: #eee;
            z-index: 11;
        }
        .dg-m-table thead th:first-child { z-index: 12; }

        .dg-m-badge { font-size: 10px; border: 1px solid #fff; padding: 2px 6px; border-radius: 4px; }
        
        /* 스크롤바 디자인 */
        .dg-m-scroll::-webkit-scrollbar { width: 4px; height: 4px; }
        .dg-m-scroll::-webkit-scrollbar-thumb { background: #ccc; border-radius: 4px; }
    </style>

    <div class="dg-m-card" id="dg_m_6a11ed0ad6b6e">
        <div class="dg-m-header">
            <strong>대경선 시간표</strong>
            <span class="dg-m-badge">공휴일</span>
        </div>
        <div class="dg-m-tabs">
            <div class="dg-m-tab active" onclick="dg_m_sw('up', this)">상행(경산→구미)</div>
            <div class="dg-m-tab" onclick="dg_m_sw('down', this)">하행(구미→경산)</div>
        </div>

        <div id="m_up" class="dg-m-scroll">
            <table class="dg-m-table"><thead><tr><th>﻿시발역</th><th>동대구</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th><th>경산</th></tr></thead><tbody><tr><td>종착역</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td><td>구미</td></tr><tr><td>열차번호</td><td>K1702</td><td>K1704</td><td>K1708</td><td>K1710</td><td>K1712</td><td>K1714</td><td>K1716</td><td>K1718</td><td>K1720</td><td>K1724</td><td>K1726</td><td>K1728</td><td>K1730</td><td>K1732</td><td>K1734</td><td>K1736</td><td>K1738</td><td>K1740</td><td>K1742</td><td>K1744</td><td>K1746</td><td>K1748</td><td>K1750</td><td>K1752</td><td>K1754</td><td>K1756</td><td>K1758</td><td>K1760</td><td>K1762</td><td>K1764</td><td>K1766</td><td>K1768</td><td>K1770</td><td>K1772</td><td>K1774</td><td>K1776</td><td>K1778</td><td>K1780</td><td>K1782</td><td>K1784</td><td>K1786</td><td>K1788</td><td>K1790</td><td>K1792</td><td>K1794</td><td>K1796</td></tr><tr><td>경산</td><td></td><td>5:30:00</td><td>5:57:00</td><td>6:07:00</td><td>6:35:00</td><td>6:45:00</td><td>7:10:00</td><td>7:35:00</td><td>7:57:00</td><td>8:27:00</td><td>8:42:00</td><td>8:58:00</td><td>9:38:00</td><td>10:06:00</td><td>10:28:00</td><td>10:50:00</td><td>11:20:00</td><td>11:34:00</td><td>12:23:00</td><td>12:52:00</td><td>13:29:00</td><td>14:06:00</td><td>14:34:00</td><td>14:44:00</td><td>15:10:00</td><td>15:42:00</td><td>16:12:00</td><td>16:33:00</td><td>16:57:00</td><td>17:11:00</td><td>17:35:00</td><td>17:57:00</td><td>18:23:00</td><td>18:47:00</td><td>19:13:00</td><td>19:45:00</td><td>20:06:00</td><td>20:31:00</td><td>20:51:00</td><td>21:14:00</td><td>21:44:00</td><td>22:10:00</td><td>22:37:00</td><td>22:56:00</td><td>23:19:00</td><td>23:39:00</td></tr><tr><td>가천</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td>5:35:30</td><td>6:02:30</td><td>6:12:30</td><td>6:40:30</td><td>6:50:30</td><td>7:15:30</td><td>7:40:30</td><td>8:02:30</td><td>8:32:30</td><td>8:47:30</td><td>9:03:30</td><td>9:43:30</td><td>10:11:30</td><td>10:33:30</td><td>10:55:30</td><td>11:25:30</td><td>11:39:30</td><td>12:28:30</td><td>12:57:30</td><td>13:34:30</td><td>14:11:30</td><td>14:39:30</td><td>14:49:30</td><td>15:15:30</td><td>15:47:30</td><td>16:17:30</td><td>16:38:30</td><td>17:02:30</td><td>17:16:30</td><td>17:40:30</td><td>18:02:30</td><td>18:28:30</td><td>18:52:30</td><td>19:18:30</td><td>19:50:30</td><td>20:11:30</td><td>20:36:30</td><td>20:56:30</td><td>21:19:30</td><td>21:49:30</td><td>22:15:30</td><td>22:42:30</td><td>23:01:30</td><td>23:24:30</td><td>23:44:30</td></tr><tr><td>고모</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td>5:36:30</td><td>6:03:30</td><td>6:13:30</td><td>6:41:30</td><td>6:51:30</td><td>7:16:30</td><td>7:41:30</td><td>8:03:30</td><td>8:33:30</td><td>8:48:30</td><td>9:04:30</td><td>9:44:30</td><td>10:12:30</td><td>10:34:30</td><td>10:56:30</td><td>11:26:30</td><td>11:40:30</td><td>12:29:30</td><td>12:58:30</td><td>13:35:30</td><td>14:12:30</td><td>14:40:30</td><td>14:50:30</td><td>15:16:30</td><td>15:48:30</td><td>16:18:30</td><td>16:39:30</td><td>17:03:30</td><td>17:17:30</td><td>17:41:30</td><td>18:03:30</td><td>18:29:30</td><td>18:53:30</td><td>19:19:30</td><td>19:51:30</td><td>20:12:30</td><td>20:37:30</td><td>20:57:30</td><td>21:20:30</td><td>21:50:30</td><td>22:16:30</td><td>22:43:30</td><td>23:02:30</td><td>23:25:30</td><td>23:45:30</td></tr><tr><td>동대구</td><td></td><td>5:41:00</td><td>6:08:00</td><td>6:18:00</td><td>6:46:00</td><td>6:56:00</td><td>7:21:00</td><td>7:46:00</td><td>8:08:00</td><td>8:38:00</td><td>8:53:00</td><td>9:09:00</td><td>9:49:00</td><td>10:17:00</td><td>10:39:00</td><td>11:01:00</td><td>11:31:00</td><td>11:45:00</td><td>12:34:00</td><td>13:03:00</td><td>13:40:00</td><td>14:17:00</td><td>14:45:00</td><td>14:55:00</td><td>15:21:00</td><td>15:53:00</td><td>16:23:00</td><td>16:44:00</td><td>17:08:00</td><td>17:22:00</td><td>17:46:00</td><td>18:08:00</td><td>18:34:00</td><td>18:58:00</td><td>19:24:00</td><td>19:56:00</td><td>20:17:00</td><td>20:42:00</td><td>21:02:00</td><td>21:25:00</td><td>21:55:00</td><td>22:21:00</td><td>22:48:00</td><td>23:07:00</td><td>23:30:00</td><td>23:50:00</td></tr><tr><td></td><td>5:25:00</td><td>5:42:00</td><td>6:09:00</td><td>6:19:00</td><td>6:47:00</td><td>6:57:00</td><td>7:22:00</td><td>7:47:00</td><td>8:08:30</td><td>8:39:00</td><td>8:54:00</td><td>9:10:00</td><td>9:50:00</td><td>10:18:00</td><td>10:40:00</td><td>11:02:00</td><td>11:32:00</td><td>11:46:00</td><td>12:35:00</td><td>13:04:00</td><td>13:41:00</td><td>14:20:00</td><td>14:46:00</td><td>14:56:00</td><td>15:22:00</td><td>15:54:00</td><td>16:24:00</td><td>16:45:00</td><td>17:09:00</td><td>17:25:00</td><td>17:47:00</td><td>18:09:00</td><td>18:35:00</td><td>18:59:00</td><td>19:25:00</td><td>19:57:00</td><td>20:17:30</td><td>20:43:00</td><td>21:03:00</td><td>21:26:00</td><td>21:56:00</td><td>22:22:00</td><td>22:49:00</td><td>23:07:30</td><td>23:31:00</td><td>23:50:30</td></tr><tr><td>대구</td><td>5:30:00</td><td>5:47:00</td><td>6:14:00</td><td>6:24:00</td><td>6:52:00</td><td>7:02:00</td><td>7:27:00</td><td>7:52:00</td><td>8:13:30</td><td>8:44:00</td><td>8:59:00</td><td>9:15:00</td><td>9:55:00</td><td>10:23:00</td><td>10:45:00</td><td>11:07:00</td><td>11:37:00</td><td>11:51:00</td><td>12:40:00</td><td>13:09:00</td><td>13:46:00</td><td>14:25:00</td><td>14:51:00</td><td>15:01:00</td><td>15:27:00</td><td>15:59:00</td><td>16:29:00</td><td>16:50:00</td><td>17:14:00</td><td>17:30:00</td><td>17:52:00</td><td>18:14:00</td><td>18:40:00</td><td>19:04:00</td><td>19:30:00</td><td>20:02:00</td><td>20:22:30</td><td>20:48:00</td><td>21:08:00</td><td>21:31:00</td><td>22:01:00</td><td>22:27:00</td><td>22:54:00</td><td>23:12:30</td><td>23:36:00</td><td>23:55:30</td></tr><tr><td></td><td>5:30:30</td><td>5:47:30</td><td>6:14:30</td><td>6:24:30</td><td>6:52:30</td><td>7:02:30</td><td>7:27:30</td><td>7:52:30</td><td>8:14:00</td><td>8:44:30</td><td>8:59:30</td><td>9:15:30</td><td>9:55:30</td><td>10:23:30</td><td>10:45:30</td><td>11:07:30</td><td>11:37:30</td><td>11:51:30</td><td>12:40:30</td><td>13:09:30</td><td>13:46:30</td><td>14:25:30</td><td>14:51:30</td><td>15:01:30</td><td>15:27:30</td><td>15:59:30</td><td>16:29:30</td><td>16:50:30</td><td>17:14:30</td><td>17:30:30</td><td>17:52:30</td><td>18:14:30</td><td>18:40:30</td><td>19:04:30</td><td>19:30:30</td><td>20:02:30</td><td>20:23:00</td><td>20:48:30</td><td>21:08:30</td><td>21:31:30</td><td>22:01:30</td><td>22:27:30</td><td>22:54:30</td><td>23:13:00</td><td>23:36:30</td><td>23:56:00</td></tr><tr><td>서대구</td><td>5:36:00</td><td>5:53:00</td><td>6:20:00</td><td>6:30:00</td><td>6:58:00</td><td>7:08:00</td><td>7:33:00</td><td>7:58:00</td><td>8:19:30</td><td>8:50:00</td><td>9:05:00</td><td>9:21:00</td><td>10:01:00</td><td>10:29:00</td><td>10:51:00</td><td>11:13:00</td><td>11:43:00</td><td>11:57:00</td><td>12:46:00</td><td>13:15:00</td><td>13:52:00</td><td>14:31:00</td><td>14:57:00</td><td>15:07:00</td><td>15:33:00</td><td>16:05:00</td><td>16:35:00</td><td>16:56:00</td><td>17:20:00</td><td>17:36:00</td><td>17:58:00</td><td>18:20:00</td><td>18:46:00</td><td>19:10:00</td><td>19:36:00</td><td>20:08:00</td><td>20:28:30</td><td>20:54:00</td><td>21:14:00</td><td>21:37:00</td><td>22:07:00</td><td>22:33:00</td><td>23:00:00</td><td>23:18:30</td><td>23:42:00</td><td>0:01:30</td></tr><tr><td></td><td>5:36:30</td><td>5:53:30</td><td>6:20:30</td><td>6:30:30</td><td>6:58:30</td><td>7:08:30</td><td>7:33:30</td><td>7:58:30</td><td>8:20:00</td><td>8:50:30</td><td>9:05:30</td><td>9:21:30</td><td>10:01:30</td><td>10:29:30</td><td>10:51:30</td><td>11:13:30</td><td>11:43:30</td><td>11:57:30</td><td>12:46:30</td><td>13:15:30</td><td>13:52:30</td><td>14:31:30</td><td>14:57:30</td><td>15:07:30</td><td>15:33:30</td><td>16:05:30</td><td>16:35:30</td><td>16:56:30</td><td>17:20:30</td><td>17:36:30</td><td>17:58:30</td><td>18:20:30</td><td>18:46:30</td><td>19:10:30</td><td>19:36:30</td><td>20:08:30</td><td>20:29:00</td><td>20:54:30</td><td>21:14:30</td><td>21:37:30</td><td>22:07:30</td><td>22:33:30</td><td>23:00:30</td><td>23:19:00</td><td>23:42:30</td><td>0:02:00</td></tr><tr><td>지천</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td>5:40:30</td><td>5:57:30</td><td>6:24:30</td><td>6:34:30</td><td>7:02:30</td><td>7:12:30</td><td>7:37:30</td><td>8:02:30</td><td>8:24:00</td><td>8:54:30</td><td>9:09:30</td><td>9:25:30</td><td>10:05:30</td><td>10:33:30</td><td>10:55:30</td><td>11:17:30</td><td>11:47:30</td><td>12:01:30</td><td>12:50:30</td><td>13:19:30</td><td>13:56:30</td><td>14:35:30</td><td>15:01:30</td><td>15:11:30</td><td>15:37:30</td><td>16:09:30</td><td>16:39:30</td><td>17:00:30</td><td>17:24:30</td><td>17:40:30</td><td>18:02:30</td><td>18:24:30</td><td>18:50:30</td><td>19:14:30</td><td>19:40:30</td><td>20:12:30</td><td>20:33:00</td><td>20:58:30</td><td>21:18:30</td><td>21:41:30</td><td>22:11:30</td><td>22:37:30</td><td>23:04:30</td><td>23:23:00</td><td>23:46:30</td><td>0:06:00</td></tr><tr><td>신동</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td>5:45:30</td><td>6:02:30</td><td>6:29:30</td><td>6:39:30</td><td>7:07:30</td><td>7:17:30</td><td>7:42:30</td><td>8:07:30</td><td>8:29:00</td><td>8:59:30</td><td>9:14:30</td><td>9:30:30</td><td>10:10:30</td><td>10:38:30</td><td>11:00:30</td><td>11:22:30</td><td>11:52:30</td><td>12:06:30</td><td>12:55:30</td><td>13:24:30</td><td>14:01:30</td><td>14:40:30</td><td>15:06:30</td><td>15:16:30</td><td>15:42:30</td><td>16:14:30</td><td>16:44:30</td><td>17:05:30</td><td>17:29:30</td><td>17:45:30</td><td>18:07:30</td><td>18:29:30</td><td>18:55:30</td><td>19:19:30</td><td>19:45:30</td><td>20:17:30</td><td>20:38:00</td><td>21:03:30</td><td>21:23:30</td><td>21:46:30</td><td>22:16:30</td><td>22:42:30</td><td>23:09:30</td><td>23:28:00</td><td>23:51:30</td><td>0:11:00</td></tr><tr><td>연화</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td>5:48:00</td><td>6:05:00</td><td>6:32:00</td><td>6:42:00</td><td>7:10:00</td><td>7:20:00</td><td>7:45:00</td><td>8:10:00</td><td>8:31:30</td><td>9:02:00</td><td>9:17:00</td><td>9:33:00</td><td>10:13:00</td><td>10:41:00</td><td>11:03:00</td><td>11:25:00</td><td>11:55:00</td><td>12:09:00</td><td>12:58:00</td><td>13:27:00</td><td>14:04:00</td><td>14:43:00</td><td>15:09:00</td><td>15:19:00</td><td>15:45:00</td><td>16:17:00</td><td>16:47:00</td><td>17:08:00</td><td>17:32:00</td><td>17:48:00</td><td>18:10:00</td><td>18:32:00</td><td>18:58:00</td><td>19:22:00</td><td>19:48:00</td><td>20:20:00</td><td>20:40:30</td><td>21:06:00</td><td>21:26:00</td><td>21:49:00</td><td>22:19:00</td><td>22:45:00</td><td>23:12:00</td><td>23:30:30</td><td>23:54:00</td><td>0:13:30</td></tr><tr><td>왜관</td><td>5:52:30</td><td>6:09:30</td><td>6:36:30</td><td>6:46:30</td><td>7:14:30</td><td>7:24:30</td><td>7:49:30</td><td>8:14:30</td><td>8:36:00</td><td>9:06:30</td><td>9:21:30</td><td>9:37:30</td><td>10:17:30</td><td>10:45:30</td><td>11:07:30</td><td>11:29:30</td><td>11:59:30</td><td>12:13:30</td><td>13:02:30</td><td>13:31:30</td><td>14:08:30</td><td>14:47:30</td><td>15:13:30</td><td>15:23:30</td><td>15:49:30</td><td>16:21:30</td><td>16:51:30</td><td>17:12:30</td><td>17:36:30</td><td>17:52:30</td><td>18:14:30</td><td>18:36:30</td><td>19:02:30</td><td>19:26:30</td><td>19:52:30</td><td>20:24:30</td><td>20:45:00</td><td>21:10:30</td><td>21:30:30</td><td>21:53:30</td><td>22:23:30</td><td>22:49:30</td><td>23:16:30</td><td>23:35:00</td><td>23:58:30</td><td>0:18:00</td></tr><tr><td></td><td>5:53:00</td><td>6:10:00</td><td>6:37:00</td><td>6:47:00</td><td>7:15:00</td><td>7:25:00</td><td>7:50:00</td><td>8:15:00</td><td>8:36:30</td><td>9:07:00</td><td>9:22:00</td><td>9:38:00</td><td>10:18:00</td><td>10:46:00</td><td>11:08:00</td><td>11:30:00</td><td>12:00:00</td><td>12:18:30</td><td>13:03:00</td><td>13:32:00</td><td>14:09:00</td><td>14:48:00</td><td>15:14:00</td><td>15:31:00</td><td>15:50:00</td><td>16:22:00</td><td>16:52:00</td><td>17:13:00</td><td>17:37:00</td><td>17:57:30</td><td>18:15:00</td><td>18:41:30</td><td>19:03:00</td><td>19:27:00</td><td>19:53:00</td><td>20:25:00</td><td>20:45:30</td><td>21:11:00</td><td>21:31:00</td><td>21:54:00</td><td>22:24:00</td><td>22:50:00</td><td>23:17:00</td><td>23:35:30</td><td>23:59:00</td><td>0:18:30</td></tr><tr><td>약목</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td>5:59:30</td><td>6:16:30</td><td>6:43:30</td><td>6:53:30</td><td>7:21:30</td><td>7:31:30</td><td>7:56:30</td><td>8:21:30</td><td>8:43:00</td><td>9:13:30</td><td>9:28:30</td><td>9:44:30</td><td>10:24:30</td><td>10:52:30</td><td>11:14:30</td><td>11:36:30</td><td>12:06:30</td><td>12:25:00</td><td>13:09:30</td><td>13:38:30</td><td>14:15:30</td><td>14:54:30</td><td>15:20:30</td><td>15:37:30</td><td>15:56:30</td><td>16:28:30</td><td>16:58:30</td><td>17:19:30</td><td>17:43:30</td><td>18:04:00</td><td>18:21:30</td><td>18:48:00</td><td>19:09:30</td><td>19:33:30</td><td>19:59:30</td><td>20:31:30</td><td>20:52:00</td><td>21:17:30</td><td>21:37:30</td><td>22:00:30</td><td>22:30:30</td><td>22:56:30</td><td>23:23:30</td><td>23:42:00</td><td>0:05:30</td><td>0:25:00</td></tr><tr><td>사곡</td><td>6:06:00</td><td>6:23:00</td><td>6:50:00</td><td>7:00:00</td><td>7:28:00</td><td>7:38:00</td><td>8:03:00</td><td>8:28:00</td><td>8:49:30</td><td>9:20:00</td><td>9:35:00</td><td>9:51:00</td><td>10:31:00</td><td>10:59:00</td><td>11:21:00</td><td>11:43:00</td><td>12:13:00</td><td>12:31:30</td><td>13:16:00</td><td>13:45:00</td><td>14:22:00</td><td>15:01:00</td><td>15:27:00</td><td>15:44:00</td><td>16:03:00</td><td>16:35:00</td><td>17:05:00</td><td>17:26:00</td><td>17:50:00</td><td>18:10:30</td><td>18:28:00</td><td>18:54:30</td><td>19:16:00</td><td>19:40:00</td><td>20:06:00</td><td>20:38:00</td><td>20:58:30</td><td>21:24:00</td><td>21:44:00</td><td>22:07:00</td><td>22:37:00</td><td>23:03:00</td><td>23:30:00</td><td>23:48:30</td><td>0:12:00</td><td>0:31:30</td></tr><tr><td></td><td>6:06:30</td><td>6:23:30</td><td>6:50:30</td><td>7:00:30</td><td>7:28:30</td><td>7:38:30</td><td>8:03:30</td><td>8:28:30</td><td>8:50:00</td><td>9:20:30</td><td>9:35:30</td><td>9:51:30</td><td>10:31:30</td><td>10:59:30</td><td>11:21:30</td><td>11:43:30</td><td>12:13:30</td><td>12:32:00</td><td>13:16:30</td><td>13:45:30</td><td>14:22:30</td><td>15:01:30</td><td>15:27:30</td><td>15:49:00</td><td>16:03:30</td><td>16:40:00</td><td>17:05:30</td><td>17:31:00</td><td>17:50:30</td><td>18:11:00</td><td>18:28:30</td><td>18:55:00</td><td>19:21:00</td><td>19:40:30</td><td>20:06:30</td><td>20:38:30</td><td>20:59:00</td><td>21:24:30</td><td>21:44:30</td><td>22:07:30</td><td>22:37:30</td><td>23:03:30</td><td>23:30:30</td><td>23:49:00</td><td>0:12:30</td><td>0:32:00</td></tr><tr><td>구미</td><td>6:12:30</td><td>6:29:30</td><td>6:56:30</td><td>7:06:30</td><td>7:34:30</td><td>7:44:30</td><td>8:09:30</td><td>8:34:30</td><td>8:56:00</td><td>9:26:30</td><td>9:41:30</td><td>9:57:30</td><td>10:37:30</td><td>11:05:30</td><td>11:27:30</td><td>11:49:30</td><td>12:19:30</td><td>12:38:00</td><td>13:22:30</td><td>13:51:30</td><td>14:28:30</td><td>15:07:30</td><td>15:33:30</td><td>15:55:00</td><td>16:09:30</td><td>16:46:00</td><td>17:11:30</td><td>17:37:00</td><td>17:56:30</td><td>18:17:00</td><td>18:34:30</td><td>19:01:00</td><td>19:27:00</td><td>19:46:30</td><td>20:12:30</td><td>20:44:30</td><td>21:05:00</td><td>21:30:30</td><td>21:50:30</td><td>22:13:30</td><td>22:43:30</td><td>23:09:30</td><td>23:36:30</td><td>23:55:00</td><td>0:18:30</td><td>0:38:00</td></tr></tbody></table>        </div>
        <div id="m_down" class="dg-m-scroll" style="display:none;">
            <table class="dg-m-table"><thead><tr><th>﻿시발역</th><th>동대구</th><th>구미</th><th>동대구</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>동대구</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>동대구</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th><th>구미</th></tr></thead><tbody><tr><td>종착역</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>동대구</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>동대구</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>동대구</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>경산</td><td>동대구</td><td>경산</td><td>동대구</td></tr><tr><td>열차번호</td><td>K1701</td><td>K1705</td><td>K1703</td><td>K1707</td><td>K1709</td><td>K1711</td><td>K1713</td><td>K1717</td><td>K1719</td><td>K1721</td><td>K1723</td><td>K1725</td><td>K1727</td><td>K1729</td><td>K1733</td><td>K1735</td><td>K1737</td><td>K1739</td><td>K1741</td><td>K1743</td><td>K1745</td><td>K1747</td><td>K1749</td><td>K1751</td><td>K1753</td><td>K1757</td><td>K1755</td><td>K1759</td><td>K1761</td><td>K1763</td><td>K1765</td><td>K1769</td><td>K1767</td><td>K1771</td><td>K1773</td><td>K1775</td><td>K1777</td><td>K1779</td><td>K1781</td><td>K1783</td><td>K1785</td><td>K1787</td><td>K1789</td><td>K1791</td><td>K1793</td><td>K1795</td><td>K1797</td><td>K1799</td><td>K1801</td><td>K1803</td></tr><tr><td>구미</td><td></td><td>5:30:00</td><td></td><td>5:40:00</td><td>6:05:00</td><td>6:27:00</td><td>6:50:00</td><td>7:21:00</td><td>7:30:00</td><td>7:50:00</td><td>8:05:00</td><td>8:20:00</td><td>8:44:00</td><td>9:08:00</td><td>9:40:00</td><td>10:00:00</td><td>10:25:00</td><td>10:56:00</td><td>11:14:00</td><td>11:39:00</td><td>12:00:00</td><td>13:01:00</td><td>13:21:00</td><td>13:34:00</td><td>14:03:00</td><td>14:53:00</td><td></td><td>15:22:00</td><td>15:46:00</td><td>16:06:00</td><td>16:28:00</td><td>17:01:00</td><td></td><td>17:32:00</td><td>17:56:00</td><td>18:17:00</td><td>18:30:00</td><td>18:51:00</td><td>19:20:00</td><td>19:46:00</td><td>20:08:00</td><td>20:35:00</td><td>20:56:00</td><td>21:21:00</td><td>21:51:00</td><td>22:08:00</td><td>22:29:00</td><td>22:55:00</td><td>23:22:00</td><td>23:50:00</td></tr><tr><td>사곡</td><td></td><td>5:36:00</td><td></td><td>5:46:00</td><td>6:11:00</td><td>6:33:00</td><td>6:56:00</td><td>7:27:00</td><td>7:36:00</td><td>7:56:00</td><td>8:11:00</td><td>8:26:00</td><td>8:50:00</td><td>9:14:00</td><td>9:46:00</td><td>10:06:00</td><td>10:31:00</td><td>11:02:00</td><td>11:20:00</td><td>11:45:00</td><td>12:06:00</td><td>13:07:00</td><td>13:27:00</td><td>13:40:00</td><td>14:09:00</td><td>14:59:00</td><td></td><td>15:28:00</td><td>15:52:00</td><td>16:12:00</td><td>16:34:00</td><td>17:07:00</td><td></td><td>17:38:00</td><td>18:02:00</td><td>18:23:00</td><td>18:36:00</td><td>18:57:00</td><td>19:26:00</td><td>19:52:00</td><td>20:14:00</td><td>20:41:00</td><td>21:02:00</td><td>21:27:00</td><td>21:57:00</td><td>22:14:00</td><td>22:35:00</td><td>23:01:00</td><td>23:28:00</td><td>23:56:00</td></tr><tr><td></td><td></td><td>5:36:30</td><td></td><td>5:46:30</td><td>6:11:30</td><td>6:33:30</td><td>6:56:30</td><td>7:27:30</td><td>7:36:30</td><td>7:56:30</td><td>8:11:30</td><td>8:26:30</td><td>8:50:30</td><td>9:19:00</td><td>9:46:30</td><td>10:11:00</td><td>10:31:30</td><td>11:02:30</td><td>11:20:30</td><td>11:45:30</td><td>12:06:30</td><td>13:07:30</td><td>13:32:00</td><td>13:40:30</td><td>14:09:30</td><td>14:59:30</td><td></td><td>15:33:00</td><td>15:52:30</td><td>16:12:30</td><td>16:34:30</td><td>17:07:30</td><td></td><td>17:38:30</td><td>18:06:30</td><td>18:23:30</td><td>18:36:30</td><td>18:57:30</td><td>19:26:30</td><td>19:52:30</td><td>20:14:30</td><td>20:41:30</td><td>21:02:30</td><td>21:27:30</td><td>21:57:30</td><td>22:14:30</td><td>22:35:30</td><td>23:01:30</td><td>23:28:30</td><td>23:56:30</td></tr><tr><td>약목</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td>5:43:00</td><td></td><td>5:53:00</td><td>6:18:00</td><td>6:40:00</td><td>7:03:00</td><td>7:34:00</td><td>7:43:00</td><td>8:03:00</td><td>8:18:00</td><td>8:33:00</td><td>8:57:00</td><td>9:25:30</td><td>9:53:00</td><td>10:17:30</td><td>10:38:00</td><td>11:09:00</td><td>11:27:00</td><td>11:52:00</td><td>12:13:00</td><td>13:14:00</td><td>13:38:30</td><td>13:47:00</td><td>14:16:00</td><td>15:06:00</td><td></td><td>15:39:30</td><td>15:59:00</td><td>16:19:00</td><td>16:41:00</td><td>17:14:00</td><td></td><td>17:45:00</td><td>18:13:00</td><td>18:30:00</td><td>18:43:00</td><td>19:04:00</td><td>19:33:00</td><td>19:59:00</td><td>20:21:00</td><td>20:48:00</td><td>21:09:00</td><td>21:34:00</td><td>22:04:00</td><td>22:21:00</td><td>22:42:00</td><td>23:08:00</td><td>23:35:00</td><td>0:03:00</td></tr><tr><td>왜관</td><td></td><td>5:49:30</td><td></td><td>5:59:30</td><td>6:24:30</td><td>6:46:30</td><td>7:09:30</td><td>7:40:30</td><td>7:49:30</td><td>8:09:30</td><td>8:24:30</td><td>8:39:30</td><td>9:03:30</td><td>9:32:00</td><td>9:59:30</td><td>10:24:00</td><td>10:44:30</td><td>11:15:30</td><td>11:33:30</td><td>11:58:30</td><td>12:19:30</td><td>13:20:30</td><td>13:45:00</td><td>13:53:30</td><td>14:22:30</td><td>15:12:30</td><td></td><td>15:46:00</td><td>16:05:30</td><td>16:25:30</td><td>16:47:30</td><td>17:20:30</td><td></td><td>17:51:30</td><td>18:19:30</td><td>18:36:30</td><td>18:49:30</td><td>19:10:30</td><td>19:39:30</td><td>20:05:30</td><td>20:27:30</td><td>20:54:30</td><td>21:15:30</td><td>21:40:30</td><td>22:10:30</td><td>22:27:30</td><td>22:48:30</td><td>23:14:30</td><td>23:41:30</td><td>0:09:30</td></tr><tr><td></td><td></td><td>5:50:00</td><td></td><td>6:00:00</td><td>6:25:00</td><td>6:47:00</td><td>7:10:00</td><td>7:41:00</td><td>7:50:00</td><td>8:10:00</td><td>8:25:00</td><td>8:40:00</td><td>9:04:00</td><td>9:32:30</td><td>10:00:00</td><td>10:24:30</td><td>10:45:00</td><td>11:16:00</td><td>11:34:00</td><td>12:03:00</td><td>12:24:00</td><td>13:21:00</td><td>13:45:30</td><td>13:59:00</td><td>14:23:00</td><td>15:17:30</td><td></td><td>15:46:30</td><td>16:06:00</td><td>16:26:00</td><td>16:48:00</td><td>17:21:00</td><td></td><td>17:52:00</td><td>18:20:00</td><td>18:37:00</td><td>18:55:30</td><td>19:11:00</td><td>19:40:00</td><td>20:06:00</td><td>20:28:00</td><td>20:55:00</td><td>21:16:00</td><td>21:41:00</td><td>22:11:00</td><td>22:34:00</td><td>22:54:30</td><td>23:15:00</td><td>23:42:00</td><td>0:10:00</td></tr><tr><td>연화</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td>5:54:30</td><td></td><td>6:04:30</td><td>6:29:30</td><td>6:51:30</td><td>7:14:30</td><td>7:45:30</td><td>7:54:30</td><td>8:14:30</td><td>8:29:30</td><td>8:44:30</td><td>9:08:30</td><td>9:37:00</td><td>10:04:30</td><td>10:29:00</td><td>10:49:30</td><td>11:20:30</td><td>11:38:30</td><td>12:07:30</td><td>12:28:30</td><td>13:25:30</td><td>13:50:00</td><td>14:03:30</td><td>14:27:30</td><td>15:22:00</td><td></td><td>15:51:00</td><td>16:10:30</td><td>16:30:30</td><td>16:52:30</td><td>17:25:30</td><td></td><td>17:56:30</td><td>18:24:30</td><td>18:41:30</td><td>19:00:00</td><td>19:15:30</td><td>19:44:30</td><td>20:10:30</td><td>20:32:30</td><td>20:59:30</td><td>21:20:30</td><td>21:45:30</td><td>22:15:30</td><td>22:38:30</td><td>22:59:00</td><td>23:19:30</td><td>23:46:30</td><td>0:14:30</td></tr><tr><td>신동</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td>5:57:00</td><td></td><td>6:07:00</td><td>6:32:00</td><td>6:54:00</td><td>7:17:00</td><td>7:48:00</td><td>7:57:00</td><td>8:17:00</td><td>8:32:00</td><td>8:47:00</td><td>9:11:00</td><td>9:39:30</td><td>10:07:00</td><td>10:31:30</td><td>10:52:00</td><td>11:23:00</td><td>11:41:00</td><td>12:10:00</td><td>12:31:00</td><td>13:28:00</td><td>13:52:30</td><td>14:06:00</td><td>14:30:00</td><td>15:24:30</td><td></td><td>15:53:30</td><td>16:13:00</td><td>16:33:00</td><td>16:55:00</td><td>17:28:00</td><td></td><td>17:59:00</td><td>18:27:00</td><td>18:44:00</td><td>19:02:30</td><td>19:18:00</td><td>19:47:00</td><td>20:13:00</td><td>20:35:00</td><td>21:02:00</td><td>21:23:00</td><td>21:48:00</td><td>22:18:00</td><td>22:41:00</td><td>23:01:30</td><td>23:22:00</td><td>23:49:00</td><td>0:17:00</td></tr><tr><td>지천</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td>6:02:00</td><td></td><td>6:12:00</td><td>6:37:00</td><td>6:59:00</td><td>7:22:00</td><td>7:53:00</td><td>8:02:00</td><td>8:22:00</td><td>8:37:00</td><td>8:52:00</td><td>9:16:00</td><td>9:44:30</td><td>10:12:00</td><td>10:36:30</td><td>10:57:00</td><td>11:28:00</td><td>11:46:00</td><td>12:15:00</td><td>12:36:00</td><td>13:33:00</td><td>13:57:30</td><td>14:11:00</td><td>14:35:00</td><td>15:29:30</td><td></td><td>15:58:30</td><td>16:18:00</td><td>16:38:00</td><td>17:00:00</td><td>17:33:00</td><td></td><td>18:04:00</td><td>18:32:00</td><td>18:49:00</td><td>19:07:30</td><td>19:23:00</td><td>19:52:00</td><td>20:18:00</td><td>20:40:00</td><td>21:07:00</td><td>21:28:00</td><td>21:53:00</td><td>22:23:00</td><td>22:46:00</td><td>23:06:30</td><td>23:27:00</td><td>23:54:00</td><td>0:22:00</td></tr><tr><td>서대구</td><td></td><td>6:06:00</td><td></td><td>6:16:00</td><td>6:41:00</td><td>7:03:00</td><td>7:26:00</td><td>7:57:00</td><td>8:06:00</td><td>8:26:00</td><td>8:41:00</td><td>8:56:00</td><td>9:20:00</td><td>9:48:30</td><td>10:16:00</td><td>10:40:30</td><td>11:01:00</td><td>11:32:00</td><td>11:50:00</td><td>12:19:00</td><td>12:40:00</td><td>13:37:00</td><td>14:01:30</td><td>14:15:00</td><td>14:39:00</td><td>15:33:30</td><td></td><td>16:02:30</td><td>16:22:00</td><td>16:42:00</td><td>17:04:00</td><td>17:37:00</td><td></td><td>18:08:00</td><td>18:36:00</td><td>18:53:00</td><td>19:11:30</td><td>19:27:00</td><td>19:56:00</td><td>20:22:00</td><td>20:44:00</td><td>21:11:00</td><td>21:32:00</td><td>21:57:00</td><td>22:27:00</td><td>22:50:00</td><td>23:10:30</td><td>23:31:00</td><td>23:58:00</td><td>0:26:00</td></tr><tr><td></td><td></td><td>6:06:30</td><td></td><td>6:16:30</td><td>6:41:30</td><td>7:03:30</td><td>7:26:30</td><td>7:57:30</td><td>8:06:30</td><td>8:26:30</td><td>8:41:30</td><td>8:56:30</td><td>9:20:30</td><td>9:49:00</td><td>10:16:30</td><td>10:41:00</td><td>11:01:30</td><td>11:32:30</td><td>11:50:30</td><td>12:19:30</td><td>12:40:30</td><td>13:37:30</td><td>14:02:00</td><td>14:15:30</td><td>14:39:30</td><td>15:34:30</td><td></td><td>16:03:00</td><td>16:22:30</td><td>16:42:30</td><td>17:04:30</td><td>17:37:30</td><td></td><td>18:08:30</td><td>18:36:30</td><td>18:53:30</td><td>19:12:00</td><td>19:27:30</td><td>19:56:30</td><td>20:22:30</td><td>20:44:30</td><td>21:11:30</td><td>21:32:30</td><td>21:57:30</td><td>22:27:30</td><td>22:50:30</td><td>23:11:00</td><td>23:31:30</td><td>23:58:30</td><td>0:26:30</td></tr><tr><td>대구</td><td></td><td>6:12:00</td><td></td><td>6:22:00</td><td>6:47:00</td><td>7:09:00</td><td>7:32:00</td><td>8:03:00</td><td>8:12:00</td><td>8:32:00</td><td>8:47:00</td><td>9:02:00</td><td>9:26:00</td><td>9:54:30</td><td>10:22:00</td><td>10:46:30</td><td>11:07:00</td><td>11:38:00</td><td>11:56:00</td><td>12:25:00</td><td>12:46:00</td><td>13:43:00</td><td>14:07:30</td><td>14:21:00</td><td>14:45:00</td><td>15:40:00</td><td></td><td>16:08:30</td><td>16:28:00</td><td>16:48:00</td><td>17:10:00</td><td>17:43:00</td><td></td><td>18:14:00</td><td>18:42:00</td><td>18:59:00</td><td>19:17:30</td><td>19:33:00</td><td>20:02:00</td><td>20:28:00</td><td>20:50:00</td><td>21:17:00</td><td>21:38:00</td><td>22:03:00</td><td>22:33:00</td><td>22:56:00</td><td>23:16:30</td><td>23:37:00</td><td>0:04:00</td><td>0:32:00</td></tr><tr><td></td><td></td><td>6:12:30</td><td></td><td>6:22:30</td><td>6:47:30</td><td>7:09:30</td><td>7:32:30</td><td>8:03:30</td><td>8:12:30</td><td>8:32:30</td><td>8:47:30</td><td>9:02:30</td><td>9:26:30</td><td>9:55:00</td><td>10:22:30</td><td>10:47:00</td><td>11:07:30</td><td>11:38:30</td><td>11:56:30</td><td>12:25:30</td><td>12:46:30</td><td>13:43:30</td><td>14:08:00</td><td>14:21:30</td><td>14:45:30</td><td>15:40:30</td><td></td><td>16:09:00</td><td>16:28:30</td><td>16:48:30</td><td>17:10:30</td><td>17:43:30</td><td></td><td>18:14:30</td><td>18:42:30</td><td>18:59:30</td><td>19:18:00</td><td>19:33:30</td><td>20:02:30</td><td>20:28:30</td><td>20:50:30</td><td>21:17:30</td><td>21:38:30</td><td>22:03:30</td><td>22:33:30</td><td>22:56:30</td><td>23:17:00</td><td>23:37:30</td><td>0:04:30</td><td>0:32:30</td></tr><tr><td>동대구</td><td></td><td>6:17:30</td><td></td><td>6:27:30</td><td>6:52:30</td><td>7:14:30</td><td>7:37:30</td><td>8:08:30</td><td>8:17:30</td><td>8:37:30</td><td>8:52:30</td><td>9:07:30</td><td>9:31:30</td><td>10:00:00</td><td>10:27:30</td><td>10:52:00</td><td>11:12:30</td><td>11:43:30</td><td>12:01:30</td><td>12:30:30</td><td>12:51:30</td><td>13:48:30</td><td>14:13:00</td><td>14:26:30</td><td>14:50:30</td><td>15:45:30</td><td></td><td>16:14:00</td><td>16:33:30</td><td>16:53:30</td><td>17:15:30</td><td>17:48:30</td><td></td><td>18:19:30</td><td>18:47:30</td><td>19:04:30</td><td>19:23:00</td><td>19:38:30</td><td>20:07:30</td><td>20:33:30</td><td>20:55:30</td><td>21:22:30</td><td>21:43:30</td><td>22:08:30</td><td>22:38:30</td><td>23:01:30</td><td>23:22:00</td><td>23:42:30</td><td>0:09:30</td><td>0:37:30</td></tr><tr><td></td><td>5:35:00</td><td>6:18:30</td><td>5:49:00</td><td>6:28:30</td><td>6:53:30</td><td>7:15:30</td><td>7:39:00</td><td>8:09:30</td><td>8:18:30</td><td>8:38:30</td><td></td><td>9:08:30</td><td>9:32:30</td><td>10:01:00</td><td>10:28:30</td><td>10:53:00</td><td>11:13:30</td><td>11:44:30</td><td></td><td>12:31:30</td><td>12:52:30</td><td>13:49:30</td><td>14:14:00</td><td>14:27:30</td><td>14:51:30</td><td>15:48:30</td><td>15:25:00</td><td>16:15:00</td><td>16:34:30</td><td>16:54:30</td><td>17:16:30</td><td>17:49:00</td><td>17:35:00</td><td>18:20:30</td><td>18:48:00</td><td></td><td>19:24:00</td><td>19:39:30</td><td>20:08:00</td><td>20:35:00</td><td>20:56:30</td><td>21:23:30</td><td>21:44:30</td><td>22:13:00</td><td>22:39:30</td><td>23:02:30</td><td>23:23:00</td><td></td><td>0:10:30</td><td></td></tr><tr><td>고모</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td>5:39:30</td><td>6:23:00</td><td>5:53:30</td><td>6:33:00</td><td>6:58:00</td><td>7:20:00</td><td>7:43:30</td><td>8:14:00</td><td>8:23:00</td><td>8:43:00</td><td></td><td>9:13:00</td><td>9:37:00</td><td>10:05:30</td><td>10:33:00</td><td>10:57:30</td><td>11:18:00</td><td>11:49:00</td><td></td><td>12:36:00</td><td>12:57:00</td><td>13:54:00</td><td>14:18:30</td><td>14:32:00</td><td>14:56:00</td><td>15:53:00</td><td>15:29:30</td><td>16:19:30</td><td>16:39:00</td><td>16:59:00</td><td>17:21:00</td><td>17:53:30</td><td>17:39:30</td><td>18:25:00</td><td>18:52:30</td><td></td><td>19:28:30</td><td>19:44:00</td><td>20:12:30</td><td>20:39:30</td><td>21:01:00</td><td>21:28:00</td><td>21:49:00</td><td>22:17:30</td><td>22:44:00</td><td>23:07:00</td><td>23:27:30</td><td></td><td>0:15:00</td><td></td></tr><tr><td>가천</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td>5:40:30</td><td>6:24:00</td><td>5:54:30</td><td>6:34:00</td><td>6:59:00</td><td>7:21:00</td><td>7:44:30</td><td>8:15:00</td><td>8:24:00</td><td>8:44:00</td><td></td><td>9:14:00</td><td>9:38:00</td><td>10:06:30</td><td>10:34:00</td><td>10:58:30</td><td>11:19:00</td><td>11:50:00</td><td></td><td>12:37:00</td><td>12:58:00</td><td>13:55:00</td><td>14:19:30</td><td>14:33:00</td><td>14:57:00</td><td>15:54:00</td><td>15:30:30</td><td>16:20:30</td><td>16:40:00</td><td>17:00:00</td><td>17:22:00</td><td>17:54:30</td><td>17:41:00</td><td>18:26:00</td><td>18:53:30</td><td></td><td>19:29:30</td><td>19:45:00</td><td>20:13:30</td><td>20:40:30</td><td>21:02:00</td><td>21:29:00</td><td>21:50:00</td><td>22:18:30</td><td>22:45:00</td><td>23:08:00</td><td>23:28:30</td><td></td><td>0:16:00</td><td></td></tr><tr><td>경산</td><td>5:46:00</td><td>6:29:30</td><td>6:00:00</td><td>6:39:30</td><td>7:04:30</td><td>7:26:30</td><td>7:50:00</td><td>8:20:30</td><td>8:29:30</td><td>8:49:00</td><td></td><td>9:19:30</td><td>9:43:30</td><td>10:12:00</td><td>10:39:30</td><td>11:04:00</td><td>11:24:30</td><td>11:55:30</td><td></td><td>12:42:00</td><td>13:03:30</td><td>14:00:30</td><td>14:24:30</td><td>14:38:30</td><td>15:02:30</td><td>15:59:30</td><td>15:35:30</td><td>16:26:00</td><td>16:45:30</td><td>17:05:30</td><td>17:27:30</td><td>17:59:30</td><td>17:47:00</td><td>18:31:30</td><td>18:59:00</td><td></td><td>19:35:00</td><td>19:50:30</td><td>20:19:00</td><td>20:46:00</td><td>21:07:30</td><td>21:34:30</td><td>21:55:30</td><td>22:24:00</td><td>22:50:30</td><td>23:13:30</td><td>23:34:00</td><td></td><td>0:21:30</td><td></td></tr></tbody></table>        </div>
    </div>

    <script>
    function dg_m_sw(mode, btn) {
        const root = document.getElementById('dg_m_6a11ed0ad6b6e');
        root.querySelectorAll('.dg-m-tab').forEach(t => t.classList.remove('active'));
        btn.classList.add('active');
        document.getElementById('m_up').style.display = (mode === 'up') ? 'block' : 'none';
        document.getElementById('m_down').style.display = (mode === 'down') ? 'block' : 'none';
    }
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">광역전철 &amp; 지하철 시간표 조회</h2>


    <style>
        .subway-ui { max-width: 650px; margin: 20px auto; font-family: -apple-system, "Malgun Gothic", sans-serif; color: #333; }
        .search-container { display:flex; gap:8px; margin-bottom:20px; }
        #st-input { flex: 1; padding: 12px 15px; border: 2px solid #0045e6; border-radius: 10px; font-size: 16px; outline: none; }
        #st-search-btn { padding: 12px 25px; background: #0045e6; color: #fff; border: none; border-radius: 10px; font-weight: bold; cursor: pointer; }
        #st-list-area:not(:empty) { min-height: 100px; margin-bottom: 20px; }
        .dg-s-table-wrapper { margin-bottom: 30px; background: #fff; border-radius: 14px; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 20px rgba(0,0,0,0.08); }
        .dg-s-header-box { padding: 16px 20px; background: #fff; border-bottom: 1px solid #f1f5f9; display: flex; justify-content: space-between; align-items: center; }
        .dg-s-tab-wrapper { display: flex; gap: 6px; background: #f1f5f9; padding: 4px; border-radius: 10px; }
        .dg-s-tab-item { padding: 8px 16px; border-radius: 8px; border: none; background: transparent; font-size: 13px; font-weight: 800; color: #64748b; cursor: pointer; }
        .dg-s-tab-item.active { background: #fff; color: #0045e6; box-shadow: 0 2px 5px rgba(0,0,0,0.08); }
        .dg-s-main-table { width: 100% !important; border-collapse: collapse !important; table-layout: fixed; margin: 0 !important; }
        .dg-s-main-table th { font-size: 12px; color: #94a3b8; padding: 12px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; }
        .dg-s-main-table td { font-size: 15px; padding: 15px 10px; border-bottom: 1px solid #f1f5f9; vertical-align: middle; text-align: center; }
        .dg-s-time-val { font-size: 15px; font-weight: 700; color: #0f172a; display: block; }
        .dg-s-time-diff { font-size: 11px; color: #0045e6; font-weight: 800; }
        .status-run { color: #0045e6; font-weight: 700; font-size: 12px; }
        .status-end { color: #94a3b8; font-weight: 700; font-size: 12px; }

        @keyframes blink-live { 0% { opacity: 1; } 50% { opacity: 0.1; } 100% { opacity: 1; } }
        .live-icon { display: inline-block; width: 10px; height: 10px; background: #ff0000; border-radius: 50%; margin-right: 8px; animation: blink-live 1s infinite; vertical-align: middle; }
        
        @keyframes blink-urgent { 0% { opacity: 1; } 50% { opacity: 0.7; } 100% { opacity: 1; } }
        .status-ready-box { display: inline-block; background: #ffcc00; color: #000 !important; padding: 2px 8px; border-radius: 4px; font-weight: 800; font-size: 11px; animation: blink-urgent 1s infinite; margin-bottom: 2px; }
        .status-urgent-box { display: inline-block; background: #ff0000; color: #fff !important; padding: 2px 8px; border-radius: 4px; font-weight: 800; font-size: 11px; animation: blink-urgent 0.8s infinite; margin-bottom: 2px; }
        
        .dg-s-page-btn { padding: 4px 10px; font-size: 11px; background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 5px; color: #64748b; cursor: pointer; font-weight: bold; }
        #update-time-display { font-size: 12px; color: #94a3b8; text-align: right; margin-top: -10px; margin-bottom: 15px; display: none; }

        .route-memo-display { background: #f9f9f9; padding: 18px; border-radius: 10px; border: 1px solid #eee; margin: 25px 0; font-size: 15px; color: #333; line-height: 1.7; border-left: 6px solid #0045e6; position: relative; display: none; }
        .route-memo-display::before { content: "💡 역 이용 참고사항"; display: block; font-weight: bold; color: #0045e6; margin-bottom: 8px; font-size: 13px; }
    </style>

    <div class="subway-ui">
        <h3 id="dynamic-subway-title" style="margin-bottom: 10px;">지하철 역명을 입력하세요</h3>
        <div id="update-time-display"></div>
        <div class="search-container">
            <input type="text" id="st-input" placeholder="역 이름 (예: 탄방, 서울, 동대구)">
            <button id="st-search-btn">조회</button>
        </div>
        <div id="st-list-area"></div>
        <div id="st-timetable-area"></div>
        <div id="memo-display-area" class="route-memo-display"></div>
    </div>

    <script>
    jQuery(document).ready(function($) {
        const ajaxUrl = "https://krailroad.co.kr/wp-admin/admin-ajax.php";
        let currentData = { U: [], D: [] }; 
        let state = { mode: 'rem', pgU: 1, pgD: 1, name: '' };
        let autoRefreshTimer = null;

        const performSearch = function(manualName = null) {
            if(autoRefreshTimer) clearInterval(autoRefreshTimer);
            const name = (manualName || $('#st-input').val().trim()).replace(/역$/, '');
            if(!name) return;

            currentData = { U: [], D: [] }; 
            $('#st-list-area').show().html('<p style="text-align:center; padding:15px;">🔍 검색 결과를 불러오는 중...</p>');
            $('#st-timetable-area').empty(); 
            $('#update-time-display').hide();
            $('#memo-display-area').hide();

            $.getJSON(ajaxUrl, { action: 'get_subway_data', request_type: 'list', stationName: name }, function(res) {
                let items = res.response?.body?.items?.item;
                
                if(items) {
                    $.post(ajaxUrl, { action: 'save_subway_db', station_name: name }, function(saveRes) {
                        if(saveRes.success && saveRes.data.memo) {
                            $('#memo-display-area').text(saveRes.data.memo).show();
                        }
                    });
                    
                    if(!Array.isArray(items)) items = [items];
                    let h = '<div style="margin-bottom:25px; background:#f8fafc; padding:12px; border-radius:12px; border:1px solid #e2e8f0;">';
                    items.forEach(it => {
                        const sName = it.subwayStationNm || it.subwayStationName;
                        const rName = it.subwayRouteName || it.subwayRouteNm || '지하철';
                        h += `<div style="display:flex; justify-content:space-between; align-items:center; padding:12px; border-bottom:1px solid #f1f5f9; background:#fff; margin-bottom:6px; border-radius:8px;">
                            <span><b style="color:#0045e6;">[${rName}]</b> ${sName}</span>
                            <button onclick="fetchTimetable('${it.subwayStationId}', '${sName}')" style="padding:6px 12px; background:#1e293b; color:#fff; border:none; border-radius:6px; cursor:pointer;">선택</button>
                        </div>`;
                    });
                    $('#st-list-area').html(h + '</div>');
                } else {
                    $('#st-list-area').html('<p style="text-align:center; padding:25px;">결과가 없습니다.</p>');
                }
            });
        };

        const urlParams = new URLSearchParams(window.location.search);
        if(urlParams.get('station1')) {
            const pName = urlParams.get('station1');
            $('#st-input').val(pName); performSearch(pName);
        }

        $('#st-search-btn').on('click', () => performSearch());
        $('#st-input').on('keydown', function(e) { if (e.keyCode === 13) { e.preventDefault(); performSearch(); } });

        const loadStationData = function(id, name) {
            const nowTime = new Date();
            $('#update-time-display').text('최신 갱신: ' + nowTime.getHours() + '시 ' + nowTime.getMinutes() + '분 ' + nowTime.getSeconds() + '초 (자동 업데이트)').show();

            const reqU = $.ajax({ url: ajaxUrl, data: { action: 'get_subway_data', request_type: 'time', stationId: id, upDown: 'U' }, dataType: 'json' });
            const reqD = $.ajax({ url: ajaxUrl, data: { action: 'get_subway_data', request_type: 'time', stationId: id, upDown: 'D' }, dataType: 'json' });
            $.when(reqU, reqD).done(function(r1, r2) {
                currentData.U = parseTimetable(r1[0]); currentData.D = parseTimetable(r2[0]);
                renderUI(); $('#st-list-area').hide();
            });
        };

        window.fetchTimetable = function(id, name) {
            if(autoRefreshTimer) clearInterval(autoRefreshTimer);
            state.name = name; state.pgU = 1; state.pgD = 1;
            let routeFull = $(`button[onclick*="${id}"]`).closest('div').find('b').text() || '';
            let routeName = routeFull.replace('대구 도시철도 ', '').replace('수도권 ', '');
            $('#dynamic-subway-title').html('<span class="live-icon"></span>' + routeName + ' ' + name + ' 실시간');
            
            $('#st-timetable-area').html('<div style="text-align:center; padding:40px;">데이터 동기화 중...</div>');
            
            loadStationData(id, name);
            autoRefreshTimer = setInterval(function() {
                loadStationData(id, name);
            }, 60000);
        };

        function parseTimetable(res) {
            let items = res?.response?.body?.items?.item || [];
            if(!Array.isArray(items)) items = [items];
            return items.filter(i => i.depTime).map(i => {
                let t = String(i.depTime);
                let h = parseInt(t.substring(0,2)), m = parseInt(t.substring(2,4));
                return { time: h.toString().padStart(2,'0') + ':' + m.toString().padStart(2,'0'), dest: i.endSubwayStationNm || i.endSubwayStationName || '행', weight: (h < 4) ? (h + 24) * 60 + m : h * 60 + m };
            }).sort((a,b) => a.weight - b.weight);
        }

        function renderUI() {
            const now = new Date();
            const nowW = (now.getHours() < 4) ? (now.getHours() + 24) * 60 + now.getMinutes() : now.getHours() * 60 + now.getMinutes();
            const buildSection = (title, dir) => {
                const list = currentData[dir].filter(it => state.mode === 'all' || it.weight >= nowW);
                const total = Math.ceil(list.length / 10) || 1;
                const pg = dir === 'U' ? state.pgU : state.pgD;
                const items = list.slice((pg-1)*10, pg*10);
                let h = `<div class="dg-s-table-wrapper"><div class="dg-s-header-box"><div class="dg-s-tab-wrapper"><button class="dg-s-tab-item ${state.mode==='rem'?'active':''}" onclick="setTabMode('rem')">잔여 열차</button><button class="dg-s-tab-item ${state.mode==='all'?'active':''}" onclick="setTabMode('all')">오늘 전체</button></div><span style="font-size:11px; font-weight:800; color:#0045e6;">● ${title}</span></div><table class="dg-s-main-table"><thead><tr><th>운행상태</th><th>출발시간</th><th>목적지</th></tr></thead><tbody>`;
                
                if(!items.length) { h += `<tr><td colspan="3" style="padding:40px;">데이터가 없습니다.</td></tr>`; } 
                else {
                    items.forEach(it => {
                        const diff = it.weight - nowW; const isEnd = diff < 0;
                        let sHtml = '';
                        if (isEnd) {
                            sHtml = `<span class="status-end">운행종료</span><br><span class="dg-s-time-diff">출발완료</span>`;
                        } else if (diff <= 3) {
                            sHtml = `<span class="status-urgent-box">곧출발</span><br><span class="dg-s-time-diff" style="color:#ff0000;">${diff === 0 ? '잠시후' : diff + '분 후'}</span>`;
                        } else if (diff <= 15) {
                            sHtml = `<span class="status-ready-box">출발임박</span><br><span class="dg-s-time-diff" style="color:#ff9900;">${diff}분 후</span>`;
                        } else {
                            sHtml = `<span class="status-run">운행중</span><br><span class="dg-s-time-diff">${diff}분 후</span>`;
                        }
                        h += `<tr><td>${sHtml}</td><td><span class="dg-s-time-val">${it.time}</span></td><td><span style="font-weight:700;">${it.dest}</span></td></tr>`;
                    });
                }
                h += `</tbody></table><div style="display:flex; justify-content:center; padding:15px; background:#fafafa; gap:10px; align-items:center;"><button class="dg-s-page-btn" onclick="setPageNum('${dir}',-1)">이전</button><span style="font-size:12px; font-weight:800;">${pg} / ${total}</span><button class="dg-s-page-btn" onclick="setPageNum('${dir}',1)">다음</button></div></div>`;
                return h;
            };
            $('#st-timetable-area').html(buildSection('상행/내선', 'U') + buildSection('하행/외선', 'D'));
        }
        window.setTabMode = (m) => { state.mode = m; state.pgU = 1; state.pgD = 1; renderUI(); };
        window.setPageNum = (dir, v) => { if(dir==='U') { if(v===-1 && state.pgU===1) return; state.pgU += v; } else { if(v===-1 && state.pgD===1) return; state.pgD += v; } renderUI(); };
    });
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


<!-- Begin Dable 본문하단_그리드IF / For inquiries, visit http://dable.io -->
<div id="dablewidget_xXAgb4P7" data-widget_id="xXAgb4P7">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_xXAgb4P7');
</script>
</div>
<!-- End 본문하단_그리드IF / For inquiries, visit http://dable.io -->

    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">사곡역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">사곡역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '';
            let curName = '사곡';
            let altCity = '22';
            let altName = '대구';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">대구역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">14℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">대구역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%95%A0%EC%9B%94%EB%B9%B5%EA%B3%B5%EC%9E%A5+%EC%B9%A8%EC%82%B0%EC%A0%90+%EB%8C%80%EA%B5%AC%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%81%EA%B5%AC+%EC%B9%A0%EC%84%B1%EB%8F%992%EA%B0%80+740+%EB%B9%8C%EB%A6%AC%EB%B8%8C%EB%A3%A8%EC%84%BC%ED%8A%B8+%EC%83%81%EA%B0%80+2%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">애월빵공장 침산점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대구광역시 북구 칠성동2가 740 빌리브루센트 상가 2층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EA%B5%AD%EC%9D%BC%EB%B6%88%EA%B0%88%EB%B9%84+%EB%8C%80%EA%B5%AC%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%A4%91%EA%B5%AC+%ED%83%9C%ED%8F%89%EB%A1%9C1%EA%B0%80+4-1" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">국일불갈비</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;육류,고기요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대구광역시 중구 태평로1가 4-1</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%8F%B4+%EB%B0%94%EC%85%8B+%EB%A1%AF%EB%8D%B0%EB%B0%B1%ED%99%94%EC%A0%90+%EB%8C%80%EA%B5%AC%EC%A0%90+%EB%8C%80%EA%B5%AC%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%81%EA%B5%AC+%EC%B9%A0%EC%84%B1%EB%8F%992%EA%B0%80+302-155+B2%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">폴 바셋 롯데백화점 대구점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;카페</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대구광역시 북구 칠성동2가 302-155 B2층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%B9%B5%EC%9E%A5%EC%88%98%EC%89%90%ED%94%84+%EB%A1%AF%EB%8D%B0%EB%B0%B1%ED%99%94%EC%A0%90+%EB%8C%80%EA%B5%AC%EC%A0%90+%EB%8C%80%EA%B5%AC%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%81%EA%B5%AC+%EC%B9%A0%EC%84%B1%EB%8F%992%EA%B0%80+302-155+%EB%A1%AF%EB%8D%B0%EB%B0%B1%ED%99%94%EC%A0%90+%EC%8B%9D%ED%92%88%EA%B4%80+%EC%A7%80%ED%95%982%EC%B8%B5+%EB%B9%B5%EC%9E%A5%EC%88%98%EC%89%90%ED%94%84" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">빵장수쉐프 롯데백화점 대구점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대구광역시 북구 칠성동2가 302-155 롯데백화점 식품관 지하2층 빵장수쉐프</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A1%AF%EB%8D%B0%EB%A6%AC%EC%95%84+%EB%8C%80%EA%B5%AC%EC%97%AD%EC%82%AC%EC%A0%90+%EB%8C%80%EA%B5%AC%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%A4%91%EA%B5%AC+%EB%B6%81%EC%84%B1%EB%A1%9C1%EA%B0%80+6-1+161%2C+161%2C" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">롯데리아 대구역사점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">대구광역시 중구 북성로1가 6-1 161, 161,</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">대구역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 동대구역 2                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,500원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">18,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 대구광역시 동구 신암동 294<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 053-719-0270                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 서대구역제2                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,000원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">15,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 대구광역시 서구 북비산로 55<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 053-719-0270                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">대구역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 대구광역시 동구 신암동 294</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:053-719-0270" style="color: #0052a4; font-weight: bold; text-decoration: none;">053-719-0270</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EB%8C%80%EA%B5%AC%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/03/사곡역-대구역-광역전철-시간표-대경선-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="사곡역-대구역-광역전철-시간표-대경선-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-19916" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/사곡역-대구역-광역전철-시간표-대경선-정차역-노선도-첫기차-마지막기차-요금표.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/03/사곡역-대구역-광역전철-시간표-대경선-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/03/사곡역-대구역-광역전철-시간표-대경선-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>광주송정역 용산역 기차 시간표 KTX ITX-마음 새마을호 무궁화호 호남선 요금</title>
		<link>https://krailroad.co.kr/%ea%b4%91%ec%a3%bc%ec%86%a1%ec%a0%95%ec%97%ad-%ec%9a%a9%ec%82%b0%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-itx-%eb%a7%88%ec%9d%8c-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%eb%ac%b4/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Sat, 28 Mar 2026 01:56:38 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[광주송정역 용산역 기차]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=19890</guid>

					<description><![CDATA[광주송정역 용산역 기차를 알아보고 있다면 가장 먼저 확인해야 할 부분이 바로 열차 종류와 역의 위치입니다. 광주 시내에서 접근하기 좋은 광주송정역은 KTX와 SRT 같은 고속열차뿐 아니라 ITX-새마을이나 ITX-마음 같은 일반 열차도 함께 운행하고 있어 선택의 폭이 넓은 편인데요. 간혹 광주역과 혼동하는 분들도 계시는데, 광주송정역 용산역 기차는 대부분 광주송정역에서 출발한다는 점을 기억하면 이용 하시기에 편리할 것이며, 아래 ... <a title="광주송정역 용산역 기차 시간표 KTX ITX-마음 새마을호 무궁화호 호남선 요금" class="read-more button" href="https://krailroad.co.kr/%ea%b4%91%ec%a3%bc%ec%86%a1%ec%a0%95%ec%97%ad-%ec%9a%a9%ec%82%b0%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-itx-%eb%a7%88%ec%9d%8c-%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8-%eb%ac%b4/" aria-label="광주송정역 용산역 기차 시간표 KTX ITX-마음 새마을호 무궁화호 호남선 요금 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">광주송정역 용산역 기차를 알아보고 있다면 가장 먼저 확인해야 할 부분이 바로 열차 종류와 역의 위치입니다. 광주 시내에서 접근하기 좋은 광주송정역은 KTX와 SRT 같은 고속열차뿐 아니라 ITX-새마을이나 ITX-마음 같은 일반 열차도 함께 운행하고 있어 선택의 폭이 넓은 편인데요.</p>



<p class="wp-block-paragraph">간혹 광주역과 혼동하는 분들도 계시는데, 광주송정역 용산역 기차는 대부분 광주송정역에서 출발한다는 점을 기억하면 이용 하시기에 편리할 것이며, 아래 자료들은 <a href="https://www.data.go.kr/index.do" target="_blank" rel="noopener">공공데이터</a> API를 직접 호출하여 첫기차 마지막 기차, 실시간 열차 출발과 도착 시간표, 버스 실시간 역사 주변 도착 시간, 그리고 이번에 업데이트한 실시간 15분전 음성안내 로직까지 추가하여 스마트폰 화면만 켜 놓으시면 광주송정역 용산역 기차 모든 열차 종별인 KTX, KTX-산천, ITX-마음, ITX-새마을, 무궁화호 시간표를 직접 확인하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>광주송정역 용산역 기차 호남선</strong></h2>



<h3 class="wp-block-heading">역 위치와 열차 선택의 묘미</h3>



<p class="wp-block-paragraph"><a href="https://krailroad.co.kr/%ea%b4%91%ec%a3%bc%ec%86%a1%ec%a0%95%ec%97%ad-ktx-%ec%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac-%eb%b6%80%ec%a0%84%ed%96%89-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%94%ea%b8%88-%ec%a0%95%ec%b0%a8%ec%97%ad%ea%b3%bc/">광주송정역</a>은 지하철과 바로 연결되어 있어 시내 어디서든 오기가 편리하며, 광주송정역에서 용산역까지 가는 길에는 고속열차의 속도감도 좋지만, ITX-마음, ITX-새마을호 열차는 좌석의 안락함이나 특유의 차분한 분위기가 있어 여유를 찾고 싶을 때 이용하셔도 괜찮습니다. 비록 열차운행 횟수가 KTX만큼 많지는 않아도 시간대만 잘 맞추면 요금 면에서도 경제적이라 합리적인 열차 이용을 하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">창밖으로 흐르는 익숙하고 풍경</h3>



<p class="wp-block-paragraph">고속선이 아닌 기존 선로를 달리는 <a href="https://krailroad.co.kr/%ea%b4%91%ec%a3%bc%ec%86%a1%ec%a0%95%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%98%b8%eb%82%a8%ec%84%a0-%eb%85%b8%ec%84%a0-%ec%9a%94%ea%b8%88/">광주송정역 ITX</a>는 창밖을 보는 재미가 쏠쏠하며, 전라선과 호남선을 가로지르며 만나는 나주나 익산, 논산의 풍경들이 눈에 들어오는데, 터널 위주인 고속철도와 달리 계절의 변화를 온전히 느낄 수 있어 좋습니다. 바쁘게 돌아가는 일상에서 잠시 벗어나 창밖 시골 마을의 지붕이나 너른 들판을 멍하니 바라보는 것만으로도 충분한 휴식이 되것입니다.</p>



<p class="wp-block-paragraph">광주송정역 용산역 기차를 예매할 때는 본인이 타려는 열차가 ITX-새마을인지 아니면 최근 도입된 ITX-마음인지 미리 살피는 것이 좋습니다. 두 열차 모두 쾌적하지만 정차역 개수나 소요 시간에서 약간의 차이가 있기 때문입니다. 또한 광주송정역은 이용객이 많아 주말에는 입석까지 금방 매진되니, 일정이 정해졌다면 서둘러 좌석을 확보해두는 것이 좋습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">광주송정 ↔ 용산 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">광주송정<br>↓<br>용산</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">402호</span><div class="time-display">5:37</div><div class="arrival-info">7:42 도착</div></td><td><span class="train-detail">440호</span><div class="time-display">22:30</div><div class="arrival-info">0:19 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">용산<br>↓<br>광주송정</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">401호</span><div class="time-display">5:08</div><div class="arrival-info">7:09 도착</div></td><td><span class="train-detail">439호</span><div class="time-display">22:23</div><div class="arrival-info">0:21 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="3" style="border-top:1px solid #ddd;">광주송정<br>↓<br>용산</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1404호</span><div class="time-display">11:50</div><div class="arrival-info">15:40 도착</div></td><td><span class="train-detail">1406호</span><div class="time-display">16:36</div><div class="arrival-info">20:27 도착</div></td></tr><tr><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1402호</span><div class="time-display">11:09</div><div class="arrival-info">15:06 도착</div></td><td><span class="train-detail">1410호</span><div class="time-display">18:22</div><div class="arrival-info">22:15 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1452호</span><div class="time-display">08:03</div><div class="arrival-info">12:26 도착</div></td><td><span class="train-detail">1452호</span><div class="time-display">08:03</div><div class="arrival-info">12:26 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="3" style="border-top:1px solid #ddd;">용산<br>↓<br>광주송정</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1403호</span><div class="time-display">09:47</div><div class="arrival-info">13:32 도착</div></td><td><span class="train-detail">1407호</span><div class="time-display">17:18</div><div class="arrival-info">21:00 도착</div></td></tr><tr><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1401호</span><div class="time-display">07:34</div><div class="arrival-info">11:57 도착</div></td><td><span class="train-detail">1409호</span><div class="time-display">19:11</div><div class="arrival-info">23:05 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1451호</span><div class="time-display">18:10</div><div class="arrival-info">22:39 도착</div></td><td><span class="train-detail">1451호</span><div class="time-display">18:10</div><div class="arrival-info">22:39 도착</div></td></tr></tbody></table></div>


    
    <h2>광주송정 ↔ 용산 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 광주송정</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                33,100원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 광주송정</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">공주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                46,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                56,200원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                65,500원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 광주송정</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">김제,장성</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                38,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                54,000원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 광주송정</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                22,300원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">광주송정 → 용산 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>광주송정</th><th>장성</th><th>정읍</th><th>김제</th><th>익산</th><th>논산</th><th>계룡</th><th>서대전</th><th>공주</th><th>오송</th><th>천안아산</th><th>광명</th><th>용산</th><th>비고</th></tr></thead><tbody><tr><td>402</td><td>KTX</td><td>5:37</td><td></td><td>5:56</td><td></td><td>6:14</td><td></td><td></td><td></td><td></td><td>6:46</td><td>7:00</td><td>7:26</td><td>7:42</td><td>매일</td></tr><tr><td>404</td><td>KTX-산천</td><td>6:01</td><td></td><td>6:20</td><td></td><td>6:45</td><td></td><td></td><td></td><td>7:05</td><td>7:24</td><td></td><td>7:57</td><td>8:16</td><td>매일</td></tr><tr><td>472</td><td>KTX</td><td>6:10</td><td>6:25</td><td>6:43</td><td>6:58</td><td>7:12</td><td>7:36</td><td>7:54</td><td>8:11</td><td></td><td>8:30</td><td>8:43</td><td>9:09</td><td>9:27</td><td>매일</td></tr><tr><td>406</td><td>KTX</td><td>7:41</td><td></td><td>8:00</td><td></td><td>8:18</td><td></td><td></td><td></td><td>8:38</td><td>8:56</td><td></td><td>9:30</td><td>9:46</td><td>매일</td></tr><tr><td>408</td><td>KTX-산천</td><td>8:48</td><td></td><td>9:07</td><td></td><td>9:32</td><td></td><td></td><td></td><td></td><td>10:03</td><td>10:17</td><td>10:43</td><td>11:05</td><td>매일</td></tr><tr><td>410</td><td>KTX-산천</td><td>9:44</td><td></td><td></td><td></td><td>10:22</td><td></td><td></td><td></td><td></td><td></td><td></td><td>11:20</td><td>11:36</td><td>매일</td></tr><tr><td>412</td><td>KTX</td><td>10:26</td><td></td><td>10:45</td><td></td><td>11:04</td><td></td><td></td><td></td><td></td><td></td><td></td><td>12:02</td><td>12:23</td><td>매일</td></tr><tr><td>442</td><td>KTX-산천</td><td>11:05</td><td></td><td></td><td></td><td>11:36</td><td></td><td></td><td></td><td></td><td>12:07</td><td></td><td>12:41</td><td>12:57</td><td>월-목</td></tr><tr><td>452</td><td>KTX</td><td>11:05</td><td></td><td></td><td></td><td>11:36</td><td></td><td></td><td></td><td></td><td>12:07</td><td></td><td>12:41</td><td>12:57</td><td>금,토,일</td></tr><tr><td>414</td><td>KTX-산천</td><td>11:21</td><td></td><td></td><td></td><td>11:58</td><td></td><td></td><td></td><td>12:18</td><td></td><td>12:44</td><td>13:10</td><td>13:28</td><td>매일</td></tr><tr><td>416</td><td>KTX</td><td>11:34</td><td></td><td>11:53</td><td></td><td>12:12</td><td></td><td></td><td></td><td></td><td>12:43</td><td>12:57</td><td>13:23</td><td>13:40</td><td>매일</td></tr><tr><td>418</td><td>KTX</td><td>13:22</td><td></td><td>13:41</td><td></td><td>13:59</td><td></td><td></td><td></td><td>14:19</td><td>14:37</td><td></td><td>15:11</td><td>15:31</td><td>매일</td></tr><tr><td>420</td><td>KTX</td><td>14:21</td><td></td><td>14:41</td><td></td><td>15:00</td><td></td><td></td><td></td><td>15:19</td><td>15:38</td><td></td><td>16:10</td><td>16:26</td><td>매일</td></tr><tr><td>422</td><td>KTX-산천</td><td>14:57</td><td></td><td>15:16</td><td></td><td>15:41</td><td></td><td></td><td></td><td>16:01</td><td></td><td></td><td>16:47</td><td>17:05</td><td>매일</td></tr><tr><td>4042</td><td>KTX-산천</td><td>15:57</td><td></td><td></td><td></td><td>16:28</td><td></td><td></td><td></td><td></td><td></td><td></td><td>17:26</td><td>17:42</td><td>월-목</td></tr><tr><td>424</td><td>KTX-산천</td><td>16:28</td><td></td><td>16:47</td><td></td><td>17:11</td><td></td><td></td><td></td><td>17:31</td><td></td><td>17:57</td><td></td><td>18:43</td><td>매일</td></tr><tr><td>482</td><td>KTX-산천</td><td>16:59</td><td>17:14</td><td>17:32</td><td>17:47</td><td>18:07</td><td>18:32</td><td>18:50</td><td>19:07</td><td></td><td>19:26</td><td></td><td>19:59</td><td>20:17</td><td>월-목</td></tr><tr><td>488</td><td>KTX-산천</td><td>16:59</td><td>17:14</td><td>17:32</td><td>17:47</td><td>18:07</td><td>18:32</td><td>18:50</td><td>19:07</td><td></td><td>19:26</td><td></td><td>19:59</td><td>20:17</td><td>금,토,일</td></tr><tr><td>426</td><td>KTX-산천</td><td>17:32</td><td></td><td>17:51</td><td></td><td>18:16</td><td></td><td></td><td></td><td></td><td></td><td>18:54</td><td>19:20</td><td>19:36</td><td>매일</td></tr><tr><td>428</td><td>KTX-청룡</td><td>18:25</td><td></td><td></td><td></td><td>18:56</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>20:08</td><td>월-목</td></tr><tr><td>492</td><td>KTX</td><td>18:25</td><td></td><td></td><td></td><td>18:56</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>20:08</td><td>금,토,일</td></tr><tr><td>430</td><td>KTX</td><td>18:41</td><td></td><td>19:00</td><td></td><td>19:19</td><td></td><td></td><td></td><td></td><td>19:50</td><td>20:04</td><td>20:30</td><td>20:46</td><td>매일</td></tr><tr><td>432</td><td>KTX</td><td>19:26</td><td></td><td>19:45</td><td></td><td>20:03</td><td></td><td></td><td></td><td></td><td></td><td></td><td>21:02</td><td>21:18</td><td>매일</td></tr><tr><td>4044</td><td>KTX-산천</td><td>19:50</td><td></td><td>20:10</td><td></td><td>20:35</td><td>21:00</td><td>21:18</td><td>21:34</td><td></td><td></td><td>21:59</td><td>22:25</td><td>22:41</td><td>금,토,일</td></tr><tr><td>434</td><td>KTX-산천</td><td>20:29</td><td></td><td></td><td></td><td>21:06</td><td></td><td></td><td></td><td>21:26</td><td>21:44</td><td></td><td>22:18</td><td>22:36</td><td>매일</td></tr><tr><td>436</td><td>KTX</td><td>20:50</td><td></td><td>21:09</td><td></td><td>21:27</td><td></td><td></td><td></td><td></td><td>21:58</td><td>22:12</td><td>22:38</td><td>22:54</td><td>매일</td></tr><tr><td>438</td><td>KTX-산천</td><td>21:20</td><td></td><td>21:39</td><td></td><td>22:04</td><td></td><td></td><td></td><td></td><td>22:35</td><td>22:49</td><td></td><td>23:26</td><td>매일</td></tr><tr><td>440</td><td>KTX</td><td>22:30</td><td></td><td></td><td></td><td>23:01</td><td></td><td></td><td></td><td></td><td></td><td></td><td>23:59</td><td>0:19</td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>광주송정</th><th>장성</th><th>백양사</th><th>정읍</th><th>신태인</th><th>김제</th><th>익산</th><th>함열</th><th>강경</th><th>논산</th><th>연산</th><th>계룡</th><th>서대전</th><th>신탄진</th><th>부강</th><th>조치원</th><th>전의</th><th>천안</th><th>평택</th><th>수원</th><th>영등포</th><th>용산</th></tr></thead><tbody><tr><td>1452</td><td>무궁화</td><td>08:03</td><td>08:16</td><td>08:26</td><td>08:37</td><td>08:47</td><td>08:55</td><td>09:10</td><td>09:23</td><td>09:32</td><td>09:42</td><td>09:52</td><td>10:05</td><td>10:22</td><td>10:36</td><td></td><td>10:52</td><td>11:03</td><td>11:17</td><td>11:31</td><td>11:51</td><td>12:17</td><td>12:26</td></tr><tr><td>1402</td><td>ITX-새마을</td><td>11:09</td><td>11:23</td><td></td><td>11:40</td><td>11:49</td><td>11:58</td><td>12:12</td><td></td><td>12:31</td><td>12:41</td><td></td><td>12:59</td><td>13:15</td><td></td><td></td><td>13:40</td><td></td><td>14:01</td><td>14:13</td><td>14:33</td><td>14:57</td><td>15:06</td></tr><tr><td>1404</td><td>ITX-마음</td><td>11:50</td><td>12:05</td><td></td><td>12:22</td><td></td><td>12:37</td><td>12:56</td><td></td><td></td><td>13:22</td><td></td><td></td><td>13:53</td><td></td><td></td><td></td><td></td><td>14:37</td><td></td><td>15:06</td><td>15:31</td><td>15:40</td></tr><tr><td>1406</td><td>ITX-마음</td><td>16:36</td><td>16:50</td><td></td><td>17:07</td><td></td><td>17:22</td><td>17:41</td><td></td><td></td><td>18:07</td><td></td><td></td><td>18:38</td><td></td><td></td><td>19:04</td><td></td><td>19:25</td><td>19:37</td><td>19:57</td><td>20:18</td><td>20:27</td></tr><tr><td>1408</td><td>ITX-새마을</td><td>17:13</td><td>17:27</td><td>17:36</td><td>17:48</td><td>17:58</td><td>18:07</td><td>18:21</td><td>18:34</td><td>18:44</td><td>18:55</td><td>19:05</td><td>19:17</td><td>19:34</td><td>19:47</td><td>19:58</td><td>20:07</td><td>20:18</td><td>20:31</td><td>20:45</td><td>21:09</td><td>21:31</td><td>21:40</td></tr><tr><td>1410</td><td>ITX-새마을</td><td>18:22</td><td>18:37</td><td></td><td>18:54</td><td>19:03</td><td>19:11</td><td>19:25</td><td></td><td>19:44</td><td>19:54</td><td></td><td>20:12</td><td>20:28</td><td></td><td></td><td>20:53</td><td></td><td>21:14</td><td>21:26</td><td>21:46</td><td>22:06</td><td>22:15</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">용산 → 광주송정 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>용산</th><th>광명</th><th>천안아산</th><th>오송</th><th>공주</th><th>서대전</th><th>계룡</th><th>논산</th><th>익산</th><th>김제</th><th>정읍</th><th>장성</th><th>광주송정</th><th>비고</th></tr></thead><tbody><tr><td>401</td><td>KTX-산천</td><td>5:08</td><td>5:25</td><td></td><td>5:55</td><td>6:12</td><td></td><td></td><td></td><td>6:32</td><td></td><td>6:49</td><td></td><td>7:09</td><td>매일</td></tr><tr><td>403</td><td>KTX-산천</td><td>5:48</td><td>6:05</td><td>6:28</td><td>6:40</td><td></td><td></td><td></td><td></td><td>7:11</td><td></td><td>7:28</td><td></td><td>7:48</td><td>매일</td></tr><tr><td>405</td><td>KTX</td><td>6:29</td><td>6:46</td><td></td><td>7:16</td><td>7:33</td><td></td><td></td><td></td><td>7:53</td><td></td><td>8:10</td><td></td><td>8:30</td><td>매일</td></tr><tr><td>441</td><td>KTX-산천</td><td>7:38</td><td>7:55</td><td></td><td>8:25</td><td></td><td></td><td></td><td></td><td>8:55</td><td></td><td></td><td></td><td>9:25</td><td>월-목</td></tr><tr><td>451</td><td>KTX</td><td>7:38</td><td>7:55</td><td></td><td>8:25</td><td></td><td></td><td></td><td></td><td>8:55</td><td></td><td></td><td></td><td>9:25</td><td>금,토,일</td></tr><tr><td>407</td><td>KTX-산천</td><td>7:47</td><td>8:05</td><td></td><td></td><td>8:47</td><td></td><td></td><td></td><td>9:07</td><td></td><td>9:24</td><td></td><td>9:44</td><td>매일</td></tr><tr><td>409</td><td>KTX</td><td>8:20</td><td></td><td>8:55</td><td>9:07</td><td></td><td></td><td></td><td></td><td>9:38</td><td></td><td>9:55</td><td></td><td>10:15</td><td>매일</td></tr><tr><td>411</td><td>KTX</td><td>9:19</td><td>9:36</td><td></td><td>10:06</td><td></td><td></td><td></td><td></td><td>10:36</td><td></td><td></td><td></td><td>11:05</td><td>매일</td></tr><tr><td>475</td><td>KTX-산천</td><td>9:44</td><td>10:02</td><td>10:25</td><td></td><td></td><td>10:52</td><td>11:07</td><td>11:25</td><td>11:52</td><td>12:04</td><td>12:20</td><td>12:38</td><td>12:52</td><td>매일</td></tr><tr><td>413</td><td>KTX</td><td>10:40</td><td></td><td>11:15</td><td>11:27</td><td></td><td></td><td></td><td></td><td>11:58</td><td></td><td>12:15</td><td></td><td>12:35</td><td>매일</td></tr><tr><td>415</td><td>KTX-산천</td><td>12:18</td><td>12:35</td><td>12:58</td><td></td><td>13:23</td><td></td><td></td><td></td><td>13:43</td><td></td><td></td><td></td><td>14:14</td><td>매일</td></tr><tr><td>417</td><td>KTX-산천</td><td>12:45</td><td></td><td></td><td>13:27</td><td>13:44</td><td></td><td></td><td></td><td>14:04</td><td></td><td>14:21</td><td></td><td>14:41</td><td>매일</td></tr><tr><td>9419</td><td>KTX-산천</td><td>13:30</td><td>13:47</td><td>14:10</td><td></td><td></td><td></td><td></td><td></td><td>14:48</td><td></td><td>15:05</td><td></td><td>15:25</td><td>월-목</td></tr><tr><td>419</td><td>KTX-산천</td><td>13:30</td><td>13:47</td><td>14:10</td><td></td><td></td><td></td><td></td><td></td><td>14:48</td><td></td><td>15:05</td><td></td><td>15:25</td><td>매일</td></tr><tr><td>4041</td><td>KTX-산천</td><td>14:38</td><td>14:56</td><td>15:18</td><td>15:31</td><td></td><td>15:49</td><td>16:05</td><td>16:23</td><td>16:48</td><td></td><td>17:05</td><td></td><td>17:26</td><td>금,토,일</td></tr><tr><td>421</td><td>KTX</td><td>14:48</td><td>15:05</td><td>15:28</td><td>15:40</td><td></td><td></td><td></td><td></td><td>16:11</td><td></td><td>16:28</td><td></td><td>16:48</td><td>매일</td></tr><tr><td>423</td><td>KTX</td><td>15:33</td><td>15:50</td><td></td><td>16:20</td><td>16:37</td><td></td><td></td><td></td><td>16:57</td><td></td><td>17:15</td><td></td><td>17:35</td><td>매일</td></tr><tr><td>425</td><td>KTX-청룡</td><td>16:08</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>17:15</td><td></td><td></td><td></td><td>17:44</td><td>월-목</td></tr><tr><td>491</td><td>KTX</td><td>16:08</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>17:15</td><td></td><td></td><td></td><td>17:44</td><td>금,토,일</td></tr><tr><td>427</td><td>KTX-산천</td><td>16:43</td><td>17:00</td><td>17:23</td><td></td><td>17:48</td><td></td><td></td><td></td><td>18:07</td><td></td><td>18:25</td><td></td><td>18:45</td><td>매일</td></tr><tr><td>481</td><td>KTX</td><td>17:10</td><td>17:28</td><td></td><td></td><td></td><td>18:11</td><td>18:27</td><td>18:45</td><td>19:10</td><td>19:22</td><td>19:37</td><td>19:56</td><td>20:10</td><td>매일</td></tr><tr><td>429</td><td>KTX-산천</td><td>17:44</td><td></td><td></td><td>18:26</td><td>18:43</td><td></td><td></td><td></td><td>19:03</td><td></td><td></td><td></td><td>19:34</td><td>매일</td></tr><tr><td>431</td><td>KTX</td><td>18:31</td><td>18:49</td><td>19:11</td><td>19:24</td><td></td><td></td><td></td><td></td><td>19:54</td><td></td><td>20:11</td><td></td><td>20:29</td><td>매일</td></tr><tr><td>433</td><td>KTX</td><td>19:41</td><td>19:59</td><td></td><td>20:28</td><td>20:45</td><td></td><td></td><td></td><td>21:05</td><td></td><td>21:23</td><td></td><td>21:43</td><td>매일</td></tr><tr><td>435</td><td>KTX-산천</td><td>20:33</td><td>20:50</td><td>21:13</td><td>21:25</td><td></td><td></td><td></td><td></td><td>21:56</td><td></td><td>22:13</td><td></td><td>22:33</td><td>매일</td></tr><tr><td>437</td><td>KTX</td><td>21:18</td><td>21:35</td><td></td><td></td><td>22:18</td><td></td><td></td><td></td><td>22:38</td><td></td><td></td><td></td><td>23:10</td><td>매일</td></tr><tr><td>439</td><td>KTX</td><td>22:23</td><td>22:41</td><td>23:03</td><td>23:16</td><td></td><td></td><td></td><td></td><td>23:46</td><td></td><td>0:03</td><td></td><td>0:21</td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>용산</th><th>영등포</th><th>안양</th><th>수원</th><th>오산</th><th>평택</th><th>성환</th><th>천안</th><th>조치원</th><th>부강</th><th>신탄진</th><th>서대전</th><th>계룡</th><th>논산</th><th>강경</th><th>함열</th><th>익산</th><th>김제</th><th>신태인</th><th>정읍</th><th>백양사</th><th>장성</th><th>광주송정</th></tr></thead><tbody><tr><td>1401</td><td>ITX-새마을</td><td>07:34</td><td>07:46</td><td>07:58</td><td>08:12</td><td></td><td>08:32</td><td>08:40</td><td>08:50</td><td>09:12</td><td></td><td>09:28</td><td>09:44</td><td>10:00</td><td>10:21</td><td>10:30</td><td>10:39</td><td>10:51</td><td>11:04</td><td>11:12</td><td>11:22</td><td>11:33</td><td>11:43</td><td>11:57</td></tr><tr><td>1403</td><td>ITX-마음</td><td>09:47</td><td>09:56</td><td></td><td>10:19</td><td></td><td>10:38</td><td></td><td>10:51</td><td></td><td></td><td></td><td>11:36</td><td></td><td>12:08</td><td></td><td></td><td>12:34</td><td>12:46</td><td></td><td>13:01</td><td></td><td>13:19</td><td>13:32</td></tr><tr><td>1405</td><td>ITX-새마을</td><td>12:07</td><td>12:19</td><td></td><td>12:42</td><td>12:52</td><td>13:04</td><td></td><td>13:18</td><td>13:38</td><td></td><td></td><td>14:05</td><td>14:21</td><td>14:39</td><td>14:48</td><td></td><td>15:08</td><td>15:21</td><td>15:29</td><td>15:38</td><td></td><td>15:56</td><td>16:10</td></tr><tr><td>1407</td><td>ITX-마음</td><td>17:18</td><td>17:27</td><td></td><td>17:50</td><td></td><td></td><td></td><td>18:19</td><td></td><td></td><td></td><td>19:04</td><td></td><td>19:35</td><td></td><td></td><td>20:02</td><td>20:14</td><td></td><td>20:29</td><td></td><td>20:47</td><td>21:00</td></tr><tr><td>1451</td><td>무궁화</td><td>18:10</td><td>18:22</td><td></td><td>18:46</td><td></td><td>19:06</td><td></td><td>19:20</td><td>19:42</td><td>19:51</td><td>20:01</td><td>20:18</td><td>20:34</td><td>20:54</td><td>21:04</td><td>21:14</td><td>21:28</td><td>21:41</td><td>21:50</td><td>22:00</td><td>22:12</td><td>22:23</td><td>22:39</td></tr><tr><td>1409</td><td>ITX-새마을</td><td>19:11</td><td>19:19</td><td></td><td>19:42</td><td></td><td>20:01</td><td></td><td>20:14</td><td>20:34</td><td></td><td></td><td>21:01</td><td>21:17</td><td>21:35</td><td></td><td></td><td>22:01</td><td>22:14</td><td>22:23</td><td>22:32</td><td></td><td>22:50</td><td>23:05</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>광주송정역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '광주송정'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">광주송정역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">광주송정역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '24';
            let curName = '광주송정';
            let altCity = '11';
            let altName = '용산';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">광주송정역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">16℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">광주송정역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%91%A5%EC%8A%A4%EC%B4%88%EC%BD%94%ED%8C%8C%EC%9D%B4+%EA%B4%91%EC%A3%BC%EA%B4%91%EC%97%AD%EC%8B%9C+%EA%B4%91%EC%82%B0%EA%B5%AC+%EC%86%A1%EC%A0%95%EB%8F%99+975-9+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">쑥스초코파이</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">광주광역시 광산구 송정동 975-9 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%9D%BC%EB%9D%BC%EB%B8%8C%EB%A0%88%EB%93%9C+%EC%86%A1%EC%A0%95%EC%A0%90+%EA%B4%91%EC%A3%BC%EA%B4%91%EC%97%AD%EC%8B%9C+%EA%B4%91%EC%82%B0%EA%B5%AC+%EC%86%A1%EC%A0%95%EB%8F%99+837-14" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">라라브레드 송정점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">광주광역시 광산구 송정동 837-14</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%B9%9B%EA%B3%A0%EC%9D%84%EB%96%A1%EA%B0%88%EB%B9%84+%EA%B4%91%EC%A3%BC%EC%86%A1%EC%A0%95%EB%B3%B8%EC%A0%90+%EA%B4%91%EC%A3%BC%EA%B4%91%EC%97%AD%EC%8B%9C+%EA%B4%91%EC%82%B0%EA%B5%AC+%EC%86%A1%EC%A0%95%EB%8F%99+831-21+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">빛고을떡갈비 광주송정본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;육류,고기요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">광주광역시 광산구 송정동 831-21 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%8A%A4%ED%83%80%EB%B2%85%EC%8A%A4+%EA%B4%91%EC%A3%BC%EC%86%A1%EC%A0%95%EC%97%AD%EC%A0%90+%EA%B4%91%EC%A3%BC%EA%B4%91%EC%97%AD%EC%8B%9C+%EA%B4%91%EC%82%B0%EA%B5%AC+%EC%86%A1%EC%A0%95%EB%8F%99+1427" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">스타벅스 광주송정역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;카페</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">광주광역시 광산구 송정동 1427</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%98%81%EB%AA%85%EA%B5%AD%EB%B0%A5+%EA%B4%91%EC%A3%BC%EA%B4%91%EC%97%AD%EC%8B%9C+%EA%B4%91%EC%82%B0%EA%B5%AC+%EC%86%A1%EC%A0%95%EB%8F%99+991-17" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">영명국밥</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;해장국</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">광주광역시 광산구 송정동 991-17</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">광주송정역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 광주송정역 주차빌딩                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,500원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">500원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">15,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 광주광역시 광산구 상무대로 179<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 광주송정역2                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,000원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">400원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">10,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 광주광역시 광산구 송정동 1003-1<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">광주송정역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 광주광역시 광산구 상무대로 179</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:062-941-0874" style="color: #0052a4; font-weight: bold; text-decoration: none;">062-941-0874</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EA%B4%91%EC%A3%BC%EC%86%A1%EC%A0%95%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/03/광주송정역-용산역-기차-시간표-KTX-ITX-마음-새마을호-무궁화호-호남선-첫기차-마지막기차-요금-정차역.jpg" alt="광주송정역-용산역-기차-시간표-KTX-ITX-마음-새마을호-무궁화호-호남선-첫기차-마지막기차-요금-정차역" class="wp-image-19902" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/광주송정역-용산역-기차-시간표-KTX-ITX-마음-새마을호-무궁화호-호남선-첫기차-마지막기차-요금-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/03/광주송정역-용산역-기차-시간표-KTX-ITX-마음-새마을호-무궁화호-호남선-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/03/광주송정역-용산역-기차-시간표-KTX-ITX-마음-새마을호-무궁화호-호남선-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>전주역 용산역 기차 KTX ITX-마음 새마을 무궁화호 시간표 왕복 전주한옥마을</title>
		<link>https://krailroad.co.kr/%ec%a0%84%ec%a3%bc%ec%97%ad-%ec%9a%a9%ec%82%b0%ec%97%ad-%ea%b8%b0%ec%b0%a8-ktx-itx-%eb%a7%88%ec%9d%8c-%ec%83%88%eb%a7%88%ec%9d%84-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Sat, 28 Mar 2026 00:08:15 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[전주역 용산역 기차]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=19871</guid>

					<description><![CDATA[한옥의 곡선이 아름다운 전주를 떠나 빌딩 숲이 우거진 용산으로 향하는 길은 이제 호남의 정취와 서울의 기동성을 하나로 이어주는 전주역 용산역 기차의 핵심적인 통로입니다. 덜컹거리는 기차에 몸을 맡기고 논밭 너머 지평선을 한참이나 바라봐야 했던 예전의 이동 방식은 이제 시원하게 뚫린 전라선 철길 위를 매끄럽게 질주하는 전주역 용산역 기차 덕분에 완전히 새로운 국면을 맞이했는데요. 역사 대합실 전광판 ... <a title="전주역 용산역 기차 KTX ITX-마음 새마을 무궁화호 시간표 왕복 전주한옥마을" class="read-more button" href="https://krailroad.co.kr/%ec%a0%84%ec%a3%bc%ec%97%ad-%ec%9a%a9%ec%82%b0%ec%97%ad-%ea%b8%b0%ec%b0%a8-ktx-itx-%eb%a7%88%ec%9d%8c-%ec%83%88%eb%a7%88%ec%9d%84-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c/" aria-label="전주역 용산역 기차 KTX ITX-마음 새마을 무궁화호 시간표 왕복 전주한옥마을 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">한옥의 곡선이 아름다운 전주를 떠나 빌딩 숲이 우거진 용산으로 향하는 길은 이제 호남의 정취와 서울의 기동성을 하나로 이어주는 전주역 용산역 기차의 핵심적인 통로입니다. 덜컹거리는 기차에 몸을 맡기고 논밭 너머 지평선을 한참이나 바라봐야 했던 예전의 이동 방식은 이제 시원하게 뚫린 전라선 철길 위를 매끄럽게 질주하는 전주역 용산역 기차 덕분에 완전히 새로운 국면을 맞이했는데요.</p>



<p class="wp-block-paragraph">역사 대합실 전광판 앞에서 순서를 기다리거나 여러 개의 교통 앱을 번거롭게 오가는 수고는 이제 그만두셔도 좋습니다. <a href="https://www.data.go.kr/index.do" target="_blank" rel="noopener">공공데이터</a> API를 실시간으로 연동해 전주역 용산역 기차 시간표를 누구나 손쉽게 확인할 수 있는 환경을 마련했기 때문인데요. 60초 단위로 정보를 스스로 갱신하도록 로직을 작성하여서 아래 데이터는 KTX-산천부터 ITX-마음, 무궁화호, 새마을호까지 모든 열차의 운행 상태를 현장에서 마주하는 것처럼 생생하게 보여주며, 화면을 열어두는 것만으로도 출발 시각과 도착 여부를 즉각 파악하여 이용할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>전주역 용산역 기차 전라선</strong></h2>



<h3 class="wp-block-heading">전라선의 진화가 가져온 밀착</h3>



<p class="wp-block-paragraph">호남의 젖줄을 따라 굽이치던 전라선 구간이 현대화되고 전 구간 전철화가 자리를 잡으면서 전주와 용산은 비로소 하나의 호흡으로 연결되었습니다. 무거운 철로를 정비하고 열차가 시원하게 내달릴 수 있도록 선로를 개량한 노력이 결실을 본 셈인데요. 이 덕분에 환승의 불편함 없이 서울의 심장부까지 곧장 닿는 직결 노선이 일상화되었고, 전주는 이제 전북권 철도 여행을 시작하는 핵심적인 길목이자 출발점으로서 뚜렷한 존재감을 드러내고 있습니다.</p>



<p class="wp-block-paragraph">단순히 기차가 머무는 역의 기능을 넘어, 전북과 서울을 잇는 이 철길은 지역 간의 경계를 허무는 결정적인 계기가 되었습니다. 전라선 전주역 용산역 기차는 전주가 가진 깊은 전통 문화와 용산의 현대적인 비즈니스 인프라가 실시간으로 교류하는 통로가 될 텐데요. 이는 두 지역이 서로의 매력을 나누며 함께 성장해 나가는 중요한 배경이 됩니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">KTX와 ITX-마음의 전라선</h3>



<p class="wp-block-paragraph">좌석에 앉아 창밖으로 흐르는 호남평야의 너른 들판을 멍하니 바라보다 보면 어느덧 목적지인 용산의 역동적인 공기가 느껴집니다. <a href="https://krailroad.co.kr/%ec%a0%84%ec%a3%bc%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%95%9c%ec%98%a5%eb%a7%88%ec%9d%84-%ec%97%ac%ec%88%98%c2%b7%ec%9a%a9%ec%82%b0%ed%96%89%ec%84%9c%ec%9a%b8%ec%97%ad-%ea%b4%91%eb%aa%85/">전주역 기차 시간표</a>나 용산역 기차 시간표를 살펴보면 장거리 구간임에도 열차가 효율적으로 짜여 있어 서울 나들이나 출장길에 오르기가 한결 수월해졌는데요.</p>



<p class="wp-block-paragraph">비용 부담을 줄여주는 <a href="https://krailroad.co.kr/%ec%a0%84%ec%a3%bc%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84%c2%b7%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%95%9c%ec%98%a5%eb%a7%88%ec%9d%84-%ec%97%ac%ec%88%98%c2%b7%ec%9a%a9%ec%82%b0%ed%96%89/">전주역 ITX-마음</a> 역시 쾌적한 실내와 편안한 좌석을 갖추고 있어 긴 시간 동안 몸을 맡기기에 부족함이 없으며, 실시간 데이터를 통해 매번 코레일 공식사이트, 공공데이터 업데이트시 인터넷 여기저기에 떠도는 오래된 시간표나 믿기 힘든 구식 정보를 확인하느라 에너지를 낭비하지 마시고, 이 페이지를 즐겨찾기 해두시면 언제 어디서나 실시간으로 업데이트되는 정확한 열차 위치와 출발 여부를 체크하며 열차를 편리하게 이용하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전주 ↔ 용산 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">전주<br>↓<br>용산</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">502호</span><div class="time-display">6:25</div><div class="arrival-info">8:16 도착</div></td><td><span class="train-detail">524호</span><div class="time-display">23:11</div><div class="arrival-info">0:46 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">용산<br>↓<br>전주</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">501호</span><div class="time-display">5:08</div><div class="arrival-info">6:51 도착</div></td><td><span class="train-detail">523호</span><div class="time-display">21:48</div><div class="arrival-info">23:16 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="3" style="border-top:1px solid #ddd;">전주<br>↓<br>용산</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1504호</span><div class="time-display">12:34</div><div class="arrival-info">15:40 도착</div></td><td><span class="train-detail">1508호</span><div class="time-display">17:19</div><div class="arrival-info">20:27 도착</div></td></tr><tr><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1502호</span><div class="time-display">10:17</div><div class="arrival-info">13:29 도착</div></td><td><span class="train-detail">1506호</span><div class="time-display">15:44</div><div class="arrival-info">19:06 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1572호</span><div class="time-display">08:17</div><div class="arrival-info">11:58 도착</div></td><td><span class="train-detail">1578호</span><div class="time-display">21:04</div><div class="arrival-info">00:31 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="3" style="border-top:1px solid #ddd;">용산<br>↓<br>전주</td><td><span class="type-label type-itx">ITX-마음</span></td><td><span class="train-detail">1503호</span><div class="time-display">09:47</div><div class="arrival-info">12:53 도착</div></td><td><span class="train-detail">1507호</span><div class="time-display">17:18</div><div class="arrival-info">20:19 도착</div></td></tr><tr><td><span class="type-label type-itx">ITX-새마을</span></td><td><span class="train-detail">1501호</span><div class="time-display">07:14</div><div class="arrival-info">10:27 도착</div></td><td><span class="train-detail">1505호</span><div class="time-display">16:38</div><div class="arrival-info">19:50 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1571호</span><div class="time-display">05:44</div><div class="arrival-info">09:17 도착</div></td><td><span class="train-detail">1577호</span><div class="time-display">19:15</div><div class="arrival-info">22:46 도착</div></td></tr></tbody></table></div>


    
    <h2>전주 ↔ 용산 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 전주</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                26,200원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 전주</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">공주</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                34,400원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                48,200원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 전주</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">서대전</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                32,900원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                46,100원                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">용산 ↔ 전주</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                17,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전주 → 용산 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>전주</th><th>익산</th><th>논산</th><th>계룡</th><th>서대전</th><th>공주</th><th>오송</th><th>천안아산</th><th>광명</th><th>용산</th><th>비고</th></tr></thead><tbody><tr><td>502</td><td>KTX-산천</td><td>6:25</td><td>6:45</td><td></td><td></td><td></td><td>7:05</td><td>7:24</td><td></td><td>7:57</td><td>8:16</td><td>매일</td></tr><tr><td>504</td><td>KTX</td><td>7:26</td><td>7:42</td><td></td><td></td><td></td><td>8:02</td><td></td><td>8:28</td><td>8:54</td><td>9:14</td><td>매일</td></tr><tr><td>542</td><td>KTX_산천</td><td>9:11</td><td>9:32</td><td></td><td></td><td></td><td></td><td>10:03</td><td>10:17</td><td>10:43</td><td>11:05</td><td>매일</td></tr><tr><td>506</td><td>KTX-산천</td><td>10:02</td><td>10:22</td><td></td><td></td><td></td><td></td><td></td><td></td><td>11:20</td><td>11:36</td><td>매일</td></tr><tr><td>508</td><td>KTX_산천</td><td>11:38</td><td>11:58</td><td></td><td></td><td></td><td>12:18</td><td></td><td>12:44</td><td>13:10</td><td>13:28</td><td>매일</td></tr><tr><td>586</td><td>KTX</td><td>12:54</td><td>13:10</td><td>13:35</td><td>13:53</td><td>14:09</td><td></td><td>14:28</td><td></td><td>15:02</td><td>15:18</td><td>매일</td></tr><tr><td>510</td><td>KTX</td><td>13:18</td><td>13:35</td><td></td><td></td><td></td><td>13:54</td><td>14:12</td><td>14:26</td><td></td><td>15:03</td><td>매일</td></tr><tr><td>582</td><td>KTX</td><td>13:27</td><td>13:44</td><td>14:09</td><td>14:27</td><td>14:43</td><td></td><td>15:02</td><td>15:15</td><td></td><td>15:52</td><td>매일</td></tr><tr><td>512</td><td>KTX</td><td>14:18</td><td>14:34</td><td></td><td></td><td></td><td></td><td>15:05</td><td>15:19</td><td>15:45</td><td>16:05</td><td>매일</td></tr><tr><td>588</td><td>KTX-산천</td><td>14:57</td><td>15:14</td><td>15:39</td><td>15:58</td><td>16:14</td><td></td><td>16:33</td><td></td><td>17:06</td><td>17:22</td><td>매일</td></tr><tr><td>514</td><td>KTX_산천</td><td>15:21</td><td>15:41</td><td></td><td></td><td></td><td>16:01</td><td></td><td></td><td>16:47</td><td>17:05</td><td>매일</td></tr><tr><td>516</td><td>KTX</td><td>16:17</td><td>16:34</td><td></td><td></td><td></td><td>16:53</td><td>17:11</td><td></td><td>17:45</td><td>18:03</td><td>매일</td></tr><tr><td>590</td><td>KTX</td><td>16:25</td><td>16:41</td><td>17:06</td><td>17:24</td><td>17:40</td><td></td><td>17:59</td><td>18:12</td><td></td><td>18:49</td><td>금토일</td></tr><tr><td>4052</td><td>KTX_산천</td><td>16:51</td><td>17:11</td><td></td><td></td><td></td><td>17:31</td><td></td><td>17:57</td><td></td><td>18:43</td><td>금토일</td></tr><tr><td>4054</td><td>KTX-산천</td><td>17:47</td><td>18:07</td><td>18:32</td><td>18:50</td><td>19:07</td><td></td><td>19:26</td><td></td><td>19:59</td><td>20:17</td><td>금토일</td></tr><tr><td>518</td><td>KTX-산천</td><td>17:56</td><td>18:16</td><td></td><td></td><td></td><td></td><td></td><td>18:54</td><td>19:20</td><td>19:36</td><td>매일</td></tr><tr><td>520</td><td>KTX</td><td>19:28</td><td>19:45</td><td></td><td></td><td></td><td>20:04</td><td>20:23</td><td></td><td>20:57</td><td>21:15</td><td>매일</td></tr><tr><td>584</td><td>KTX_산천</td><td>20:15</td><td>20:35</td><td>21:00</td><td>21:18</td><td>21:34</td><td></td><td></td><td>21:59</td><td>22:25</td><td>22:41</td><td>매일</td></tr><tr><td>544</td><td>KTX-산천</td><td>20:46</td><td>21:06</td><td></td><td></td><td></td><td>21:26</td><td>21:44</td><td></td><td>22:18</td><td>22:36</td><td>월화수목</td></tr><tr><td>546</td><td>KTX_산천</td><td>20:46</td><td>21:06</td><td></td><td></td><td></td><td>21:26</td><td>21:44</td><td></td><td>22:18</td><td>22:36</td><td>토일</td></tr><tr><td>522</td><td>KTX_산천</td><td>21:43</td><td>22:04</td><td></td><td></td><td></td><td></td><td>22:35</td><td>22:49</td><td></td><td>23:26</td><td>매일</td></tr><tr><td>524</td><td>KTX-산천</td><td>23:11</td><td>23:27</td><td></td><td></td><td></td><td></td><td>23:59</td><td></td><td></td><td>0:46</td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>전주</th><th>삼례</th><th>익산</th><th>함열</th><th>강경</th><th>논산</th><th>연산</th><th>계룡</th><th>서대전</th><th>신탄진</th><th>부강</th><th>조치원</th><th>천안</th><th>성환</th><th>평택</th><th>수원</th><th>안양</th><th>영등포</th><th>용산</th></tr></thead><tbody><tr><td>1572</td><td>무궁화</td><td>08:17</td><td>08:27</td><td>08:39</td><td>08:52</td><td>09:02</td><td>09:12</td><td>09:22</td><td>09:35</td><td>09:52</td><td>10:06</td><td>10:16</td><td>10:25</td><td>10:47</td><td></td><td>11:01</td><td>11:23</td><td>11:36</td><td>11:49</td><td>11:58</td></tr><tr><td>1502</td><td>ITX-새마을</td><td>10:17</td><td></td><td>10:35</td><td></td><td></td><td>11:01</td><td></td><td>11:19</td><td>11:35</td><td>11:48</td><td></td><td>12:03</td><td>12:24</td><td></td><td>12:36</td><td>12:56</td><td></td><td>13:20</td><td>13:29</td></tr><tr><td>1504</td><td>ITX-마음</td><td>12:34</td><td></td><td>12:56</td><td></td><td></td><td>13:22</td><td></td><td></td><td>13:53</td><td></td><td></td><td></td><td>14:37</td><td></td><td></td><td>15:06</td><td></td><td>15:31</td><td>15:40</td></tr><tr><td>1574</td><td>무궁화</td><td>15:03</td><td>15:12</td><td>15:23</td><td>15:36</td><td>15:46</td><td>15:56</td><td>16:06</td><td>16:18</td><td>16:35</td><td>16:48</td><td></td><td>17:09</td><td>17:32</td><td>17:41</td><td>17:53</td><td>18:17</td><td></td><td>18:42</td><td>18:52</td></tr><tr><td>1506</td><td>ITX-새마을</td><td>15:44</td><td>15:53</td><td>16:06</td><td></td><td>16:25</td><td>16:35</td><td></td><td>16:53</td><td>17:09</td><td>17:22</td><td></td><td>17:38</td><td>17:59</td><td></td><td>18:12</td><td>18:31</td><td></td><td>18:57</td><td>19:06</td></tr><tr><td>1508</td><td>ITX-마음</td><td>17:19</td><td></td><td>17:41</td><td></td><td></td><td>18:07</td><td></td><td></td><td>18:38</td><td></td><td></td><td>19:04</td><td>19:25</td><td></td><td>19:37</td><td>19:57</td><td></td><td>20:18</td><td>20:27</td></tr><tr><td>1576</td><td>무궁화</td><td>19:57</td><td>20:06</td><td>20:18</td><td>20:31</td><td>20:41</td><td>20:50</td><td>21:00</td><td>21:13</td><td>21:36</td><td></td><td></td><td>22:04</td><td>22:26</td><td></td><td>22:40</td><td>23:03</td><td>23:16</td><td>23:28</td><td>23:37</td></tr><tr><td>1578</td><td>무궁화</td><td>21:04</td><td>21:13</td><td>21:25</td><td>21:38</td><td>21:47</td><td>21:57</td><td></td><td>22:17</td><td>22:33</td><td>22:47</td><td></td><td>23:03</td><td>23:25</td><td></td><td>23:39</td><td>23:59</td><td></td><td>00:22</td><td>00:31</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">용산 → 전주 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>용산</th><th>광명</th><th>천안아산</th><th>오송</th><th>공주</th><th>서대전</th><th>계룡</th><th>논산</th><th>익산</th><th>전주</th><th>비고</th></tr></thead><tbody><tr><td>501</td><td>KTX_산천</td><td>5:08</td><td>5:25</td><td></td><td>5:55</td><td>6:12</td><td></td><td></td><td></td><td>6:35</td><td>6:51</td><td>매일</td></tr><tr><td>503</td><td>KTX</td><td>7:10</td><td>7:27</td><td>7:50</td><td>8:02</td><td>8:19</td><td></td><td></td><td></td><td>8:39</td><td>8:56</td><td>매일</td></tr><tr><td>4051</td><td>KTX_산천</td><td>7:47</td><td>8:05</td><td></td><td></td><td>8:47</td><td></td><td></td><td></td><td>9:10</td><td>9:27</td><td>금토일</td></tr><tr><td>581</td><td>KTX</td><td>7:43</td><td>8:01</td><td></td><td></td><td></td><td>8:44</td><td>9:00</td><td>9:18</td><td>9:42</td><td>9:59</td><td>매일</td></tr><tr><td>505</td><td>KTX</td><td>8:40</td><td>8:58</td><td></td><td>9:27</td><td>9:44</td><td></td><td></td><td></td><td>10:04</td><td>10:20</td><td>매일</td></tr><tr><td>507</td><td>KTX_산천</td><td>9:53</td><td>10:11</td><td>10:33</td><td>10:46</td><td>11:03</td><td></td><td></td><td></td><td>11:23</td><td>11:39</td><td>매일</td></tr><tr><td>9507</td><td>KTX-산천</td><td>9:53</td><td>10:11</td><td>10:33</td><td>10:46</td><td>11:03</td><td></td><td></td><td></td><td>11:23</td><td>11:39</td><td>금토일</td></tr><tr><td>585</td><td>KTX</td><td>10:04</td><td>10:22</td><td>10:44</td><td></td><td></td><td>11:11</td><td>11:26</td><td>11:44</td><td>12:09</td><td>12:25</td><td>매일</td></tr><tr><td>509</td><td>KTX</td><td>10:53</td><td>11:10</td><td>11:33</td><td>11:45</td><td>12:02</td><td></td><td></td><td></td><td>12:22</td><td>12:39</td><td>매일</td></tr><tr><td>511</td><td>KTX-산천</td><td>12:18</td><td>12:35</td><td>12:58</td><td></td><td>13:23</td><td></td><td></td><td></td><td>13:46</td><td>14:03</td><td>매일</td></tr><tr><td>543</td><td>KTX_산천</td><td>12:45</td><td></td><td></td><td>13:27</td><td>13:44</td><td></td><td></td><td></td><td>14:07</td><td>14:24</td><td>월화수목토일</td></tr><tr><td>587</td><td>KTX-산천</td><td>12:11</td><td>12:29</td><td>12:53</td><td></td><td></td><td>13:19</td><td>13:34</td><td>13:51</td><td>14:16</td><td>14:32</td><td>매일</td></tr><tr><td>589</td><td>KTX</td><td>13:15</td><td>13:32</td><td>13:55</td><td></td><td></td><td>14:21</td><td>14:36</td><td>14:54</td><td>15:19</td><td>15:35</td><td>금토일</td></tr><tr><td>513</td><td>KTX</td><td>14:10</td><td>14:28</td><td></td><td>14:57</td><td>15:14</td><td></td><td></td><td></td><td>15:34</td><td>15:51</td><td>매일</td></tr><tr><td>583</td><td>KTX-산천</td><td>14:38</td><td>14:56</td><td>15:18</td><td>15:31</td><td></td><td>15:49</td><td>16:05</td><td>16:23</td><td>16:48</td><td>17:05</td><td>월화수목</td></tr><tr><td>593</td><td>KTX_산천</td><td>14:38</td><td>14:56</td><td>15:18</td><td>15:31</td><td></td><td>15:49</td><td>16:05</td><td>16:23</td><td>16:51</td><td>17:07</td><td>금토일</td></tr><tr><td>515</td><td>KTX_산천</td><td>16:43</td><td>17:00</td><td>17:23</td><td></td><td>17:48</td><td></td><td></td><td></td><td>18:11</td><td>18:27</td><td>매일</td></tr><tr><td>517</td><td>KTX-산천</td><td>17:44</td><td></td><td></td><td>18:26</td><td>18:43</td><td></td><td></td><td></td><td>19:06</td><td>19:23</td><td>매일</td></tr><tr><td>519</td><td>KTX-산천</td><td>18:48</td><td>19:05</td><td>19:28</td><td></td><td>19:53</td><td></td><td></td><td></td><td>20:12</td><td>20:29</td><td>매일</td></tr><tr><td>521</td><td>KTX</td><td>20:09</td><td>20:26</td><td>20:49</td><td>21:01</td><td></td><td></td><td></td><td></td><td>21:32</td><td>21:48</td><td>매일</td></tr><tr><td>541</td><td>KTX-산천</td><td>20:33</td><td>20:50</td><td>21:13</td><td>21:25</td><td></td><td></td><td></td><td></td><td>21:59</td><td>22:15</td><td>매일</td></tr><tr><td>523</td><td>KTX_산천</td><td>21:48</td><td>22:05</td><td></td><td></td><td></td><td></td><td></td><td></td><td>22:59</td><td>23:16</td><td>매일</td></tr></tbody></table></div>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>열차종별</th><th>용산</th><th>영등포</th><th>수원</th><th>서정리</th><th>평택</th><th>천안</th><th>전의</th><th>조치원</th><th>부강</th><th>신탄진</th><th>서대전</th><th>계룡</th><th>연산</th><th>논산</th><th>강경</th><th>함열</th><th>익산</th><th>삼례</th><th>전주</th></tr></thead><tbody><tr><td>1571</td><td>무궁화</td><td>05:44</td><td>05:56</td><td>06:19</td><td>06:35</td><td>06:43</td><td>06:57</td><td></td><td>07:19</td><td></td><td>07:35</td><td>07:50</td><td>08:06</td><td>08:18</td><td>08:28</td><td>08:37</td><td></td><td>08:57</td><td>09:08</td><td>09:17</td></tr><tr><td>1501</td><td>ITX-새마을</td><td>07:14</td><td>07:23</td><td>07:45</td><td></td><td>08:05</td><td>08:18</td><td></td><td>08:39</td><td></td><td></td><td>09:07</td><td>09:22</td><td></td><td>09:41</td><td>09:50</td><td></td><td>10:11</td><td></td><td>10:27</td></tr><tr><td>1503</td><td>ITX-마음</td><td>09:47</td><td>09:56</td><td>10:19</td><td></td><td>10:38</td><td>10:51</td><td></td><td></td><td></td><td></td><td>11:36</td><td></td><td></td><td>12:08</td><td></td><td></td><td>12:37</td><td></td><td>12:53</td></tr><tr><td>1573</td><td>무궁화</td><td>09:38</td><td>09:47</td><td>10:10</td><td></td><td>10:31</td><td>10:45</td><td>11:03</td><td>11:16</td><td>11:24</td><td>11:35</td><td>11:50</td><td>12:13</td><td>12:26</td><td>12:36</td><td>12:46</td><td>12:55</td><td>13:10</td><td>13:21</td><td>13:30</td></tr><tr><td>1575</td><td>무궁화</td><td>15:04</td><td>15:13</td><td>15:37</td><td></td><td>15:57</td><td>16:11</td><td></td><td>16:33</td><td></td><td>16:49</td><td>17:05</td><td>17:21</td><td></td><td>17:40</td><td>17:49</td><td>17:59</td><td>18:19</td><td>18:31</td><td>18:40</td></tr><tr><td>1505</td><td>ITX-새마을</td><td>16:38</td><td>16:46</td><td>17:09</td><td></td><td>17:28</td><td>17:41</td><td></td><td>18:01</td><td></td><td></td><td>18:28</td><td>18:44</td><td></td><td>19:02</td><td>19:11</td><td></td><td>19:31</td><td>19:41</td><td>19:50</td></tr><tr><td>1507</td><td>ITX-마음</td><td>17:18</td><td>17:27</td><td>17:50</td><td></td><td></td><td>18:19</td><td></td><td></td><td></td><td></td><td>19:04</td><td></td><td></td><td>19:35</td><td></td><td></td><td>20:04</td><td></td><td>20:19</td></tr><tr><td>1577</td><td>무궁화</td><td>19:15</td><td>19:24</td><td>19:49</td><td>20:04</td><td>20:17</td><td>20:32</td><td></td><td>20:54</td><td></td><td></td><td>21:22</td><td>21:38</td><td></td><td>21:57</td><td>22:06</td><td></td><td>22:26</td><td>22:37</td><td>22:46</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>전주역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '전주'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">전주역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">전주역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '35010';
            let curName = '전주';
            let altCity = '11';
            let altName = '용산';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">전주역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">16℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 구름많음</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">20%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">전주역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/PNB+%ED%92%8D%EB%85%84%EC%A0%9C%EA%B3%BC+%EC%A0%84%EC%A3%BC%EC%97%AD%EC%A0%90+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%A0%84%EC%A3%BC%EC%8B%9C+%EB%8D%95%EC%A7%84%EA%B5%AC+%EC%9A%B0%EC%95%84%EB%8F%993%EA%B0%80+752-56+1F+PNB%ED%92%8D%EB%85%84%EC%A0%9C%EA%B3%BC" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">PNB 풍년제과 전주역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 전주시 덕진구 우아동3가 752-56 1F PNB풍년제과</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%8C%8C%EB%A6%AC%EB%B0%94%EA%B2%8C%EB%9C%A8+%EC%A0%84%EC%A3%BC%ED%98%B8%EC%84%B1%EC%A0%90+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%A0%84%EC%A3%BC%EC%8B%9C+%EB%8D%95%EC%A7%84%EA%B5%AC+%ED%98%B8%EC%84%B1%EB%8F%991%EA%B0%80+794-8+794-8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">파리바게뜨 전주호성점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 전주시 덕진구 호성동1가 794-8 794-8</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%ED%92%8D%EB%85%84%EC%A0%9C%EA%B3%BC+%EC%8B%9C%EA%B7%B8%EB%8B%88%EC%B2%98+%EC%A0%84%EC%A3%BC%EC%97%AD%EC%A0%84%EC%A0%90+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%A0%84%EC%A3%BC%EC%8B%9C+%EB%8D%95%EC%A7%84%EA%B5%AC+%EC%9A%B0%EC%95%84%EB%8F%993%EA%B0%80+752-48+1%EC%B8%B5+110%ED%98%B8" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">풍년제과 시그니처 전주역전점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;베이커리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 전주시 덕진구 우아동3가 752-48 1층 110호</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A9%94%EB%A5%B4%EB%B0%80%EC%A7%84%EB%AF%B8%EC%A7%91+%EC%A0%84%EC%A3%BC%EC%97%AD%EC%A0%90+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%A0%84%EC%A3%BC%EC%8B%9C+%EB%8D%95%EC%A7%84%EA%B5%AC+%EC%9A%B0%EC%95%84%EB%8F%993%EA%B0%80+747-14+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">메르밀진미집 전주역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;한식&gt;국수</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 전주시 덕진구 우아동3가 747-14 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%8F%99%ED%98%B8%EA%B3%B1%EC%B0%BD+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%A0%84%EC%A3%BC%EC%8B%9C+%EB%8D%95%EC%A7%84%EA%B5%AC+%EC%9A%B0%EC%95%84%EB%8F%993%EA%B0%80+748-14" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">동호곱창</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;곱창,막창,양</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전북특별자치도 전주시 덕진구 우아동3가 748-14</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">전주역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 전주역 후면                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">900원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">9,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 전라북도 전주시 덕진구 동부대로 680<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 062-941-0874                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">전주역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 전라북도 전주시 덕진구 동부대로 680</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:062-941-0874" style="color: #0052a4; font-weight: bold; text-decoration: none;">062-941-0874</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EC%A0%84%EC%A3%BC%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/03/전주역-용산역-기차-시간표-KTX-SRT-ITX-마음-새마을호-무궁화호-전라선-첫기차-마지막기차-요금-정차역.jpg" alt="전주역-용산역-기차-시간표-KTX-SRT-ITX-마음-새마을호-무궁화호-전라선-첫기차-마지막기차-요금-정차역" class="wp-image-19887" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/전주역-용산역-기차-시간표-KTX-SRT-ITX-마음-새마을호-무궁화호-전라선-첫기차-마지막기차-요금-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/03/전주역-용산역-기차-시간표-KTX-SRT-ITX-마음-새마을호-무궁화호-전라선-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/03/전주역-용산역-기차-시간표-KTX-SRT-ITX-마음-새마을호-무궁화호-전라선-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>경주역 강릉역 기차 시간표 KTX-이음 왕복 요금 및 동해선 상하행(실시간)</title>
		<link>https://krailroad.co.kr/%ea%b2%bd%ec%a3%bc%ec%97%ad-%ea%b0%95%eb%a6%89%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c-%ec%99%95%eb%b3%b5-%ec%9a%94%ea%b8%88-%eb%b0%8f-%eb%8f%99%ed%95%b4/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Sat, 28 Mar 2026 00:05:55 +0000</pubDate>
				<category><![CDATA[실시간 열차 시간표]]></category>
		<category><![CDATA[경주역 강릉역 기차]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=19861</guid>

					<description><![CDATA[경주에서 기차를 타고 강릉까지 올라가는 길은 이제 단순한 이동을 넘어 동해안의 절경을 온전히 소유하는 시간이 되었습니다. 예전처럼 구불구불한 단선 선로를 따라 느릿하게 산을 넘던 풍경은 사라지고, 매끄럽게 뻗은 상하행 분리 설로 위를 달리는 경주역 강릉역 기차 노선이 그 자리를 대신하며 영남과 영동을 잇는 가장 빠른 통로로 변모했는데요. 역에 가서 전광판을 확인하거나 여러 앱을 번거롭게 뒤적일 ... <a title="경주역 강릉역 기차 시간표 KTX-이음 왕복 요금 및 동해선 상하행(실시간)" class="read-more button" href="https://krailroad.co.kr/%ea%b2%bd%ec%a3%bc%ec%97%ad-%ea%b0%95%eb%a6%89%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c-%ec%99%95%eb%b3%b5-%ec%9a%94%ea%b8%88-%eb%b0%8f-%eb%8f%99%ed%95%b4/" aria-label="경주역 강릉역 기차 시간표 KTX-이음 왕복 요금 및 동해선 상하행(실시간) 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">경주에서 기차를 타고 강릉까지 올라가는 길은 이제 단순한 이동을 넘어 동해안의 절경을 온전히 소유하는 시간이 되었습니다. 예전처럼 구불구불한 단선 선로를 따라 느릿하게 산을 넘던 풍경은 사라지고, 매끄럽게 뻗은 상하행 분리 설로 위를 달리는 경주역 강릉역 기차 노선이 그 자리를 대신하며 영남과 영동을 잇는 가장 빠른 통로로 변모했는데요.</p>



<p class="wp-block-paragraph">역에 가서 전광판을 확인하거나 여러 앱을 번거롭게 뒤적일 필요가 없도록 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 자료실 자료와 공공데이터에서 제공하는 실시간 API를 연동해 경주역 강릉역 기차 시간표 시스템을 준비했으며, 1분마다 스스로 정보를 갱신하는 아래 데이터는 KTX-이음과 ITX-마음 등 모든 열차의 운행 현황을 현장에서 보는 것처럼 생생하게 보여주며, 화면을 띄워두는 것만으로도 정확한 출발과 도착 시간을 바로 체크할 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading"><strong>경주역 강릉역 기차 동해선</strong></h2>



<h3 class="wp-block-heading">끊겼던 철길이 이어지는 동해안</h3>



<p class="wp-block-paragraph">오랜 기간 단절되었던 포항~삼척 구간이 마침내 연결되고 전 구간 전철화가 마무리되면서 경주와 강릉은 비로소 하나의 호흡으로 연결되었습니다. 무거운 철로를 걷어내고 전동차가 시원하게 내달릴 수 있도록 현대화한 공사가 결실을 본 셈인데요. 이 덕분에 환승 없이 한 번에 강원도까지 닿는 직결 노선이 완성되었고, 경주는 이제 동해안 철도 여행을 시작하는 핵심적인 길목이자 출발점으로서 존재감을 드러내고 있습니다.</p>



<p class="wp-block-paragraph">단순히 역에 기차가 서는 것을 넘어, 경남북과 강원을 잇는 이 철길은 지역 간의 경계를 허무는 결정적인 계기가 되었습니다. 동해선 경주역 강릉역 기차는 경주가 가진 깊은 역사와 강릉의 푸른 바다 문화가 실시간으로 교차하는 거대한 통로가 만들어질 텐데요. 이는 두 지역이 서로의 매력을 공유하며 함께 성장해 나가는 든든한 밑거름이 될것입니다.</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">창밖의 파도와 함께하는 동해선</h3>



<p class="wp-block-paragraph">경주역 강릉역 KTX-이음 좌석에 앉아 창을 메우는 푸른 파도를 멍하니 바라보다 보면 어느덧 목적지인 강릉의 공기가 느껴지며, <a href="https://krailroad.co.kr/%ea%b2%bd%ec%a3%bc%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%84%9c%ec%9a%b8-%eb%b6%80%ec%82%b0-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%95%88%eb%82%b4/">경주역 기차 시간표</a>나 <a href="https://krailroad.co.kr/%ea%b0%95%eb%a6%89%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%84%9c%ec%9a%b8-%ec%b2%ad%eb%9f%89%eb%a6%ac-%eb%b6%80%ec%a0%84/">강릉역 기차 시간표</a>를 확인해 보면 긴 구간임에도 배차 간격이 효율적으로 짜여 있어 이동 하기가 한결 수월해졌는데요. <br><br>합리적인 비용으로 부담을 덜어주는 경주역 ITX-마음 역시 쾌적한 실내 환경을 갖추고 있어 긴 시간 동안 몸을 맡기기에 부족함이 없습니다. 또한 실시간 데이터를 통해 출발 여부를 확인하며 바다로 향하는 기대감을 만끽하실 수 있습니다.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">강릉 ↔ 경주 첫차 &amp; 막차</h2>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">강릉<br>↓<br>경주</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">752호</span><div class="time-display">09:36</div><div class="arrival-info">12:32 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">18:35</div><div class="arrival-info">21:24 도착</div></td></tr></tbody></table></div>


<style>
        .ktx-sum-container { margin: 15px 0; font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; }
        .ktx-sum-table { width:100%; border-collapse:collapse; background:#fff; border:1px solid #ddd; table-layout: fixed; }
        .ktx-date-info { text-align: right; font-size: 12px; color: #777; margin-bottom: 5px; font-weight: 500; }
        .ktx-sum-table th { background:#f1f3f5; color:#333; font-size:16px; font-weight:800; padding:12px 4px; border-bottom:2px solid #dee2e6; }
        .ktx-sum-table td { padding:14px 4px; border-bottom:1px solid #eee; text-align:center; vertical-align:middle; }
        .route-info { background:#fcfcfc; font-weight:400; color:#000; font-size:15px; border-right:1px solid #ddd; line-height:1.3; }
        .type-label { display:inline-block; padding:3px 8px; border-radius:4px; font-size:12px; font-weight:700; color:#fff; margin-bottom:4px; }
        .type-ktx { background:#1e40af; } 
        .type-itx { background:#be123c; } 
        .type-mu { background:#047857; }
        .type-default { background:#52525b; }
        .time-display { font-size:18px; font-weight:800; color:#000; letter-spacing:-0.5px; line-height:1; }
        .train-detail { display:block; font-size:12px; color:#444; font-weight:600; margin-bottom:3px; }
        .arrival-info { font-size:12px; color:#555; font-weight:500; margin-top:3px; }
        @media (max-width: 380px) {
            .time-display { font-size: 16px; }
            .route-info { font-size: 13px; }
            .ktx-sum-table th { font-size: 13px; }
            .train-detail, .arrival-info { font-size: 11px; }
        }
    </style><p class="ktx-date-info" style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-sum-container"><table class="ktx-sum-table"><thead><tr><th style="width:22%;">구간</th><th style="width:23%;">종별</th><th>첫차</th><th>막차</th></tr></thead><tbody><tr><td class="route-info" rowspan="1" style="border-top:1px solid #ddd;">경주<br>↓<br>강릉</td><td><span class="type-label type-ktx">KTX</span></td><td><span class="train-detail">751호</span><div class="time-display">08:56</div><div class="arrival-info">11:40 도착</div></td><td><span class="train-detail">755호</span><div class="time-display">20:45</div><div class="arrival-info">23:32 도착</div></td></tr></tbody></table></div>


    
    <h2>경주 ↔ 강릉 운임 요금표</h2>

    <div id="ktx-app-fl" style="margin-bottom: 40px;">
        <style>
            #ktx-app-fl { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 1px solid #e2e8f0; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.06); }
            .fl-main-table { width: 100%; border-collapse: collapse; table-layout: fixed; border: none; }
            .fl-main-table th { font-size: 13px; color: #64748b; padding: 12px 2px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; text-align: center; font-weight: bold; }
            .fl-main-table td { padding: 15px 4px; border-bottom: 1px solid #f1f5f9; text-align: center; vertical-align: middle; }
            
            .u-no-top { font-size: 11px; color: #94a3b8; display: block; font-weight: 500; margin-bottom: 1px; }
            .u-grade-bottom { font-size: 16px; font-weight: 900; color: #0045e6; display: block; line-height: 1.2; }
            .t-via { font-size: 12px; color: #64748b; display: block; margin-top: 4px; font-weight: 500; }
            
            .t-price { font-weight: 700; font-size: 14px; color: #1e293b; }
            .t-premium { color: #059669; }
            .t-special { color: #e11d48; }
            
            .t-none { display: inline-block; padding: 3px 10px; background: #f8fafc; color: #cbd5e1; border: 1px solid #f1f5f9; border-radius: 6px; font-size: 11px; font-weight: 600; }

            @media (max-width: 600px) {
                .fl-main-table th { font-size: 12px; }
                .u-grade-bottom { font-size: 14px; }
                .t-price { font-size: 12px; }
            }
        </style>

        <div style="overflow-x: auto;">
            <table class="fl-main-table">
                <thead>
                    <tr>
                        <th style="width: 30%;">열차 / 경유지</th>
                        <th style="width: 23%;">일반실</th>
                        <th style="width: 23%;">우등실</th>
                        <th style="width: 24%;">특실</th>
                    </tr>
                </thead>
                <tbody>
                                        <tr>
                        <td>
                            <span class="u-no-top">강릉 ↔ 서경주</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                23,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">강릉 ↔ 경주</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                24,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">강릉 ↔ 서경주</span>
                            <span class="u-grade-bottom">ITX</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                23,600원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">강릉 ↔ 경주</span>
                            <span class="u-grade-bottom">KTX</span>
                                                            <span class="t-via">기본</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                34,300원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                41,200원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">강릉 ↔ 서경주</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                15,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                        <tr>
                        <td>
                            <span class="u-no-top">강릉 ↔ 서경주</span>
                            <span class="u-grade-bottom">무궁화</span>
                                                    </td>
                        <td>
                            <span class="t-price">
                                15,800원                            </span>
                        </td>
                        <td>
                            <span class="t-price t-premium">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                        <td>
                            <span class="t-price t-special">
                                <span class='t-none'>해당없음</span>                            </span>
                        </td>
                    </tr>
                                    </tbody>
            </table>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">강릉 → 경주 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>강릉</th><th>정동진</th><th>묵호</th><th>동해</th><th>삼척</th><th>울진</th><th>영덕</th><th>포항</th><th>경주</th><th>비고</th></tr></thead><tbody><tr><td>752</td><td>KTX-이음</td><td>09:36</td><td>09:53</td><td>10:13</td><td>10:23</td><td>10:42</td><td>11:09</td><td>11:43</td><td>12:06</td><td>12:32</td><td>매일</td></tr><tr><td>754</td><td>KTX-이음</td><td>14:56</td><td>15:12</td><td>15:31</td><td>15:39</td><td>15:56</td><td>16:23</td><td>16:57</td><td>17:20</td><td>17:46</td><td>매일</td></tr><tr><td>756</td><td>KTX-이음</td><td>18:35</td><td>18:51</td><td>19:10</td><td>19:18</td><td>19:35</td><td>20:02</td><td>20:36</td><td>20:57</td><td>21:24</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">경주 → 강릉 기차 시간표</h2>



<p class="tip-box wp-block-paragraph">👉 <mark style="background-color:rgba(0, 0, 0, 0);color:#007bff" class="has-inline-color"><strong>좌우로 밀면 전체 표를 볼 수 있습니다.!</strong></mark><br> ❗ 빈칸은 열차가 정차하지 않는 역입니다.</p>


<style>
            .ktx-schedule-wrapper { overflow-x: auto; position: relative; }
            .ktx-schedule-table { width: 100%; border-collapse: collapse; border-spacing: 0; border-top: 2px solid #000; border-bottom: 2px solid #000; box-shadow: 0px 0px 15px rgba(0,0,0,0.1); }
            .ktx-schedule-table th, .ktx-schedule-table td { border: 1px solid #ccc; padding: 8px 5px; text-align: center; white-space: nowrap; background-color: #fff; }
            .ktx-schedule-table th { background-color: #f2f2f2; font-weight: bold; }
            .ktx-schedule-table thead tr th { position: sticky; top: 0; z-index: 10; background-color: #f2f2f2; }
            .ktx-schedule-table td:nth-child(3) { position: sticky; left: 0; z-index: 5; background-color: #fff; border-right: 1px solid #ddd; }
            .ktx-schedule-table th:nth-child(3) { position: sticky; top: 0; left: 0; z-index: 20; background-color: #f2f2f2; border-right: 1px solid #ddd; }
            .scrolled-highlight { background-color: #e6f2ff !important; }
        </style>
            <script>
                document.addEventListener("DOMContentLoaded", function() {
                    const wrappers = document.querySelectorAll(".ktx-schedule-wrapper");
                    wrappers.forEach(wrapper => {
                        wrapper.addEventListener("scroll", function() {
                            const cells = wrapper.querySelectorAll(".ktx-schedule-table th:nth-child(3), .ktx-schedule-table td:nth-child(3)");
                            if (wrapper.scrollLeft > 10) {
                                cells.forEach(cell => { cell.classList.add("scrolled-highlight"); });
                            } else {
                                cells.forEach(cell => { cell.classList.remove("scrolled-highlight"); });
                            }
                        });
                    });
                });
            </script>
        <p style="text-align: right; font-size: small; color: #777;">최신 시간표 기준: 2026년 05월 24일</p><div class="ktx-schedule-wrapper"><table class="ktx-schedule-table"><thead><tr><th>열차번호</th><th>편성</th><th>경주</th><th>포항</th><th>영덕</th><th>울진</th><th>삼척</th><th>동해</th><th>묵호</th><th>정동진</th><th>강릉</th><th>비고</th></tr></thead><tbody><tr><td>751</td><td>KTX-이음</td><td>08:56</td><td>09:20</td><td>09:42</td><td>10:16</td><td>10:43</td><td>10:59</td><td>11:06</td><td>11:26</td><td>11:40</td><td>매일</td></tr><tr><td>753</td><td>KTX-이음</td><td>15:04</td><td>15:28</td><td>15:49</td><td>16:23</td><td>16:50</td><td>17:07</td><td>17:15</td><td>17:36</td><td>17:51</td><td>매일</td></tr><tr><td>755</td><td>KTX-이음</td><td>20:45</td><td>21:11</td><td>21:33</td><td>22:07</td><td>22:35</td><td>22:52</td><td>22:59</td><td>23:18</td><td>23:32</td><td>매일</td></tr></tbody></table></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">전국 기차 시간표 및 운임 조회</h2>



<p class="has-text-align-center has-text-color has-link-color wp-elements-88704de2ad28f76052113e79b539e929 wp-block-paragraph" style="color:#fe0000"><strong>[ <a href="https://krailroad.co.kr/ktx%c2%b7srt%c2%b7itx%c2%b7%ec%83%88%eb%a7%88%ec%9d%84%ed%98%b8%c2%b7%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%80/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0606" class="has-inline-color">전체 시간표 조회</mark></a> ]</strong> <strong>[ <a href="https://krailroad.co.kr/train-schedule-search/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">실시간 열차 조회</mark></a> ]</strong><br><strong><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color">[ </mark><a href="https://krailroad.co.kr/ktx-srt-itx-money-table/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">전체 요금표 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#fe0a0a" class="has-inline-color"> ] [ </mark><a href="https://krailroad.co.kr/%ec%b6%9c%eb%b0%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%84%ec%b0%a9%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%ea%b2%80%ec%83%89/"><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color">열차 런타임 조회</mark></a><mark style="background-color:rgba(0, 0, 0, 0);color:#ff0000" class="has-inline-color"> ]</mark></strong></p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 열차 시간표 검색</h2>



<h3 class="wp-block-heading">실시간 시간표 음성 안내 켜기</h3>


<!-- Begin Dable 본문중단_300x250 / For inquiries, visit http://dable.io -->
<div id="dablewidget_GlYqm4xl" data-widget_id="GlYqm4xl">
<script>
      (function(d,a,b,l,e,r) {
if(d[b]&&d[b].q)return;d[b]=function(){(d[b].q=d[b].q||[]).push(arguments)};e=a.createElement(l);
e.async=1;e.charset='utf-8';e.src='//static.dable.io/dist/plugin.min.js';
r=a.getElementsByTagName(l)[0];r.parentNode.insertBefore(e,r);
})(window,document,'dable','script');
      dable('setService', 'krailroad.co.kr');
      dable('sendLogOnce');
      dable('renderWidget', 'dablewidget_GlYqm4xl');
</script>
</div>
<!-- End 본문중단_300x250 / For inquiries, visit http://dable.io -->

    
    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }

        /* 알림 버튼 튀게 수정 (명령 외 기존 CSS 유지) */
        .voice-toggle { 
            background: #ffeb3b; /* 밝은 노란색 */
            border: 2px solid #fbc02d; 
            color: #0045e6; 
            padding: 5px 12px; 
            border-radius: 8px; 
            font-size: 11px; 
            font-weight: 800; 
            cursor: pointer; 
            transition: 0.2s; 
            margin-right: 8px; 
            box-shadow: 0 0 8px rgba(255,235,59,0.5);
            animation: pulse-yellow 1.5s infinite; /* 반짝임 효과 */
        }
        .voice-toggle.active { 
            background: #4caf50; /* 활성 시 초록색 */
            border-color: #388e3c; 
            color: #fff; 
            animation: none; 
            box-shadow: none;
        }
        @keyframes pulse-yellow {
            0% { transform: scale(1); opacity: 1; }
            50% { transform: scale(1.03); opacity: 0.8; box-shadow: 0 0 15px rgba(255,235,59,0.8); }
            100% { transform: scale(1); opacity: 1; }
        }

        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
        #train-list-body { transition: opacity 0.4s ease-in-out; min-height: 650px; }
        .refresh-flash { opacity: 0.3; }
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; }
        .bus-table th { font-size: 13px; color: #666; padding: 10px; background: #f8f9fa; border-top: 1px solid #eee; text-align: center; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; }
        .route-num { font-size: 18px; font-weight: 800; color: #0045e6; display: block; margin-bottom: 2px; }
        .train-no { font-size: 12px; color: #666; display: block; margin-bottom: 4px; }
        .verify-tag { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; }
        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .time-main { color: #e11d48; font-weight: bold; font-size: 15px; margin-bottom: 2px; }
        .time-sub { color: #333; font-size: 14px; font-weight: bold; }
        .dest-name { font-size: 14px; font-weight: bold; color: #333; }
        .search-inner { padding: 8px 10px; background: #f8fafc; border-bottom: 1px solid #eee; display: flex; gap: 5px; }
        #ktx-arr-input { flex: 1; padding: 12px; border-radius: 6px; border: 1px solid #ddd; outline: none; font-size: 16px !important; }
        #ktx-search-btn { padding: 0 20px; background: #0045e6; color: #fff; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; font-size: 14px; }
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }

        .train-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 15px; background: #f8fafc; border-top: 1px solid #eee; }
        .p-btn { padding: 5px 12px; background: #fff; border: 1px solid #ddd; border-radius: 4px; font-size: 12px; cursor: pointer; color: #0045e6; font-weight: bold; }
        .p-btn:disabled { color: #ccc; cursor: not-allowed; }
        .p-info { font-size: 12px; color: #666; }
    </style>

    <div id="bus-live-area">
        <header class="station-header">
            <span>경주역 시간표 검색</span>
            <div style="display:flex; align-items:center;">
                <button id="voice-toggle-btn" class="voice-toggle" onclick="toggleVoice()">알림 켜기</button>
                <div id="live-indicator" class="live-dot-bus">LIVE</div>
            </div>
        </header>
        <div class="search-inner">
            <input type="text" id="ktx-arr-input" placeholder="도착역 입력 (예: 부산, 동대구)" onkeypress="if(event.keyCode==13) updateKtxBoard(true);">
            <button id="ktx-search-btn" onclick="updateKtxBoard(true)">조회</button>
        </div>
        <table class="bus-table">
            <thead>
                <tr>
                    <th style="width:35%;">노선정보</th>
                    <th style="width:30%;">출발예정</th>
                    <th style="width:35%;">목적지</th>
                </tr>
            </thead>
            <tbody id="train-list-body">
                <tr><td colspan="3" style="padding:300px 0; color:#999; font-size:13px;">도착역을 입력하고 조회를 눌러주세요.</td></tr>
            </tbody>
        </table>

        <div id="train-pagination-area" class="train-pagination" style="display:none;">
            <button id="prev-page" class="p-btn" onclick="movePage(-1)">이전</button>
            <span class="p-info"><span id="curr-p">1</span> / <span id="total-p">1</span></span>
            <button id="next-page" class="p-btn" onclick="movePage(1)">다음</button>
        </div>

        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 업데이트됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>국가교통정보 공식 API 연동</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>
    </div>

    <script>
    const ktxKeyFinal = "X7F%2FMhVuiV1lCs97QEbUzX3bSxRSsKro2roj5wdq%2FESJtqWJtRtvrBCCHVWuAvbY0T%2F84rusVFgvnQshHe7XBQ%3D%3D";
    let stationMaster = [];
    const currentDepName = '경주'; 
    
    let allTrainData = [];
    let currentP = 1;
    const perPage = 10;

    window.ktxVoiceEnabled = false;
    window.ktxAnnounced = new Set();

    function toggleVoice() {
        window.ktxVoiceEnabled = !window.ktxVoiceEnabled;
        const btn = document.getElementById('voice-toggle-btn');
        if(window.ktxVoiceEnabled) {
            btn.classList.add('active'); 
            btn.innerText = "알림 끄기"; 
            const msg = new SpeechSynthesisUtterance("실시간 음성 안내가 활성화되었습니다. 출발 15분 전 열차를 안내합니다.");
            msg.lang = "ko-KR"; window.speechSynthesis.speak(msg);
        } else {
            btn.classList.remove('active'); 
            btn.innerText = "알림 켜기"; 
            window.speechSynthesis.cancel();
        }
    }

    async function initMaster() {
        stationMaster.push({ name: "여수EXPO", id: "NAT041993" });
        const codes = ['11','21','22','23','24','25','26','31','32','33','34','35','36','37','38'];
        try {
            const results = await Promise.all(codes.map(c => 
                fetch(`https://apis.data.go.kr/1613000/TrainInfo/GetCtyAcctoTrainSttnList?serviceKey=${ktxKeyFinal}&pageNo=1&numOfRows=200&_type=xml&cityCode=${c}`).then(r => r.text())
            ));
            const parser = new DOMParser();
            results.forEach(xmlText => {
                const xml = parser.parseFromString(xmlText, "text/xml");
                xml.querySelectorAll('item').forEach(item => {
                    const name = item.querySelector('nodename').textContent.trim();
                    const id = item.querySelector('nodeid').textContent.trim();
                    if (!stationMaster.find(s => s.id === id)) stationMaster.push({ name, id });
                });
            });
        } catch (e) { console.log("Master Load Error"); }
    }

    async function updateKtxBoard(isManual = false) {
        const inputEl = document.getElementById('ktx-arr-input');
        let arrival = inputEl.value.trim().replace('역', '');
        if (!arrival) { if(isManual) alert("도착역을 입력해주세요."); return; }

        const tbody = document.getElementById('train-list-body');
        tbody.classList.add('refresh-flash');
        if (isManual) { tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">실시간 데이터를 불러오는 중...</td></tr>'; }

        const findS = (n) => {
            if (n === "여수" || n === "여수엑스포" || n === "여수EXPO") return { name: "여수EXPO", id: "NAT041993" };
            if (n === "울산") return stationMaster.find(s => s.name === "울산(통도사)");
            return stationMaster.find(s => s.name === n || s.name === n + '역');
        }

        const dep = findS(currentDepName);
        const arr = findS(arrival);
        if (!dep || !arr) { if(isManual) alert("역 이름을 정확히 입력해주세요."); tbody.classList.remove('refresh-flash'); return; }

        const fd = new FormData();
        fd.append('action', 'fetch_ktx_live');
        fd.append('dep_id', dep.id);
        fd.append('arr_id', arr.id);

        try {
            const response = await fetch('https://krailroad.co.kr/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
            allTrainData = await response.json();
            
            if (allTrainData.length > 0) {
                const nowTs = Math.floor(Date.now() / 1000);
                let targetIdx = allTrainData.findIndex(t => t.ts >= nowTs - 300);
                if (targetIdx === -1) targetIdx = 0;
                
                if (isManual) currentP = Math.floor(targetIdx / perPage) + 1;
                renderPage();
            } else {
                tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">검색된 열차가 없습니다.</td></tr>';
                document.getElementById('train-pagination-area').style.display = 'none';
            }
            tbody.classList.remove('refresh-flash');
        } catch (e) { 
            tbody.classList.remove('refresh-flash');
            tbody.innerHTML = '<tr><td colspan="3" style="padding:300px 0; font-size:13px;">데이터 통신 중 오류가 발생했습니다.</td></tr>';
        }
    }

    function renderPage() {
        const tbody = document.getElementById('train-list-body');
        const nowTs = Math.floor(Date.now() / 1000);
        const totalP = Math.ceil(allTrainData.length / perPage);
        
        const start = (currentP - 1) * perPage;
        const pageData = allTrainData.slice(start, start + perPage);

        let html = '';
        let delay = 0;
        
        pageData.forEach(r => {
            const diffMin = Math.round((r.ts - nowTs) / 60);
            
            // 음성 안내 로직
            if (window.ktxVoiceEnabled && diffMin === 15) {
                const key = r.no + "_" + r.dep_time;
                if (!window.ktxAnnounced.has(key)) {
                    const speech = new SpeechSynthesisUtterance(`안내드립니다. ${r.dep_time}분에 출발하는 ${r.arr_n}행 ${r.grade} ${r.no}열차가 15분 뒤에 출발할 예정입니다.`);
                    speech.lang = "ko-KR"; window.speechSynthesis.speak(speech);
                    window.ktxAnnounced.add(key);
                }
            }

            let soonBadge = (diffMin <= 10 && diffMin >= 0) ? `<span class="soon-badge">출발임박</span>` : '';
            
            // --- 색상 및 문구 로직 시작 ---
            let timeStyle = ""; 
            let timeMain = "";

            if (diffMin <= 0) {
                if (diffMin < -5) {
                    timeMain = '운행 종료';
                    timeStyle = 'style="color: #94a3b8;"'; 
                } else {
                    timeMain = '출발 대기 중';
                }
            } else {
                timeMain = diffMin + '분 후 출발';
            }

            html += `
                <tr class="bus-arrival-row" style="animation-delay: ${delay}s;">
                    <td style="padding: 10px 5px;">
                        <span class="train-no">${r.no}호</span>
                        <span class="route-num">${r.grade}</span>
                        <span class="verify-tag">공식정보연동</span>
                    </td>
                    <td>
                        ${soonBadge}<br>
                        <div class="time-main" ${timeStyle}>${timeMain}</div>
                        <div class="time-sub">${r.dep_time} 출발</div>
                    </td>
                    <td>
                        <div class="dest-name">${r.arr_n}역</div>
                        <div class="verify-tag" style="font-size:13px; background:#f1f5f9; color:#0045e6; border:1px solid #e2e8f0; margin-top:4px; font-weight:bold;">도착 ${r.arr_time}</div>
                        <div style="font-size:13px; color:#666; margin-top:2px;">(${r.duration} 소요)</div>
                    </td>
                </tr>`;
            delay += 0.03;
        });
        
        tbody.innerHTML = html;
        document.getElementById('train-pagination-area').style.display = 'flex';
        document.getElementById('curr-p').innerText = currentP;
        document.getElementById('total-p').innerText = totalP;
        document.getElementById('prev-page').disabled = (currentP === 1);
        document.getElementById('next-page').disabled = (currentP === totalP);

        const now = new Date();
        document.getElementById('last-sync').innerText = 
            now.getHours().toString().padStart(2, '0') + ':' + 
            now.getMinutes().toString().padStart(2, '0') + ':' + 
            now.getSeconds().toString().padStart(2, '0');
    }

    function movePage(step) {
        currentP += step;
        renderPage();
    }

    initMaster();
    setInterval(() => { if(allTrainData.length > 0) updateKtxBoard(false); }, 60000);
    </script>
    



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">실시간 API 버스 도착 시간표</h2>


    <style>
        #bus-live-area { margin: 20px auto; max-width: 600px; background: #fff; border-radius: 12px; font-family: -apple-system, sans-serif; border: 2px solid #0045e6; overflow: hidden; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        /* CLS 최적화: 10개 출력 시의 예상 높이인 750px를 선점 */
        #bus-content-view { min-height: 750px; transition: height 0.3s ease; position: relative; } 

        .station-header { background: #0045e6; padding: 12px 15px; display: flex; justify-content: space-between; align-items: center; color: #fff; }
        .station-header span { font-weight: bold; }
        .live-dot-bus { background: #fff; color: #0045e6; padding: 2px 8px; border-radius: 20px; font-size: 11px; font-weight: 800; animation: blink_live 1.5s infinite; }
        @keyframes blink_live { 50% { opacity: 0.5; } }
        
        .bus-table { width: 100%; border-collapse: collapse; text-align: center; table-layout: fixed; }
        .bus-table th { font-size: 13px; color: #666; padding: 12px 5px; background: #f8f9fa; border-top: 1px solid #eee; }
        .bus-table td { padding: 15px 5px; border-bottom: 1px solid #f0f0f0; text-align: center; vertical-align: middle; overflow: hidden; }
        
        .bus-arrival-row { animation: slideUp 0.6s ease-out forwards; opacity: 0; }
        @keyframes slideUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

        @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
        .soon-badge { background: #e11d48; color: #fff; padding: 2px 5px; border-radius: 4px; font-size: 11px; animation: pulse 1.5s infinite; font-weight: bold; }
        .route-path { width: 60px; height: 3px; background: #e2e8f0; margin: 8px auto 0; position: relative; }
        .bus-icon { position: absolute; top: -9px; font-size: 12px; transition: all 0.5s; }
        .verify-badge { font-size: 10px; color: #059669; background: #ecfdf5; padding: 1px 4px; border-radius: 3px; border: 1px solid #d1fae5; display: inline-block; margin-top: 4px; }
        
        #bus-announcement { background: #fffbe6; border-top: 1px dashed #ffe58f; padding: 10px 15px; font-size: 12px; color: #856404; line-height: 1.6; text-align: center; }
    </style>

    <div id="bus-live-area">
        <div class="station-header">
            <span id="bus-header-name">경주역 버스 도착판</span>
            <div class="live-dot-bus">LIVE</div>
        </div>
        
        <div id="bus-content-view">
            <div id="bus-loading-overlay" style="padding:150px 0; text-align:center; color:#999; line-height:1.6;">
                <div style="display:inline-block; margin-bottom:12px; font-size:24px; animation: pulse 1.5s infinite;">🔍</div>
                <p style="margin:0;">
                    <strong id="loading-name">경주역</strong> 버스 API 연결 중...<br>
                    <span style="font-size:12px;">10초 간 최대 3번 접속시도 하오니 기다려 주세요....</span>
                </p>
            </div>
        </div>
        
        <div id="bus-announcement">
            <span style="display:inline-block; margin-right:5px; animation: pulse 1s infinite;">📢</span> 
            <span id="announcement-text">실시간 정보는 1분 단위로 자동 갱신됩니다.</span>
        </div>

        <div style="display:flex; justify-content:space-between; padding: 8px 15px; background: #f8fafc; font-size:11px; color:#94a3b8; border-top: 1px solid #eee;">
            <span>연계 교통 실시간 모드</span>
            <span>최근 갱신: <span id="last-sync">--:--:--</span></span>
        </div>

        <script type="text/javascript">
        (function($) {
            "use strict";
            let curCity = '37020';
            let curName = '경주';
            let altCity = '32010';
            let altName = '강릉';
            let hasTriedAlt = false;

            function loadBus() {
                if (document.hidden) return;
                
                const $view = $('#bus-content-view');
                // 갱신 시 현재 높이를 잠시 고정하여 화면 떨림 방지
                if ($view.height() > 0) {
                    $view.css('min-height', $view.height() + 'px');
                }

                $.ajax({
                    url: 'https://krailroad.co.kr/wp-admin/admin-ajax.php',
                    type: 'POST',
                    data: { action: 'get_bus_universal_final', city: curCity, name: curName },
                    success: function(res) { 
                        if (res.indexOf('정류소 정보를 찾지 못했습니다') !== -1 && altName !== '' && !hasTriedAlt) {
                            curCity = altCity;
                            curName = altName;
                            hasTriedAlt = true;
                            $('#bus-main-title').text(curName + '역 실시간 버스 도착 안내');
                            $('#bus-header-name').text(curName + '역 버스 도착판');
                            $('#loading-name').text(curName + '역');
                            loadBus();
                            return;
                        }
                        
                        $view.html(res);
                        
                        // 데이터 로드 후 최소 높이를 다시 750px로 일관성 있게 유지
                        setTimeout(() => { $view.css('min-height', '750px'); }, 100);

                        const now = new Date();
                        const timeStr = now.getHours().toString().padStart(2, '0') + ':' + now.getMinutes().toString().padStart(2, '0') + ':' + now.getSeconds().toString().padStart(2, '0');
                        $('#last-sync').text(timeStr);
                    }
                });
            }
            $(document).ready(function() { loadBus(); setInterval(loadBus, 60000); });
        })(jQuery);
        </script>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 날씨 및 맛집 정보</h3>



    <div class="weather-section-wrap" style="margin: 40px 0;">
        <h4 style="margin-bottom: 25px !important;">경주역 API 실시간 날씨 예보</h4>
        <div class="weather-info-box" style="padding: 20px; border-radius: 12px; background: #f8fafc; border: 1px solid #e2e8f0; margin-top: 15px;">
            <div style="display: flex; gap: 10px; text-align: center;">
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">기온</span>
                    <b style="font-size: 1.3em; color: #2d3748;">13℃</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">상태</span>
                    <b style="font-size: 1.1em; color: #2d3748;">☁️ 흐림</b>
                </div>
                <div style="flex: 1; background: #ffffff; padding: 12px; border-radius: 8px; border: 1px solid #edf2f7;">
                    <span style="font-size: 0.85em; color: #718096; display: block; margin-bottom: 4px;">강수확률</span>
                    <b style="font-size: 1.3em; color: #3182ce;">30%</b>
                </div>
            </div>
        </div>
    </div>


    <div class="station-food-wrap" style="margin: 30px 0; padding-top: 5px;">
        <h4 style="margin-bottom: 25px !important;">경주역 API 실시간 맛집 정보</h4>
        <ul style="list-style: none !important; padding: 0 !important; margin: 0 !important; font-family: 'Noto Sans KR', sans-serif;">
                                                <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EA%B8%B0%EC%86%8C%EC%95%BC+%EC%8B%A0%EA%B2%BD%EC%A3%BC%EC%97%AD%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EA%B2%BD%EC%A3%BC%EC%8B%9C+%EA%B1%B4%EC%B2%9C%EC%9D%8D+%ED%99%94%EC%B2%9C%EB%A6%AC+1010+%EC%8B%A0%EA%B2%BD%EC%A3%BC%EC%97%AD+1F" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">기소야 신경주역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;일식&gt;우동,소바</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상북도 경주시 건천읍 화천리 1010 신경주역 1F</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%B9%B4%ED%8E%98%EB%B2%A0%EB%84%A4+%EC%8B%A0%EA%B2%BD%EC%A3%BC%EC%97%AD%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EA%B2%BD%EC%A3%BC%EC%8B%9C+%EA%B1%B4%EC%B2%9C%EC%9D%8D+%ED%99%94%EC%B2%9C%EB%A6%AC+1010+%EA%B2%BD%EC%A3%BCKTX%EC%97%AD%EC%82%AC" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">카페베네 신경주역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">카페,디저트&gt;카페</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상북도 경주시 건천읍 화천리 1010 경주KTX역사</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EB%A1%AF%EB%8D%B0%EB%A6%AC%EC%95%84+%EC%8B%A0%EA%B2%BD%EC%A3%BC%EC%97%AD%EC%82%AC%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EA%B2%BD%EC%A3%BC%EC%8B%9C+%EA%B1%B4%EC%B2%9C%EC%9D%8D+%ED%99%94%EC%B2%9C%EB%A6%AC+1010" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">롯데리아 신경주역사점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">양식&gt;햄버거</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상북도 경주시 건천읍 화천리 1010</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EA%B8%88%ED%99%94%EC%99%95%EB%8F%88%EA%B9%8C%EC%8A%A4+%EA%B2%BD%EC%A3%BC%EC%97%AD%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EA%B2%BD%EC%A3%BC%EC%8B%9C+%EA%B1%B4%EC%B2%9C%EC%9D%8D+%ED%99%94%EC%B2%9C%EB%A6%AC+2722-3+1%EC%B8%B5" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">금화왕돈까스 경주역점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">음식점&gt;일식&gt;돈가스</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상북도 경주시 건천읍 화천리 2722-3 1층</div>
                        </a>
                    </li>
                                    <li style="margin-bottom: 20px !important; padding-bottom: 15px !important; border-bottom: 1px solid #eee !important;">
                        <a href="https://map.naver.com/v5/search/%EC%9C%A1%EC%A6%99+%EC%8B%A0%EA%B2%BD%EC%A3%BC%EC%97%AD%EB%B3%B8%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EA%B2%BD%EC%A3%BC%EC%8B%9C+%EA%B1%B4%EC%B2%9C%EC%9D%8D+%ED%99%94%EC%B2%9C%EB%A6%AC+2712-4+1%EC%B8%B5+%EC%9C%A1%EC%A6%99" target="_blank" style="text-decoration: none !important; display: block; color: inherit !important;" rel="noopener">
                            <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 5px;">
                                <strong style="font-size: 1.1rem !important; color: #222 !important;">육즙 신경주역본점</strong>
                                <span style="background: #f1f3f5; color: #666; font-size: 0.7rem; padding: 2px 6px; border-radius: 4px;">한식&gt;육류,고기요리</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">경상북도 경주시 건천읍 화천리 2712-4 1층 육즙</div>
                        </a>
                    </li>
                                    </ul>
    </div>
    



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">실시간 주차장 요금 및 위치</h3>


    <div class="station-parking-section" style="margin: 30px 0; padding-top: 10px; min-height: 400px;">
        <h4 style="margin-bottom: 20px !important;">경주역 실시간 주차장 요금</h4>
        
                    <div class="parking-list-container">
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 경주역A                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,000원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">13,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 경상북도 경주시 성동동 40<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 053-719-0270                        </div>
                    </div>
                                    <div style="background: #ffffff; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0; margin-bottom: 20px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); font-family: 'Noto Sans KR', sans-serif;">
                        <div style="font-size: 1.1rem; font-weight: 700; color: #0052a4; border-bottom: 2px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 15px;">
                            📍 신경주역                        </div>
                        
                        <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 15px;">
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">기본 요금</span>
                                <strong style="font-size: 1.05rem;">1,000원</strong> 
                                <small style="color: #94a3b8;">/ 30분</small>
                            </div>
                            <div style="background: #f8fafc; padding: 12px; border-radius: 8px;">
                                <span style="font-size: 0.8rem; color: #64748b; display: block;">추가 요금</span>
                                <strong style="font-size: 1.05rem;">300원</strong>
                                <small style="color: #94a3b8;">/ 10분</small>
                            </div>
                            <div style="background: #fff1f2; padding: 15px; border-radius: 8px; border: 1px solid #ffe4e6;">
                                <span style="font-size: 0.85rem; color: #e11d48; font-weight: 600; display: block; margin-bottom: 4px;">📅 1일 최대</span>
                                <strong style="font-size: 1.2rem; color: #e11d48;">13,000원</strong>
                            </div>
                            <div style="background: #f0fdf4; padding: 15px; border-radius: 8px; border: 1px solid #dcfce7;">
                                <span style="font-size: 0.85rem; color: #166534; font-weight: 600; display: block; margin-bottom: 4px;">💳 월 정기권</span>
                                <strong style="font-size: 1.2rem; color: #166534;">정보없음</strong>
                            </div>
                        </div>

                        <div style="font-size: 0.85rem; color: #475569; line-height: 1.7; background: #f1f5f9; padding: 12px; border-radius: 8px;">
                            🏠 <b>주소:</b> 경상북도 경주시 건천읍 화천리 1010<br>
                            🕒 <b>운영시간:</b> 24시간<br>
                            ⏱️ <b>무료회차시간:</b> 0분 이내<br>
                            🎁 <b>할인정보:</b> 코레일 기본 할인 규정 적용<br>
                            📞 <b>문의:</b> 053-719-0270                        </div>
                    </div>
                            </div>
            </div>
    


    <div class="station-location-info" style="margin: 20px 0; font-family: 'Noto Sans KR', sans-serif;">
        <h4 style="margin-bottom: 20px !important;">경주역 주차장 위치 및 문의</h4>
        
        <div style="margin-bottom: 25px; line-height: 1.8; background: #f8fafc; padding: 20px; border-radius: 12px; border: 1px solid #e2e8f0;">
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📍 주차장 주소 :</strong> 경상북도 경주시 성동동 40</p>
            <p style="margin: 5px 0; font-size: 1.05rem; color: #334155;"><strong>📞 문의전화 :</strong> <a href="tel:053-719-0270" style="color: #0052a4; font-weight: bold; text-decoration: none;">053-719-0270</a></p>
        </div>

        <div style="text-align: center; margin: 30px 0;">
            <a href="https://map.naver.com/v5/search/%EA%B2%BD%EC%A3%BC%EC%97%AD+%EC%A3%BC%EC%B0%A8%EC%9E%A5" target="_blank" rel="noopener noreferrer" style="display: inline-block; background: #03c75a; color: white; padding: 15px 35px; border-radius: 8px; text-decoration: none; font-weight: bold; font-size: 1.1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
                  네이버 지도에서 실시간 위치 확인
            </a>
        </div>
    </div>
    



<p class="wp-block-paragraph"></p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="350" height="350" src="https://krailroad.co.kr/wp-content/uploads/2026/03/경주역-강릉역-기차-시간표-KTX-이음-동해선-첫기차-마지막기차-요금-정차역.jpg" alt="경주역-강릉역-기차-시간표-KTX-이음-동해선-첫기차-마지막기차-요금-정차역" class="wp-image-19885" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/경주역-강릉역-기차-시간표-KTX-이음-동해선-첫기차-마지막기차-요금-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/03/경주역-강릉역-기차-시간표-KTX-이음-동해선-첫기차-마지막기차-요금-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/03/경주역-강릉역-기차-시간표-KTX-이음-동해선-첫기차-마지막기차-요금-정차역-150x150.jpg 150w" sizes="auto, (max-width: 350px) 100vw, 350px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
