<?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>KTX 시간표 &#8211; 기차 타는 사람들</title>
	<atom:link href="https://krailroad.co.kr/category/%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c/ktx-%ec%8b%9c%ea%b0%84%ed%91%9c/feed/" rel="self" type="application/rss+xml" />
	<link>https://krailroad.co.kr</link>
	<description>레일 위에서 만나는 세상, 가장 빠르고 정확한 기차여행 정보와 팁</description>
	<lastBuildDate>Tue, 12 May 2026 23:53:06 +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>KTX 시간표 &#8211; 기차 타는 사람들</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>서원주역 시간표(KTX ITX-마음-무궁화호) 중앙선 서울-청량리-부전-동해 요금표</title>
		<link>https://krailroad.co.kr/%ec%84%9c%ec%9b%90%ec%a3%bc%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9cktx-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%84%9c%ec%9a%b8-%ec%b2%ad%eb%9f%89/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Mon, 23 Mar 2026 00:55:29 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[서원주역 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=19637</guid>

					<description><![CDATA[강원도 지정면의 평온한 풍경 사이로 현대적인 감각의 역사가 들어선 서원주역 시간표를 이용한 열차는 강릉선과 중앙선이 서로의 길을 나누고 합치는 철도 교통의 핵심 분기점입니다. 과거 간이역 시절의 소박함을 뒤로하고, 이제는 고속열차가 쉴 새 없이 오가며 수도권과 강원 내륙을 잇는 가장 빠른 길목으로 자리 잡았는데요. 요즘 같은 AI 시대에 수동으로 입력해 놓은 낚시성 서원주역 시간표, 요금, 정차역, ... <a title="서원주역 시간표(KTX ITX-마음-무궁화호) 중앙선 서울-청량리-부전-동해 요금표" class="read-more button" href="https://krailroad.co.kr/%ec%84%9c%ec%9b%90%ec%a3%bc%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9cktx-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%84%9c%ec%9a%b8-%ec%b2%ad%eb%9f%89/" aria-label="서원주역 시간표(KTX ITX-마음-무궁화호) 중앙선 서울-청량리-부전-동해 요금표 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">강원도 지정면의 평온한 풍경 사이로 현대적인 감각의 역사가 들어선 서원주역 시간표를 이용한 열차는 강릉선과 중앙선이 서로의 길을 나누고 합치는 철도 교통의 핵심 분기점입니다. 과거 간이역 시절의 소박함을 뒤로하고, 이제는 고속열차가 쉴 새 없이 오가며 수도권과 강원 내륙을 잇는 가장 빠른 길목으로 자리 잡았는데요.</p>



<p class="wp-block-paragraph">요즘 같은 AI 시대에 수동으로 입력해 놓은 낚시성 서원주역 시간표, 요금, 정차역, 첫기차 마지막기차 등을 검색으로 찾아 다닐 필요 없이 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 시간표와 공공데이터 공식 코레일 API의 실시간 데이터와 연동된 최신 서원주역 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">서원주역은 서울에서 내려온 철길이 강릉 방향과 안동·부산 방향으로 흩어지는 중요한 위치에 자리하고 있습니다. 2012년 무배치 간이역으로 시작했으나, 2021년 철길을 두 줄로 넓히고 전동차가 다닐 수 있도록 현대화하는 대공사가 마무리되며 지금의 위용을 갖추게 되었는데요. 벼가 익어가는 지정면의 평화로운 풍경 속에 자리 잡은 현대식 역사는 이제 강원도 서부권의 교통 중심축으로 확실히 자리매김했습니다.</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>



<h3 class="wp-block-heading">서원주역 시간표 KTX~ITX-마음까지</h3>



<p class="wp-block-paragraph">현재 서원주역 기차 노선은 강릉행 고속열차와 안동·부전행 열차가 모두 모이는 독특한 구조를 자랑합니다. 무궁화호보다 쾌적한 실내를 갖춘 서원주역 ITX-마음이 상시 운행되며 열차 선택의 폭이 무척 넓어졌는데요. 서원주역 기차 시간표를 살펴보면 상행선은 물론 강원도 깊숙이 들어가는 하행선까지 유기적으로 배치되어 있어, 기다림 없는 매끄러운 이동이 가능합니다.<br><br>서원주역 시간표를 이용하여 <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>으로 내려가는 정겨운 노선으로 각기 다른 매력을 느낄 수 있으며, 특히 강원권과 경북권을 잇는 서원주역 환승 꿀팁을 활용하면 중부내륙 어디든 막힘없이 이동할 수 있어 이용객들 사이에서 만족도가 상당한데요. 섬강의 비경과 소백산 자락의 풍경을 감상하며 여행을 즐길 수 있습니다.</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">702호</span><div class="time-display">7:20</div><div class="arrival-info">8:11 도착</div></td><td><span class="train-detail">716호</span><div class="time-display">19:27</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">702호</span><div class="time-display">7:20</div><div class="arrival-info">8:31 도착</div></td><td><span class="train-detail">714호</span><div class="time-display">18:01</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="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">08:44</div><div class="arrival-info">09:47 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">19:58</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:02</div><div class="arrival-info">07:21 도착</div></td><td><span class="train-detail">1678호</span><div class="time-display">21:42</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-ktx">KTX</span></td><td><span class="train-detail">703호</span><div class="time-display">7:18</div><div class="arrival-info">8:31 도착</div></td><td><span class="train-detail">717호</span><div class="time-display">22:42</div><div class="arrival-info">23: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-ktx">KTX</span></td><td><span class="train-detail">703호</span><div class="time-display">7:18</div><div class="arrival-info">10:34 도착</div></td><td><span class="train-detail">713호</span><div class="time-display">17:22</div><div class="arrival-info">20: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-itx">ITX-마음</span></td><td><span class="train-detail">1601호</span><div class="time-display">07:40</div><div class="arrival-info">09:16 도착</div></td><td><span class="train-detail">1613호</span><div class="time-display">18:42</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:40</div><div class="arrival-info">12:20 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">15:56</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:57</div><div class="arrival-info">11:17 도착</div></td><td><span class="train-detail">1677호</span><div class="time-display">20:29</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:57</div><div class="arrival-info">12:25 도착</div></td><td><span class="train-detail">1677호</span><div class="time-display">20:29</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>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>10,600</td><td>13,600</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">서원주</td><td>-</td><td>5,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>5,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>8,300</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>9,000</td><td>12,000</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">서원주</td><td class="highlight">경주</td><td>-</td><td>18,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>23,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>34,000</td><td>40,800</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">서원주</td><td class="highlight">태화강</td><td>-</td><td>20,900</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>27,300</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>39,900</td><td>47,900</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">서원주</td><td class="highlight">부전</td><td>-</td><td>25,000</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,300</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>46,500</td><td>55,800</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">서원주</td><td class="highlight">태백</td><td>-</td><td>9,700</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>13,600</td><td>0</td><td>0</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%84%9c%ec%9b%90%ec%a3%bc%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9cktx-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%84%9c%ec%9a%b8-%ec%b2%ad%eb%9f%89/">서원주역 KTX 시간표 바로가기</a><br>✅ <s>서원주역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%ec%84%9c%ec%9b%90%ec%a3%bc%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9cktx-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%84%9c%ec%9a%b8-%ec%b2%ad%eb%9f%89/">서원주역 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>KTX-<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>702</td><td>KTX-이음</td><td>7:20</td><td>7:42</td><td>8:11</td><td>8:31</td><td>매일</td></tr><tr><td>704</td><td>KTX-이음</td><td>9:12</td><td></td><td>9:59</td><td>10:19</td><td>매일</td></tr><tr><td>706</td><td>KTX-이음</td><td>11:12</td><td></td><td>11:58</td><td></td><td>매일</td></tr><tr><td>708</td><td>KTX-이음</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>16:32</td><td></td><td>17:21</td><td>17:41</td><td>매일</td></tr><tr><td>714</td><td>KTX-이음</td><td>18:01</td><td>18:23</td><td>18:51</td><td>19:13</td><td>매일</td></tr><tr><td>716</td><td>KTX-이음</td><td>19:27</td><td></td><td>20:15</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></tr></thead><tbody><tr><td>1652</td><td>무궁화</td><td>06:02</td><td>06:08</td><td>06:13</td><td>06:18</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:06</td><td>07:12</td><td>07:18</td><td>07:24</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>1612</td><td>ITX-마음</td><td>08:44</td><td></td><td>08:54</td><td></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>1672</td><td>무궁화</td><td>09:21</td><td>09:28</td><td>09:33</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>11:52</td><td></td><td>12:00</td><td>12:05</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>1614</td><td>ITX-마음</td><td>16:04</td><td></td><td>16:14</td><td></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>1674</td><td>무궁화</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>1676</td><td>무궁화</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>1604</td><td>ITX-마음</td><td>19:58</td><td></td><td>20:08</td><td></td><td></td><td></td><td></td><td>20:21</td><td>20:29</td><td></td><td>20:56</td></tr><tr><td>1678</td><td>무궁화</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>



<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>703</td><td>KTX-이음</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>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>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>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>711</td><td>KTX-이음</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>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: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></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</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: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></tr></thead><tbody><tr><td>703</td><td>KTX-이음</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>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>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>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>711</td><td>KTX-이음</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>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: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></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</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: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: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: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><tr><td>1661</td><td>무궁화</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><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><th>신기</th><th>동해</th></tr></thead><tbody><tr><td>무궁화</td><td>1671</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: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>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>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 = '32060';
            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="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%9F%AC%EC%8A%A4%ED%8B%B1+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%9B%90%EC%A3%BC%EC%8B%9C+%EC%A7%80%EC%A0%95%EB%A9%B4+%EA%B0%84%ED%98%84%EB%A6%AC+561-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;">브런치카페</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">강원특별자치도 원주시 지정면 간현리 561-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%B9%88%EC%B2%B4%EB%A1%9C%EC%B9%B4%ED%8E%98+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%9B%90%EC%A3%BC%EC%8B%9C+%EC%A7%80%EC%A0%95%EB%A9%B4+%EA%B0%84%ED%98%84%EB%A6%AC+584-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;">강원특별자치도 원주시 지정면 간현리 584-8</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> 강원도 원주시 지정로 364</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%9B%90%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/03/서원주역-시간표-KTX-이음-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="서원주역-시간표-KTX-이음-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-19656" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/서원주역-시간표-KTX-이음-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, 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: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>원주역 기차 KTX ITX-마음 무궁화호 시간표 서울-청량리-부전-동해 중앙선 요금</title>
		<link>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/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Fri, 20 Mar 2026 02:42:10 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[원주역 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=19554</guid>

					<description><![CDATA[80여 년의 세월을 간직한 채 2021년 무실동 시대를 활짝 연 원주역 기차는 강원 남부권 교통의 중심축으로서 그 위상이 더욱 견고해졌습니다. 과거 학성동 구역사의 정취를 뒤로하고, 이제는 청량리역에서 고속열차로 40분이면 닿는 초근접 생활권을 완성하며 원주 당일치기 여행객들에게 설렘 가득한 출발점이 되어주고 있는데요. 이번 포스팅은 코레일 시간표와 공공데이터 API 기반 버스 도착, 역주차장, 주변 맛집, 날씨를 실시간 ... <a title="원주역 기차 KTX ITX-마음 무궁화호 시간표 서울-청량리-부전-동해 중앙선 요금" class="read-more button" 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/" aria-label="원주역 기차 KTX ITX-마음 무궁화호 시간표 서울-청량리-부전-동해 중앙선 요금 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">80여 년의 세월을 간직한 채 2021년 무실동 시대를 활짝 연 원주역 기차는 강원 남부권 교통의 중심축으로서 그 위상이 더욱 견고해졌습니다. 과거 학성동 구역사의 정취를 뒤로하고, 이제는 청량리역에서 고속열차로 40분이면 닿는 초근접 생활권을 완성하며 원주 당일치기 여행객들에게 설렘 가득한 출발점이 되어주고 있는데요.</p>



<p class="wp-block-paragraph">이번 포스팅은 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 시간표와 공공데이터 API 기반 버스 도착, 역주차장, 주변 맛집, 날씨를 실시간 운행 정보를 분석하여, 이용객이 가장 궁금해하는 원주역 KTX 시간표와 원주역 ITX-마음, 그리고 청량리와 동해를 잇는 무궁화호의 상세 노선을 순차적으로 정리했습니다.</p>



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



<h2 class="wp-block-heading">1940년부터 이어진 원주역 기차</h2>



<h3 class="wp-block-heading">무실동 신역사의 미래 가치</h3>



<p class="wp-block-paragraph">1940년 첫 기적 소리를 울렸던 원주역은 강원도의 물류와 여객을 책임지던 핵심 길목이었습니다. 중앙선의 철길을 두 줄로 넓히고 전동차가 다닐 수 있도록 현대화하는 대공사가 마무리되며, 2021년 현재의 위치로 자리를 옮겨 첨단 철도 시스템을 갖춘 강원권의 거점으로 거듭났는데요. 치악산의 유려한 능선을 형상화한 신역사는 원주의 새로운 랜드마크로서 방문객들에게 쾌적한 첫인상을 선사하고 있습니다.</p>



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



<h3 class="wp-block-heading">40분대 생활권의 일상 변화</h3>



<p class="wp-block-paragraph">원주역 기차 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/%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-마음이 상시 운행되며 이용객들의 선택지가 한층 넓어졌는데요. 원주역 기차 시간표를 살펴보면 수도권 출퇴근은 물론 지방 거점 도시로의 이동까지 고려한 유기적인 배차가 돋보입니다.<br><br>원주역에서 동해, 혹은 원주역에서 부전으로 향하는 노선은 여전히 많은 이들에게 여행의 향수를 불러일으킵니다. 특히 안동이나 경주 방면으로 향하는 승객들이 즐겨 찾는 원주역 환승 꿀팁을 활용하면 중부내륙 어디든 효율적으로 이동할 수 있어 철도 이용객들 사이에서 만족도가 상당히 높은데요. 창밖으로 펼쳐지는 강원도의 산세와 경북의 들녘을 감상하며 떠나는 열차 여행은 원주역이 주는 또 다른 매력입니다.</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">702호</span><div class="time-display">7:08</div><div class="arrival-info">8:11 도착</div></td><td><span class="train-detail">718호</span><div class="time-display">22:07</div><div class="arrival-info">22:58 도착</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">702호</span><div class="time-display">7:08</div><div class="arrival-info">8:31 도착</div></td><td><span class="train-detail">714호</span><div class="time-display">17:48</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="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">08:31</div><div class="arrival-info">09:47 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">19:50</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">05:54</div><div class="arrival-info">07:21 도착</div></td><td><span class="train-detail">1678호</span><div class="time-display">21:34</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-ktx">KTX</span></td><td><span class="train-detail">701호</span><div class="time-display">6:30</div><div class="arrival-info">7:34 도착</div></td><td><span class="train-detail">717호</span><div class="time-display">22:49</div><div class="arrival-info">23: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-ktx">KTX</span></td><td><span class="train-detail">701호</span><div class="time-display">6:30</div><div class="arrival-info">9:24 도착</div></td><td><span class="train-detail">715호</span><div class="time-display">19:49</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">1601호</span><div class="time-display">07:47</div><div class="arrival-info">09:16 도착</div></td><td><span class="train-detail">1613호</span><div class="time-display">18:51</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:47</div><div class="arrival-info">12:20 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">16:03</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="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:02</div><div class="arrival-info">20:04 도착</div></td><td><span class="train-detail">1641호</span><div class="time-display">18:02</div><div class="arrival-info">20:04 도착</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:05</div><div class="arrival-info">11:17 도착</div></td><td><span class="train-detail">1677호</span><div class="time-display">20:36</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-itx">ITX-마음</span></td><td><span class="train-detail">1641호</span><div class="time-display">18:02</div><div class="arrival-info">21:08 도착</div></td><td><span class="train-detail">1641호</span><div class="time-display">18:02</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:05</div><div class="arrival-info">12:25 도착</div></td><td><span class="train-detail">1677호</span><div class="time-display">20:36</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>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>11,800</td><td>14,800</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">원주</td><td>-</td><td>6,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>6,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>9,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>10,100</td><td>13,100</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">원주</td><td class="highlight">경주</td><td>-</td><td>17,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>22,400</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>32,800</td><td>39,400</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">원주</td><td class="highlight">태화강</td><td>-</td><td>20,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>26,500</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,700</td><td>46,400</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">원주</td><td class="highlight">부전</td><td>-</td><td>24,300</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>32,500</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>45,300</td><td>54,400</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">원주</td><td class="highlight">태백</td><td>-</td><td>9,000</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>12,900</td><td>0</td><td>0</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%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/#%EC%B6%9C%EB%B0%9C_%EC%9B%90%EC%A3%BC_%E2%86%92_%EB%8F%84%EC%B0%A9_%EC%B2%AD%EB%9F%89%EB%A6%AC-%EC%84%9C%EC%9A%B8">원주역 KTX 시간표 바로가기</a><br>✅ <s>원주역 SRT 노선 없음</s><br>✅ <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/#%EC%B6%9C%EB%B0%9C_%EC%9B%90%EC%A3%BC_%E2%86%92_%EB%8F%84%EC%B0%A9_%EC%B2%AD%EB%9F%89%EB%A6%AC-%EC%84%9C%EC%9A%B8">원주역 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>KTX-<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><th>청량리</th><th>서울</th><th>비고</th></tr></thead><tbody><tr><td>702</td><td>KTX-이음</td><td>7:08</td><td>7:20</td><td>7:42</td><td></td><td></td><td>8:11</td><td>8:31</td><td>매일</td></tr><tr><td>704</td><td>KTX-이음</td><td>9:00</td><td>9:12</td><td></td><td></td><td></td><td>9:59</td><td>10:19</td><td>매일</td></tr><tr><td>706</td><td>KTX-이음</td><td>11:01</td><td>11:12</td><td></td><td></td><td></td><td>11:58</td><td></td><td>매일</td></tr><tr><td>708</td><td>KTX-이음</td><td>13:11</td><td>13:23</td><td>13:45</td><td></td><td></td><td>14:13</td><td>14:33</td><td>매일</td></tr><tr><td>710</td><td>KTX-이음</td><td>15:12</td><td></td><td>15:34</td><td></td><td>15:58</td><td>16:04</td><td></td><td>매일</td></tr><tr><td>712</td><td>KTX-이음</td><td>16:20</td><td>16:32</td><td></td><td></td><td></td><td>17:21</td><td>17:41</td><td>매일</td></tr><tr><td>714</td><td>KTX-이음</td><td>17:48</td><td>18:01</td><td>18:23</td><td></td><td></td><td>18:51</td><td>19:13</td><td>매일</td></tr><tr><td>716</td><td>KTX-이음</td><td>19:14</td><td>19:27</td><td></td><td></td><td></td><td>20:15</td><td></td><td>매일</td></tr><tr><td>782</td><td>KTX-이음</td><td>20:24</td><td></td><td></td><td>20:59</td><td></td><td>21:13</td><td></td><td>토일</td></tr><tr><td>718</td><td>KTX-이음</td><td>22:07</td><td></td><td>22:29</td><td></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><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>05:54</td><td>06:02</td><td>06:08</td><td>06:13</td><td>06:18</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>06:59</td><td>07:06</td><td>07:12</td><td>07:18</td><td>07:24</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>1612</td><td>ITX-마음</td><td>08:31</td><td>08:44</td><td></td><td>08:54</td><td></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>1672</td><td>무궁화</td><td>09:13</td><td>09:21</td><td>09:28</td><td>09:33</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>1642</td><td>ITX-마음</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>1602</td><td>ITX-마음</td><td>11:44</td><td>11:52</td><td></td><td>12:00</td><td>12:05</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>1614</td><td>ITX-마음</td><td>15:55</td><td>16:04</td><td></td><td>16:14</td><td></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>1674</td><td>무궁화</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>1676</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>1604</td><td>ITX-마음</td><td>19:50</td><td>19:58</td><td></td><td>20:08</td><td></td><td></td><td></td><td></td><td>20:21</td><td>20:29</td><td></td><td>20:56</td></tr><tr><td>1678</td><td>무궁화</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>



<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></tr></thead><tbody><tr><td>701</td><td>KTX-이음</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>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>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>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>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>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>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>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: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>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></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</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>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></tr></thead><tbody><tr><td>701</td><td>KTX-이음</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>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>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>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>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>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>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>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: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>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></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</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: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>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: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><tr><td>1661</td><td>무궁화</td><td>23:12</td><td></td><td>23:37</td><td>23:52</td><td>00:05</td><td>00:14</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><th>동해</th></tr></thead><tbody><tr><td>무궁화</td><td>1671</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>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>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>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>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 = '32060';
            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;">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/%ED%96%89%EB%B3%B5%ED%95%9C%EC%9A%B0%EB%8F%99%EA%B0%80%EA%B2%8C+%EB%8B%A8%EA%B4%80%EC%A0%90+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%9B%90%EC%A3%BC%EC%8B%9C+%EB%8B%A8%EA%B5%AC%EB%8F%99+1615-10+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;">강원특별자치도 원주시 단구동 1615-10 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%8C%EB%82%98%EB%AC%B4%EC%A7%91+%EC%97%BC%EC%86%8C%ED%83%95+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%9B%90%EC%A3%BC%EC%8B%9C+%ED%8C%90%EB%B6%80%EB%A9%B4+%EC%84%9C%EA%B3%A1%EB%A6%AC+802" 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;">강원특별자치도 원주시 판부면 서곡리 802</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%EB%B0%95%EB%A7%89%EC%B0%BD+%EC%9B%90%EC%A3%BC%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+%EC%9B%90%EC%A3%BC%EC%8B%9C+%EB%8B%A8%EA%B5%AC%EB%8F%99+1623-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;">강원특별자치도 원주시 단구동 1623-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/%ED%9C%98%EB%82%AD%EC%86%8C%EB%A6%AC+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%9B%90%EC%A3%BC%EC%8B%9C+%EB%AC%B4%EC%8B%A4%EB%8F%99+947-5+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;">강원특별자치도 원주시 무실동 947-5 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/%EC%97%AD%EC%A0%84%ED%95%A0%EB%A8%B8%EB%8B%88%EB%A7%A5%EC%A3%BC+%EC%9B%90%EC%A3%BC+%EB%8B%A8%EA%B3%84%EC%A0%90+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%9B%90%EC%A3%BC%EC%8B%9C+%EB%8B%A8%EA%B3%84%EB%8F%99+841-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;">강원특별자치도 원주시 단계동 841-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;">
                            📍 원주역                        </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;">6,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> 강원도 원주시 지정로 364<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> 강원도 원주시 지정로 364</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%9B%90%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/03/원주역-기차-KTX-이음-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="원주역-기차-KTX-이음-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-19574" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/원주역-기차-KTX-이음-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, 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: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>봉양역 기차 시간표 ITX-마음 무궁화호 청량리 부전 동해 요금과 정차역</title>
		<link>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/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 02:00:14 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[봉양역 기차 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=19516</guid>

					<description><![CDATA[중앙선과 충북선의 가교 역할을 하는 봉양역 기차는 매력적인 곳으로, 과거 여객 취급이 중단되었던 시기를 지나 2021년 철길을 두 줄로 넓히고 전동차가 다닐 수 있도록 현대화와 함께 현대식 역사로 재탄생하며 제천 서부권의 핵심 관문으로 다시금 우뚝 섰는데요. 이와 관련된 자료 정리는 코레일 공식 사이트 파일과 공공데이터 API와 실시간 운행 체계를 바탕으로 정리한 봉양역 열차 시간표와 새롭게 ... <a title="봉양역 기차 시간표 ITX-마음 무궁화호 청량리 부전 동해 요금과 정차역" class="read-more button" 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/" aria-label="봉양역 기차 시간표 ITX-마음 무궁화호 청량리 부전 동해 요금과 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">중앙선과 충북선의 가교 역할을 하는 봉양역 기차는 매력적인 곳으로, 과거 여객 취급이 중단되었던 시기를 지나 2021년 철길을 두 줄로 넓히고 전동차가 다닐 수 있도록 현대화와 함께 현대식 역사로 재탄생하며 제천 서부권의 핵심 관문으로 다시금 우뚝 섰는데요.</p>



<p class="wp-block-paragraph">이와 관련된 자료 정리는 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 사이트 파일과 공공데이터 API와 실시간 운행 체계를 바탕으로 정리한 봉양역 열차 시간표와 새롭게 정차를 시작한 봉양역 ITX-마음, 그리고 지역 간 연결을 돕는 무궁화호 이용 가이드입니다. 배론성지나 탁사정 등 제천의 숨은 명소들이 많으며, 봉양역 주변 맛집, 주차장 요금, 버스 도착시간, 날씨등 많은 자료들이 있으니 참고하시면 됩니다.</p>



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



<h2 class="wp-block-heading">80년 세월을 다시 달리는 봉양역</h2>



<h3 class="wp-block-heading">중앙선과 충북선의 봉양역 기차</h3>



<p class="wp-block-paragraph">1941년 보통역으로 영업을 시작한 봉양역은 중앙선과 충북선이 갈라지는 지리적 특성 덕분에 일찍이 물류와 교통의 거점 역할을 해왔습니다. 한때 여객 수요 감소로 기차가 서지 않던 부침도 겪었으나, 2021년 최신식 역사를 완공하며 화려하게 복귀했는데요. 특히 2022년 말부터는 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>



<h3 class="wp-block-heading">충북선과 중앙선을 아우르는 배차</h3>



<p class="wp-block-paragraph">봉양역 기차의 가장 큰 강점은 제천역에서 대전으로 향하는 충북선 열차를 곧바로 이용할 수 있다는 점입니다. 굳이 도심의 제천역까지 이동하지 않아도 봉양에서 대전, 청주 방면으로 연결되는 무궁화호에 몸을 실을 수 있어 인근 주민과 방문객들에게 큰 편의를 제공하는데요. 봉양역 기차 무궁화호 시간표를 확인해 보면 실무적인 이동 수요에 맞춰 배차가 이루어져 있음을 알 수 있습니다.<br><br>최신형 전동차인 봉양역 ITX-마음의 정차는 중부내륙 철도망에 활력을 불어넣었습니다. 기존 열차보다 향상된 승차감과 빠른 속도를 제공하며, 수도권 접근성을 높이는 일등 공신 역할을 수행하고 있는데요. 봉양역 기차 시간표를 미리 체크하신다면 기다림 없는 매끄러운 이동이 가능합니다.</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">05:35</div><div class="arrival-info">05:54 도착</div></td><td><span class="train-detail">1678호</span><div class="time-display">21:15</div><div class="arrival-info">21:34 도착</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">1652호</span><div class="time-display">05:35</div><div class="arrival-info">07:21 도착</div></td><td><span class="train-detail">1678호</span><div class="time-display">21:15</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-mu">무궁화</span></td><td><span class="train-detail">1182호</span><div class="time-display">9:22</div><div class="arrival-info">12:36 도착</div></td><td><span class="train-detail">1182호</span><div class="time-display">9:22</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-itx">ITX-마음</span></td><td><span class="train-detail">1601호</span><div class="time-display">08:05</div><div class="arrival-info">09:16 도착</div></td><td><span class="train-detail">1601호</span><div class="time-display">08:05</div><div class="arrival-info">09: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-itx">ITX-마음</span></td><td><span class="train-detail">1601호</span><div class="time-display">08:05</div><div class="arrival-info">10:43 도착</div></td><td><span class="train-detail">1601호</span><div class="time-display">08:05</div><div class="arrival-info">10: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">1601호</span><div class="time-display">08:05</div><div class="arrival-info">12:20 도착</div></td><td><span class="train-detail">1601호</span><div class="time-display">08:05</div><div class="arrival-info">12: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">1764호</span><div class="time-display">19:21</div><div class="arrival-info">21:27 도착</div></td><td><span class="train-detail">1764호</span><div class="time-display">19:21</div><div class="arrival-info">21: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">1673호</span><div class="time-display">11:20</div><div class="arrival-info">13:14 도착</div></td><td><span class="train-detail">1673호</span><div class="time-display">11:20</div><div class="arrival-info">13:14 도착</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">1673호</span><div class="time-display">11:20</div><div class="arrival-info">14:28 도착</div></td><td><span class="train-detail">1673호</span><div class="time-display">11:20</div><div class="arrival-info">14: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></tr></thead><tbody><tr><td>충북1</td><td>무궁화</td><td class="highlight">서울</td><td class="highlight">봉양</td><td>15,500</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">봉양</td><td>8,800</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">봉양</td><td>8,800</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">청량리</td><td class="highlight">봉양</td><td>12,100</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">봉양</td><td class="highlight">경주</td><td>15,000</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">봉양</td><td class="highlight">경주</td><td>19,500</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">봉양</td><td class="highlight">태화강</td><td>17,700</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">봉양</td><td class="highlight">태화강</td><td>23,500</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">봉양</td><td class="highlight">부전</td><td>21,800</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>6,400</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">봉양</td><td class="highlight">동해</td><td>10,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/%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/">봉양역 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><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: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>


<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>1652</td><td>무궁화</td><td>05:35</td><td>05:54</td><td>06:02</td><td>06:08</td><td>06:13</td><td>06:18</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>06:40</td><td>06:59</td><td>07:06</td><td>07:12</td><td>07:18</td><td>07:24</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>1674</td><td>무궁화</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>1678</td><td>무궁화</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>



<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>1601</td><td>ITX-마음</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></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>무궁화</td><td>1673</td><td>11:20</td><td>11:30</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>14: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></tr></thead><tbody><tr><td>1764</td><td>무궁화</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></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></tr></thead><tbody><tr><td>1751</td><td>무궁화</td><td>08:13</td><td>08:21</td></tr><tr><td>1761</td><td>무궁화</td><td>19:52</td><td>19:59</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 = '33030';
            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/%EA%B0%93%EB%B0%94%EC%9C%84%EC%B0%90%EB%B9%B5%EB%A7%8C%EB%91%90+%EC%B6%A9%EC%B2%AD%EB%B6%81%EB%8F%84+%EC%A0%9C%EC%B2%9C%EC%8B%9C+%EB%B4%89%EC%96%91%EC%9D%8D+%EC%9E%A5%ED%8F%89%EB%A6%AC+798-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;">충청북도 제천시 봉양읍 장평리 798-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%B6%88%EB%A9%8D%EB%B9%8C%EB%A6%AC%EC%A7%80+%EC%B6%A9%EC%B2%AD%EB%B6%81%EB%8F%84+%EC%A0%9C%EC%B2%9C%EC%8B%9C+%EB%B4%89%EC%96%91%EC%9D%8D+%EC%9E%A5%ED%8F%89%EB%A6%AC+816-3+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;">충청북도 제천시 봉양읍 장평리 816-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/%EC%98%A4%EB%B3%B5%EC%A0%95%EC%9C%A1%EC%8B%9D%EB%8B%B9+%EC%B6%A9%EC%B2%AD%EB%B6%81%EB%8F%84+%EC%A0%9C%EC%B2%9C%EC%8B%9C+%EB%B4%89%EC%96%91%EC%9D%8D+%EC%A3%BC%ED%8F%AC%EB%A6%AC+210-10" 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;">충청북도 제천시 봉양읍 주포리 210-10</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%B4%89%EC%8C%80%EB%B9%B5+%EC%B6%A9%EC%B2%AD%EB%B6%81%EB%8F%84+%EC%A0%9C%EC%B2%9C%EC%8B%9C+%EB%B4%89%EC%96%91%EC%9D%8D+%EC%9E%A5%ED%8F%89%EB%A6%AC+780-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;">충청북도 제천시 봉양읍 장평리 780-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/%EB%B4%89%EC%96%91%EB%8F%88%EA%B9%8C%EC%8A%A4+%EC%B6%A9%EC%B2%AD%EB%B6%81%EB%8F%84+%EC%A0%9C%EC%B2%9C%EC%8B%9C+%EB%B4%89%EC%96%91%EC%9D%8D+%EC%A3%BC%ED%8F%AC%EB%A6%AC+210-12" 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;">충청북도 제천시 봉양읍 주포리 210-12</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%B4%89%EC%96%91%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/03/봉양역-기차-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="봉양역-기차-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-19552" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/봉양역-기차-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/03/봉양역-기차-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/03/봉양역-기차-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>제천역 기차 시간표 KTX ITX 무궁화호 서울/청량리 부전/동해 요금과 정차역</title>
		<link>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/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Mon, 16 Mar 2026 01:18:31 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[제천역 기차 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=19431</guid>

					<description><![CDATA[중앙선과 충북선, 태백선이 교차하며 중부내륙 철도 교통의 심장부 역할을 해온 제천역 기차가 최신 고속열차를 운행하면서 복합 환승 지점으로 새롭게 운행되고 있으며, 내륙의 바다라 불리는 청풍호와 유구한 역사를 간직한 의림지를 품은 제천은, 이제 수도권에서 1시간이면 닿을 수 있는 매력적인 제천 당일치기 여행지로 사랑받고 있습니다. 아래 자료들은 실시간 API와 코레일의 최신 데이터를 취합하여 제천역 KTX 시간표와 제천역 ... <a title="제천역 기차 시간표 KTX ITX 무궁화호 서울/청량리 부전/동해 요금과 정차역" class="read-more button" 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/" aria-label="제천역 기차 시간표 KTX ITX 무궁화호 서울/청량리 부전/동해 요금과 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">중앙선과 충북선, 태백선이 교차하며 중부내륙 철도 교통의 심장부 역할을 해온 제천역 기차가 최신 고속열차를 운행하면서 복합 환승 지점으로 새롭게 운행되고 있으며, 내륙의 바다라 불리는 청풍호와 유구한 역사를 간직한 의림지를 품은 제천은, 이제 수도권에서 1시간이면 닿을 수 있는 매력적인 제천 당일치기 여행지로 사랑받고 있습니다.</p>



<p class="wp-block-paragraph">아래 자료들은 실시간 API와 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a>의 최신 데이터를 취합하여 제천역 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">1941년 영업을 시작한 제천역은 중앙선, 충북선, 태백선이 모두 모이는 독보적인 지리적 위치 덕분에 일찍이 철도 교통의 요충지로 자리매김했습니다. 2021년 초 제천역 중앙선 복선전철화와 함께 완공된 현대식 신역사는 제천의 산세를 닮은 웅장한 외관으로 방문객을 맞이하고 있는데요. 청량리에서 제천 KTX 시대를 열며 과거의 투박한 기차역 이미지를 벗고 첨단 철도 역사로 탈바꿈했습니다.</p>



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



<h3 class="wp-block-heading">1시간대 진입이 가져온 관광의 변화</h3>



<p class="wp-block-paragraph">제천역 KTX-이음의 도입으로 서울 청량리에서 제천까지의 소요 시간이 획기적으로 단축되었습니다. 이는 청풍호반 케이블카 기차 여행이나 의림지 산책을 계획하는 분들에게 시간적 여유라는 큰 선물을 안겨주었는데요. 역사 내부의 쾌적한 시설과 제천역 렌트카 및 연계 교통망은 외지인들이 제천의 깊은 멋을 즐기는 데 부족함이 없는 환경을 제공하고 있습니다.</p>



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



<h3 class="wp-block-heading">KTX-이음과 ITX-마음, 고속 철도</h3>



<p class="wp-block-paragraph">현재 제천역 기차 KTX는 서울 청량리와 부산 <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-마음까지 상시 운행되며 열차 선택의 폭이 매우 넓어졌는데요. 제천역 기차 시간표를 살펴보면 오전부터 늦은 밤까지 배차가 유기적으로 연결되어 있어 이동하는데 불편함이 없습니다.</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%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%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>까지 향하는 무궁화호 노선은 지역 간 교류를 돕는 소중한 발이 되어주는데요. 특히 강원권과 충청권, 영남권을 잇는 제천역 환승 꿀팁을 활용하면 전국 어디로든 효율적으로 이동할 수 있어 철도 이용객들 사이에서 만족도가 높습니다.<br><br>역을 나서면 바로 마주하는 제천역전시장은 여행의 시작과 끝을 장식할 제천역 맛집들로 가득합니다. 또한 역사 주변 버스 노선을 활용하면 우리나라 대표 수리시설인 의림지 가는법이 무척 명확해지며, 청풍호의 비경을 한눈에 담는 케이블카 승강장까지도 연계 교통이 잘 갖춰져 있는데요. 제천역 예매를 통해 역에 도착한 뒤, 아래 실시간 버스 정보 시스템을 확인하면 뚜벅이 여행자들도 불편함 없이 이동할 수 있습니다.<br></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">702호</span><div class="time-display">6:51</div><div class="arrival-info">7:08 도착</div></td><td><span class="train-detail">718호</span><div class="time-display">21:49</div><div class="arrival-info">22:07 도착</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">702호</span><div class="time-display">6:51</div><div class="arrival-info">8:11 도착</div></td><td><span class="train-detail">718호</span><div class="time-display">21:49</div><div class="arrival-info">22:58 도착</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">702호</span><div class="time-display">6:51</div><div class="arrival-info">8:31 도착</div></td><td><span class="train-detail">714호</span><div class="time-display">17:31</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="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">08:07</div><div class="arrival-info">08:31 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">19:25</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">1652호</span><div class="time-display">05:27</div><div class="arrival-info">05:54 도착</div></td><td><span class="train-detail">1678호</span><div class="time-display">21:07</div><div class="arrival-info">21:34 도착</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">1612호</span><div class="time-display">08:07</div><div class="arrival-info">09:47 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">19:25</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">05:27</div><div class="arrival-info">07:21 도착</div></td><td><span class="train-detail">1678호</span><div class="time-display">21:07</div><div class="arrival-info">22:40 도착</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">1612호</span><div class="time-display">08:07</div><div class="arrival-info">09:47 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">19:25</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">05:27</div><div class="arrival-info">07:21 도착</div></td><td><span class="train-detail">1678호</span><div class="time-display">21:07</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-ktx">KTX</span></td><td><span class="train-detail">701호</span><div class="time-display">6:47</div><div class="arrival-info">7:34 도착</div></td><td><span class="train-detail">717호</span><div class="time-display">23:06</div><div class="arrival-info">23: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-ktx">KTX</span></td><td><span class="train-detail">701호</span><div class="time-display">6:47</div><div class="arrival-info">9:24 도착</div></td><td><span class="train-detail">715호</span><div class="time-display">20:06</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">1601호</span><div class="time-display">08:14</div><div class="arrival-info">09:16 도착</div></td><td><span class="train-detail">1613호</span><div class="time-display">19:16</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">08:14</div><div class="arrival-info">12:20 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">16:28</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="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">1702호</span><div class="time-display">13:58</div><div class="arrival-info">15:59 도착</div></td><td><span class="train-detail">1702호</span><div class="time-display">13:58</div><div class="arrival-info">15:59 도착</div></td></tr><tr><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><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">07:17</div><div class="arrival-info">11:30 도착</div></td><td><span class="train-detail">4304호</span><div class="time-display">18:05</div><div class="arrival-info">22: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="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">20:04 도착</div></td><td><span class="train-detail">1641호</span><div class="time-display">18:26</div><div class="arrival-info">20:04 도착</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">11:17 도착</div></td><td><span class="train-detail">1677호</span><div class="time-display">21:01</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-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></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>충북1</td><td>무궁화</td><td class="highlight">서울</td><td class="highlight">제천</td><td>-</td><td>15,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>17,000</td><td>20,400</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>14,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>18,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>27,500</td><td>33,000</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">제천</td><td class="highlight">태화강</td><td>-</td><td>17,300</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>22,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>33,400</td><td>40,100</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">제천</td><td class="highlight">부전</td><td>-</td><td>21,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>28,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>40,000</td><td>48,000</td></tr><tr><td>태백1</td><td>무궁화</td><td class="highlight">제천</td><td class="highlight">태백</td><td>-</td><td>6,000</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>10,000</td><td>0</td><td>0</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%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/">제천역 KTX 시간표 바로가기</a><br>✅ <s>제천역 SRT 노선 없음</s><br>✅ <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/">제천역 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>KTX-<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><th>상봉</th><th>청량리</th><th>서울</th><th>비고</th></tr></thead><tbody><tr><td>702</td><td>KTX-이음</td><td>6:51</td><td>7:08</td><td>7:20</td><td>7:42</td><td></td><td></td><td>8:11</td><td>8:31</td><td>매일</td></tr><tr><td>704</td><td>KTX-이음</td><td>8:43</td><td>9:00</td><td>9:12</td><td></td><td></td><td></td><td>9:59</td><td>10:19</td><td>매일</td></tr><tr><td>706</td><td>KTX-이음</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><td>매일</td></tr><tr><td>708</td><td>KTX-이음</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>14:33</td><td>매일</td></tr><tr><td>710</td><td>KTX-이음</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><td>매일</td></tr><tr><td>712</td><td>KTX-이음</td><td>16:03</td><td>16:20</td><td>16:32</td><td></td><td></td><td></td><td>17:21</td><td>17:41</td><td>매일</td></tr><tr><td>714</td><td>KTX-이음</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>19:13</td><td>매일</td></tr><tr><td>716</td><td>KTX-이음</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><td>매일</td></tr><tr><td>782</td><td>KTX-이음</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><td>토일</td></tr><tr><td>718</td><td>KTX-이음</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><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></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>


<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>1652</td><td>무궁화</td><td>05:27</td><td>05:35</td><td>05:54</td><td>06:02</td><td>06:08</td><td>06:13</td><td>06:18</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>06:33</td><td>06:40</td><td>06:59</td><td>07:06</td><td>07:12</td><td>07:18</td><td>07:24</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>1612</td><td>ITX-마음</td><td>08:07</td><td></td><td>08:31</td><td>08:44</td><td></td><td>08:54</td><td></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>1672</td><td>무궁화</td><td>08:48</td><td></td><td>09:13</td><td>09:21</td><td>09:28</td><td>09:33</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>1642</td><td>ITX-마음</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>1602</td><td>ITX-마음</td><td>11:19</td><td></td><td>11:44</td><td>11:52</td><td></td><td>12:00</td><td>12:05</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>1614</td><td>ITX-마음</td><td>15:31</td><td></td><td>15:55</td><td>16:04</td><td></td><td>16:14</td><td></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>1674</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>1676</td><td>무궁화</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>1604</td><td>ITX-마음</td><td>19:25</td><td></td><td>19:50</td><td>19:58</td><td></td><td>20:08</td><td></td><td></td><td></td><td></td><td>20:21</td><td>20:29</td><td></td><td>20:56</td></tr><tr><td>1678</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>



<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></tr></thead><tbody><tr><td>701</td><td>KTX-이음</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>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>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>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>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>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>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>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>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>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></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</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>1611</td><td>ITX-마음</td><td>12:13</td><td>12:30</td><td>12:43</td><td>12:53</td><td>13:13</td><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>1603</td><td>ITX-마음</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><tr><td>1613</td><td>ITX-마음</td><td>19:16</td><td>19:32</td><td>19:45</td><td>19:56</td><td>20:15</td><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>1661</td><td>무궁화</td><td>23:37</td><td>23:52</td><td>00:05</td><td>00:14</td><td></td><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></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>무궁화</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>



<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></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>1182</td><td>무궁화</td><td>09:14</td><td>09:22</td><td>09:34</td><td>09:49</td><td>09: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></td><td></td><td></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>1702</td><td>ITX-마음</td><td>13:58</td><td></td><td></td><td>14:26</td><td></td><td>14:42</td><td>14:59</td><td>15:08</td><td>15:12</td><td>15:20</td><td>15:27</td><td>15:33</td><td></td><td>15:59</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>



<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>4301</td><td>무궁화</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>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>



<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><th>동대구</th></tr></thead><tbody><tr><td>4302</td><td>무궁화</td><td>07:17</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>09:07</td><td></td><td>09:28</td><td>09:40</td><td>09:47</td><td>09:56</td><td>10:05</td><td>10:17</td><td>10:36</td><td>10:53</td><td>11:06</td><td>11:26</td><td>11:30</td></tr><tr><td>4304</td><td>무궁화</td><td>18:05</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>19:56</td><td>20:07</td><td>20:20</td><td>20:32</td><td>20:39</td><td>20:48</td><td>20:57</td><td>21:09</td><td>21:28</td><td>21:44</td><td>21:57</td><td>22:16</td><td>22:21</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 = '33030';
            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/%EB%9C%B0%EC%9D%B4%EC%9E%88%EB%8A%94%EC%A7%91+%EC%B6%A9%EC%B2%AD%EB%B6%81%EB%8F%84+%EC%A0%9C%EC%B2%9C%EC%8B%9C+%EC%8B%A0%EC%9B%94%EB%8F%99+1163-38+%EB%9C%B0%EC%9D%B4%EC%9E%88%EB%8A%94%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;">충청북도 제천시 신월동 1163-38 뜰이있는집</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%81%98%EB%9D%A0%EC%83%B9%EB%93%A4%EB%A6%AC%EC%97%90+%EC%B6%A9%EC%B2%AD%EB%B6%81%EB%8F%84+%EC%A0%9C%EC%B2%9C%EC%8B%9C+%EC%8B%A0%EC%9B%94%EB%8F%99+220-10" 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;">충청북도 제천시 신월동 220-10</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%90%ED%83%84%EC%B9%B4%EC%B8%A0+%EC%B6%A9%EC%B2%AD%EB%B6%81%EB%8F%84+%EC%A0%9C%EC%B2%9C%EC%8B%9C+%EC%8B%A0%EC%9B%94%EB%8F%99+207-2+%EA%B0%90%ED%83%84%EC%B9%B4%EC%B8%A0" 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;">충청북도 제천시 신월동 207-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%8C%80%EB%B3%B4%EB%AA%85%EA%B0%80+%EC%A0%9C%EC%B2%9C%EB%B3%B8%EC%A0%90+%EC%B6%A9%EC%B2%AD%EB%B6%81%EB%8F%84+%EC%A0%9C%EC%B2%9C%EC%8B%9C+%EC%8B%A0%EC%9B%94%EB%8F%99+201" 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;">충청북도 제천시 신월동 201</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%B7%A8%EB%9E%80+%EC%A0%9C%EC%B2%9C%EC%A0%90+%EC%B6%A9%EC%B2%AD%EB%B6%81%EB%8F%84+%EC%A0%9C%EC%B2%9C%EC%8B%9C+%EC%8B%A0%EC%9B%94%EB%8F%99+1105-7+%EC%B7%A8%EB%9E%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;">충청북도 제천시 신월동 1105-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;">
                            📍 제천역                        </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;">450원</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;">150원</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;">6,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길 10<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> 충청북도 제천시 의림대로1길 10</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%A0%9C%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/03/제천역-기차-KTX-이음-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="제천역-기차-KTX-이음-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-19470" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/제천역-기차-KTX-이음-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, 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: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>단양역 중앙선 시간표 KTX ITX 무궁화호 서울 청량리 부전 요금과 정차역</title>
		<link>https://krailroad.co.kr/%eb%8b%a8%ec%96%91%ec%97%ad-%ec%a4%91%ec%95%99%ec%84%a0-%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/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Tue, 10 Mar 2026 05:27:49 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[단양역 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=19356</guid>

					<description><![CDATA[남한강의 푸른 물결과 소백산의 기암괴석이 어우러진 단양역 중앙선은 새로운 전철화가 안착되며 중부내륙 관광의 새로운 중심지로 이용되고 있습니다. &#8216;단양팔경&#8217;의 관문답게 역을 나서자마자 마주하는 수려한 자연경관은 방문객들의 마음을 설레게 하는데요. 이제는 수도권에서 1시간 초반대면 닿을 수 있어 당일치기 여행지로도 손색이 없습니다. 아래 내용은 공공데이터 API와 코레일의 최신 데이터를 바탕으로 서울, 청량리, 부전역으로 가는 단양역 중앙선 KTX 시간표와 ... <a title="단양역 중앙선 시간표 KTX ITX 무궁화호 서울 청량리 부전 요금과 정차역" class="read-more button" href="https://krailroad.co.kr/%eb%8b%a8%ec%96%91%ec%97%ad-%ec%a4%91%ec%95%99%ec%84%a0-%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/" aria-label="단양역 중앙선 시간표 KTX ITX 무궁화호 서울 청량리 부전 요금과 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">남한강의 푸른 물결과 소백산의 기암괴석이 어우러진 단양역 중앙선은 새로운 전철화가 안착되며 중부내륙 관광의 새로운 중심지로 이용되고 있습니다. &#8216;단양팔경&#8217;의 관문답게 역을 나서자마자 마주하는 수려한 자연경관은 방문객들의 마음을 설레게 하는데요. 이제는 수도권에서 1시간 초반대면 닿을 수 있어 당일치기 여행지로도 손색이 없습니다.</p>



<p class="wp-block-paragraph">아래 내용은 공공데이터 API와 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a>의 최신 데이터를 바탕으로 서울, 청량리, 부전역으로 가는 단양역 중앙선 KTX 시간표와 단양역 ITX-마음, 그리고 청량리와 영주를 잇는 무궁화호 이용 내용을 깔끔하게 정리했습니다. 단양역을 이용하여 만천하스카이워크나 도담삼봉으로 향하는 분들께 정확한 이동 시간표와 정차역, 요금, 실시간 버스정보, 주차장 정보가 되었으면합니다.</p>



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



<h2 class="wp-block-heading">1942년부터 이어진 단양역</h2>



<h3 class="wp-block-heading">수몰의 아픔과 호반의 관문</h3>



<p class="wp-block-paragraph">1942년 처음 기차 소리가 울려 퍼진 단양역 중앙선은 원래 지금의 단성면(구단양) 자리에 있었습니다. 하지만 1985년 충주댐 건설로 시가지가 물에 잠기면서 현재의 증도리 위치로 보금자리를 옮기게 되었는데요. 2020년 말 새롭게 단장한 단양역 신역사는 단양의 기암괴석과 남한강의 물결을 형상화한 유려한 외관으로 방문객을 맞이하며 고속 철도 시대의 화려한 개막을 알렸습니다.</p>



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



<h3 class="wp-block-heading">KTX-이음이 가져온 1시간대 생활권</h3>



<p class="wp-block-paragraph">서울 청량리역에서 단양역까지의 이동 시간이 획기적으로 줄어들면서 수도권과의 심리적 경계가 완전히 허물어졌습니다. 예전에는 큰맘 먹고 준비해야 했던 단양 여행이 이제는 가벼운 마음으로 떠나는 산책처럼 변한 것인데요. 단양역 KTX 소요 시간의 단축은 구경시장과 패러글라이딩 명소를 찾는 분들에게 시간적 여유라는 큰 선물을 안겨주었습니다.</p>



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



<h3 class="wp-block-heading">KTX-이음과 최신형 ITX-마음</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> <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-마음까지 가세하며 선택의 폭이 훨씬 넓어졌는데요. 단양역 시간표를 살펴보면 관광객들이 선호하는 오전 시간대와 야경을 즐기고 귀가하기 좋은 저녁 시간대에 배차가 적절히 나뉘어 있어 일정 짜기가 무척 수월합니다.</p>



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



<h3 class="wp-block-heading">도담삼봉과 만천하스카이워크</h3>



<p class="wp-block-paragraph">단양역에서 동대구역이나 안동, 영주 방면으로 향하는 무궁화호는 여전히 지역 주민들의 소중한 이동 수단으로, 대구의 대형 인프라를 이용하는 어르신들이나 느긋하게 창밖 풍경을 즐기려는 분들에게 이 노선은 대체 불가능한 존재입니다.<br><br>그리고 단양역을 나서자마자 마주하는 역 주변 버스 노선을 활용하면 아찔한 높이의 만천하스카이워크나 단양의 상징인 도담삼봉에 쉽게 접근할 수 있으며, 패러글라이딩이나 수상 레포츠가 활발한 시즌에는 단양역 중앙선 티켓이 평소보다 치열해지므로 일정을 미리 확정 짓는 것이 좋습니다.</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">702호</span><div class="time-display">6:35</div><div class="arrival-info">6:51 도착</div></td><td><span class="train-detail">782호</span><div class="time-display">19:52</div><div class="arrival-info">20:07 도착</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">702호</span><div class="time-display">6:35</div><div class="arrival-info">8:11 도착</div></td><td><span class="train-detail">782호</span><div class="time-display">19:52</div><div class="arrival-info">21:13 도착</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">702호</span><div class="time-display">6:35</div><div class="arrival-info">8:31 도착</div></td><td><span class="train-detail">714호</span><div class="time-display">17:15</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="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">07:49</div><div class="arrival-info">08:07 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">19:07</div><div class="arrival-info">19:25 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1662호</span><div class="time-display">06:18</div><div class="arrival-info">06:33 도착</div></td><td><span class="train-detail">1662호</span><div class="time-display">06:18</div><div class="arrival-info">06:33 도착</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">1612호</span><div class="time-display">07:49</div><div class="arrival-info">09:47 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">19:07</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">1662호</span><div class="time-display">06:18</div><div class="arrival-info">08:27 도착</div></td><td><span class="train-detail">1662호</span><div class="time-display">06:18</div><div class="arrival-info">08: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-ktx">KTX</span></td><td><span class="train-detail">701호</span><div class="time-display">7:02</div><div class="arrival-info">8:19 도착</div></td><td><span class="train-detail">715호</span><div class="time-display">20:21</div><div class="arrival-info">21:46 도착</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">701호</span><div class="time-display">7:02</div><div class="arrival-info">8:40 도착</div></td><td><span class="train-detail">715호</span><div class="time-display">20:21</div><div class="arrival-info">22: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-ktx">KTX</span></td><td><span class="train-detail">701호</span><div class="time-display">7:02</div><div class="arrival-info">9:24 도착</div></td><td><span class="train-detail">715호</span><div class="time-display">20:21</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="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">1601호</span><div class="time-display">08:31</div><div class="arrival-info">08:55 도착</div></td><td><span class="train-detail">1613호</span><div class="time-display">19:32</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">23:52</div><div class="arrival-info">00:14 도착</div></td><td><span class="train-detail">1661호</span><div class="time-display">23:52</div><div class="arrival-info">00:14 도착</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">08:31</div><div class="arrival-info">10:43 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">16:45</div><div class="arrival-info">18:55 도착</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">08:31</div><div class="arrival-info">11:04 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">16:45</div><div class="arrival-info">19: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">08:31</div><div class="arrival-info">12:20 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">16:45</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>20,200</td><td>24,200</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">단양</td><td>-</td><td>10,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>14,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>18,600</td><td>22,300</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">단양</td><td class="highlight">경주</td><td>-</td><td>13,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>16,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>24,400</td><td>29,300</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">단양</td><td class="highlight">태화강</td><td>-</td><td>15,800</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>20,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>30,300</td><td>36,400</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">단양</td><td class="highlight">부전</td><td>-</td><td>19,900</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,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>36,900</td><td>44,300</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%8b%a8%ec%96%91%ec%97%ad-%ec%a4%91%ec%95%99%ec%84%a0-%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/">단양역 KTX 시간표 바로가기</a><br>✅ <s>단양역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%eb%8b%a8%ec%96%91%ec%97%ad-%ec%a4%91%ec%95%99%ec%84%a0-%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/">단양역 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>KTX-<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><th>덕소</th><th>상봉</th><th>청량리</th><th>서울</th><th>비고</th></tr></thead><tbody><tr><td>702</td><td>KTX-이음</td><td>6:35</td><td>6:51</td><td>7:08</td><td>7:20</td><td>7:42</td><td></td><td></td><td>8:11</td><td>8:31</td><td>매일</td></tr><tr><td>704</td><td>KTX-이음</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>10:19</td><td>매일</td></tr><tr><td>708</td><td>KTX-이음</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>14:33</td><td>매일</td></tr><tr><td>710</td><td>KTX-이음</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><td>매일</td></tr><tr><td>714</td><td>KTX-이음</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>19:13</td><td>매일</td></tr><tr><td>782</td><td>KTX-이음</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><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></tr></thead><tbody><tr><td>1662</td><td>무궁화</td><td>06:18</td><td>06:33</td><td>06:40</td><td>06:59</td><td>07:06</td><td>07:12</td><td>07:18</td><td>07:24</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>1612</td><td>ITX-마음</td><td>07:49</td><td>08:07</td><td></td><td>08:31</td><td>08:44</td><td></td><td>08:54</td><td></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>11:01</td><td>11:19</td><td></td><td>11:44</td><td>11:52</td><td></td><td>12:00</td><td>12:05</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>1614</td><td>ITX-마음</td><td>15:13</td><td>15:31</td><td></td><td>15:55</td><td>16:04</td><td></td><td>16:14</td><td></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>19:07</td><td>19:25</td><td></td><td>19:50</td><td>19:58</td><td></td><td>20:08</td><td></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>



<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></tr></thead><tbody><tr><td>701</td><td>KTX-이음</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>9:24</td><td>매일</td></tr><tr><td>703</td><td>KTX-이음</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>10:21</td><td></td><td>10:34</td><td>매일</td></tr><tr><td>707</td><td>KTX-이음</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>15:12</td><td></td><td>15:27</td><td>매일</td></tr><tr><td>709</td><td>KTX-이음</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>17:00</td><td>매일</td></tr><tr><td>713</td><td>KTX-이음</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>20:25</td><td>20:36</td><td>매일</td></tr><tr><td>715</td><td>KTX-이음</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>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></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</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>1611</td><td>ITX-마음</td><td>12:30</td><td>12:43</td><td>12:53</td><td>13:13</td><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>1603</td><td>ITX-마음</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><tr><td>1613</td><td>ITX-마음</td><td>19:32</td><td>19:45</td><td>19:56</td><td>20:15</td><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>1661</td><td>무궁화</td><td>23:52</td><td>00:05</td><td>00:14</td><td></td><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></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 = '33380';
            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%B0%80%EC%97%B0+%EC%B6%A9%EC%B2%AD%EB%B6%81%EB%8F%84+%EB%8B%A8%EC%96%91%EA%B5%B0+%EB%8B%A8%EC%96%91%EC%9D%8D+%EC%83%81%EC%A7%84%EB%A6%AC+567+%EA%B0%80%EC%97%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;">충청북도 단양군 단양읍 상진리 567 가연</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%8C%EC%B2%9C%ED%95%98%EC%8A%A4%EC%B9%B4%EC%9D%B4%EB%9D%BC%EC%9A%B4%EC%A7%80%EC%B9%B4%ED%8E%98+%EC%B6%A9%EC%B2%AD%EB%B6%81%EB%8F%84+%EB%8B%A8%EC%96%91%EA%B5%B0+%EC%A0%81%EC%84%B1%EB%A9%B4+%EC%95%A0%EA%B3%A1%EB%A6%AC+%EC%82%B01-28+%EB%A7%8C%EC%B2%9C%ED%95%98%EC%8A%A4%EC%B9%B4%EC%9D%B4%EB%9D%BC%EC%9A%B4%EC%A7%80%EC%B9%B4%ED%8E%98+3F%7E4F" 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-28 만천하스카이라운지카페 3F~4F</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%9B%90+%EC%B6%A9%EC%B2%AD%EB%B6%81%EB%8F%84+%EB%8B%A8%EC%96%91%EA%B5%B0+%EB%8B%A8%EC%96%91%EC%9D%8D+%EC%83%81%EC%A7%84%EB%A6%AC+1018-1+%EB%B3%B8%EA%B4%80%2C+%EB%B3%84%EA%B4%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;">충청북도 단양군 단양읍 상진리 1018-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%B9%84%EC%9B%90%EC%8F%98%EA%B0%80%EB%A6%AC%EB%A7%A4%EC%9A%B4%ED%83%95+%ED%9A%8C+%EC%86%8C%EB%85%B8%EB%AC%B8+%EB%B3%B8%EC%A0%90+%EC%B6%A9%EC%B2%AD%EB%B6%81%EB%8F%84+%EB%8B%A8%EC%96%91%EA%B5%B0+%EB%8B%A8%EC%96%91%EC%9D%8D+%EC%83%81%EC%A7%84%EB%A6%AC+1013" 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;">충청북도 단양군 단양읍 상진리 1013</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%A8%EC%96%91%EB%AA%A8%EC%95%84+%EC%B6%A9%EC%B2%AD%EB%B6%81%EB%8F%84+%EB%8B%A8%EC%96%91%EA%B5%B0+%EB%8B%A8%EC%96%91%EC%9D%8D+%EC%83%81%EC%A7%84%EB%A6%AC+917" 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;">충청북도 단양군 단양읍 상진리 917</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%8B%A8%EC%96%91%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/03/단양역-중앙선-KTX-이음-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="단양역-중앙선-KTX-이음-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-19376" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/단양역-중앙선-KTX-이음-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, 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: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>풍기역 KTX-이음 ITX-마음 기차 시간표 서울 청량리 부전 정차역과 요금표</title>
		<link>https://krailroad.co.kr/%ed%92%8d%ea%b8%b0%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%ea%b8%b0%ec%b0%a8-%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%ec%a0%84-%ec%a0%95/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Tue, 10 Mar 2026 01:31:39 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[풍기역 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=19322</guid>

					<description><![CDATA[소백산의 정기를 품은 중앙선의 최근 전철 사업의 결실로 고속철도 시대를 맞이하며 경북 북부의 새로운 관문으로 부상하였으며, 인삼의 고장이라는 명성에 걸맞게 역사 광장부터 건강한 기운이 느껴지는 이곳은, 이제 수도권에서 1시간 초반대면 닿을 수 있는 매력적인 여행지가 되었는데요. 서울, 청량리, 경주, 부전을 있는 중앙선 상하행 풍기역 KTX 시간표와 ITX-마음, 그리고 청량리와 영주를 잇는 무궁화호 노선과 정차역을 코레일 ... <a title="풍기역 KTX-이음 ITX-마음 기차 시간표 서울 청량리 부전 정차역과 요금표" class="read-more button" href="https://krailroad.co.kr/%ed%92%8d%ea%b8%b0%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%ea%b8%b0%ec%b0%a8-%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%ec%a0%84-%ec%a0%95/" aria-label="풍기역 KTX-이음 ITX-마음 기차 시간표 서울 청량리 부전 정차역과 요금표 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">소백산의 정기를 품은 중앙선의 최근 전철 사업의 결실로 고속철도 시대를 맞이하며 경북 북부의 새로운 관문으로 부상하였으며, 인삼의 고장이라는 명성에 걸맞게 역사 광장부터 건강한 기운이 느껴지는 이곳은, 이제 수도권에서 1시간 초반대면 닿을 수 있는 매력적인 여행지가 되었는데요.</p>



<p class="wp-block-paragraph">서울, 청량리, <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>, 부전을 있는 중앙선 상하행 풍기역 KTX 시간표와 ITX-마음, 그리고 청량리와 영주를 잇는 무궁화호 노선과 정차역을 <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">1941년 부터 지금까지의 변화</h2>



<h3 class="wp-block-heading">증기기관차에서 KTX 정차역으로</h3>



<p class="wp-block-paragraph">1941년 문을 연 풍기역은 과거 경사가 가파른 죽령 고개를 넘기 위해 증기기관차가 물을 보충하던 급수탑이 여전히 자리를 지키고 있는 역사의 현장입니다. 세월의 흔적을 간직한 채 2020년 말 새롭게 단장한 풍기역 신역사는 소백산의 능선을 닮은 유려한 곡선미를 자랑하는데요. KTX-이음의 정차는 영주 시내를 거치지 않고도 소백산 자락에 바로 발을 내디딜 수 있게 하며 관광객 유입의 핵심 역할을 하고 있습니다.</p>



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



<h3 class="wp-block-heading">고속화가 가져온 &#8216;당일치기 인삼 여행&#8217;</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-이음은 서울 청량리와 부산 <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-마음 역시 무궁화호보다 빠른 속도와 깨끗한 시설로 이용객들의 만족도를 높여주고 있는데요. 시간표를 살펴보면 등산객들이 선호하는 아침 시간대와 귀가하기 편한 저녁 시간대에 배차가 적절히 나뉘어 있어 일정 짜기가 무척 수월합니다.</p>



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



<h3 class="wp-block-heading">소백산과 부석사로 향하는 여행</h3>



<p class="wp-block-paragraph">역을 나서자마자 마주하는 역사 주변 버스 노선을 활용하면 소백산 비로봉으로 향하는 희방사 가는법이나 죽령 옛길 코스에 쉽게 접근할 수 있습니다. 또한 영주의 대표 명소인 부석사나 소수서원까지도 영주 시내를 거치는 것보다 풍기에서 이동하는 것이 시간상 유리할 때가 많습니다.<br><br>또한 지역 특산물인 인삼 산업과 관광의 결합으로 더욱 밝아질 전망입니다. 매년 열리는 풍기 인삼 축제 기간에는 열차 예매 전쟁이 벌어질 정도로 활기가 넘치는데요. 역사 내 전광판의 실시간 API 정보와 날씨를 수시로 체크하며 이동하신다면, 소백산 아래 아늑한 풍기에서의 시간을 1분 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="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">702호</span><div class="time-display">6:25</div><div class="arrival-info">6:51 도착</div></td><td><span class="train-detail">782호</span><div class="time-display">19:42</div><div class="arrival-info">20:07 도착</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">702호</span><div class="time-display">6:25</div><div class="arrival-info">8:11 도착</div></td><td><span class="train-detail">782호</span><div class="time-display">19:42</div><div class="arrival-info">21:13 도착</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">702호</span><div class="time-display">6:25</div><div class="arrival-info">8:31 도착</div></td><td><span class="train-detail">708호</span><div class="time-display">12:26</div><div class="arrival-info">14: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="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">07:36</div><div class="arrival-info">08:07 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">18:53</div><div class="arrival-info">19:25 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1662호</span><div class="time-display">06:06</div><div class="arrival-info">06:33 도착</div></td><td><span class="train-detail">1662호</span><div class="time-display">06:06</div><div class="arrival-info">06:33 도착</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">1612호</span><div class="time-display">07:36</div><div class="arrival-info">09:47 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">18:53</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">1662호</span><div class="time-display">06:06</div><div class="arrival-info">08:27 도착</div></td><td><span class="train-detail">1662호</span><div class="time-display">06:06</div><div class="arrival-info">08: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-ktx">KTX</span></td><td><span class="train-detail">703호</span><div class="time-display">8:07</div><div class="arrival-info">9:22 도착</div></td><td><span class="train-detail">715호</span><div class="time-display">20:32</div><div class="arrival-info">21:46 도착</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">703호</span><div class="time-display">8:07</div><div class="arrival-info">9:48 도착</div></td><td><span class="train-detail">715호</span><div class="time-display">20:32</div><div class="arrival-info">22: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-ktx">KTX</span></td><td><span class="train-detail">703호</span><div class="time-display">8:07</div><div class="arrival-info">10:34 도착</div></td><td><span class="train-detail">715호</span><div class="time-display">20:32</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="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">1601호</span><div class="time-display">08:44</div><div class="arrival-info">08:55 도착</div></td><td><span class="train-detail">1613호</span><div class="time-display">19:45</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">00:05</div><div class="arrival-info">00:14 도착</div></td><td><span class="train-detail">1661호</span><div class="time-display">00:05</div><div class="arrival-info">00:14 도착</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">08:44</div><div class="arrival-info">10:43 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">16:58</div><div class="arrival-info">18:55 도착</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">08:44</div><div class="arrival-info">11:04 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">16:58</div><div class="arrival-info">19: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">08:44</div><div class="arrival-info">12:20 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">16:58</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>23,200</td><td>27,800</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">풍기</td><td>-</td><td>12,300</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>17,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>21,600</td><td>25,900</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">풍기</td><td class="highlight">경주</td><td>-</td><td>11,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>14,600</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>21,300</td><td>25,600</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">풍기</td><td class="highlight">태화강</td><td>-</td><td>14,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>18,600</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,300</td><td>32,800</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">풍기</td><td class="highlight">부전</td><td>-</td><td>18,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>24,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>33,900</td><td>40,700</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/%ed%92%8d%ea%b8%b0%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%ea%b8%b0%ec%b0%a8-%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%ec%a0%84-%ec%a0%95/">풍기역 KTX 시간표 바로가기</a><br>✅ <s>풍기역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%ed%92%8d%ea%b8%b0%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%ea%b8%b0%ec%b0%a8-%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%ec%a0%84-%ec%a0%95/">풍기역 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>KTX-<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><th>양평</th><th>덕소</th><th>상봉</th><th>청량리</th><th>서울</th><th>비고</th></tr></thead><tbody><tr><td>702</td><td>KTX-이음</td><td>6:25</td><td>6:35</td><td>6:51</td><td>7:08</td><td>7:20</td><td>7:42</td><td></td><td></td><td>8:11</td><td>8:31</td><td>매일</td></tr><tr><td>708</td><td>KTX-이음</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>14:33</td><td>매일</td></tr><tr><td>710</td><td>KTX-이음</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><td>매일</td></tr><tr><td>782</td><td>KTX-이음</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><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></tr></thead><tbody><tr><td>1662</td><td>무궁화</td><td>06:06</td><td>06:18</td><td>06:33</td><td>06:40</td><td>06:59</td><td>07:06</td><td>07:12</td><td>07:18</td><td>07:24</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>1612</td><td>ITX-마음</td><td>07:36</td><td>07:49</td><td>08:07</td><td></td><td>08:31</td><td>08:44</td><td></td><td>08:54</td><td></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:46</td><td>11:01</td><td>11:19</td><td></td><td>11:44</td><td>11:52</td><td></td><td>12:00</td><td>12:05</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>1614</td><td>ITX-마음</td><td>15:00</td><td>15:13</td><td>15:31</td><td></td><td>15:55</td><td>16:04</td><td></td><td>16:14</td><td></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:53</td><td>19:07</td><td>19:25</td><td></td><td>19:50</td><td>19:58</td><td></td><td>20:08</td><td></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>



<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>703</td><td>KTX-이음</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>10:21</td><td></td><td>10:34</td><td>매일</td></tr><tr><td>707</td><td>KTX-이음</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>15:12</td><td></td><td>15:27</td><td>매일</td></tr><tr><td>713</td><td>KTX-이음</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>20:25</td><td>20:36</td><td>매일</td></tr><tr><td>715</td><td>KTX-이음</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>22:40</td><td></td><td>22:54</td><td>매일</td></tr><tr><td>717</td><td>KTX-이음</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></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></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</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>1611</td><td>ITX-마음</td><td>12:43</td><td>12:53</td><td>13:13</td><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>1603</td><td>ITX-마음</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><tr><td>1613</td><td>ITX-마음</td><td>19:45</td><td>19:56</td><td>20:15</td><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>1661</td><td>무궁화</td><td>00:05</td><td>00:14</td><td></td><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></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 = '37060';
            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;">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%92%8D%EA%B8%B0+%ED%95%9C%EA%B2%B0%EC%B2%AD%EA%B5%AD%EC%9E%A5+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%98%81%EC%A3%BC%EC%8B%9C+%ED%92%8D%EA%B8%B0%EC%9D%8D+%EC%84%9C%EB%B6%80%EB%A6%AC+138-10+%ED%95%9C%EA%B2%B0%EC%B2%AD%EA%B5%AD%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;">경상북도 영주시 풍기읍 서부리 138-10 한결청국장</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%EB%9E%91%EC%A0%9C%EA%B3%BC+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%98%81%EC%A3%BC%EC%8B%9C+%ED%92%8D%EA%B8%B0%EC%9D%8D+%EC%84%9C%EB%B6%80%EB%A6%AC+119-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;">경상북도 영주시 풍기읍 서부리 119-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/%EC%A0%95%EB%8F%84%EB%84%88%EC%B8%A0+%EB%B3%B8%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%98%81%EC%A3%BC%EC%8B%9C+%ED%92%8D%EA%B8%B0%EC%9D%8D+%EB%8F%99%EB%B6%80%EB%A6%AC+418-16+%EC%A0%95%EB%8F%84%EB%84%88%EC%B8%A0" 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;">경상북도 영주시 풍기읍 동부리 418-16 정도너츠</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+%EA%B2%BD%EB%B6%81%ED%92%8D%EA%B8%B0%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%98%81%EC%A3%BC%EC%8B%9C+%ED%92%8D%EA%B8%B0%EC%9D%8D+%EC%84%B1%EB%82%B4%EB%A6%AC+28-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;">경상북도 영주시 풍기읍 성내리 28-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/%EC%9E%A5%EB%AA%A8%EB%8B%98%EC%8B%9C%EA%B3%A8%EB%B0%A5%EC%83%81+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%98%81%EC%A3%BC%EC%8B%9C+%ED%92%8D%EA%B8%B0%EC%9D%8D+%EC%84%9C%EB%B6%80%EB%A6%AC+139-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;">경상북도 영주시 풍기읍 서부리 139-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/%ED%92%8D%EA%B8%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/03/풍기역-KTX-이음-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="풍기역-KTX-이음-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-19375" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/풍기역-KTX-이음-ITX-마음-무궁화호-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, 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: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>영주역 시간표 중앙선 KTX ITX 무궁화호 서울 부전 동해 동대구 요금 정차역</title>
		<link>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/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Tue, 10 Mar 2026 00:41:44 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[영주역 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=19310</guid>

					<description><![CDATA[중앙선과 영동선, 경북선이 교차하며 대한민국 철도의 심장부 역할을 해온 영주역이 2026년 들어 새로운 전기를 맞이했습니다. 최근 40년 숙원사업이었던 도심 연결 보행교 개통과 함께, KTX-이음과 ITX-마음이 상시 운행되는 고속 철도 시대로 완전히 진입한 것인데요. 아래 영주역 시간표는 코레일의 최신 정보와 공공데이터 API를 이용한 실시간 버스 도착, 실시간 영주역 출발 시간표, 주변 맛집과 날씨 등을 취합하여 영주역 ... <a title="영주역 시간표 중앙선 KTX ITX 무궁화호 서울 부전 동해 동대구 요금 정차역" class="read-more button" 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/" aria-label="영주역 시간표 중앙선 KTX ITX 무궁화호 서울 부전 동해 동대구 요금 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">중앙선과 영동선, 경북선이 교차하며 대한민국 철도의 심장부 역할을 해온 영주역이 2026년 들어 새로운 전기를 맞이했습니다. 최근 40년 숙원사업이었던 도심 연결 보행교 개통과 함께, KTX-이음과 ITX-마음이 상시 운행되는 고속 철도 시대로 완전히 진입한 것인데요.</p>



<p class="wp-block-paragraph">아래 영주역 시간표는 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a>의 최신 정보와 공공데이터 API를 이용한 실시간 버스 도착, 실시간 영주역 출발 시간표, 주변 맛집과 날씨 등을 취합하여 영주역 KTX 시간표와 영주역 ITX-마음, 그리고 동해·동대구 방면 무궁화호 이용 정보를 정리했습니다. 영주를 방문하여 부석사나 주변 가족여행을 하시려는 분들께 유용한 자료가 되었으면 합니다.</p>



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



<h2 class="wp-block-heading">영주역 1941년부터 2026년까지</h2>



<h3 class="wp-block-heading">수해를 딛고 일어선 철도 요충지</h3>



<p class="wp-block-paragraph">1941년 보통역으로 첫발을 내디딘 영주역은 원래 영주동 중앙시장 자리에 있었습니다. 하지만 1961년 대홍수로 시가지가 잠기는 아픔을 겪은 뒤, 도시 재건 과정에서 1973년 지금의 휴천동 자리로 이전하게 되었는데요. 2023년 세워진 현대식 신역사는 유네스코 세계유산 부석사의 배흘림기둥을 형상화하여 영주의 선비 정신을 계승하고 있습니다.</p>



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



<h3 class="wp-block-heading">40년의 단절을 끝낸 &#8216;안전연결통로&#8217;</h3>



<p class="wp-block-paragraph">특히 2026년 3월 초, 철길로 나뉘어 있던 휴천2동과 3동을 잇는 영주역 안전연결통로(보행교)가 정식 개통되었습니다. 이는 단순한 통로를 넘어 영주역을 중심으로 한 역세권 활성화의 기폭제가 될 것으로 보이며, 역사 이용객들이 도심지로 진입하는 동선이 획기적으로 개선되었습니다.</p>



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



<h3 class="wp-block-heading">서울·부산·동해를 잇는 철도망</h3>



<p class="wp-block-paragraph">현재 영주역 KTX-이음은 서울 청량리에서 안동을 거쳐 부산 부전까지 하루 8왕복(주말 포함 영주역 시간표 기준) 운행하며 수도권 1시간대 생활권을 현실화했습니다. 최신형 영주역 ITX-마음 역시 쾌적한 시설로 장거리 이용객들의 사랑을 받고 있는데요. 영주역 시간표를 확인해 보면 고속열차 배차가 촘촘해지면서 비즈니스나 당일치기 여행이 한층 수월해졌습니다.<br><br>영주역에서 동대구역이나 동해역, 그리고 경북선을 타고 김천역으로 향하는 무궁화호는 지역 간 촘촘한 연결을 책임지고 있으며, 대구의 대형 의료시설을 이용하거나 강원도 바다 여행을 떠나는 분들에게 이 노선은 대체 불가능한 발이 되어주는데요. 이런 영주역 시간표는(무궁화호) 기차 여행의 낭만을 유지하면서도 경북 북부권의 실질적인 생활권을 보장하는 핵심 노선입니다.</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="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">702호</span><div class="time-display">6:16</div><div class="arrival-info">6:51 도착</div></td><td><span class="train-detail">718호</span><div class="time-display">21:22</div><div class="arrival-info">21: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-ktx">KTX</span></td><td><span class="train-detail">702호</span><div class="time-display">6:16</div><div class="arrival-info">8:11 도착</div></td><td><span class="train-detail">718호</span><div class="time-display">21:22</div><div class="arrival-info">22:58 도착</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">702호</span><div class="time-display">6:16</div><div class="arrival-info">8:31 도착</div></td><td><span class="train-detail">714호</span><div class="time-display">16:59</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="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">07:27</div><div class="arrival-info">09:47 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">18:43</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">1662호</span><div class="time-display">05:57</div><div class="arrival-info">08:27 도착</div></td><td><span class="train-detail">1662호</span><div class="time-display">05:57</div><div class="arrival-info">08: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">1771호</span><div class="time-display">07:57</div><div class="arrival-info">08:13 도착</div></td><td><span class="train-detail">1777호</span><div class="time-display">19:32</div><div class="arrival-info">19: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">1771호</span><div class="time-display">07:57</div><div class="arrival-info">10:48 도착</div></td><td><span class="train-detail">1777호</span><div class="time-display">19:32</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-ktx">KTX</span></td><td><span class="train-detail">701호</span><div class="time-display">7:19</div><div class="arrival-info">8:19 도착</div></td><td><span class="train-detail">715호</span><div class="time-display">20:41</div><div class="arrival-info">21:46 도착</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">701호</span><div class="time-display">7:19</div><div class="arrival-info">8:40 도착</div></td><td><span class="train-detail">715호</span><div class="time-display">20:41</div><div class="arrival-info">22: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-ktx">KTX</span></td><td><span class="train-detail">701호</span><div class="time-display">7:19</div><div class="arrival-info">9:24 도착</div></td><td><span class="train-detail">715호</span><div class="time-display">20:41</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">1601호</span><div class="time-display">08:55</div><div class="arrival-info">10:43 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">17:10</div><div class="arrival-info">18:55 도착</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">08:55</div><div class="arrival-info">11:04 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">17:10</div><div class="arrival-info">19: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">08:55</div><div class="arrival-info">12:20 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">17:10</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-mu">무궁화</span></td><td><span class="train-detail">1774호</span><div class="time-display">14:00</div><div class="arrival-info">15:45 도착</div></td><td><span class="train-detail">1778호</span><div class="time-display">21:02</div><div class="arrival-info">22:47 도착</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>25,000</td><td>30,000</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>중앙2</td><td>무궁화</td><td class="highlight">동해</td><td class="highlight">영주</td><td>-</td><td>9,300</td><td>0</td><td>0</td></tr><tr><td>중앙2</td><td>무궁화</td><td class="highlight">동백산</td><td class="highlight">영주</td><td>-</td><td>5,800</td><td>0</td><td>0</td></tr><tr><td>중앙2</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>중앙2</td><td>무궁화</td><td class="highlight">영주</td><td class="highlight">동대구</td><td>-</td><td>10,000</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>10,600</td><td>0</td><td>0</td></tr><tr><td>중앙2</td><td>무궁화</td><td class="highlight">영주</td><td class="highlight">경주</td><td>-</td><td>10,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>13,400</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>19,600</td><td>23,500</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">영주</td><td class="highlight">부전</td><td>-</td><td>17,400</td><td>0</td><td>0</td></tr><tr><td>중앙2</td><td>무궁화</td><td class="highlight">영주</td><td class="highlight">부전</td><td>-</td><td>17,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>23,500</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>32,100</td><td>38,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%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/">영주역 KTX 시간표 바로가기</a><br>✅ <s>영주역 SRT 노선 없음</s><br>✅ <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/">영주역 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>KTX-<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><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>6:16</td><td>6:25</td><td>6:35</td><td>6:51</td><td>7:08</td><td>7:20</td><td>7:42</td><td></td><td></td><td>8:11</td><td>8:31</td><td>매일</td></tr><tr><td>704</td><td>KTX-이음</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>10:19</td><td>매일</td></tr><tr><td>706</td><td>KTX-이음</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><td>매일</td></tr><tr><td>708</td><td>KTX-이음</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>14:33</td><td>매일</td></tr><tr><td>710</td><td>KTX-이음</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><td>매일</td></tr><tr><td>712</td><td>KTX-이음</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>17:41</td><td>매일</td></tr><tr><td>714</td><td>KTX-이음</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>19:13</td><td>매일</td></tr><tr><td>716</td><td>KTX-이음</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><td>매일</td></tr><tr><td>782</td><td>KTX-이음</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><td>토일</td></tr><tr><td>718</td><td>KTX-이음</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><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></tr></thead><tbody><tr><td>1662</td><td>무궁화</td><td>05:57</td><td>06:06</td><td>06:18</td><td>06:33</td><td>06:40</td><td>06:59</td><td>07:06</td><td>07:12</td><td>07:18</td><td>07:24</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>1612</td><td>ITX-마음</td><td>07:27</td><td>07:36</td><td>07:49</td><td>08:07</td><td></td><td>08:31</td><td>08:44</td><td></td><td>08:54</td><td></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:35</td><td>10:46</td><td>11:01</td><td>11:19</td><td></td><td>11:44</td><td>11:52</td><td></td><td>12:00</td><td>12:05</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>1614</td><td>ITX-마음</td><td>14:51</td><td>15:00</td><td>15:13</td><td>15:31</td><td></td><td>15:55</td><td>16:04</td><td></td><td>16:14</td><td></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:43</td><td>18:53</td><td>19:07</td><td>19:25</td><td></td><td>19:50</td><td>19:58</td><td></td><td>20:08</td><td></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>



<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></tr></thead><tbody><tr><td>1771</td><td>무궁화</td><td>07:57</td><td>08:13</td><td>08:38</td><td></td><td></td><td>09:01</td><td>09:09</td><td>09:16</td><td>09:26</td><td>09:40</td><td>09:51</td><td>10:08</td><td>10:25</td><td>10:48</td></tr><tr><td>1777</td><td>무궁화</td><td>19:32</td><td>19:50</td><td>20:15</td><td>20:27</td><td>20:34</td><td>20:44</td><td>20:52</td><td>21:00</td><td>21:10</td><td>21:24</td><td>21:35</td><td>21:52</td><td></td><td>22:30</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>1774</td><td>무궁화</td><td>14:00</td><td>14:21</td><td>14:39</td><td>14:56</td><td>15:28</td><td>15:45</td></tr><tr><td>1778</td><td>무궁화</td><td>21:02</td><td>21:23</td><td>21:41</td><td>21:58</td><td>22:30</td><td>22:47</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>701</td><td>KTX-이음</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>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>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>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>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>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>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>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>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>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></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</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>1611</td><td>ITX-마음</td><td>12:53</td><td>13:13</td><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>1603</td><td>ITX-마음</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><tr><td>1613</td><td>ITX-마음</td><td>19:56</td><td>20:15</td><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></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 = '37060';
            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/%ED%8C%8C%EB%A6%AC%EB%B0%94%EA%B2%8C%EB%9C%A8+%EA%B2%BD%EB%B6%81%EC%98%81%EC%A3%BC%EC%97%AD%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%98%81%EC%A3%BC%EC%8B%9C+%ED%9C%B4%EC%B2%9C%EB%8F%99+328-3+%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;">경상북도 영주시 휴천동 328-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%9D%BC%EB%9D%BC%EC%BD%94%EC%8A%A4%ED%8A%B8+%EC%98%81%EC%A3%BC%EC%97%AD%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%98%81%EC%A3%BC%EC%8B%9C+%ED%9C%B4%EC%B2%9C%EB%8F%99+320-19+%EC%98%81%EC%A3%BC%EB%B9%8C%EB%94%A9+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;">경상북도 영주시 휴천동 320-19 영주빌딩 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%EC%88%98%EC%8B%9D%EB%8B%B9+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%98%81%EC%A3%BC%EC%8B%9C+%ED%9C%B4%EC%B2%9C%EB%8F%99+321-8+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;">경상북도 영주시 휴천동 321-8 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%8D%94%EB%A6%AC%ED%84%B0+%EC%98%81%EC%A3%BC%EC%97%AD%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%98%81%EC%A3%BC%EC%8B%9C+%ED%9C%B4%EC%B2%9C%EB%8F%99+303-19" 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;">경상북도 영주시 휴천동 303-19</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%B3%B8%EC%A3%BD+%EC%98%81%EC%A3%BC%EC%97%AD%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%98%81%EC%A3%BC%EC%8B%9C+%ED%9C%B4%EC%B2%9C%EB%8F%99+303-19" 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;">경상북도 영주시 휴천동 303-19</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%98%81%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/03/영주역-시간표-KTX-이음-ITX-마음-무궁화호-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="영주역-시간표-KTX-이음-ITX-마음-무궁화호-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-19374" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/영주역-시간표-KTX-이음-ITX-마음-무궁화호-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, 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: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>안동역 기차 시간표 KTX-이음 ITX-마음 무궁화호 중앙선 요금 정차역</title>
		<link>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/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Tue, 10 Mar 2026 00:06:55 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[안동역 기차 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=19284</guid>

					<description><![CDATA[안동의 역사와 문화, 그리고 현대적인 철도 인프라가 만나는 안동역 기차 KTX-이음과 ITX-마음, 그리고 무궁화호의 중심역으로서 경북 북부권 교통의 중심 축을 담당하고 있습니다. 1930년 운행을 시작한 이래 안동의 희로애락을 함께해온 이곳은, 이제 도심 속 간이역의 정취를 넘어 수도권과 남부권을 2시간대로 연결하는 철도 역사가 되었는데요. 아래 내용들은 공공데이터 API와 코레일의 최신 운행 정보를 바탕으로 안동역 KTX 시간표와 ... <a title="안동역 기차 시간표 KTX-이음 ITX-마음 무궁화호 중앙선 요금 정차역" class="read-more button" 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/" aria-label="안동역 기차 시간표 KTX-이음 ITX-마음 무궁화호 중앙선 요금 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">안동의 역사와 문화, 그리고 현대적인 철도 인프라가 만나는 안동역 기차 KTX-이음과 ITX-마음, 그리고 무궁화호의 중심역으로서 경북 북부권 교통의 중심 축을 담당하고 있습니다. 1930년 운행을 시작한 이래 안동의 희로애락을 함께해온 이곳은, 이제 도심 속 간이역의 정취를 넘어 수도권과 남부권을 2시간대로 연결하는 철도 역사가 되었는데요.</p>



<p class="wp-block-paragraph">아래 내용들은 공공데이터 API와 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a>의 최신 운행 정보를 바탕으로 안동역 KTX 시간표와 안동역 ITX-마음, 그리고 동해안과 대구 방면을 잇는 무궁화호 시간표를 정리했습니다. 안동역 예매를 통해 세계문화유산의 도시 안동을 찾는 여행객들과 지역 주민들께 실질적인 이동 정보를 전해드립니다.</p>



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



<h2 class="wp-block-heading">안동역 기차 1930년 부터 현재까지</h2>



<h3 class="wp-block-heading">80년 세월을 품은 의성의 관문</h3>



<p class="wp-block-paragraph">안동역은 1930년 문을 연 뒤 안동 시내 한복판에서 지역의 경제와 문화를 지탱해 왔습니다. 90여 년간 안동의 관문 역할을 하던 역사는 2020년 중앙선 복선전철화와 함께 지금의 송현동 부지로 옮겨오며 대대적인 변화를 맞이했는데요. 안동역 KTX-이음의 도입은 안동이 가진 전통의 가치에 &#8216;속도&#8217;라는 현대적 편리함을 더하며, 지역 관광 산업이 비약적으로 성장하는 토대가 되었습니다.</p>



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



<h3 class="wp-block-heading">고속화로 가까워진 세계문화유산</h3>



<p class="wp-block-paragraph">서울, 청량리역에서 안동역까지 2시간이면 닿을 수 있게 되면서 안동국제탈춤축제나 하회마을을 찾는 이동이 무척 가까워졌습니다. 과거 반나절이 걸리던 이동 시간이 대폭 줄어들며, 수도권에서 당일치기로 안동의 깊은 멋을 즐기는 문화가 정착되었는데요. 이는 안동이 경북 북부권의 물류와 관광을 아우르는 핵심 지점으로 거듭나는 결정적인 계기가 되었습니다.</p>



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



<h3 class="wp-block-heading">동해와 부전, 서울을 잇는 교통</h3>



<p class="wp-block-paragraph">현재 안동역 기차 ITX-마음과 KTX-이음은 서울 청량리와 부산 <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>또한 안동역에서 <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%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>



<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="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">702호</span><div class="time-display">6:01</div><div class="arrival-info">6:51 도착</div></td><td><span class="train-detail">718호</span><div class="time-display">21:07</div><div class="arrival-info">21: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-ktx">KTX</span></td><td><span class="train-detail">702호</span><div class="time-display">6:01</div><div class="arrival-info">8:11 도착</div></td><td><span class="train-detail">718호</span><div class="time-display">21:07</div><div class="arrival-info">22:58 도착</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">702호</span><div class="time-display">6:01</div><div class="arrival-info">8:31 도착</div></td><td><span class="train-detail">714호</span><div class="time-display">16: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-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-mu">무궁화</span></td><td><span class="train-detail">1771호</span><div class="time-display">07:28</div><div class="arrival-info">08:13 도착</div></td><td><span class="train-detail">1777호</span><div class="time-display">19:09</div><div class="arrival-info">19: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">1771호</span><div class="time-display">07:28</div><div class="arrival-info">10:48 도착</div></td><td><span class="train-detail">1777호</span><div class="time-display">19:09</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-ktx">KTX</span></td><td><span class="train-detail">701호</span><div class="time-display">7:34</div><div class="arrival-info">8:19 도착</div></td><td><span class="train-detail">715호</span><div class="time-display">20:56</div><div class="arrival-info">21:46 도착</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">701호</span><div class="time-display">7:34</div><div class="arrival-info">8:40 도착</div></td><td><span class="train-detail">715호</span><div class="time-display">20:56</div><div class="arrival-info">22: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-ktx">KTX</span></td><td><span class="train-detail">701호</span><div class="time-display">7:34</div><div class="arrival-info">9:24 도착</div></td><td><span class="train-detail">715호</span><div class="time-display">20:56</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">1601호</span><div class="time-display">09:16</div><div class="arrival-info">10:43 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">17:31</div><div class="arrival-info">18:55 도착</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">09:16</div><div class="arrival-info">11:04 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">17:31</div><div class="arrival-info">19: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">09:16</div><div class="arrival-info">12:20 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">17:31</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-mu">무궁화</span></td><td><span class="train-detail">1774호</span><div class="time-display">14:21</div><div class="arrival-info">15:45 도착</div></td><td><span class="train-detail">1778호</span><div class="time-display">21:23</div><div class="arrival-info">22:47 도착</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>29,300</td><td>35,200</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>중앙2</td><td>무궁화</td><td class="highlight">동해</td><td class="highlight">안동</td><td>-</td><td>11,500</td><td>0</td><td>0</td></tr><tr><td>중앙2</td><td>무궁화</td><td class="highlight">동백산</td><td class="highlight">안동</td><td>-</td><td>8,100</td><td>0</td><td>0</td></tr><tr><td>중앙2</td><td>무궁화</td><td class="highlight">봉화</td><td class="highlight">안동</td><td>-</td><td>3,200</td><td>0</td><td>0</td></tr><tr><td>중앙2</td><td>무궁화</td><td class="highlight">안동</td><td class="highlight">동대구</td><td>-</td><td>7,800</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>8,300</td><td>0</td><td>0</td></tr><tr><td>중앙2</td><td>무궁화</td><td class="highlight">안동</td><td class="highlight">경주</td><td>-</td><td>8,300</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>10,400</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,200</td><td>18,200</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">안동</td><td class="highlight">부전</td><td>-</td><td>15,100</td><td>0</td><td>0</td></tr><tr><td>중앙2</td><td>무궁화</td><td class="highlight">안동</td><td class="highlight">부전</td><td>-</td><td>15,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>20,500</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></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%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/">안동역 KTX 시간표 바로가기</a><br>✅ <s>안동역 SRT 노선 없음</s><br>✅ <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/">안동역 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>KTX-<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><th>원주</th><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>6:01</td><td>6:16</td><td>6:25</td><td>6:35</td><td>6:51</td><td>7:08</td><td>7:20</td><td>7:42</td><td></td><td></td><td>8:11</td><td>8:31</td><td>매일</td></tr><tr><td>704</td><td>KTX-이음</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>10:19</td><td>매일</td></tr><tr><td>706</td><td>KTX-이음</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><td>매일</td></tr><tr><td>708</td><td>KTX-이음</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>14:33</td><td>매일</td></tr><tr><td>710</td><td>KTX-이음</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><td>매일</td></tr><tr><td>712</td><td>KTX-이음</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>17:41</td><td>매일</td></tr><tr><td>714</td><td>KTX-이음</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>19:13</td><td>매일</td></tr><tr><td>716</td><td>KTX-이음</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><td>매일</td></tr><tr><td>782</td><td>KTX-이음</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><td>토일</td></tr><tr><td>718</td><td>KTX-이음</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><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></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>



<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>1771</td><td>무궁화</td><td>07:28</td><td>07:57</td><td>08:13</td><td>08:38</td><td></td><td></td><td>09:01</td><td>09:09</td><td>09:16</td><td>09:26</td><td>09:40</td><td>09:51</td><td>10:08</td><td>10:25</td><td>10:48</td></tr><tr><td>1777</td><td>무궁화</td><td>19:09</td><td>19:32</td><td>19:50</td><td>20:15</td><td>20:27</td><td>20:34</td><td>20:44</td><td>20:52</td><td>21:00</td><td>21:10</td><td>21:24</td><td>21:35</td><td>21:52</td><td></td><td>22:30</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></tr></thead><tbody><tr><td>1774</td><td>무궁화</td><td>14:21</td><td>14:39</td><td>14:56</td><td>15:28</td><td>15:45</td></tr><tr><td>1778</td><td>무궁화</td><td>21:23</td><td>21:41</td><td>21:58</td><td>22:30</td><td>22:47</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>701</td><td>KTX-이음</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>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>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>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>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>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>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>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>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>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></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</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>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">실시간 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 = '37040';
            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/%EC%A0%84%EC%A3%BC%EB%AA%85%EA%B0%80%EC%BD%A9%EB%82%98%EB%AC%BC%EA%B5%AD%EB%B0%A5+%EC%95%88%EB%8F%99%ED%84%B0%EB%AF%B8%EB%84%90%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%95%88%EB%8F%99%EC%8B%9C+%EC%86%A1%ED%98%84%EB%8F%99+621-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;">경상북도 안동시 송현동 621-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%AC%B5%ED%96%A5+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%95%88%EB%8F%99%EC%8B%9C+%EC%86%A1%ED%98%84%EB%8F%99+564+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;">경상북도 안동시 송현동 564 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+%EC%95%88%EB%8F%99%ED%84%B0%EB%AF%B8%EB%84%90%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%95%88%EB%8F%99%EC%8B%9C+%EC%86%A1%ED%98%84%EB%8F%99+713-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;">경상북도 안동시 송현동 713-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/%ED%8C%8C%EB%A6%AC%EB%B0%94%EA%B2%8C%EB%9C%A8+%EC%95%88%EB%8F%99%EC%86%A1%ED%98%84%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%95%88%EB%8F%99%EC%8B%9C+%EC%86%A1%ED%98%84%EB%8F%99+514-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;">경상북도 안동시 송현동 514-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/%EA%B6%8C%EC%8B%A4%EC%9E%A5%EC%B0%B8%EB%A7%88%EC%B0%B9%EC%8C%80%EA%BD%88%EB%B0%B0%EA%B8%B0+%EC%95%88%EB%8F%99%EB%B3%B8%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%95%88%EB%8F%99%EC%8B%9C+%EC%86%A1%ED%98%84%EB%8F%99+916-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;">경상북도 안동시 송현동 916-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;">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> 경상북도 안동시 경동로 112-16<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> 경상북도 안동시 경동로 112-16</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%95%88%EB%8F%99%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/03/안동역-기차-KTX-이음-ITX-마음-무궁하호-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="안동역-기차-KTX-이음-ITX-마음-무궁하호-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-19373" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/안동역-기차-KTX-이음-ITX-마음-무궁하호-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, 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: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>의성역 KTX-이음 ITX-마음 무궁화호 시간표 동해 서울 동대구 부전 요금 정차역</title>
		<link>https://krailroad.co.kr/%ec%9d%98%ec%84%b1%ec%97%ad-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%8b%9c%ea%b0%84%ed%91%9c-%eb%8f%99%ed%95%b4-%ec%84%9c%ec%9a%b8-%eb%8f%99%eb%8c%80/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Mon, 09 Mar 2026 05:39:11 +0000</pubDate>
				<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[무궁화 시간표]]></category>
		<category><![CDATA[의성역 기차 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=19261</guid>

					<description><![CDATA[중앙선 철도의 주요 길목인 의성역이 KTX-이음과 ITX-마음의 동시 정차로 경북 내륙의 교통 지도를 새롭게 그려나가고 있습니다. 1940년 첫 영업을 시작한 이래 80여 년간 의성의 문을 지켜온 이곳은, 이제 단순한 시골 기차역을 넘어 수도권과 남부권을 2시간대로 잇는 현대적인 철도 지점으로 탈피했는데요. 아래 내용은 공공데이터 API와 코레일의 최신 시간표와 정차역, 주변 맛집, 날씨, 의성역 주변 버스 실시간 ... <a title="의성역 KTX-이음 ITX-마음 무궁화호 시간표 동해 서울 동대구 부전 요금 정차역" class="read-more button" href="https://krailroad.co.kr/%ec%9d%98%ec%84%b1%ec%97%ad-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%8b%9c%ea%b0%84%ed%91%9c-%eb%8f%99%ed%95%b4-%ec%84%9c%ec%9a%b8-%eb%8f%99%eb%8c%80/" aria-label="의성역 KTX-이음 ITX-마음 무궁화호 시간표 동해 서울 동대구 부전 요금 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">중앙선 철도의 주요 길목인 의성역이 KTX-이음과 ITX-마음의 동시 정차로 경북 내륙의 교통 지도를 새롭게 그려나가고 있습니다. 1940년 첫 영업을 시작한 이래 80여 년간 의성의 문을 지켜온 이곳은, 이제 단순한 시골 기차역을 넘어 수도권과 남부권을 2시간대로 잇는 현대적인 철도 지점으로 탈피했는데요.</p>



<p class="wp-block-paragraph">아래 내용은 공공데이터 API와 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a>의 최신 시간표와 정차역, 주변 맛집, 날씨, 의성역 주변 버스 실시간 정보, 주차장 위치 등을 바탕으로 의성역 KTX-이음과 의성역 ITX-마음, 그리고 여전히 든든한 발이 되어주는 동대구~동해 무궁화호 시간표 관련 정보를 정리했습니다.</p>



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



<h2 class="wp-block-heading">의성역 1940년 보통역에서 KTX 까지</h2>



<h3 class="wp-block-heading">80년 세월을 품은 의성의 관문</h3>



<p class="wp-block-paragraph">의성역은 1940년 중앙선 개통과 함께 보통역으로 첫발을 내디뎠습니다. 오랜 시간 의성 마늘과 지역 특산물이 전국으로 뻗어 나가는 통로였던 이곳은 2024년 중앙선 복선전철화 사업의 결실로 세련된 신역사로 거듭났는데요. 의성역 KTX-이음의 도입은 의성 역사상 가장 큰 변화로 꼽히며, 과거 무궁화호에 의존하던 이동 환경을 획기적으로 개선했습니다.</p>



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



<h3 class="wp-block-heading">중앙선 고속화로 서울 2시간 생활권</h3>



<p class="wp-block-paragraph">청량리역에서 의성역까지 환승 없이 2시간 초반대에 닿을 수 있게 된 배경에는 중앙선 노선 개량 사업이 있습니다. 이는 지역 소멸 위기를 극복하고 수도권 관광객을 유입시키기 위한 국가적 철도망 계획의 일환인데요. 의성역 KTX 소요 시간의 단축은 비즈니스 방문객뿐만 아니라 주말 나들이객들에게도 의성을 매력적인 목적지로 바꿔놓았습니다.</p>



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



<h3 class="wp-block-heading">ITX-마음과 KTX-이음의 조화</h3>



<p class="wp-block-paragraph">현재 의성역 ITX-마음과 KTX-이음은 청량리 서울 방면과 부전 부산 방면을 잇는 중앙선의 핵심 축입니다. 최신 시설을 갖춘 이 열차들은 기존 일반 열차보다 소음이 적고 승차감이 뛰어나 장거리 이동 시 피로도를 크게 줄여주는데요. 의성역 시간표를 확인해 보면 오전과 오후 시간대 골고루 배차되어 있어 라이프스타일에 맞춘 일정 짜기가 많이 편리해졌습니다.</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">704호</span><div class="time-display">7:43</div><div class="arrival-info">7:55 도착</div></td><td><span class="train-detail">710호</span><div class="time-display">13:51</div><div class="arrival-info">14:03 도착</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">704호</span><div class="time-display">7:43</div><div class="arrival-info">8:43 도착</div></td><td><span class="train-detail">710호</span><div class="time-display">13:51</div><div class="arrival-info">14:55 도착</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">704호</span><div class="time-display">7:43</div><div class="arrival-info">9:59 도착</div></td><td><span class="train-detail">710호</span><div class="time-display">13:51</div><div class="arrival-info">16: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-ktx">KTX</span></td><td><span class="train-detail">704호</span><div class="time-display">7:43</div><div class="arrival-info">10:19 도착</div></td><td><span class="train-detail">704호</span><div class="time-display">7:43</div><div class="arrival-info">10: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="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">09:53</div><div class="arrival-info">10:13 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">18:04</div><div class="arrival-info">18:22 도착</div></td></tr><tr><td><span class="type-label type-mu">무궁화</span></td><td><span class="train-detail">1771호</span><div class="time-display">07:10</div><div class="arrival-info">07:28 도착</div></td><td><span class="train-detail">1777호</span><div class="time-display">18:51</div><div class="arrival-info">19:09 도착</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">1602호</span><div class="time-display">09:53</div><div class="arrival-info">12:56 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">18:04</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-mu">무궁화</span></td><td><span class="train-detail">1771호</span><div class="time-display">07:10</div><div class="arrival-info">08:13 도착</div></td><td><span class="train-detail">1777호</span><div class="time-display">18:51</div><div class="arrival-info">19: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">1771호</span><div class="time-display">07:10</div><div class="arrival-info">10:48 도착</div></td><td><span class="train-detail">1777호</span><div class="time-display">18:51</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-ktx">KTX</span></td><td><span class="train-detail">703호</span><div class="time-display">8:44</div><div class="arrival-info">9:48 도착</div></td><td><span class="train-detail">713호</span><div class="time-display">18:50</div><div class="arrival-info">19:46 도착</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">703호</span><div class="time-display">8:44</div><div class="arrival-info">10:34 도착</div></td><td><span class="train-detail">713호</span><div class="time-display">18:50</div><div class="arrival-info">20: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-itx">ITX-마음</span></td><td><span class="train-detail">1601호</span><div class="time-display">09:34</div><div class="arrival-info">10:43 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">17:49</div><div class="arrival-info">18:55 도착</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">09:34</div><div class="arrival-info">11:04 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">17:49</div><div class="arrival-info">19: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">09:34</div><div class="arrival-info">12:20 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">17:49</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-mu">무궁화</span></td><td><span class="train-detail">1774호</span><div class="time-display">14:39</div><div class="arrival-info">15:45 도착</div></td><td><span class="train-detail">1778호</span><div class="time-display">21:41</div><div class="arrival-info">22:47 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><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>32,900</td><td>39,500</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">청량리</td><td class="highlight">의성</td><td>-</td><td>17,300</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>23,600</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>31,200</td><td>37,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>중앙2</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>중앙2</td><td>무궁화</td><td class="highlight">동해</td><td class="highlight">의성</td><td>-</td><td>13,300</td><td>0</td><td>0</td></tr><tr><td>중앙2</td><td>무궁화</td><td class="highlight">동백산</td><td class="highlight">의성</td><td>-</td><td>9,900</td><td>0</td><td>0</td></tr><tr><td>중앙2</td><td>무궁화</td><td class="highlight">봉화</td><td class="highlight">의성</td><td>-</td><td>5,000</td><td>0</td><td>0</td></tr><tr><td>중앙2</td><td>무궁화</td><td class="highlight">의성</td><td class="highlight">동대구</td><td>-</td><td>6,000</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>8,300</td><td>0</td><td>0</td></tr><tr><td>중앙2</td><td>무궁화</td><td class="highlight">안동</td><td class="highlight">경주</td><td>-</td><td>8,300</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>10,400</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,200</td><td>18,200</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">안동</td><td class="highlight">부전</td><td>-</td><td>15,100</td><td>0</td><td>0</td></tr><tr><td>중앙2</td><td>무궁화</td><td class="highlight">안동</td><td class="highlight">부전</td><td>-</td><td>15,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>20,500</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></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%9d%98%ec%84%b1%ec%97%ad-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%8b%9c%ea%b0%84%ed%91%9c-%eb%8f%99%ed%95%b4-%ec%84%9c%ec%9a%b8-%eb%8f%99%eb%8c%80/">의성역 KTX 시간표 바로가기</a><br>✅ <s>의성역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%ec%9d%98%ec%84%b1%ec%97%ad-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%8b%9c%ea%b0%84%ed%91%9c-%eb%8f%99%ed%95%b4-%ec%84%9c%ec%9a%b8-%eb%8f%99%eb%8c%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>의성역 KTX-<strong>ITX 무궁화호 </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><th>서원주</th><th>양평</th><th>상봉</th><th>청량리</th><th>서울</th><th>비고</th></tr></thead><tbody><tr><td>704</td><td>KTX-이음</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>9:59</td><td>10:19</td><td>매일</td></tr><tr><td>710</td><td>KTX-이음</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>15:58</td><td>16:04</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></tr></thead><tbody><tr><td>1602</td><td>ITX-마음</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>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>



<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></tr></thead><tbody><tr><td>1771</td><td>무궁화</td><td>07:10</td><td>07:28</td><td>07:57</td><td>08:13</td><td>08:38</td><td></td><td></td><td>09:01</td><td>09:09</td><td>09:16</td><td>09:26</td><td>09:40</td><td>09:51</td><td>10:08</td><td>10:25</td><td>10:48</td></tr><tr><td>1777</td><td>무궁화</td><td>18:51</td><td>19:09</td><td>19:32</td><td>19:50</td><td>20:15</td><td>20:27</td><td>20:34</td><td>20:44</td><td>20:52</td><td>21:00</td><td>21:10</td><td>21:24</td><td>21:35</td><td>21:52</td><td></td><td>22:30</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></tr></thead><tbody><tr><td>1774</td><td>무궁화</td><td>14:39</td><td>14:56</td><td>15:28</td><td>15:45</td></tr><tr><td>1778</td><td>무궁화</td><td>21:41</td><td>21:58</td><td>22:30</td><td>22:47</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>8:44</td><td>9:22</td><td>9:39</td><td>9:48</td><td></td><td>10:21</td><td></td><td>10:34</td><td>매일</td></tr><tr><td>713</td><td>KTX-이음</td><td>18:50</td><td>19:25</td><td></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>


<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>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>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">실시간 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 = '37320';
            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;">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/%EC%9A%A9%EC%A3%BC%EB%B0%A5%EC%83%81+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%9D%98%EC%84%B1%EA%B5%B0+%EC%9D%98%EC%84%B1%EC%9D%8D+%ED%9B%84%EC%A3%BD%EB%A6%AC+735-2+%EC%9A%A9%EC%A3%BC%EB%B0%A5%EC%83%81" 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;">경상북도 의성군 의성읍 후죽리 735-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/%ED%95%A0%EB%A7%A4%EB%8B%AD%EB%B0%9C+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%9D%98%EC%84%B1%EA%B5%B0+%EC%9D%98%EC%84%B1%EC%9D%8D+%EB%8F%84%EB%8F%99%EB%A6%AC+967-1+11%EB%B2%88+%ED%95%A0%EB%A7%A4%EB%8B%AD%EB%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;">경상북도 의성군 의성읍 도동리 967-1 11번 할매닭발</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%EB%8B%AD%EB%B0%9C+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%9D%98%EC%84%B1%EA%B5%B0+%EC%9D%98%EC%84%B1%EC%9D%8D+%EB%8F%84%EB%8F%99%EB%A6%AC+967-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;">경상북도 의성군 의성읍 도동리 967-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+%EA%B2%BD%EB%B6%81%EC%9D%98%EC%84%B1%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%9D%98%EC%84%B1%EA%B5%B0+%EC%9D%98%EC%84%B1%EC%9D%8D+%ED%9B%84%EC%A3%BD%EB%A6%AC+615-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;">경상북도 의성군 의성읍 후죽리 615-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%B9%80%EB%B0%A5%EB%82%98%EB%9D%BC+%EC%9D%98%EC%84%B1%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%9D%98%EC%84%B1%EA%B5%B0+%EC%9D%98%EC%84%B1%EC%9D%8D+%ED%9B%84%EC%A3%BD%EB%A6%AC+628-10" 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;">경상북도 의성군 의성읍 후죽리 628-10</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%98%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/03/의성역-KTX-이음-ITX-마음-무궁화호-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="의성역-KTX-이음-ITX-마음-무궁화호-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-19276" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/의성역-KTX-이음-ITX-마음-무궁화호-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, 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: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>영천역 기차 시간표 KTX-이음 ITX-마음 부전 안동 청량리 서울행 중앙선 요금 정차역</title>
		<link>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/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 05 Mar 2026 06:13:46 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[영천역 기차 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=19181</guid>

					<description><![CDATA[그동안 대구까지 나가서 기차를 갈아타야 했던 영천 시민들과 방문객들에게 영천역 기차 KTX-이음과 ITX-마음의 동시 정차는 일상의 속도를 바꾸는 커다란 소식입니다. 이제는 영천에서 서울 청량리까지, 혹은 안동과 경주를 잇는 노선을 환승의 번거로움 없이 곧장 이용할 수 있게 된 것인데요. 이번 포스팅은 코레일의 최신 운행 데이터와 현장 상황을 대조하여 영천역 KTX 시간표와 새롭게 투입된 영천역 KTX-이음, ITX-마음 ... <a title="영천역 기차 시간표 KTX-이음 ITX-마음 부전 안동 청량리 서울행 중앙선 요금 정차역" class="read-more button" 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/" aria-label="영천역 기차 시간표 KTX-이음 ITX-마음 부전 안동 청량리 서울행 중앙선 요금 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">그동안 대구까지 나가서 기차를 갈아타야 했던 영천 시민들과 방문객들에게 영천역 기차 KTX-이음과 ITX-마음의 동시 정차는 일상의 속도를 바꾸는 커다란 소식입니다. 이제는 영천에서 서울 청량리까지, 혹은 안동과 경주를 잇는 노선을 환승의 번거로움 없이 곧장 이용할 수 있게 된 것인데요.</p>



<p class="wp-block-paragraph">이번 포스팅은 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a>의 최신 운행 데이터와 현장 상황을 대조하여 영천역 KTX 시간표와 새롭게 투입된 영천역 KTX-이음, ITX-마음 이용 정보를 담았습니다. 영천역 기차 예매를 서두르는 분들이나 서울, 청량리역에서 영천역, 부전, 북울산역까지의 직통 노선 시간표와 정차역, 날씨, 주변 맛집, 주차장 요금등을 미리 확인하시고 이용하실 수 있게 정보를 작성하였습니다.</p>



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



<h2 class="wp-block-heading">영천역 기차 KTX-ITX 중앙선</h2>



<h3 class="wp-block-heading">서울, 청량리, 부전에서 영천</h3>



<p class="wp-block-paragraph">중앙선 전철 사업의 결실로 영천의 철도 환경이 몰라보게 쾌적해졌으며, 청량리역에서 영천역 노선을 이용하면 수도권 진입이 한결 수월해지며, 영천역 KTX 소요 시간 역시 일반 열차 대비 압도적으로 단축되었는데요. 덕분에 영천 시내권은 물론이고 금호나 하양 등 인근 지역에서도 굳이 멀리 돌아갈 필요 없이 영천역을 중심으로 한 생활권이 형성되고 있습니다.</p>



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



<h3 class="wp-block-heading">ITX-마음의 도입과 노선</h3>



<p class="wp-block-paragraph">무궁화호의 빈자리를 채우는 영천역 기차 ITX-마음은 깨끗한 시설과 정시성으로 이용객들의 만족도가 높으며, 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"><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">704호</span><div class="time-display">7:22</div><div class="arrival-info">7:55 도착</div></td><td><span class="train-detail">714호</span><div class="time-display">16:12</div><div class="arrival-info">16: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-ktx">KTX</span></td><td><span class="train-detail">704호</span><div class="time-display">7:22</div><div class="arrival-info">8:43 도착</div></td><td><span class="train-detail">714호</span><div class="time-display">16:12</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-ktx">KTX</span></td><td><span class="train-detail">704호</span><div class="time-display">7:22</div><div class="arrival-info">9:59 도착</div></td><td><span class="train-detail">714호</span><div class="time-display">16:12</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-ktx">KTX</span></td><td><span class="train-detail">704호</span><div class="time-display">7:22</div><div class="arrival-info">10:19 도착</div></td><td><span class="train-detail">714호</span><div class="time-display">16:12</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-itx">ITX-마음</span></td><td><span class="train-detail">1602호</span><div class="time-display">09:08</div><div class="arrival-info">10:13 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">17:20</div><div class="arrival-info">18:22 도착</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">1602호</span><div class="time-display">09:08</div><div class="arrival-info">11:19 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">17:20</div><div class="arrival-info">19:25 도착</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">1602호</span><div class="time-display">09:08</div><div class="arrival-info">12:56 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">17:20</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-ktx">KTX</span></td><td><span class="train-detail">707호</span><div class="time-display">13:57</div><div class="arrival-info">14:39 도착</div></td><td><span class="train-detail">715호</span><div class="time-display">21:27</div><div class="arrival-info">22: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-ktx">KTX</span></td><td><span class="train-detail">707호</span><div class="time-display">13:57</div><div class="arrival-info">15:27 도착</div></td><td><span class="train-detail">715호</span><div class="time-display">21:27</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">1601호</span><div class="time-display">10:14</div><div class="arrival-info">11:04 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">18:27</div><div class="arrival-info">19: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">10:14</div><div class="arrival-info">12:20 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">18:27</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>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>40,200</td><td>48,200</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">청량리</td><td class="highlight">영천</td><td>-</td><td>28,600</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,600</td><td>46,300</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">제천</td><td class="highlight">영천</td><td>-</td><td>15,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>23,200</td><td>27,800</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">안동</td><td class="highlight">영천</td><td>-</td><td>7,500</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>10,900</td><td>13,900</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">영천</td><td class="highlight">북울산</td><td>-</td><td>6,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>8,900</td><td>11,900</td></tr><tr><td>중앙A</td><td>ITX</td><td class="highlight">영천</td><td class="highlight">부전</td><td>-</td><td>13,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>16,800</td><td>20,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">✅ <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/">영천역 KTX 시간표 바로가기</a><br>✅ <s>영천역 SRT 노선 없음</s><br>✅ <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/">영천역 ITX 시간표 바로가기</a><br>✅ <s>영천역 누리로 노선 없음</s></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>KTX-ITX-마음 </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><th>원주</th><th>서원주</th><th>양평</th><th>청량리</th><th>서울</th><th>비고</th></tr></thead><tbody><tr><td>704</td><td>KTX-이음</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>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>714</td><td>KTX-이음</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>


<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>1602</td><td>ITX-마음</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>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>



<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>707</td><td>KTX-이음</td><td>13:57</td><td>14:16</td><td></td><td>14:39</td><td></td><td>15:12</td><td>15:27</td><td>매일</td></tr><tr><td>711</td><td>KTX-이음</td><td>17:08</td><td>17:27</td><td>17:44</td><td>17:51</td><td>18:17</td><td>18:27</td><td>18:41</td><td>매일</td></tr><tr><td>715</td><td>KTX-이음</td><td>21:27</td><td>21:46</td><td></td><td>22:08</td><td></td><td>22:40</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></tr></thead><tbody><tr><td>1601</td><td>ITX-마음</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>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">실시간 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 = '37070';
            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/%ED%8F%AC%ED%95%AD%ED%95%A0%EB%A7%A4%EC%A7%91+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%98%81%EC%B2%9C%EC%8B%9C+%EC%99%84%EC%82%B0%EB%8F%99+982-31" 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;">경상북도 영천시 완산동 982-31</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%9F%88%EB%B9%A0%EB%94%B0%EB%B2%A0%EC%9D%B4%EC%BB%A4%EB%A6%AC+%EC%98%81%EC%B2%9C%EC%99%84%EC%82%B0%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%98%81%EC%B2%9C%EC%8B%9C+%EC%99%84%EC%82%B0%EB%8F%99+1402+1%2C2%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;">경상북도 영천시 완산동 1402 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/%ED%95%9C%EC%9E%90%EB%A6%AC+%EA%B9%80%EB%B0%A5+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%98%81%EC%B2%9C%EC%8B%9C+%EC%99%84%EC%82%B0%EB%8F%99+930-16" 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;">경상북도 영천시 완산동 930-16</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%EC%B6%98%EC%A7%9C%EC%9E%A5+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%98%81%EC%B2%9C%EC%8B%9C+%EC%99%84%EC%82%B0%EB%8F%99+926-24+%EC%B2%AD%EC%B6%98%EC%A7%9C%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;">경상북도 영천시 완산동 926-24 청춘짜장</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%EB%A7%88%EB%8B%88%EC%95%84+%EC%98%81%EC%B2%9C%EB%A1%AF%EB%8D%B0%EC%8B%9C%EB%84%A4%EB%A7%88%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%98%81%EC%B2%9C%EC%8B%9C+%EC%99%84%EC%82%B0%EB%8F%99+1402+1076%ED%98%B8%2C+1013%ED%98%B8%2C+1014%ED%98%B8%2C+1015%ED%98%B8%2C+1016%ED%98%B8%2C+1017%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;">경상북도 영천시 완산동 1402 1076호, 1013호, 1014호, 1015호, 1016호, 1017호</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;">100원</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;">5,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> 경상북도 영천시 금완로 98<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> 경상북도 영천시 금완로 98</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/%EC%98%81%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/03/영천역-KTX-이음-ITX-마음-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="영천역-기차-KTX-이음-ITX-마음-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-19200" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/영천역-KTX-이음-ITX-마음-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, 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: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>북울산역 KTX 시간표 부전 안동 청량리 서울행 마음 요금과 정차역</title>
		<link>https://krailroad.co.kr/%eb%b6%81%ec%9a%b8%ec%82%b0%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b6%80%ec%a0%84-%ec%95%88%eb%8f%99-%ec%b2%ad%eb%9f%89%eb%a6%ac-%ec%84%9c%ec%9a%b8%ed%96%89-%eb%a7%88%ec%9d%8c-%ec%9a%94%ea%b8%88/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 05 Mar 2026 01:58:09 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[북울산역 KTX]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=19165</guid>

					<description><![CDATA[울산 북부권에 거주하는 분들이라면 기차 한 번 타기 위해 멀리 떨어진 울산역(통도사)까지 가야 했던 번거로움을 잘 아실 겁니다. 하지만 이제는 집 근처 북울산역에서 곧장 서울 강남권이나 안동 방향으로 이동할 수 있게 되었습니다. 1시간 넘게 도로 위에서 버리던 시간이 사라진 셈이라 생활권 자체가 크게 넓어진 느낌을 줍니다. 아래 자료들은 공공데이터 및 코레일 공식자료의 실시간 열차 운행 ... <a title="북울산역 KTX 시간표 부전 안동 청량리 서울행 마음 요금과 정차역" class="read-more button" href="https://krailroad.co.kr/%eb%b6%81%ec%9a%b8%ec%82%b0%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b6%80%ec%a0%84-%ec%95%88%eb%8f%99-%ec%b2%ad%eb%9f%89%eb%a6%ac-%ec%84%9c%ec%9a%b8%ed%96%89-%eb%a7%88%ec%9d%8c-%ec%9a%94%ea%b8%88/" aria-label="북울산역 KTX 시간표 부전 안동 청량리 서울행 마음 요금과 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">울산 북부권에 거주하는 분들이라면 기차 한 번 타기 위해 멀리 떨어진 울산역(통도사)까지 가야 했던 번거로움을 잘 아실 겁니다. 하지만 이제는 집 근처 북울산역에서 곧장 서울 강남권이나 안동 방향으로 이동할 수 있게 되었습니다. 1시간 넘게 도로 위에서 버리던 시간이 사라진 셈이라 생활권 자체가 크게 넓어진 느낌을 줍니다.</p>



<p class="wp-block-paragraph">아래 자료들은 공공데이터 및 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식자료의 실시간 열차 운행 정보와 현장 상황을 바탕으로 북울산역 KTX 시간표와 주차 및 이용 팁을 정리했으며, 서울역, 청량리역에서 북울산역 노선을 이용하거나 북울산역 예매를 통해 효율적인 일정을 짜려는 분들께 실질적인 정보를 전해드립니다.</p>



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



<h2 class="wp-block-heading">북울산역 KTX-이음 서울~부전</h2>



<h3 class="wp-block-heading">청량리와 안동을 거쳐 북울산으로</h3>



<p class="wp-block-paragraph">북울산역 KTX-이음은 지난 2021년 동해선 복선전철이 들어서며 옛 창평역의 자리에 새롭게 문을 열었습니다. 청량리역에서 북울산역까지, 그리고 안동역에서 북울산역을 잇는 중앙선 KTX 노선이 완성되며 수도권까지의 소요 시간이 몰라보게 단축되었고, 북울산역 KTX 소요 시간이 줄어들면서 울산 북구와 중구는 물론 인근 경주 경계 지역에서도 기차 이용이 매우 편리해졌습니다.</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>



<h3 class="wp-block-heading">공항과 인접한 지리적 특징</h3>



<p class="wp-block-paragraph">북울산역은 전국적으로도 흔치 않게 공항과 철도가 맞닿아 있는 곳으로, 울산공항 근처 기차역을 찾는 분들에게는 이보다 편한 위치가 없는데요. 공항까지 차로 5분 정도면 닿을 수 있어 비행기와 기차를 연계해 일정을 짜기 좋습니다. 또한 매곡산업단지나 중산산업단지로 출장을 오는 분들에게도 북울산역 KTX는 정체 걱정 없이 제시간에 도착할 수 있습니다.</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">706호</span><div class="time-display">8:59</div><div class="arrival-info">9:17 도착</div></td><td><span class="train-detail">714호</span><div class="time-display">15:39</div><div class="arrival-info">15: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-ktx">KTX</span></td><td><span class="train-detail">706호</span><div class="time-display">8:59</div><div class="arrival-info">10:02 도착</div></td><td><span class="train-detail">714호</span><div class="time-display">15:39</div><div class="arrival-info">16: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-ktx">KTX</span></td><td><span class="train-detail">706호</span><div class="time-display">8:59</div><div class="arrival-info">10:44 도착</div></td><td><span class="train-detail">714호</span><div class="time-display">15:39</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-ktx">KTX</span></td><td><span class="train-detail">706호</span><div class="time-display">8:59</div><div class="arrival-info">11:58 도착</div></td><td><span class="train-detail">714호</span><div class="time-display">15:39</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-ktx">KTX</span></td><td><span class="train-detail">714호</span><div class="time-display">15:39</div><div class="arrival-info">19:13 도착</div></td><td><span class="train-detail">714호</span><div class="time-display">15:39</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">706호</span><div class="time-display">8:59</div><div class="arrival-info">8:00 도착</div></td><td><span class="train-detail">714호</span><div class="time-display">15:39</div><div class="arrival-info">14:43 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong><strong>북울산</strong>역 </strong>KTX-이음 <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></tr></thead><tbody><tr><td>중앙K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">북울산</td><td>기본</td><td>49,100</td><td>58,900</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">청량리</td><td class="highlight">북울산</td><td>기본</td><td>47,500</td><td>57,000</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">제천</td><td class="highlight">북울산</td><td>기본</td><td>32,100</td><td>38,500</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">안동</td><td class="highlight">북울산</td><td>기본</td><td>19,800</td><td>23,800</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">경주</td><td class="highlight">북울산</td><td>기본</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>8,400</td><td>11,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">✅ <a href="https://krailroad.co.kr/%ec%9a%b8%ec%82%b0%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%9a%94%ea%b8%88-%ec%b5%9c%ec%8b%a0-%eb%8d%b0%ec%9d%b4%ed%84%b0/" data-type="link" data-id="https://krailroad.co.kr/%ec%9a%b8%ec%82%b0%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%9a%94%ea%b8%88-%ec%b5%9c%ec%8b%a0-%eb%8d%b0%ec%9d%b4%ed%84%b0/">울산역 KTX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ec%9a%b8%ec%82%b0%ec%97%ad-srt-%ec%8b%9c%ea%b0%84%ed%91%9c%ec%99%80-%ec%9a%94%ea%b8%88%ed%91%9c-%ec%a3%bc%ec%b0%a8%ec%9e%a5-%ec%9d%b4%ec%9a%a9-%ec%a0%95%eb%b3%b4%ea%b9%8c%ec%a7%80-%ed%95%9c%eb%b0%a9/" data-type="link" data-id="https://krailroad.co.kr/%ec%9a%b8%ec%82%b0%ec%97%ad-srt-%ec%8b%9c%ea%b0%84%ed%91%9c%ec%99%80-%ec%9a%94%ea%b8%88%ed%91%9c-%ec%a3%bc%ec%b0%a8%ec%9e%a5-%ec%9d%b4%ec%9a%a9-%ec%a0%95%eb%b3%b4%ea%b9%8c%ec%a7%80-%ed%95%9c%eb%b0%a9/">울산역 SRT 시간표 바로가기</a><br><br>✅ <a href="https://krailroad.co.kr/%eb%b6%81%ec%9a%b8%ec%82%b0%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b6%80%ec%a0%84-%ec%95%88%eb%8f%99-%ec%b2%ad%eb%9f%89%eb%a6%ac-%ec%84%9c%ec%9a%b8%ed%96%89-%eb%a7%88%ec%9d%8c-%ec%9a%94%ea%b8%88/">북울산역 KTX 시간표 바로가기</a><br>✅ <s>북울산역 SRT 노선 없음</s><br>✅ <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/">북울산역 ITX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%eb%b6%81%ec%9a%b8%ec%82%b0%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%8f%99%ed%95%b4%ec%84%a0-%eb%85%b8%ec%84%a0-%eb%b0%8f/">북울산역 누리로 시간표 바로가기</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>KTX-이음 </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><th>원주</th><th>서원주</th><th>양평</th><th>청량리</th><th>서울</th><th>비고</th></tr></thead><tbody><tr><td>706</td><td>KTX-이음</td><td>8:59</td><td>9:17</td><td></td><td>10:02</td><td>10:17</td><td></td><td>10:44</td><td>11:01</td><td>11:12</td><td></td><td>11:58</td><td></td><td>매일</td></tr><tr><td>714</td><td>KTX-이음</td><td>15:39</td><td>15:56</td><td>16:12</td><td>16:43</td><td>16:59</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>



<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>703</td><td>KTX-이음</td><td>9:39</td><td>9:48</td><td></td><td>10:21</td><td>10:34</td><td>매일</td></tr><tr><td>711</td><td>KTX-이음</td><td>17:44</td><td>17:51</td><td>18:17</td><td>18:27</td><td>18:41</td><td>매일</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 = '26';
            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/%EC%8B%A0+%EC%A4%91%ED%99%94%EC%9A%94%EB%A6%AC+%EC%86%A1%EC%A0%95%EC%A0%90+%EB%B3%B8%EC%A0%90+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%B6%81%EA%B5%AC+%EC%86%A1%EC%A0%95%EB%8F%99+237-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;">울산광역시 북구 송정동 237-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 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;">300원</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;">100원</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;">6,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> 울산광역시 북구 오토밸리로 620<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> 울산광역시 북구 오토밸리로 620</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%81%EC%9A%B8%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/03/북울산역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="북울산역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-19177" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/북울산역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, 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: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>기장역 KTX-이음 열차 시간표 부전 동대구 안동 청량리 서울행 요금 정차역</title>
		<link>https://krailroad.co.kr/%ea%b8%b0%ec%9e%a5%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b6%80%ec%a0%84-%eb%8f%99%eb%8c%80%ea%b5%ac-%ec%95%88%eb%8f%99-%ec%b2%ad%eb%9f%89%eb%a6%ac/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Wed, 04 Mar 2026 00:37:41 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[기장역 KTX]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=19084</guid>

					<description><![CDATA[그동안 서울이나 내륙에서 기장을 가려면 부산역에 내려 한참을 다시 이동해야 하는 번거로움이 있었는데요. 이제는 부산역 대신 기장역 KTX를 바로 이용할 수 있게 되면서 여행의 질이 확 달라졌습니다. 기장 강남 직통 기차를 기다려온 분들에게는 더없이 반가운 소식이 아닐까 합니다. 이번 글은 코레일 공식 최신 열차 정보와 실시간 노선을 바탕으로 기장역 KTX 시간표와 주차장, 실시간 맛집, 주차 ... <a title="기장역 KTX-이음 열차 시간표 부전 동대구 안동 청량리 서울행 요금 정차역" class="read-more button" href="https://krailroad.co.kr/%ea%b8%b0%ec%9e%a5%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b6%80%ec%a0%84-%eb%8f%99%eb%8c%80%ea%b5%ac-%ec%95%88%eb%8f%99-%ec%b2%ad%eb%9f%89%eb%a6%ac/" 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> 공식 최신 열차 정보와 실시간 노선을 바탕으로 기장역 KTX 시간표와 주차장, 실시간 맛집, 주차 요금, 해당역 날씨 그리고 더욱더 정확한 실시간 API 열차 전광판을 정리했습니다. 기장 당일치기 KTX를 계획하거나 부산 기장 여행을 준비하는 분들에게 실제 발걸음이 가벼워지는 자료가 되었으면 합니다.</p>



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



<h2 class="wp-block-heading">기장역 KTX-이음 청량리에서 기장</h2>



<h3 class="wp-block-heading">중앙선 노선의 연결과 편리함</h3>



<p class="wp-block-paragraph">청량리역에서 기장역까지, 그리고 안동역에서 기장역까지 환승 없이 쭉 이어지는 기장역 중앙선 KTX 노선은 이동 시간을 획기적으로 줄여주었습니다. 기장역 KTX 소요 시간이 단축된 만큼 기차 안에서 보내는 지루함은 줄고, 기장에서 즐길 수 있는 시간은 그만큼 늘어난 셈입니다. 기장역 KTX 예매를 서두른다면 주말에도 차 밀릴 걱정 없이 쾌적하게 부산 동부권에 발을 들일 수 있습니다.</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>



<h3 class="wp-block-heading">롯데월드와 오시리아 관광단지</h3>



<p class="wp-block-paragraph">아이들과 함께하는 분들이라면 기장 롯데월드 가는법으로 KTX가 가장 편한 선택지가 될 텐데요. 부산 이케아 기차 이용객들도 무거운 짐 걱정 없이 기장역을 이용해 오시리아의 즐거움을 만끽할 수 있습니다. 오시리아 관광단지 KTX 시대가 열리면서 테마파크나 국립부산과학관 같은 명소들이 모두 기차역권 안으로 들어오게 된 것이 가장 큰 변화입니다.</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">706호</span><div class="time-display">8:24</div><div class="arrival-info">9:17 도착</div></td><td><span class="train-detail">706호</span><div class="time-display">8:24</div><div class="arrival-info">9:17 도착</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">706호</span><div class="time-display">8:24</div><div class="arrival-info">10:02 도착</div></td><td><span class="train-detail">706호</span><div class="time-display">8:24</div><div class="arrival-info">10:02 도착</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">706호</span><div class="time-display">8:24</div><div class="arrival-info">10:44 도착</div></td><td><span class="train-detail">706호</span><div class="time-display">8:24</div><div class="arrival-info">10: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-ktx">KTX</span></td><td><span class="train-detail">706호</span><div class="time-display">8:24</div><div class="arrival-info">11:58 도착</div></td><td><span class="train-detail">706호</span><div class="time-display">8:24</div><div class="arrival-info">11: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">706호</span><div class="time-display">8:24</div><div class="arrival-info">8:00 도착</div></td><td><span class="train-detail">706호</span><div class="time-display">8:24</div><div class="arrival-info">8:00 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong><strong>기장</strong>역 </strong>KTX-이음 <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></tr></thead><tbody><tr><td>중앙K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">기장</td><td>기본</td><td>54,500</td><td>65,400</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">청량리</td><td class="highlight">기장</td><td>기본</td><td>52,800</td><td>63,400</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">제천</td><td class="highlight">기장</td><td>기본</td><td>37,400</td><td>44,900</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">안동</td><td class="highlight">기장</td><td>기본</td><td>25,100</td><td>30,100</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">경주</td><td class="highlight">기장</td><td>기본</td><td>9,900</td><td>12,900</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">기장</td><td class="highlight">부전</td><td>기본</td><td>8,400</td><td>11,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">✅ <a href="https://krailroad.co.kr/%ea%b8%b0%ec%9e%a5%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b6%80%ec%a0%84-%eb%8f%99%eb%8c%80%ea%b5%ac-%ec%95%88%eb%8f%99-%ec%b2%ad%eb%9f%89%eb%a6%ac/">기장역 KTX 시간표 바로가기</a><br>✅ <s>기장역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%ea%b8%b0%ec%9e%a5%ec%97%ad-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%8f%99%ed%95%b4%c2%b7%ea%b0%95%eb%a6%89%c2%b7%ec%b2%ad%eb%9f%89%eb%a6%ac%c2%b7%ec%95%88%eb%8f%99%ed%96%89-%eb%8f%99/">기장역 ITX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ea%b8%b0%ec%9e%a5%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%a0%84%e2%86%94%eb%8f%99%eb%8c%80%ea%b5%ac-%eb%85%b8%ec%84%a0-%ec%9a%b4%ec%9e%84-%eb%b0%8f/">기장역 무궁화호 시간표 바로가기</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>KTX-이음 </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><th>원주</th><th>서원주</th><th>청량리</th><th>비고</th></tr></thead><tbody><tr><td>706</td><td>KTX-이음</td><td>8:24</td><td>8:50</td><td>8:59</td><td>9:17</td><td>10:02</td><td>10:17</td><td>10:44</td><td>11:01</td><td>11:12</td><td>11:58</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></tr></thead><tbody><tr><td>711</td><td>KTX-이음</td><td>18:17</td><td>18:27</td><td>18:41</td><td>매일</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 = '21';
            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;">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/%ED%97%AC%EC%B9%B4%EC%9A%B0+%EA%B8%B0%EC%9E%A5%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EA%B8%B0%EC%9E%A5%EA%B5%B0+%EA%B8%B0%EC%9E%A5%EC%9D%8D+%EC%B2%AD%EA%B0%95%EB%A6%AC+27" 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</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%B8%B0%EC%9E%A5%EC%97%ADDT%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EA%B8%B0%EC%9E%A5%EA%B5%B0+%EA%B8%B0%EC%9E%A5%EC%9D%8D+%EC%B2%AD%EA%B0%95%EB%A6%AC+31-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;">스타벅스 기장역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;">부산광역시 기장군 기장읍 청강리 31-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%8C%ED%96%A5%EA%B0%88%EB%B9%84%ED%83%95%EC%86%8C%EB%B6%88%EA%B3%A0%EA%B8%B0%EC%A0%84%EA%B3%A8+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EA%B8%B0%EC%9E%A5%EA%B5%B0+%EA%B8%B0%EC%9E%A5%EC%9D%8D+%EB%8C%80%EB%9D%BC%EB%A6%AC+75-2+%EC%86%8C%ED%96%A5%EA%B0%88%EB%B9%84%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;">부산광역시 기장군 기장읍 대라리 75-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/%ED%95%B4%EC%86%A1%EB%8C%80%EA%B2%8C+%EA%B8%B0%EC%9E%A5%EB%B3%B8%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EA%B8%B0%EC%9E%A5%EA%B5%B0+%EA%B8%B0%EC%9E%A5%EC%9D%8D+%EB%8C%80%EB%9D%BC%EB%A6%AC+425-13+%ED%95%B4%EC%86%A1%EB%8C%80%EA%B2%8C" 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-13 해송대게</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%B0%EC%9E%A5%EC%B2%AD%ED%95%B4%EC%99%95%EB%8C%80%EA%B2%8C+%EA%B8%B0%EC%9E%A5%EC%8B%9C%EC%9E%A5%EB%B3%B8%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EA%B8%B0%EC%9E%A5%EA%B5%B0+%EA%B8%B0%EC%9E%A5%EC%9D%8D+%EB%8C%80%EB%9D%BC%EB%A6%AC+68-5+1%EC%B8%B5+%EA%B8%B0%EC%9E%A5%EC%B2%AD%ED%95%B4%EC%99%95%EB%8C%80%EA%B2%8C" 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;">부산광역시 기장군 기장읍 대라리 68-5 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/%EA%B8%B0%EC%9E%A5%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/03/기장역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="기장역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-19134" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/기장역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, 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: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>아화역 기차 시간표 상하행 ITX-마음 요금 중앙선 대구 청량리 부전 정차역</title>
		<link>https://krailroad.co.kr/%ec%95%84%ed%99%94%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%83%81%ed%95%98%ed%96%89-itx-%eb%a7%88%ec%9d%8c-%ec%9a%94%ea%b8%88-%ec%a4%91%ec%95%99%ec%84%a0-%eb%8c%80%ea%b5%ac/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Wed, 04 Mar 2026 00:35:22 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[정동진역]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=19071</guid>

					<description><![CDATA[과거와 현재가 공존하는 경주 외곽의 작은 기차역, 아화역 기차는 단순한 시골 간이역의 풍경을 넘어 현대적인 ITX-마음 열차가 정차하는 세련된 교통 거점으로 탈피했습니다. 중앙선 ITX-마음의 도입과 함께 경북 내륙과 대도시를 잇는 핵심적인 역할을 수행하며, 새로운 신역사 아화역에서 경주의 숨은 매력을 발견하게 해주는 소중한 통로가 되어주고 있습니다. 이번 자료는 공공데이터의 최신 철도 운행 정보와 코레일 공식 자료를 ... <a title="아화역 기차 시간표 상하행 ITX-마음 요금 중앙선 대구 청량리 부전 정차역" class="read-more button" href="https://krailroad.co.kr/%ec%95%84%ed%99%94%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%83%81%ed%95%98%ed%96%89-itx-%eb%a7%88%ec%9d%8c-%ec%9a%94%ea%b8%88-%ec%a4%91%ec%95%99%ec%84%a0-%eb%8c%80%ea%b5%ac/" aria-label="아화역 기차 시간표 상하행 ITX-마음 요금 중앙선 대구 청량리 부전 정차역 전체 읽기">자세히 보기</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> 공식 자료를 분석하여 아화역 기차 시간표와 이용자들을 위한 아화역 주차장, 연계 교통 정보를 정리하였으며, 경주 아화역의 새로운 변화를 통해 효율적인 여행을 준비하시는 분들께 이 자료가 좋은 역할을 하였으면 합니다.</p>



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



<h2 class="wp-block-heading">중앙선 아화역 기차 ITX-마음 정차</h2>



<h3 class="wp-block-heading">수도권과 영남권을 잇는 새로운 철도</h3>



<p class="wp-block-paragraph">ITX-마음 아화역 정차 소식은 인근 주민들뿐만 아니라 경주를 찾는 여행객들에게도 매우 반가운 소식입니다. 아화역 기차 시간표를 살펴보면 아화역에서 동대구, 아화역에서 포항, 아화역에서 영천 그리고 아화역에서 부전 방면까지 상하행 노선이 고르게 배차되어 있습니다. 특히 아화역 예매 시스템이 코레일톡을 통해 간편해지면서, 경북 내륙의 주요 도시를 잇는 경주 외곽 기차역으로서의 존재감을 톡톡히 드러내고 있습니다.</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%b2%bd%ec%a3%bc-%ec%95%84%ed%99%94%ec%97%ad%ec%9d%98-%ea%b0%80%ec%a1%b1-%ec%97%ac%ed%96%89%ea%b3%bc-%ed%8f%90%ec%97%ad-%ea%b7%b8%eb%a6%ac%ea%b3%a0-%ed%95%a8%ea%bb%98%ed%95%9c-%ea%b0%84%ec%9d%b4/">경주 아화역의 가족 여행과 폐역, 그리고 함께한 간이역</a>] 글을 통해 이곳의 따뜻한 분위기를 접하셨을 텐데요. 최근에는 [<a href="https://krailroad.co.kr/%ed%8f%90%ec%97%ad%eb%90%9c-%ea%b2%bd%ec%a3%bc-%ec%95%84%ed%99%94%ec%97%ad%ea%b3%bc-%ea%b1%b4%ec%b2%9c%ec%97%ad%ec%97%90%ec%84%9c-%ec%b0%be%ec%9d%80-%ea%b0%80%ec%a1%b1%ec%9d%98-%eb%98%90-%eb%8b%a4/">폐역된 경주 아화역과 건천역에서 찾은 가족의 또 다른 추억</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>



<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-itx">ITX-마음</span></td><td><span class="train-detail">1602호</span><div class="time-display">08:57</div><div class="arrival-info">10:13 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">17:07</div><div class="arrival-info">18:22 도착</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">1602호</span><div class="time-display">08:57</div><div class="arrival-info">11:19 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">17:07</div><div class="arrival-info">19:25 도착</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">1602호</span><div class="time-display">08:57</div><div class="arrival-info">12:56 도착</div></td><td><span class="train-detail">1604호</span><div class="time-display">17:07</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">10:26</div><div class="arrival-info">10:43 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">18:38</div><div class="arrival-info">18:55 도착</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">10:26</div><div class="arrival-info">11:13 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">18:38</div><div class="arrival-info">19:23 도착</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">10:26</div><div class="arrival-info">12:20 도착</div></td><td><span class="train-detail">1603호</span><div class="time-display">18:38</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>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>22,100</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">제천</td><td class="highlight">아화</td><td>12,900</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">안동</td><td class="highlight">아화</td><td>6,700</td></tr><tr><td>중앙1</td><td>무궁화</td><td class="highlight">아화</td><td class="highlight">경주</td><td>2,600</td></tr><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>8,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">✅ <s>아화역 KTX 노선 없음</s><br>✅ <s>아화역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%ec%95%84%ed%99%94%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%83%81%ed%95%98%ed%96%89-itx-%eb%a7%88%ec%9d%8c-%ec%9a%94%ea%b8%88-%ec%a4%91%ec%95%99%ec%84%a0-%eb%8c%80%ea%b5%ac/">아화역 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>ITX-마음 누리로 </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><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>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>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>



<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>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>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">실시간 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%B2%BD%EC%A3%BC%EC%95%84%ED%99%94%EC%A0%84%ED%86%B5%EA%B5%AD%EC%88%98+%EB%8C%80%EA%B5%AC%EC%97%AD%EB%A1%AF%EB%8D%B0%EC%A7%81%EC%98%81%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+10%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 10층</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%A8%EC%9B%94%EC%BB%A4%ED%94%BC+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EA%B2%BD%EC%A3%BC%EC%8B%9C+%EC%84%9C%EB%A9%B4+%EC%95%84%ED%99%94%EB%A6%AC+703+%ED%95%A8%EC%9B%94%EC%BB%A4%ED%94%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;">함월커피</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;">경상북도 경주시 서면 아화리 703 함월커피</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%95%84%ED%99%94%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/03/아화역-기차-시간표-ITX-마음-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="아화역-기차-시간표-ITX-마음-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-19131" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/아화역-기차-시간표-ITX-마음-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/03/아화역-기차-시간표-ITX-마음-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/03/아화역-기차-시간표-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/%eb%82%a8%ec%b0%bd%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c-%ec%a4%91%ec%95%99%ec%84%a0-%eb%85%b8%ec%84%a0-%ec%b2%ad%eb%9f%89%eb%a6%ac-%ec%84%9c%ec%9a%b8-%eb%b0%a9%eb%a9%b4/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Tue, 03 Mar 2026 08:00:49 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[남창역 KTX]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=19112</guid>

					<description><![CDATA[그동안 서울이나 안동 쪽에서 울산 남부권을 찾으려면 어딘지 모르게 멀리 돌아가는 기분을 지우기 어려웠습니다. 남창역 시간표(KTX)를 타고 부산역이나 울산역(통도사)에 내려서도 정작 목적지인 남창까지 다시 버스나 택시를 잡아야 하는 번거로움이 컸기 때문인데요. 이제 코레일 공식자를 이용한 남창역 KTX를 확인하고 열차에 몸을 싣는다면 이런 고생은 옛말이 되었습니다. 열차 문이 열리자마자 울주군의 푸른 바다와 정겨운 옹기마을이 코앞에 펼쳐지는 ... <a title="남창역 시간표 KTX-이음 중앙선 노선 청량리 서울 방면 정차역 요금 안내" class="read-more button" href="https://krailroad.co.kr/%eb%82%a8%ec%b0%bd%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c-%ec%a4%91%ec%95%99%ec%84%a0-%eb%85%b8%ec%84%a0-%ec%b2%ad%eb%9f%89%eb%a6%ac-%ec%84%9c%ec%9a%b8-%eb%b0%a9%eb%a9%b4/" aria-label="남창역 시간표 KTX-이음 중앙선 노선 청량리 서울 방면 정차역 요금 안내 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">그동안 서울이나 안동 쪽에서 울산 남부권을 찾으려면 어딘지 모르게 멀리 돌아가는 기분을 지우기 어려웠습니다. 남창역 시간표(KTX)를 타고 부산역이나 울산역(통도사)에 내려서도 정작 목적지인 남창까지 다시 버스나 택시를 잡아야 하는 번거로움이 컸기 때문인데요. 이제 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식자를 이용한 남창역 KTX를 확인하고 열차에 몸을 싣는다면 이런 고생은 옛말이 되었습니다.</p>



<p class="wp-block-paragraph">열차 문이 열리자마자 울주군의 푸른 바다와 정겨운 옹기마을이 코앞에 펼쳐지는 것을 경험하실 수 있는데, 이는 여행의 시작부터 남다른 느낌을 받으실 수 있습니다. 특히 서울에서 남창역 KTX를 타고 환승 없이 직행할 수 있게 되면서, 혼행이나 가족 여행은 물론이고 시간이 금인 비즈니스로 남창역을 이용하는 분들에게도 편리한 열차 이용이 가능하게 되었습니다.</p>



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



<h2 class="wp-block-heading">중앙선과 동해선-남창역 시간표</h2>



<h3 class="wp-block-heading">환승 없는 청량리-안동-남창 라인</h3>



<p class="wp-block-paragraph">중앙선 KTX 남창역 노선이 개통되면서 남창역 청량리 KTX 구간을 이용하는 분들의 이동 동선이 매우 간결해졌으며, 이전에는 상상하기 힘들었던 남창역 KTX 소요 시간의 단축은 울주군을 수도권 3시간 생활권으로 끌어들였는데요. 남창역 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>



<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="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">708호</span><div class="time-display">10:35</div><div class="arrival-info">11:12 도착</div></td><td><span class="train-detail">708호</span><div class="time-display">10:35</div><div class="arrival-info">11:12 도착</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">708호</span><div class="time-display">10:35</div><div class="arrival-info">12:01 도착</div></td><td><span class="train-detail">708호</span><div class="time-display">10:35</div><div class="arrival-info">12:01 도착</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">708호</span><div class="time-display">10:35</div><div class="arrival-info">12:53 도착</div></td><td><span class="train-detail">708호</span><div class="time-display">10:35</div><div class="arrival-info">12:53 도착</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">708호</span><div class="time-display">10:35</div><div class="arrival-info">14:13 도착</div></td><td><span class="train-detail">708호</span><div class="time-display">10:35</div><div class="arrival-info">14:13 도착</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">708호</span><div class="time-display">10:35</div><div class="arrival-info">14:33 도착</div></td><td><span class="train-detail">708호</span><div class="time-display">10:35</div><div class="arrival-info">14: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">708호</span><div class="time-display">10:35</div><div class="arrival-info">10:02 도착</div></td><td><span class="train-detail">708호</span><div class="time-display">10:35</div><div class="arrival-info">10:02 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong><strong><strong>남창</strong></strong>역 </strong>KTX-이음 <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></tr></thead><tbody><tr><td>중앙K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">남창</td><td>기본</td><td>52,100</td><td>62,500</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">청량리</td><td class="highlight">남창</td><td>기본</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>35,100</td><td>42,100</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">안동</td><td class="highlight">남창</td><td>기본</td><td>22,800</td><td>27,400</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">경주</td><td class="highlight">남창</td><td>기본</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>8,400</td><td>11,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">✅ <a href="https://krailroad.co.kr/%eb%82%a8%ec%b0%bd%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c-%ec%a4%91%ec%95%99%ec%84%a0-%eb%85%b8%ec%84%a0-%ec%b2%ad%eb%9f%89%eb%a6%ac-%ec%84%9c%ec%9a%b8-%eb%b0%a9%eb%a9%b4/">남창역 KTX 시간표 바로가기</a><br>✅ <s>남창역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%eb%82%a8%ec%b0%bd%ec%97%ad-itx-%eb%a7%88%ec%9d%8c-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%95%88%eb%82%b4-%eb%8f%99%ed%95%b4%c2%b7%ea%b0%95%eb%a6%89%c2%b7%ec%b2%ad%eb%9f%89%eb%a6%ac%c2%b7/">남창역 ITX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%eb%82%a8%ec%b0%bd%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b6%80%ec%a0%84%c2%b7%eb%8f%99%eb%8c%80%ea%b5%ac%c2%b7%ed%83%9c%ed%99%94%ea%b0%95/">남창역 누리로 시간표 바로가기</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>KTX-이음 </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><th>단양</th><th>제천</th><th>원주</th><th>서원주</th><th>양평</th><th>청량리</th><th>서울</th><th>비고</th></tr></thead><tbody><tr><td>708</td><td>KTX-이음</td><td>10:35</td><td>10:50</td><td>11:12</td><td>11:30</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></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></tr></thead><tbody><tr><td>713</td><td>KTX-이음</td><td>19:59</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">실시간 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;">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/%ED%8C%8C%EB%A6%AC%EB%B0%94%EA%B2%8C%EB%9C%A8+%EC%9A%B8%EC%82%B0%EB%82%A8%EC%B0%BD%EC%A0%90+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%9A%B8%EC%A3%BC%EA%B5%B0+%EC%98%A8%EC%96%91%EC%9D%8D+%EB%8C%80%EC%95%88%EB%A6%AC+573-1+%ED%8C%8C%EB%A6%AC%EB%B0%94%EA%B2%8C%EB%9C%A8+%EC%9A%B8%EC%82%B0%EB%82%A8%EC%B0%BD" 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-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%9A%9D%EB%B0%B0%EA%B8%B0%EC%84%A0%EC%A7%80%EA%B5%AD%EB%B0%A5+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%9A%B8%EC%A3%BC%EA%B5%B0+%EC%98%A8%EC%96%91%EC%9D%8D+%EB%82%A8%EC%B0%BD%EB%A6%AC+149-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;">울산광역시 울주군 온양읍 남창리 149-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%9A%B8%EC%82%B0%EC%98%A8%EC%96%91%EC%A0%90+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%9A%B8%EC%A3%BC%EA%B5%B0+%EC%98%A8%EC%96%91%EC%9D%8D+%EC%9A%B4%ED%99%94%EB%A6%AC+54-11" 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;">울산광역시 울주군 온양읍 운화리 54-11</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%8B%A0%EB%AA%85%EC%82%B0%EC%9E%A5+%EB%82%A8%EC%B0%BD%EC%A0%90+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%9A%B8%EC%A3%BC%EA%B5%B0+%EC%98%A8%EC%96%91%EC%9D%8D+%EC%9A%B4%ED%99%94%EB%A6%AC+3-1+%EC%8B%A0%EB%AA%85%EC%82%B0%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;">울산광역시 울주군 온양읍 운화리 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%9A%9C%EB%A0%88%EC%A5%AC%EB%A5%B4+%EC%9A%B8%EC%82%B0%EB%82%A8%EC%B0%BD%EC%A0%90+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%9A%B8%EC%A3%BC%EA%B5%B0+%EC%98%A8%EC%96%91%EC%9D%8D+%EC%9A%B4%ED%99%94%EB%A6%AC+55-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;">울산광역시 울주군 온양읍 운화리 55-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;">300원</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;">100원</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;">6,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> 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> 울산광역시 울주군 남창역길 40</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%82%A8%EC%B0%BD%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/03/남창역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="남창역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-19142" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/남창역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, 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: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>센텀역 KTX-이음 노선 시간표 청량리 서울행 정차역요금 완벽정리</title>
		<link>https://krailroad.co.kr/%ec%84%bc%ed%85%80%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-%eb%85%b8%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b2%ad%eb%9f%89%eb%a6%ac-%ec%84%9c%ec%9a%b8%ed%96%89-%ec%a0%95%ec%b0%a8%ec%97%ad%ec%9a%94%ea%b8%88/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Tue, 03 Mar 2026 07:47:53 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[센텀역 KTX]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=19105</guid>

					<description><![CDATA[매번 부산역에 내려서 다시 지하철이나 택시로 40분 넘게 들어와야 했던 센텀행 경로가 센텀역 KTX-이음 덕분에 획기적으로 짧아졌으며, 복잡한 도심 지하철 환승 대신 기차에서 내리자마자 바로 부산의 세련된 도심 한복판을 마주하게 된 것입니다. 특히 서울에서 벡스코 KTX를 이용해 출장을 오거나 행사에 참여하는 분들에게는 편리한 이동이 가능하게 되었습니다. 이번 포스팅은 코레일과 공공데이터를 이용한 열차 운행 정보와 API ... <a title="센텀역 KTX-이음 노선 시간표 청량리 서울행 정차역요금 완벽정리" class="read-more button" href="https://krailroad.co.kr/%ec%84%bc%ed%85%80%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-%eb%85%b8%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b2%ad%eb%9f%89%eb%a6%ac-%ec%84%9c%ec%9a%b8%ed%96%89-%ec%a0%95%ec%b0%a8%ec%97%ad%ec%9a%94%ea%b8%88/" aria-label="센텀역 KTX-이음 노선 시간표 청량리 서울행 정차역요금 완벽정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">매번 부산역에 내려서 다시 지하철이나 택시로 40분 넘게 들어와야 했던 센텀행 경로가 센텀역 KTX-이음 덕분에 획기적으로 짧아졌으며, 복잡한 도심 지하철 환승 대신 기차에서 내리자마자 바로 부산의 세련된 도심 한복판을 마주하게 된 것입니다. 특히 서울에서 벡스코 KTX를 이용해 출장을 오거나 행사에 참여하는 분들에게는 편리한 이동이 가능하게 되었습니다.</p>



<p class="wp-block-paragraph">이번 포스팅은 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a>과 공공데이터를 이용한 열차 운행 정보와 API 데이터를 기반으로 작성 하였으며, 부산역 대신 센텀역을 선택했을 때 이용할 수 있는 시간적 이득과 KTX-이음 예매 시 놓치지 말아야 할 포인트들을 중점적으로 살펴보겠습니다.</p>



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



<h2 class="wp-block-heading">센텀역 KTX-이음 청량리·안동 노선</h2>



<h3 class="wp-block-heading">중앙선 KTX 센텀 노선</h3>



<p class="wp-block-paragraph">그동안 해운대나 센텀 지역을 가기 위해 거쳐야 했던 번거로운 과정들이 중앙선 KTX 센텀 직통 노선으로 해결되었습니다. 센텀역 청량리 KTX 구간이나 센텀역 안동 KTX를 타면 서울과 경북 주요 도시에서 부산 동부권까지 끊김 없이 연결되는데요. 센텀역 KTX 노선도를 확인해 보면 기존 경부선과는 또 다른 쾌적함을 느낄 수 있으며, 센텀시티 KTX 시대의 개막은 비즈니스와 관광 모두를 만족시키는 결과를 가져왔습니다.</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>



<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="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">706호</span><div class="time-display">8:11</div><div class="arrival-info">9:17 도착</div></td><td><span class="train-detail">706호</span><div class="time-display">8:11</div><div class="arrival-info">9:17 도착</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">706호</span><div class="time-display">8:11</div><div class="arrival-info">10:02 도착</div></td><td><span class="train-detail">706호</span><div class="time-display">8:11</div><div class="arrival-info">10:02 도착</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">706호</span><div class="time-display">8:11</div><div class="arrival-info">10:44 도착</div></td><td><span class="train-detail">706호</span><div class="time-display">8:11</div><div class="arrival-info">10: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-ktx">KTX</span></td><td><span class="train-detail">706호</span><div class="time-display">8:11</div><div class="arrival-info">11:58 도착</div></td><td><span class="train-detail">706호</span><div class="time-display">8:11</div><div class="arrival-info">11: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">706호</span><div class="time-display">8:11</div><div class="arrival-info">8:00 도착</div></td><td><span class="train-detail">706호</span><div class="time-display">8:11</div><div class="arrival-info">8:00 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong><strong><strong>센텀</strong></strong>역 </strong>KTX-이음 <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></tr></thead><tbody><tr><td>중앙K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">센텀</td><td>기본</td><td>56,100</td><td>67,300</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">청량리</td><td class="highlight">센텀</td><td>기본</td><td>54,500</td><td>65,400</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">제천</td><td class="highlight">센텀</td><td>기본</td><td>39,100</td><td>46,900</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">안동</td><td class="highlight">센텀</td><td>기본</td><td>26,800</td><td>32,200</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">경주</td><td class="highlight">센텀</td><td>기본</td><td>11,500</td><td>14,500</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">센텀</td><td class="highlight">부전</td><td>기본</td><td>8,400</td><td>11,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">✅ <a href="https://krailroad.co.kr/%ec%84%bc%ed%85%80%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-%eb%85%b8%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b2%ad%eb%9f%89%eb%a6%ac-%ec%84%9c%ec%9a%b8%ed%96%89-%ec%a0%95%ec%b0%a8%ec%97%ad%ec%9a%94%ea%b8%88/">센텀역 KTX 시간표 바로가기</a><br>✅ <s>센텀역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%ec%84%bc%ed%85%80%ec%97%ad-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%b2%ad%eb%9f%89%eb%a6%ac%c2%b7%ec%95%88%eb%8f%99%c2%b7%eb%8f%99%ed%95%b4%ed%96%89%ec%a0%9c%ec%b2%9c-%ed%83%9c/">센텀역 ITX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ec%84%bc%ed%85%80%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%8f%99%eb%8c%80%ea%b5%ac%c2%b7%ed%8f%ac%ed%95%ad%ed%96%89%ed%83%9c%ed%99%94%ea%b0%95-%ea%b2%bd%ec%a3%bc/">센텀역 누리로 시간표 바로가기</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>KTX-이음 </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><th>제천</th><th>원주</th><th>서원주</th><th>청량리</th><th>비고</th></tr></thead><tbody><tr><td>706</td><td>KTX-이음</td><td>8:11</td><td>8:24</td><td>8:50</td><td>8:59</td><td>9:17</td><td>10:02</td><td>10:17</td><td>10:44</td><td>11:01</td><td>11:12</td><td>11:58</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>713</td><td>KTX-이음</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">실시간 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;">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%83%81%EB%AC%B4%EC%B4%88%EB%B0%A5+%ED%95%B4%EC%9A%B4%EB%8C%80%EC%84%BC%ED%85%80%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%ED%95%B4%EC%9A%B4%EB%8C%80%EA%B5%AC+%EC%9A%B0%EB%8F%99+1473+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;">부산광역시 해운대구 우동 1473 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%8B%9D%EB%8B%B93%EC%84%A0+%EC%84%BC%ED%85%80%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%ED%95%B4%EC%9A%B4%EB%8C%80%EA%B5%AC+%EC%9E%AC%EC%86%A1%EB%8F%99+672-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;">식당3선 센텀점</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;">부산광역시 해운대구 재송동 672-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%94%A4%EB%94%A4%EC%84%AC+%EC%8B%A0%EC%84%B8%EA%B3%84%EB%B0%B1%ED%99%94%EC%A0%90+%EC%84%BC%ED%85%80%EC%8B%9C%ED%8B%B0%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%ED%95%B4%EC%9A%B4%EB%8C%80%EA%B5%AC+%EC%9A%B0%EB%8F%99+1495+9%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;">부산광역시 해운대구 우동 1495 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/%EC%8A%A4%ED%83%80%EB%B2%85%EC%8A%A4+%EC%84%BC%ED%85%80%EC%8B%A0%EC%84%B8%EA%B3%84B1%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%ED%95%B4%EC%9A%B4%EB%8C%80%EA%B5%AC+%EC%9A%B0%EB%8F%99+1495+%EC%84%BC%ED%85%80%EC%8B%9C%ED%8B%B0+%EC%8B%A0%EC%84%B8%EA%B3%84UEC" 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;">스타벅스 센텀신세계B1점</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;">부산광역시 해운대구 우동 1495 센텀시티 신세계UEC</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%89%B4+%EB%B0%94%EC%9D%B4+%EA%B3%A0%EB%93%A0%EB%9E%A8%EC%A7%80+%EC%84%BC%ED%85%80%EC%8B%9C%ED%8B%B0%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%ED%95%B4%EC%9A%B4%EB%8C%80%EA%B5%AC+%EC%9A%B0%EB%8F%99+1495+%EC%A7%80%ED%95%981%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;">부산광역시 해운대구 우동 1495 지하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%84%BC%ED%85%80%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/03/센텀역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="센텀역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-19138" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/센텀역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, 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: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>신해운대역 KTX-이음 시간표 중앙선 서울 부전행 요금 정차역 안내</title>
		<link>https://krailroad.co.kr/%ec%8b%a0%ed%95%b4%ec%9a%b4%eb%8c%80%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%a4%91%ec%95%99%ec%84%a0-%ec%84%9c%ec%9a%b8-%eb%b6%80%ec%a0%84%ed%96%89-%ec%9a%94%ea%b8%88-%ec%a0%95/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Tue, 03 Mar 2026 07:39:46 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[신해운대역 KTX]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=19094</guid>

					<description><![CDATA[매번 부산역에 내려서 해운대까지 한참을 들어와야 했던 수고로움이 신해운대역 KTX-이음 덕분에 싹 사라졌습니다. 이제는 복잡한 서면이나 광안리를 거치지 않고도 서울에서 해운대 바다까지 곧장 닿는 길이 열린 것인데, 해운대 강남 직통 노선을 기다려온 분들이나 부산 동쪽의 여유로운 분위기를 선호하는 분들에게는 이보다 더 편한 이동 수단은 없을 듯합니다. 공공데이터의 최신 철도 노선과 API 실시간 운영 현황을 바탕으로 ... <a title="신해운대역 KTX-이음 시간표 중앙선 서울 부전행 요금 정차역 안내" class="read-more button" href="https://krailroad.co.kr/%ec%8b%a0%ed%95%b4%ec%9a%b4%eb%8c%80%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%a4%91%ec%95%99%ec%84%a0-%ec%84%9c%ec%9a%b8-%eb%b6%80%ec%a0%84%ed%96%89-%ec%9a%94%ea%b8%88-%ec%a0%95/" aria-label="신해운대역 KTX-이음 시간표 중앙선 서울 부전행 요금 정차역 안내 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">매번 부산역에 내려서 해운대까지 한참을 들어와야 했던 수고로움이 신해운대역 KTX-이음 덕분에 싹 사라졌습니다. 이제는 복잡한 서면이나 광안리를 거치지 않고도 서울에서 해운대 바다까지 곧장 닿는 길이 열린 것인데, 해운대 강남 직통 노선을 기다려온 분들이나 부산 동쪽의 여유로운 분위기를 선호하는 분들에게는 이보다 더 편한 이동 수단은 없을 듯합니다.</p>



<p class="wp-block-paragraph"><a href="https://www.data.go.kr/index.do" target="_blank" rel="noopener">공공데이터</a>의 최신 철도 노선과 API 실시간 운영 현황을 바탕으로 신해운대역 이음 시간표와 현장 인프라를 정리했습니다. 해운대 당일치기 KTX 여행을 계획하거나 출장길을 나서는 분들께 KTX 예매 전 꼭 챙겨야 할 사전 정보를 알려드리겠습니다.</p>



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



<h2 class="wp-block-heading">신해운대역 KTX-이음 운행 안내</h2>



<h3 class="wp-block-heading">중앙선 노선과 부산의 변화</h3>



<p class="wp-block-paragraph">청량리역에서 신해운대까지, 그리고 안동에서 해운대 KTX를 타고 환승 없이 한 번에 이동할 수 있게 되면서 신해운대역 KTX 소요 시간은 비약적으로 줄어들었습니다. 이제는 굳이 부산역 대신 신해운대역을 이용하는 것이 해운대나 기장 쪽으로 향하는 가장 효과적인 이동 방법이 되었습니다.</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>



<h3 class="wp-block-heading">엘시티와 해수욕장 해운대 라이프</h3>



<p class="wp-block-paragraph">역에서 내려 차로 10분 정도면 신해운대역에서 해운대 해수욕장의 시원한 파도를 마주할 수 있습니다. 특히 엘시티 근처 기차역을 찾는 분들에게는 최적의 위치이며, 해운대 출장 KTX 이용객들에게도 복잡한 시내를 거치지 않는 이 노선이 최고의 대안이 되고 있습니다. 해운대 가는법이 다양해진 만큼 본인의 숙소 위치나 일정에 맞춰 신해운대역을 적극 활용해 보세요.</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">704호</span><div class="time-display">6:09</div><div class="arrival-info">7:04 도착</div></td><td><span class="train-detail">718호</span><div class="time-display">19:27</div><div class="arrival-info">20:22 도착</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">704호</span><div class="time-display">6:09</div><div class="arrival-info">7:55 도착</div></td><td><span class="train-detail">718호</span><div class="time-display">19:27</div><div class="arrival-info">21:07 도착</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">704호</span><div class="time-display">6:09</div><div class="arrival-info">8:43 도착</div></td><td><span class="train-detail">718호</span><div class="time-display">19:27</div><div class="arrival-info">21: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-ktx">KTX</span></td><td><span class="train-detail">704호</span><div class="time-display">6:09</div><div class="arrival-info">9:59 도착</div></td><td><span class="train-detail">718호</span><div class="time-display">19:27</div><div class="arrival-info">22:58 도착</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">704호</span><div class="time-display">6:09</div><div class="arrival-info">10:19 도착</div></td><td><span class="train-detail">714호</span><div class="time-display">14:58</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">704호</span><div class="time-display">6:09</div><div class="arrival-info">5:54 도착</div></td><td><span class="train-detail">718호</span><div class="time-display">19:27</div><div class="arrival-info">19:12 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong><strong><strong>신해운대</strong></strong>역 </strong>KTX-이음 <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></tr></thead><tbody><tr><td>중앙K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">신해운대</td><td>기본</td><td>55,500</td><td>66,600</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">청량리</td><td class="highlight">신해운대</td><td>기본</td><td>53,800</td><td>64,600</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">제천</td><td class="highlight">신해운대</td><td>기본</td><td>38,500</td><td>46,200</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">안동</td><td class="highlight">신해운대</td><td>기본</td><td>26,100</td><td>31,300</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">경주</td><td class="highlight">신해운대</td><td>기본</td><td>10,900</td><td>13,900</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">신해운대</td><td class="highlight">부전</td><td>기본</td><td>8,400</td><td>11,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">✅ <a href="https://krailroad.co.kr/%ec%8b%a0%ed%95%b4%ec%9a%b4%eb%8c%80%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%a4%91%ec%95%99%ec%84%a0-%ec%84%9c%ec%9a%b8-%eb%b6%80%ec%a0%84%ed%96%89-%ec%9a%94%ea%b8%88-%ec%a0%95/">신해운대역 KTX 시간표 바로가기</a><br>✅ <s>신해운대역 SRT 노선 없음</s><br>✅ <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/">신해운대역 ITX 시간표 바로가기</a><br>✅ <s>신해운대역 누리로 노선 없음</s></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>KTX-이음 </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><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>6:09</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>9:59</td><td>10:19</td><td>매일</td></tr><tr><td>710</td><td>KTX-이음</td><td>12:21</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>15:58</td><td>16:04</td><td></td><td>매일</td></tr><tr><td>714</td><td>KTX-이음</td><td>14:58</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>18:51</td><td>19:13</td><td>매일</td></tr><tr><td>718</td><td>KTX-이음</td><td>19:27</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>22:52</td><td>22:58</td><td></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>703</td><td>KTX-이음</td><td>10:21</td><td>10:34</td><td>매일</td></tr><tr><td>707</td><td>KTX-이음</td><td>15:12</td><td>15:27</td><td>매일</td></tr><tr><td>711</td><td>KTX-이음</td><td>18:27</td><td>18:41</td><td>매일</td></tr><tr><td>715</td><td>KTX-이음</td><td>22:40</td><td>22:54</td><td>매일</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 = '21';
            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%9C%A0%EC%9C%A0%EC%B9%B4%EC%B8%A0+%EB%B6%80%EC%82%B0%ED%95%B4%EC%9A%B4%EB%8C%80%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%ED%95%B4%EC%9A%B4%EB%8C%80%EA%B5%AC+%EC%A2%8C%EB%8F%99+890+2%EC%B8%B5+%EC%9C%A0%EC%9C%A0%EC%B9%B4%EC%B8%A0" 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;">부산광역시 해운대구 좌동 890 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%A0%95%EC%84%9D%EC%A7%91+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%ED%95%B4%EC%9A%B4%EB%8C%80%EA%B5%AC+%EC%A2%8C%EB%8F%99+907-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;">부산광역시 해운대구 좌동 907-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%95%B4%EC%9A%B4%EB%8C%80+%ED%95%98%EC%84%A0%EC%A7%91+%ED%95%9C%EC%9A%B0%EB%B6%88%EA%B3%A0%EA%B8%B0+%EC%9C%A1%ED%9A%8C%EB%B9%84%EB%B9%94%EB%B0%A5+%EC%A0%84%EB%AC%B8%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%ED%95%B4%EC%9A%B4%EB%8C%80%EA%B5%AC+%EC%A2%8C%EB%8F%99+1461-7+102%ED%98%B8+%ED%95%B4%EC%9A%B4%EB%8C%80+%ED%95%98%EC%84%A0%EC%A7%91+%ED%95%9C%EC%9A%B0%EB%B6%88%EA%B3%A0%EA%B8%B0+%EC%9C%A1%ED%9A%8C%EB%B9%84%EB%B9%94%EB%B0%A5+%EC%A0%84%EB%AC%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;">부산광역시 해운대구 좌동 1461-7 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/%EC%8A%A4%EC%8B%9C%EB%AF%B8%EB%A5%B4%EB%84%A4+%EB%B3%B8%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%ED%95%B4%EC%9A%B4%EB%8C%80%EA%B5%AC+%EC%A2%8C%EB%8F%99+1466-4+%EC%9D%BC%EC%A7%84%EB%B9%8C%EB%94%A9+1%EC%B8%B5+100%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;">부산광역시 해운대구 좌동 1466-4 일진빌딩 1층 100호</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%A8%EC%9E%90%EB%A7%88%EB%8A%98%EB%B3%B4%EC%8C%88+%ED%95%B4%EC%9A%B4%EB%8C%80%EC%A2%8C%EB%8F%99%EB%B3%B8%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%ED%95%B4%EC%9A%B4%EB%8C%80%EA%B5%AC+%EC%A2%8C%EB%8F%99+986+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;">부산광역시 해운대구 좌동 986 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%8B%A0%ED%95%B4%EC%9A%B4%EB%8C%80%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/03/신해운대역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="신해운대역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-19136" srcset="https://krailroad.co.kr/wp-content/uploads/2026/03/신해운대역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, 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: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>강릉역 시간표 KTX-이음 ITX-마음 누리로 서울 청량리 부전행 요금과 정차역</title>
		<link>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/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 26 Feb 2026 05:24:45 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[강릉역 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=18954</guid>

					<description><![CDATA[강릉역 시간표, 강원도 철도 교통의 심장이자 강릉선과 동해선의 종착역인 강릉역은 KTX-이음과 ITX-마음 그리고 누리로의 개통으로 &#8216;서울-강릉과 동대구-강릉, 강릉-부전, 강릉-동대구&#8217; 시대를 열며 동해안 여행의 지도를 완전히 새롭게 그렸습니다. 단순히 수도권을 잇는 관문을 넘어, 이제는 영덕과 포항, 부전을 연결하는 동해선의 기점이자 향후 동해북부선 개통의 전초기지로서 동해안 기차의 끝과 시작을 동시에 담당하고 있습니다. 그래서 이번 자료는 코레일 공식 ... <a title="강릉역 시간표 KTX-이음 ITX-마음 누리로 서울 청량리 부전행 요금과 정차역" class="read-more button" 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/" aria-label="강릉역 시간표 KTX-이음 ITX-마음 누리로 서울 청량리 부전행 요금과 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">강릉역 시간표, 강원도 철도 교통의 심장이자 강릉선과 동해선의 종착역인 강릉역은 KTX-이음과 ITX-마음 그리고 누리로의 개통으로 &#8216;서울-강릉과 동대구-강릉, 강릉-부전, 강릉-동대구&#8217; 시대를 열며 동해안 여행의 지도를 완전히 새롭게 그렸습니다. 단순히 수도권을 잇는 관문을 넘어, 이제는 영덕과 포항, 부전을 연결하는 동해선의 기점이자 향후 동해북부선 개통의 전초기지로서 동해안 기차의 끝과 시작을 동시에 담당하고 있습니다.</p>



<p class="wp-block-paragraph">그래서 이번 자료는 <a href="https://etk.srail.kr/main.do" target="_blank" rel="noopener">코레일 공식 사이트</a> 자료와 공공데이터의 최신 실시간 API를 분석하여 강릉역 KTX 이음 ITX-마음 누리로 열차의 강릉역 시간표 현황을 정리했습니다. 강릉 당일치기 기차 여행을 계획하거나 동해안을 따라 내려가는 동해안 열차 여행을 준비하는 분들께 실제적인 자료가 될것입니다.</p>



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



<h2 class="wp-block-heading">강릉역 KTX·ITX·누리로 이용 안내</h2>



<h3 class="wp-block-heading">서울과 동해안을 잇는 레일 노선</h3>



<p class="wp-block-paragraph">서울역에서 강릉역까지, 그리고 청량리역에서 강릉역까지 이어지는 KTX 노선은 강원도 여행의 물리적 거리를 획기적으로 좁혔습니다. 강릉역 시간표를 살펴보면 수도권행 열차 외에도 강릉역에서 정동진, 강릉역에서 묵호, 강릉역에서 동해역으로 향하는 강릉역 누리로와 ITX-마음이 촘촘하게 배치되어 있습니다. 특히 동대구 부전 방면으로 향하는 남행 열차들은 영덕과 포항을 거쳐 경상권까지 발빠르게 연결하며 광역 철도망의 진면목을 보여주고 있습니다.</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">강릉역에서 대중교통이나 도보로 금방 닿는 강릉중앙시장 가는법은 여행자들의 단골 질문 중 하나이며, 시장 구경과 함께 든든하게 배를 채운 뒤에는 강릉역에서 안목해변까지 이어지는 커피 향 가득한 코스를 즐기기 좋으며, 역 주변에 밀집한 강릉역 근처 카페들은 기차 시간을 기다리며 여유를 즐기기에 좋습니다.</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="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">5:20</div><div class="arrival-info">6:17 도착</div></td><td><span class="train-detail">870호</span><div class="time-display">20:04</div><div class="arrival-info">21: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-ktx">KTX</span></td><td><span class="train-detail">802호</span><div class="time-display">5:20</div><div class="arrival-info">7:03 도착</div></td><td><span class="train-detail">828호</span><div class="time-display">22:27</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">802호</span><div class="time-display">5:20</div><div class="arrival-info">7:23 도착</div></td><td><span class="train-detail">828호</span><div class="time-display">22:27</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="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">22:53 도착</div></td><td><span class="train-detail">1824호</span><div class="time-display">19:58</div><div class="arrival-info">22:53 도착</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">10:17 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">12:30</div><div class="arrival-info">15:59 도착</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">1824호</span><div class="time-display">19:58</div><div class="arrival-info">23:13 도착</div></td><td><span class="train-detail">1824호</span><div class="time-display">19:58</div><div class="arrival-info">23:13 도착</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">10:40 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">12:30</div><div class="arrival-info">16:23 도착</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">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="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">11:43 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">18:35</div><div class="arrival-info">20:36 도착</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">752호</span><div class="time-display">09:36</div><div class="arrival-info">12:06 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">18:35</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-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><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">13:36 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">18:35</div><div class="arrival-info">22:29 도착</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">1822호</span><div class="time-display">05:46</div><div class="arrival-info">09:39 도착</div></td><td><span class="train-detail">1822호</span><div class="time-display">05:46</div><div class="arrival-info">09: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-itx">ITX-마음</span></td><td><span class="train-detail">1822호</span><div class="time-display">05:46</div><div class="arrival-info">09:31 도착</div></td><td><span class="train-detail">1822호</span><div class="time-display">05:46</div><div class="arrival-info">09: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">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></tbody></table></div>



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



<h2 class="wp-block-heading"><strong><strong>강릉</strong>역 KTX·</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><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>27,600</td><td>33,100</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>동해A</td><td>ITX</td><td class="highlight">강릉</td><td class="highlight">경주</td><td>-</td><td>24,800</td><td>0</td><td>0</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">강릉</td><td class="highlight">경주</td><td>기본</td><td>0</td><td>34,300</td><td>41,200</td></tr><tr><td>동해B</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>동해2</td><td>무궁화</td><td class="highlight">강릉</td><td class="highlight">동대구</td><td>-</td><td>21,300</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>28,800</td><td>0</td><td>0</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">강릉</td><td class="highlight">태화강</td><td>기본</td><td>0</td><td>40,200</td><td>48,200</td></tr><tr><td>동해A</td><td>ITX</td><td class="highlight">강릉</td><td class="highlight">북울산</td><td>-</td><td>27,900</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>34,900</td><td>0</td><td>0</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">강릉</td><td class="highlight">부전</td><td>기본</td><td>0</td><td>46,800</td><td>56,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>강릉역 SRT 노선 없음</s><br>✅ <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/">강릉역 KTX, 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>KTX·ITX·누리로 </strong>시간표</strong></h2>



<h3 class="wp-block-heading">출발 : 강릉 → 도착 : 청량리<strong><strong>·</strong></strong>서울</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></tr></thead><tbody><tr><td>802</td><td>KTX-이음</td><td>5:20</td><td>5:40</td><td></td><td>5:55</td><td></td><td>6:10</td><td>6:17</td><td>6:36</td><td></td><td></td><td>7:03</td><td>7:23</td><td></td><td>매일</td></tr><tr><td>804</td><td>KTX-이음</td><td>6:16</td><td>6:36</td><td>6:45</td><td></td><td>7:00</td><td>7:10</td><td>7:20</td><td>7:42</td><td></td><td></td><td>8:11</td><td>8:31</td><td></td><td>매일</td></tr><tr><td>806</td><td>KTX-이음</td><td>7:28</td><td></td><td>7:52</td><td>8:02</td><td>8:11</td><td>8:20</td><td></td><td>8:43</td><td></td><td></td><td>9:10</td><td>9:30</td><td></td><td>매일</td></tr><tr><td>808</td><td>KTX-이음</td><td>8:10</td><td>8:30</td><td>8:39</td><td></td><td>8:54</td><td>9:03</td><td>9:12</td><td></td><td></td><td></td><td>9:59</td><td>10:19</td><td></td><td>매일</td></tr><tr><td>852</td><td>KTX-이음</td><td>9:48</td><td>10:09</td><td></td><td>10:24</td><td></td><td>10:39</td><td></td><td></td><td></td><td></td><td>11:24</td><td></td><td></td><td>토일</td></tr><tr><td>854</td><td>KTX-이음</td><td>10:07</td><td></td><td>10:31</td><td></td><td></td><td>10:51</td><td></td><td></td><td></td><td>11:34</td><td>11:40</td><td></td><td></td><td>토일</td></tr><tr><td>856</td><td>KTX-이음</td><td>10:17</td><td>10:37</td><td></td><td></td><td></td><td>11:02</td><td>11:12</td><td></td><td></td><td></td><td>11:58</td><td></td><td></td><td>매일</td></tr><tr><td>810</td><td>KTX-이음</td><td>10:35</td><td></td><td></td><td></td><td>11:11</td><td></td><td>11:24</td><td></td><td></td><td></td><td>12:10</td><td>12:29</td><td></td><td>매일</td></tr><tr><td>858</td><td>KTX-이음</td><td>10:59</td><td></td><td>11:24</td><td></td><td></td><td>11:44</td><td></td><td>12:06</td><td></td><td>12:30</td><td>12:36</td><td></td><td></td><td>토일</td></tr><tr><td>812</td><td>KTX-이음</td><td>11:28</td><td>11:48</td><td></td><td>12:03</td><td></td><td>12:18</td><td></td><td>12:40</td><td></td><td></td><td>13:07</td><td>13:27</td><td></td><td>매일</td></tr><tr><td>814</td><td>KTX-이음</td><td>12:23</td><td>12:43</td><td>12:52</td><td></td><td>13:08</td><td></td><td>13:23</td><td>13:45</td><td></td><td></td><td>14:13</td><td>14:33</td><td></td><td>매일</td></tr><tr><td>860</td><td>KTX-이음</td><td>13:58</td><td></td><td></td><td></td><td></td><td></td><td>14:41</td><td>15:00</td><td></td><td>15:23</td><td>15:29</td><td></td><td></td><td>금토일</td></tr><tr><td>816</td><td>KTX-이음</td><td>15:37</td><td></td><td>16:02</td><td>16:12</td><td></td><td></td><td>16:32</td><td></td><td></td><td></td><td>17:21</td><td>17:41</td><td></td><td>매일</td></tr><tr><td>862</td><td>KTX-이음</td><td>16:00</td><td>16:21</td><td></td><td></td><td></td><td>16:46</td><td></td><td></td><td></td><td></td><td>17:32</td><td></td><td></td><td>금토일</td></tr><tr><td>818</td><td>KTX-이음</td><td>16:45</td><td>17:06</td><td></td><td>17:21</td><td></td><td></td><td>17:38</td><td></td><td></td><td>18:17</td><td>18:24</td><td>18:44</td><td></td><td>매일</td></tr><tr><td>820</td><td>KTX-이음</td><td>17:01</td><td>17:22</td><td>17:31</td><td></td><td></td><td>17:51</td><td>18:01</td><td>18:23</td><td></td><td></td><td>18:51</td><td>19:13</td><td></td><td>매일</td></tr><tr><td>864</td><td>KTX-이음</td><td>17:27</td><td></td><td>17:52</td><td>18:02</td><td>18:11</td><td>18:21</td><td></td><td></td><td></td><td>19:03</td><td>19:09</td><td></td><td></td><td>월화수목금</td></tr><tr><td>866</td><td>KTX-이음</td><td>17:52</td><td>18:13</td><td></td><td></td><td>18:33</td><td>18:42</td><td></td><td>19:05</td><td></td><td></td><td>19:31</td><td></td><td></td><td>금토일</td></tr><tr><td>868</td><td>KTX-이음</td><td>18:23</td><td></td><td>18:48</td><td>18:58</td><td>19:07</td><td>19:17</td><td>19:27</td><td></td><td></td><td></td><td>20:15</td><td></td><td></td><td>매일</td></tr><tr><td>822</td><td>KTX-이음</td><td>18:48</td><td>19:09</td><td>19:18</td><td>19:28</td><td>19:37</td><td>19:47</td><td></td><td>20:09</td><td></td><td>20:33</td><td>20:40</td><td>21:00</td><td></td><td>매일</td></tr><tr><td>870</td><td>KTX-이음</td><td>20:04</td><td>20:24</td><td>20:33</td><td>20:42</td><td>20:52</td><td></td><td>21:04</td><td></td><td>21:35</td><td>21:46</td><td>21:52</td><td></td><td></td><td>금토일</td></tr><tr><td>824</td><td>KTX-이음</td><td>20:30</td><td></td><td>20:55</td><td></td><td>21:10</td><td>21:19</td><td></td><td>21:41</td><td></td><td>22:05</td><td>22:12</td><td>22:32</td><td></td><td>매일</td></tr><tr><td>826</td><td>KTX-이음</td><td>21:33</td><td></td><td></td><td>22:03</td><td></td><td>22:19</td><td></td><td></td><td></td><td></td><td>23:06</td><td>23:31</td><td>23:48</td><td>매일</td></tr><tr><td>872</td><td>KTX-이음</td><td>22:00</td><td>22:21</td><td>22:30</td><td></td><td>22:45</td><td></td><td></td><td></td><td></td><td>23:33</td><td>23:39</td><td></td><td></td><td>금토일</td></tr><tr><td>828</td><td>KTX-이음</td><td>22:27</td><td></td><td>22:52</td><td></td><td>23:07</td><td>23:16</td><td></td><td></td><td></td><td>23:58</td><td>0:05</td><td>0:25</td><td></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></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>12:53</td><td>13:36</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>18:07</td><td>18:50</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>21:46</td><td>22:29</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>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>



<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><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>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: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>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: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>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>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">실시간 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 = '32010';
            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;">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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/02/강릉역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="강릉역-시간표-KTX-이음-ITX-마음-누리로-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-18971" srcset="https://krailroad.co.kr/wp-content/uploads/2026/02/강릉역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/02/강릉역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/02/강릉역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>정동진역 KTX-이음 ITX-마음 누리로 시간표 상하행 실시간 운행 정보와 기차표</title>
		<link>https://krailroad.co.kr/%ec%a0%95%eb%8f%99%ec%a7%84%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-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-%ec%8b%a4%ec%8b%9c%ea%b0%84/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 26 Feb 2026 02:13:19 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[정동진역]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=18941</guid>

					<description><![CDATA[대한민국에서 바다와 가장 맞닿은 철길, 정동진역은 단순한 기차역을 넘어 수많은 이들의 추억과 약속이 서린 공간입니다. 과거 드라마 &#8216;모래시계&#8217;의 배경으로 전국적인 신드롬을 일으켰던 이곳은, 이제 KTX-이음의 개통과 함께 더욱 빠르고 쾌적하게 닿을 수 있는 새벽 기차 여행의 상징이 되었습니다. 이번에 정리한 자료는 코레일의 최신 열차 운행 정보와 실시간 API를 기반으로 분석한 정동진역 시간표, 정차역, 첫차 막차, ... <a title="정동진역 KTX-이음 ITX-마음 누리로 시간표 상하행 실시간 운행 정보와 기차표" class="read-more button" href="https://krailroad.co.kr/%ec%a0%95%eb%8f%99%ec%a7%84%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-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-%ec%8b%a4%ec%8b%9c%ea%b0%84/" aria-label="정동진역 KTX-이음 ITX-마음 누리로 시간표 상하행 실시간 운행 정보와 기차표 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">대한민국에서 바다와 가장 맞닿은 철길, 정동진역은 단순한 기차역을 넘어 수많은 이들의 추억과 약속이 서린 공간입니다. 과거 드라마 &#8216;모래시계&#8217;의 배경으로 전국적인 신드롬을 일으켰던 이곳은, 이제 KTX-이음의 개통과 함께 더욱 빠르고 쾌적하게 닿을 수 있는 새벽 기차 여행의 상징이 되었습니다.</p>



<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">정동진역 KTX·ITX·누리로 이용 안내</h2>



<h3 class="wp-block-heading">수도권과 강원도를 잇는 일출 노선</h3>



<p class="wp-block-paragraph">정동진의 KTX 도입은 일출 여행의 문턱을 낮춰주었으며, 정동진역 예매 현황을 살펴보면 주말이나 연말연시에는 일찍이 매진될 만큼 인기가 높은데, 이는 청량리에서 정동진까지의 이동 시간이 획기적으로 단축되었기 때문입니다. 수도권뿐만 아니라 강릉역에서 정동진으로 이동하거나 동해역에서 정동진 방향으로 향하는 ITX-마음, 누리로 시간표도 잘 갖춰져 있어, 강원도 동해안을 따라 이용하는 여행객들에게 최적의 동해안 열차 노선이 되고 있습니다.</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">역에서 내린 후 가장 먼저 추천하는 코스는 정동진 레일바이크입니다. 바다를 옆에 끼고 달리는 이 경험은 옛날이나 지금 가족이나 연인들에게 필수 코스이며, 인기가 많아 정동진 레일바이크 예매를 사전에 하는 것이 좋습니다. 이후 도보로 이동 가능한 정동진 모래시계 공원과 정동진 박물관을 둘러보며 드라마의 추억과 시간의 의미를 되새겨보는 것도 좋습니다.</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="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">840호</span><div class="time-display">7:33</div><div class="arrival-info">8:11 도착</div></td><td><span class="train-detail">848호</span><div class="time-display">22:00</div><div class="arrival-info">22: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-ktx">KTX</span></td><td><span class="train-detail">840호</span><div class="time-display">7:33</div><div class="arrival-info">9:29 도착</div></td><td><span class="train-detail">848호</span><div class="time-display">22:00</div><div class="arrival-info">23:52 도착</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">840호</span><div class="time-display">7:33</div><div class="arrival-info">9:49 도착</div></td><td><span class="train-detail">848호</span><div class="time-display">22:00</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="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">11:26</div><div class="arrival-info">11:40 도착</div></td><td><span class="train-detail">755호</span><div class="time-display">23:18</div><div class="arrival-info">23:32 도착</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">19:12</div><div class="arrival-info">19:27 도착</div></td><td><span class="train-detail">1831호</span><div class="time-display">19:12</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">10:55</div><div class="arrival-info">11:12 도착</div></td><td><span class="train-detail">1865호</span><div class="time-display">22:58</div><div class="arrival-info">23: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="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">20:15</div><div class="arrival-info">22:53 도착</div></td><td><span class="train-detail">1824호</span><div class="time-display">20:15</div><div class="arrival-info">22:53 도착</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:47</div><div class="arrival-info">10:17 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">12:47</div><div class="arrival-info">15:59 도착</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">1824호</span><div class="time-display">20:15</div><div class="arrival-info">23:13 도착</div></td><td><span class="train-detail">1824호</span><div class="time-display">20:15</div><div class="arrival-info">23:13 도착</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:47</div><div class="arrival-info">10:40 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">12:47</div><div class="arrival-info">16:23 도착</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">1824호</span><div class="time-display">20:15</div><div class="arrival-info">00:04 도착</div></td><td><span class="train-detail">1824호</span><div class="time-display">20:15</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:47</div><div class="arrival-info">11:36 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">12:47</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-ktx">KTX</span></td><td><span class="train-detail">752호</span><div class="time-display">09:53</div><div class="arrival-info">11:43 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">18:51</div><div class="arrival-info">20:36 도착</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">752호</span><div class="time-display">09:53</div><div class="arrival-info">12:06 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">18:51</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-ktx">KTX</span></td><td><span class="train-detail">752호</span><div class="time-display">09:53</div><div class="arrival-info">12:32 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">18:51</div><div class="arrival-info">21: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-ktx">KTX</span></td><td><span class="train-detail">752호</span><div class="time-display">09:53</div><div class="arrival-info">13:36 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">18:51</div><div class="arrival-info">22:29 도착</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">1822호</span><div class="time-display">06:02</div><div class="arrival-info">09:39 도착</div></td><td><span class="train-detail">1822호</span><div class="time-display">06:02</div><div class="arrival-info">09: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-itx">ITX-마음</span></td><td><span class="train-detail">1822호</span><div class="time-display">06:02</div><div class="arrival-info">09:31 도착</div></td><td><span class="train-detail">1822호</span><div class="time-display">06:02</div><div class="arrival-info">09: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">1822호</span><div class="time-display">06:02</div><div class="arrival-info">10:49 도착</div></td><td><span class="train-detail">1822호</span><div class="time-display">06:02</div><div class="arrival-info">10:49 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong><strong>정동진</strong>역 KTX·</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><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>28,300</td><td>34,000</td></tr><tr><td>강릉K1</td><td>KTX</td><td class="highlight">청량리</td><td class="highlight">정동진</td><td>기본</td><td>0</td><td>26,700</td><td>32,000</td></tr><tr><td>강릉K1</td><td>KTX</td><td class="highlight">평창</td><td class="highlight">정동진</td><td>기본</td><td>0</td><td>8,700</td><td>11,700</td></tr><tr><td>동해A</td><td>ITX</td><td class="highlight">정동진</td><td class="highlight">경주</td><td>-</td><td>23,200</td><td>0</td><td>0</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">정동진</td><td class="highlight">경주</td><td>기본</td><td>0</td><td>32,600</td><td>39,100</td></tr><tr><td>동해B</td><td>ITX</td><td class="highlight">정동진</td><td class="highlight">동대구</td><td>-</td><td>28,400</td><td>0</td><td>0</td></tr><tr><td>동해2</td><td>무궁화</td><td class="highlight">정동진</td><td class="highlight">동대구</td><td>-</td><td>20,300</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>동해B</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>동해K3</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>동해2</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>27,300</td><td>0</td><td>0</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">정동진</td><td class="highlight">태화강</td><td>기본</td><td>0</td><td>38,500</td><td>46,200</td></tr><tr><td>동해A</td><td>ITX</td><td class="highlight">정동진</td><td class="highlight">북울산</td><td>-</td><td>26,300</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,400</td><td>0</td><td>0</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">정동진</td><td class="highlight">부전</td><td>기본</td><td>0</td><td>45,100</td><td>54,100</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>정동진역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%ec%a0%95%eb%8f%99%ec%a7%84%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-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-%ec%8b%a4%ec%8b%9c%ea%b0%84/">정동진역 KTX, 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>KTX·ITX·누리로 </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></tr></thead><tbody><tr><td>751</td><td>KTX-이음</td><td>11:26</td><td>11:40</td><td>매일</td></tr><tr><td>753</td><td>KTX-이음</td><td>17:36</td><td>17:51</td><td>매일</td></tr><tr><td>755</td><td>KTX-이음</td><td>23:18</td><td>23:32</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>1851</td><td>누리로</td><td>10:55</td><td>11:12</td><td>월화수목금</td></tr><tr><td>1861</td><td>누리로</td><td>10:55</td><td>11:12</td><td>토일</td></tr><tr><td>1853</td><td>누리로</td><td>16:45</td><td>17:00</td><td>월화수목금</td></tr><tr><td>1863</td><td>누리로</td><td>16:45</td><td>17:00</td><td>토일</td></tr><tr><td>1821</td><td>ITX-마음</td><td>19:12</td><td>19:27</td><td>월화수목금</td></tr><tr><td>1831</td><td>ITX-마음</td><td>19:12</td><td>19:27</td><td>토일</td></tr><tr><td>1865</td><td>누리로</td><td>22:58</td><td>23:13</td><td></td></tr></tbody></table></div>



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



<h3 class="wp-block-heading">출발 : 정동진 → 도착 : 청량리<strong><strong>·</strong></strong>서울</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>840</td><td>KTX-이음</td><td>7:33</td><td>8:03</td><td>8:11</td><td>8:21</td><td></td><td>8:36</td><td>8:58</td><td></td><td>9:22</td><td>9:29</td><td>9:49</td><td>매일</td></tr><tr><td>842</td><td>KTX-이음</td><td>10:32</td><td></td><td>11:06</td><td>11:16</td><td></td><td>11:31</td><td>11:53</td><td></td><td>12:17</td><td>12:23</td><td></td><td>매일</td></tr><tr><td>884</td><td>KTX-이음</td><td>12:49</td><td></td><td></td><td></td><td></td><td>13:43</td><td></td><td></td><td>14:25</td><td>14:31</td><td></td><td>금토일</td></tr><tr><td>844</td><td>KTX-이음</td><td>14:30</td><td>15:00</td><td></td><td></td><td>15:20</td><td>15:29</td><td>15:51</td><td></td><td></td><td>16:19</td><td>16:39</td><td>매일</td></tr><tr><td>886</td><td>KTX-이음</td><td>16:08</td><td></td><td></td><td></td><td></td><td>16:57</td><td></td><td>17:32</td><td>17:43</td><td>17:49</td><td></td><td>금토일</td></tr><tr><td>888</td><td>KTX-이음</td><td>17:13</td><td></td><td>17:52</td><td>18:02</td><td>18:11</td><td>18:21</td><td></td><td></td><td>19:03</td><td>19:09</td><td></td><td>토일</td></tr><tr><td>846</td><td>KTX-이음</td><td>19:32</td><td>20:02</td><td>20:11</td><td></td><td>20:26</td><td>20:36</td><td>20:58</td><td></td><td>21:22</td><td>21:29</td><td>21:49</td><td>매일</td></tr><tr><td>848</td><td>KTX-이음</td><td>22:00</td><td>22:29</td><td>22:38</td><td>22:47</td><td></td><td>23:02</td><td>23:23</td><td></td><td></td><td>23:52</td><td>0:12</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></tr></thead><tbody><tr><td>752</td><td>KTX-이음</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>12:53</td><td>13:36</td><td>매일</td></tr><tr><td>754</td><td>KTX-이음</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>18:07</td><td>18:50</td><td>매일</td></tr><tr><td>756</td><td>KTX-이음</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>21:46</td><td>22:29</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></tr></thead><tbody><tr><td>1822</td><td>ITX-마음</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>



<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><th>서경주</th><th>아화</th><th>영천</th><th>하양</th><th>동대구</th><th>비 고</th></tr></thead><tbody><tr><td>1852</td><td>누리로</td><td>06:47</td><td>07:11</td><td>07:21</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:47</td><td>07:11</td><td>07:21</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>09:11</td><td>09:30</td><td>09:39</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>09:11</td><td>09:30</td><td>09:39</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:47</td><td>13:07</td><td>13:15</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>20:15</td><td>20:34</td><td>20:42</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">실시간 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 = '32010';
            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;">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;">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%A0%95%EB%8F%99%EC%A7%84+%EA%B3%A0%EA%B8%B0%EB%9E%91%EC%A1%B0%EA%B0%9C%EB%9E%91+%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+%EA%B0%95%EB%8F%99%EB%A9%B4+%EC%A0%95%EB%8F%99%EC%A7%84%EB%A6%AC+136-15" 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;">강원특별자치도 강릉시 강동면 정동진리 136-15</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%8D%AC%ED%95%9C%EC%8B%9D+%EC%A0%95%EB%8F%99%EC%A7%84+%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+%EA%B0%95%EB%8F%99%EB%A9%B4+%EC%A0%95%EB%8F%99%EC%A7%84%EB%A6%AC+296-7+%EC%8D%AC%ED%95%9C%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;">강원특별자치도 강릉시 강동면 정동진리 296-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%A0%95%EB%8F%99%EC%A7%84%ED%95%AD%EA%B5%AC%ED%9A%8C%EC%84%BC%ED%83%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+%EA%B0%95%EB%8F%99%EB%A9%B4+%EC%A0%95%EB%8F%99%EC%A7%84%EB%A6%AC+20-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;">강원특별자치도 강릉시 강동면 정동진리 20-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%9D%B4%EB%94%94%EC%95%BC%EC%BB%A4%ED%94%BC+%EC%A0%95%EB%8F%99%EC%A7%84%EC%97%AD%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+%EA%B0%95%EB%8F%99%EB%A9%B4+%EC%A0%95%EB%8F%99%EC%A7%84%EB%A6%AC+328-13" 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;">강원특별자치도 강릉시 강동면 정동진리 328-13</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%EB%8F%99%EC%A7%84%EC%97%AD%EC%A3%BC%EC%8B%9D%ED%8F%AC%EC%B0%A8+%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+%EA%B0%95%EB%8F%99%EB%A9%B4+%EC%A0%95%EB%8F%99%EC%A7%84%EB%A6%AC+312-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;">강원특별자치도 강릉시 강동면 정동진리 312-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;">
                            📍 정동진역                        </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;">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> 강원도 강릉시 강동면 정동진리 303<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> 강원도 강릉시 강동면 정동진리 303</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%A0%95%EB%8F%99%EC%A7%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/02/정동진역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="정동진역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-18974" srcset="https://krailroad.co.kr/wp-content/uploads/2026/02/정동진역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/02/정동진역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/02/정동진역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>묵호역 기차 시간표 상하행 KTX-이음 ITX-마음 누리로 도째비골 논골담길 여행 요금 노선</title>
		<link>https://krailroad.co.kr/%eb%ac%b5%ed%98%b8%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%83%81%ed%95%98%ed%96%89-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%eb%88%84%eb%a6%ac%eb%a1%9c-%eb%8f%84%ec%a7%b8/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 26 Feb 2026 00:15:46 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[묵호역 기차]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=18923</guid>

					<description><![CDATA[동해의 분위기를 가장 가까이에서 품고 있는 묵호역 기차는 이제 단순한 간이역의 정취를 넘어, 수도권과 강원도를 잇는 핵심 기점으로 자리 잡았습니다. 과거의 투박한 항구 도시 이미지는 온데간데없고, 서울역에서 묵호역까지 단숨에 연결되는 KTX의 개통과 함께 젊은 여행자들의 활기가 넘치는 동해선 묵호역으로 거듭났는데요. 이번 자료는 공공데이터의 노선망 분석과 실시간 운행 현황을 토대로 작성되었으며, 서울, 청량리역에서 묵호역을 거쳐 강릉이나 ... <a title="묵호역 기차 시간표 상하행 KTX-이음 ITX-마음 누리로 도째비골 논골담길 여행 요금 노선" class="read-more button" href="https://krailroad.co.kr/%eb%ac%b5%ed%98%b8%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%83%81%ed%95%98%ed%96%89-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%eb%88%84%eb%a6%ac%eb%a1%9c-%eb%8f%84%ec%a7%b8/" aria-label="묵호역 기차 시간표 상하행 KTX-이음 ITX-마음 누리로 도째비골 논골담길 여행 요금 노선 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">동해의 분위기를 가장 가까이에서 품고 있는 묵호역 기차는 이제 단순한 간이역의 정취를 넘어, 수도권과 강원도를 잇는 핵심 기점으로 자리 잡았습니다. 과거의 투박한 항구 도시 이미지는 온데간데없고, 서울역에서 묵호역까지 단숨에 연결되는 KTX의 개통과 함께 젊은 여행자들의 활기가 넘치는 동해선 묵호역으로 거듭났는데요.</p>



<p class="wp-block-paragraph">이번 자료는 <a href="https://www.data.go.kr/index.do" target="_blank" rel="noopener">공공데이터</a>의 노선망 분석과 실시간 운행 현황을 토대로 작성되었으며, 서울, 청량리역에서 묵호역을 거쳐 강릉이나 포항, 태화강, 부전, 부산으로 향하는 분들을 위해 쓸수 있는 정보를 담았습니다. 기차 창밖으로 펼쳐지는 쪽빛 바다를 감상하며 떠나는 여행, 그 중심에 있는 묵호역 기차 시간표와 주변 인프라를 상세히 안내해 드립니다.</p>



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



<h2 class="wp-block-heading">묵호역 KTX·ITX·누리로 이용 안내</h2>



<h3 class="wp-block-heading">묵호역 기차, <strong><strong>수도권을 잇는 철도</strong></strong></h3>



<p class="wp-block-paragraph">묵호역 KTX의 도입은 강원도 동해안 여행의 패러다임을 바꿨습니다. 묵호역 누리로와 ITX-마음이 지역 간의 촘촘한 연결을 담당한다면, KTX는 서울 중심부와 포항, 부전, 부산의 시간적 거리를 획기적으로 좁혀주었는데요. 특히 묵호역에서 강릉역으로 짧은 기차 여행을 즐기려는 분들이나, 부전, 부산 방면인 남쪽으로 내려가려는 이용객들을 위한 묵호역 버스 정보와 연계 교통망도 역 광장을 중심으로 잘 갖춰져 있어 혼행 여행자들에게도 더할 나위 없는 철도 시스템입니다.</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">묵호역 기차 이용후 역사 기점의 여행은 발길 닿는 곳마다 그림 같은 풍경을 보실 수 있으며, 가파른 골목마다 주민들의 삶과 예술이 녹아든 논골담길을 따라 오르면 탁 트인 동해를 조망할 수 있는 묵호등대에 닿게 됩니다. 그리고 최근 가장 핫한 명소로 꼽히는 도째비골 스카이밸리와 바다 위를 걷는 듯한 해랑전망대 역시 역에서 멀지 않은 곳에 위치해 있어 동해 방문시 가볼만한곳으로도 괜찮습니다.<br><br>그리고 조금 더 여유를 즐기길 원한다면 투명한 바다가 매력적인 어달해변이나 망상해수욕장 근처역으로서의 지리적 이점을 활용해 인근 해변을 순회해 보는 것도 좋습니다. 왜냐 하면 주변에 활기 넘치는 묵호항의 모습과 정겨운 묵호중앙시장의 풍경감상 하실 수 있기 때문입니다.</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">840호</span><div class="time-display">7:12</div><div class="arrival-info">8:11 도착</div></td><td><span class="train-detail">848호</span><div class="time-display">21:39</div><div class="arrival-info">22: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-ktx">KTX</span></td><td><span class="train-detail">840호</span><div class="time-display">7:12</div><div class="arrival-info">9:29 도착</div></td><td><span class="train-detail">848호</span><div class="time-display">21:39</div><div class="arrival-info">23:52 도착</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">840호</span><div class="time-display">7:12</div><div class="arrival-info">9:49 도착</div></td><td><span class="train-detail">848호</span><div class="time-display">21:39</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="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">11:06</div><div class="arrival-info">11:40 도착</div></td><td><span class="train-detail">755호</span><div class="time-display">22:59</div><div class="arrival-info">23:32 도착</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">18:50</div><div class="arrival-info">19:27 도착</div></td><td><span class="train-detail">1831호</span><div class="time-display">18:50</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">10:33</div><div class="arrival-info">11:12 도착</div></td><td><span class="train-detail">1865호</span><div class="time-display">22:37</div><div class="arrival-info">23: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="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">20:34</div><div class="arrival-info">22:53 도착</div></td><td><span class="train-detail">1824호</span><div class="time-display">20:34</div><div class="arrival-info">22:53 도착</div></td></tr><tr><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1852호</span><div class="time-display">07:11</div><div class="arrival-info">10:17 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">13:07</div><div class="arrival-info">15:59 도착</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">1824호</span><div class="time-display">20:34</div><div class="arrival-info">23:13 도착</div></td><td><span class="train-detail">1824호</span><div class="time-display">20:34</div><div class="arrival-info">23:13 도착</div></td></tr><tr><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1852호</span><div class="time-display">07:11</div><div class="arrival-info">10:40 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">13:07</div><div class="arrival-info">16:23 도착</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">1824호</span><div class="time-display">20:34</div><div class="arrival-info">00:04 도착</div></td><td><span class="train-detail">1824호</span><div class="time-display">20:34</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">07:11</div><div class="arrival-info">11:36 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">13:07</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-ktx">KTX</span></td><td><span class="train-detail">752호</span><div class="time-display">10:13</div><div class="arrival-info">11:43 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">19:10</div><div class="arrival-info">20:36 도착</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">752호</span><div class="time-display">10:13</div><div class="arrival-info">12:06 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">19:10</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-ktx">KTX</span></td><td><span class="train-detail">752호</span><div class="time-display">10:13</div><div class="arrival-info">12:32 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">19:10</div><div class="arrival-info">21: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-ktx">KTX</span></td><td><span class="train-detail">752호</span><div class="time-display">10:13</div><div class="arrival-info">13:36 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">19:10</div><div class="arrival-info">22:29 도착</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">1822호</span><div class="time-display">06:21</div><div class="arrival-info">09:39 도착</div></td><td><span class="train-detail">1822호</span><div class="time-display">06:21</div><div class="arrival-info">09: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-itx">ITX-마음</span></td><td><span class="train-detail">1822호</span><div class="time-display">06:21</div><div class="arrival-info">09:31 도착</div></td><td><span class="train-detail">1822호</span><div class="time-display">06:21</div><div class="arrival-info">09: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">1822호</span><div class="time-display">06:21</div><div class="arrival-info">10:49 도착</div></td><td><span class="train-detail">1822호</span><div class="time-display">06:21</div><div class="arrival-info">10:49 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong><strong>묵호</strong>역 KTX·</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><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>30,700</td><td>36,800</td></tr><tr><td>강릉K1</td><td>KTX</td><td class="highlight">청량리</td><td class="highlight">묵호</td><td>기본</td><td>0</td><td>29,100</td><td>34,900</td></tr><tr><td>강릉K1</td><td>KTX</td><td class="highlight">평창</td><td class="highlight">묵호</td><td>기본</td><td>0</td><td>11,000</td><td>14,000</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>동해K3</td><td>KTX</td><td class="highlight">묵호</td><td class="highlight">경주</td><td>기본</td><td>0</td><td>30,200</td><td>36,200</td></tr><tr><td>동해B</td><td>ITX</td><td class="highlight">묵호</td><td class="highlight">동대구</td><td>-</td><td>26,300</td><td>0</td><td>0</td></tr><tr><td>동해2</td><td>무궁화</td><td class="highlight">묵호</td><td class="highlight">동대구</td><td>-</td><td>18,800</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>동해B</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>동해K3</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>동해2</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>25,100</td><td>0</td><td>0</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">묵호</td><td class="highlight">태화강</td><td>기본</td><td>0</td><td>36,100</td><td>43,300</td></tr><tr><td>동해A</td><td>ITX</td><td class="highlight">묵호</td><td class="highlight">북울산</td><td>-</td><td>24,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>31,200</td><td>0</td><td>0</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">묵호</td><td class="highlight">부전</td><td>기본</td><td>0</td><td>42,700</td><td>51,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>동해역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%eb%ac%b5%ed%98%b8%ec%97%ad-%ea%b8%b0%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%83%81%ed%95%98%ed%96%89-ktx-%ec%9d%b4%ec%9d%8c-itx-%eb%a7%88%ec%9d%8c-%eb%88%84%eb%a6%ac%eb%a1%9c-%eb%8f%84%ec%a7%b8/">묵호역 KTX, 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>KTX·ITX·누리로 </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>751</td><td>KTX-이음</td><td>11:06</td><td>11:26</td><td>11:40</td><td>매일</td></tr><tr><td>753</td><td>KTX-이음</td><td>17:15</td><td>17:36</td><td>17:51</td><td>매일</td></tr><tr><td>755</td><td>KTX-이음</td><td>22:59</td><td>23:18</td><td>23:32</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></tr></thead><tbody><tr><td>1851</td><td>누리로</td><td>10:33</td><td>10:55</td><td>11:12</td><td>월화수목금</td></tr><tr><td>1861</td><td>누리로</td><td>10:33</td><td>10:55</td><td>11:12</td><td>토일</td></tr><tr><td>1853</td><td>누리로</td><td>16:24</td><td>16:45</td><td>17:00</td><td>월화수목금</td></tr><tr><td>1863</td><td>누리로</td><td>16:24</td><td>16:45</td><td>17:00</td><td>토일</td></tr><tr><td>1821</td><td>ITX-마음</td><td>18:50</td><td>19:12</td><td>19:27</td><td>월화수목금</td></tr><tr><td>1831</td><td>ITX-마음</td><td>18:50</td><td>19:12</td><td>19:27</td><td>토일</td></tr><tr><td>1865</td><td>누리로</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>



<h3 class="wp-block-heading">출발 : 묵호 → 도착 : 청량리<strong><strong>·</strong></strong>서울</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>840</td><td>KTX-이음</td><td>7:12</td><td>7:33</td><td>8:03</td><td>8:11</td><td>8:21</td><td></td><td>8:36</td><td>8:58</td><td></td><td>9:22</td><td>9:29</td><td>9:49</td><td>매일</td></tr><tr><td>842</td><td>KTX-이음</td><td>10:11</td><td>10:32</td><td></td><td>11:06</td><td>11:16</td><td></td><td>11:31</td><td>11:53</td><td></td><td>12:17</td><td>12:23</td><td></td><td>매일</td></tr><tr><td>884</td><td>KTX-이음</td><td>12:28</td><td>12:49</td><td></td><td></td><td></td><td></td><td>13:43</td><td></td><td></td><td>14:25</td><td>14:31</td><td></td><td>금토일</td></tr><tr><td>844</td><td>KTX-이음</td><td>14:10</td><td>14:30</td><td>15:00</td><td></td><td></td><td>15:20</td><td>15:29</td><td>15:51</td><td></td><td></td><td>16:19</td><td>16:39</td><td>매일</td></tr><tr><td>886</td><td>KTX-이음</td><td>15:48</td><td>16:08</td><td></td><td></td><td></td><td></td><td>16:57</td><td></td><td>17:32</td><td>17:43</td><td>17:49</td><td></td><td>금토일</td></tr><tr><td>888</td><td>KTX-이음</td><td>16:52</td><td>17:13</td><td></td><td>17:52</td><td>18:02</td><td>18:11</td><td>18:21</td><td></td><td></td><td>19:03</td><td>19:09</td><td></td><td>토일</td></tr><tr><td>846</td><td>KTX-이음</td><td>19:11</td><td>19:32</td><td>20:02</td><td>20:11</td><td></td><td>20:26</td><td>20:36</td><td>20:58</td><td></td><td>21:22</td><td>21:29</td><td>21:49</td><td>매일</td></tr><tr><td>848</td><td>KTX-이음</td><td>21:39</td><td>22:00</td><td>22:29</td><td>22:38</td><td>22:47</td><td></td><td>23:02</td><td>23:23</td><td></td><td></td><td>23:52</td><td>0:12</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></tr></thead><tbody><tr><td>752</td><td>KTX-이음</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>12:53</td><td>13:36</td><td>매일</td></tr><tr><td>754</td><td>KTX-이음</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>18:07</td><td>18:50</td><td>매일</td></tr><tr><td>756</td><td>KTX-이음</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>21:46</td><td>22:29</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></tr></thead><tbody><tr><td>1822</td><td>ITX-마음</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>



<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><th>아화</th><th>영천</th><th>하양</th><th>동대구</th><th>비 고</th></tr></thead><tbody><tr><td>1852</td><td>누리로</td><td>07:11</td><td>07:21</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>07:11</td><td>07:21</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>09:30</td><td>09:39</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>09:30</td><td>09:39</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>13:07</td><td>13:15</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>20:34</td><td>20:42</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">실시간 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 = '32030';
            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;">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/%EA%B1%B0%EB%8F%99%ED%83%95%EC%88%98%EC%9C%A1+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EB%8F%99%ED%95%B4%EC%8B%9C+%EB%AC%B5%ED%98%B8%EC%A7%84%EB%8F%99+13+%EA%B1%B0%EB%8F%99%ED%83%95%EC%88%98%EC%9C%A1" 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 거동탕수육</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%ED%9B%88%EC%88%98%EC%82%B0+%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+%EB%8F%99%ED%95%B4%EC%8B%9C+%EB%AC%B5%ED%98%B8%EC%A7%84%EB%8F%99+2-2+1%EC%B8%B5+13%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;">강원특별자치도 동해시 묵호진동 2-2 1층 13호</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%95%B4%EA%B0%80%EB%A6%AC%EB%B9%84+%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+%EB%8F%99%ED%95%B4%EC%8B%9C+%EB%AC%B5%ED%98%B8%EC%A7%84%EB%8F%99+2-1+105%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;">강원특별자치도 동해시 묵호진동 2-1 105호</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%93%B1%EB%8C%80%EC%B9%B4%ED%8E%98+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EB%8F%99%ED%95%B4%EC%8B%9C+%EB%AC%B5%ED%98%B8%EC%A7%84%EB%8F%99+2-221" 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-221</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%A8%EB%8B%A4+%EB%8F%99%ED%95%B4%EB%AC%B5%ED%98%B8%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+%EB%8F%99%ED%95%B4%EC%8B%9C+%EB%AC%B5%ED%98%B8%EC%A7%84%EB%8F%99+2-2+%EC%98%A8%EB%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;">강원특별자치도 동해시 묵호진동 2-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/%EB%AC%B5%ED%98%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/02/묵호역-기차-시간표-KTX-이음-ITX-마음-누리로-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="묵호역-기차-시간표-KTX-이음-ITX-마음-누리로-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-18976" srcset="https://krailroad.co.kr/wp-content/uploads/2026/02/묵호역-기차-시간표-KTX-이음-ITX-마음-누리로-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/02/묵호역-기차-시간표-KTX-이음-ITX-마음-누리로-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/02/묵호역-기차-시간표-KTX-이음-ITX-마음-누리로-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>동해역 기차 시간표 KTX-이음 ITX-마음 누리로 무릉계곡 망상해수욕장 아이들과 기차 여행</title>
		<link>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/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Mon, 23 Feb 2026 06:52:12 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[동해역 기차 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=18851</guid>

					<description><![CDATA[강원도 철도 교통의 핵심 거점인 동해역이 동해선 완전 개통과 맞물려 영남과 수도권을 잇는 독보적인 허브로 급부상하고 있습니다. 그동안 동해안 북단으로 향하는 길목에서 중요한 역할을 했던 동해역 기차 시간표가, 이제 포항 삼척 동해선 노선의 연결로 인해 동해안 전체를 관통하는 동해안 종주 기차 여행의 중심축이 되었습니다. 단순한 경유지를 넘어 동해안 일주 기차 여행의 시작점이 된 이곳의 최신 ... <a title="동해역 기차 시간표 KTX-이음 ITX-마음 누리로 무릉계곡 망상해수욕장 아이들과 기차 여행" class="read-more button" 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/" aria-label="동해역 기차 시간표 KTX-이음 ITX-마음 누리로 무릉계곡 망상해수욕장 아이들과 기차 여행 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">강원도 철도 교통의 핵심 거점인 동해역이 동해선 완전 개통과 맞물려 영남과 수도권을 잇는 독보적인 허브로 급부상하고 있습니다. 그동안 동해안 북단으로 향하는 길목에서 중요한 역할을 했던 동해역 기차 시간표가, 이제 포항 삼척 동해선 노선의 연결로 인해 동해안 전체를 관통하는 동해안 종주 기차 여행의 중심축이 되었습니다.</p>



<p class="wp-block-paragraph">단순한 경유지를 넘어 동해안 일주 기차 여행의 시작점이 된 이곳의 최신 데이터를 정리했습니다. 서울역에서 동해역까지의 직행 노선은 물론, 청량리 동해역, 그리고 동해 강릉, 동해 포항, 동해 영덕, 동해 부전까지 KTX 이용 정보를 실시간 운영 현황을 토대로 정리했으니 강원도 당일치기 기차 여행을 계획하는 분들께 <a href="https://www.data.go.kr/index.do" target="_blank" rel="noopener">공공데이터</a> API 연동에 의한 시간표와 요금을 이용하실 수 있도록 자료를 수집하였습니다.</p>



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



<h2 class="wp-block-heading">동해역 KTX·ITX·누리로 이용 안내</h2>



<h3 class="wp-block-heading"><strong><strong>강원과 영남, 수도권을 잇는 철도</strong></strong></h3>



<p class="wp-block-paragraph">동해역 KTX는 수도권 접근성을 획기적으로 개선하며 강원 남부권의 이동권을 넓혔습니다. 서울에서 출발해 강릉을 거쳐 내려오거나 <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>에서 <a href="https://krailroad.co.kr/%ec%82%bc%ec%b2%99%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-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%a3%bd%ec%84%9c%eb%a3%a8%ec%99%80-%ec%82%bc%ec%b2%99%ed%95%b4/">삼척</a>을 지나 올라오는 모든 수요가 이곳에서 만나며, 동해역 누리로와 무궁화호가 촘촘하게 배차되어 인근 지역으로의 연결이 편리해졌으며, 동해역 기차 시간표를 이용해서 강릉역으로 향하거나 아니면 삼척 방향으로 이동하는 환승객들을 위해 동해역 버스 환승 시스템과 연계 교통망이 최적화되어 있어 뚜벅이 여행자들에게도 매우 편리한 환경을 제공하고 있습니다.</p>



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



<h3 class="wp-block-heading"><strong>동해역 기차 시간표, 그리고 환승</strong></h3>



<p class="wp-block-paragraph">동해선 철길이 하나로 이어지며 동해역 기차 시간표 역시 한층 다양해졌는데, 장거리 이동을 위한 KTX-이음뿐만 아니라, 지역 간을 세밀하게 연결하는 동해역 누리로와 ITX-마음이 수시로 교차하며, 과거 동해역 바다열차의 낭만을 기억하는 이들을 위해 창밖 절경을 오롯이 감상할 수 있는 노선들이 상시 운영 중입니다.</p>



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



<h3 class="wp-block-heading">동해역에서 시작하는 로컬 탐방</h3>



<p class="wp-block-paragraph">동해역 광장을 나서면 동해안의 숨겨진 보석들이 지척에 있습니다. 동해역 기차 시간표를 이용해 도착하면, 역에서 가까운 한섬해변은 산책로가 잘 정비되어 있어 가벼운 산책을 즐기기 좋으며, 조금만 이동하면 망상해수욕장의 광활한 백사장과 마주하게 됩니다. 특히 추암 촛대바위 근처역으로서의 상징성 덕분에 일출 여행객들의 발길이 끊이지 않으며, 기암괴석이 장관인 무릉계곡으로 향하는 베이스캠프로서도 손색이 없을 정도입니다.<br><br>또 역 주변에는 여행객의 발이 되어줄 동해역 렌트카 업체들이 밀집해 있어 넓은 동해시를 효율적으로 둘러볼 수 있습니다. 든든한 한 끼를 책임질 동해역 맛집들과 해안선을 따라 펼쳐지는 동해역 야경은 여행의 마무리까지 완벽하게 채워주며, 자차 이용자를 위한 동해역 주차장 시설 또한 넉넉히 확보되어 있습니다.</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">840호</span><div class="time-display">7:05</div><div class="arrival-info">8:11 도착</div></td><td><span class="train-detail">848호</span><div class="time-display">21:32</div><div class="arrival-info">22: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-ktx">KTX</span></td><td><span class="train-detail">840호</span><div class="time-display">7:05</div><div class="arrival-info">9:29 도착</div></td><td><span class="train-detail">848호</span><div class="time-display">21:32</div><div class="arrival-info">23:52 도착</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">840호</span><div class="time-display">7:05</div><div class="arrival-info">9:49 도착</div></td><td><span class="train-detail">848호</span><div class="time-display">21:32</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="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">10:59</div><div class="arrival-info">11:40 도착</div></td><td><span class="train-detail">755호</span><div class="time-display">22:52</div><div class="arrival-info">23:32 도착</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">18:42</div><div class="arrival-info">19:27 도착</div></td><td><span class="train-detail">1721호</span><div class="time-display">21:04</div><div class="arrival-info">21:47 도착</div></td></tr><tr><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1781호</span><div class="time-display">07:40</div><div class="arrival-info">08:24 도착</div></td><td><span class="train-detail">1865호</span><div class="time-display">22:29</div><div class="arrival-info">23: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="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">20:42</div><div class="arrival-info">22:53 도착</div></td><td><span class="train-detail">1824호</span><div class="time-display">20:42</div><div class="arrival-info">22:53 도착</div></td></tr><tr><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1852호</span><div class="time-display">07:21</div><div class="arrival-info">10:17 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">13:15</div><div class="arrival-info">15:59 도착</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">1824호</span><div class="time-display">20:42</div><div class="arrival-info">23:13 도착</div></td><td><span class="train-detail">1824호</span><div class="time-display">20:42</div><div class="arrival-info">23:13 도착</div></td></tr><tr><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1852호</span><div class="time-display">07:21</div><div class="arrival-info">10:40 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">13:15</div><div class="arrival-info">16:23 도착</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">1824호</span><div class="time-display">20:42</div><div class="arrival-info">00:04 도착</div></td><td><span class="train-detail">1824호</span><div class="time-display">20:42</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">07:21</div><div class="arrival-info">11:36 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">13:15</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-ktx">KTX</span></td><td><span class="train-detail">752호</span><div class="time-display">10:23</div><div class="arrival-info">11:43 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">19:18</div><div class="arrival-info">20:36 도착</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">752호</span><div class="time-display">10:23</div><div class="arrival-info">12:06 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">19:18</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-ktx">KTX</span></td><td><span class="train-detail">752호</span><div class="time-display">10:23</div><div class="arrival-info">12:32 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">19:18</div><div class="arrival-info">21: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-ktx">KTX</span></td><td><span class="train-detail">752호</span><div class="time-display">10:23</div><div class="arrival-info">13:36 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">19:18</div><div class="arrival-info">22:29 도착</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">1822호</span><div class="time-display">06:30</div><div class="arrival-info">09:39 도착</div></td><td><span class="train-detail">1806호</span><div class="time-display">18:03</div><div class="arrival-info">21:34 도착</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">09:31 도착</div></td><td><span class="train-detail">1806호</span><div class="time-display">18:03</div><div class="arrival-info">21: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-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>



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



<h2 class="wp-block-heading"><strong><strong>동해</strong>역 KTX·</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><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>31,300</td><td>37,600</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>강릉K1</td><td>KTX</td><td class="highlight">평창</td><td class="highlight">동해</td><td>기본</td><td>0</td><td>11,700</td><td>14,700</td></tr><tr><td>동해A</td><td>ITX</td><td class="highlight">동해</td><td class="highlight">경주</td><td>-</td><td>20,500</td><td>0</td><td>0</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">동해</td><td class="highlight">경주</td><td>기본</td><td>0</td><td>29,600</td><td>35,500</td></tr><tr><td>동해B</td><td>ITX</td><td class="highlight">동해</td><td class="highlight">동대구</td><td>-</td><td>25,700</td><td>0</td><td>0</td></tr><tr><td>동해2</td><td>무궁화</td><td class="highlight">동해</td><td class="highlight">동대구</td><td>-</td><td>18,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>4,800</td><td>0</td><td>0</td></tr><tr><td>동해B</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>동해K3</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>동해2</td><td>무궁화</td><td class="highlight">강릉</td><td class="highlight">동해</td><td>-</td><td>2,900</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>24,600</td><td>0</td><td>0</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">동해</td><td class="highlight">태화강</td><td>기본</td><td>0</td><td>35,500</td><td>42,600</td></tr><tr><td>동해A</td><td>ITX</td><td class="highlight">동해</td><td class="highlight">북울산</td><td>-</td><td>23,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>30,600</td><td>0</td><td>0</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">동해</td><td class="highlight">부전</td><td>기본</td><td>0</td><td>42,100</td><td>50,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%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/">동해역 KTX 시간표 바로가기</a><br>✅ <s>동해역 SRT 노선 없음</s><br>✅ <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/">동해역 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>KTX·ITX·누리로 </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>751</td><td>KTX-이음</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>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>22:52</td><td>22:59</td><td>23:18</td><td>23:32</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>1851</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>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>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>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>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>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>22:29</td><td>22:37</td><td>22:58</td><td>23: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><th>정동진</th><th>강릉</th></tr></thead><tbody><tr><td>1781</td><td>누리로</td><td>07:40</td><td>07:48</td><td>08:09</td><td>08:24</td></tr><tr><td>1721</td><td>ITX-마음</td><td>21:04</td><td>21:12</td><td>21:32</td><td>21:47</td></tr></tbody></table></div>



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



<h3 class="wp-block-heading">출발 : 동해 → 도착 : 청량리<strong><strong>·</strong></strong>서울</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></tr></thead><tbody><tr><td>840</td><td>KTX-이음</td><td>7:05</td><td>7:12</td><td>7:33</td><td>8:03</td><td>8:11</td><td>8:21</td><td></td><td>8:36</td><td>8:58</td><td></td><td>9:22</td><td>9:29</td><td>9:49</td><td>매일</td></tr><tr><td>842</td><td>KTX-이음</td><td>10:04</td><td>10:11</td><td>10:32</td><td></td><td>11:06</td><td>11:16</td><td></td><td>11:31</td><td>11:53</td><td></td><td>12:17</td><td>12:23</td><td></td><td>매일</td></tr><tr><td>884</td><td>KTX-이음</td><td>12:20</td><td>12:28</td><td>12:49</td><td></td><td></td><td></td><td></td><td>13:43</td><td></td><td></td><td>14:25</td><td>14:31</td><td></td><td>금토일</td></tr><tr><td>844</td><td>KTX-이음</td><td>14:02</td><td>14:10</td><td>14:30</td><td>15:00</td><td></td><td></td><td>15:20</td><td>15:29</td><td>15:51</td><td></td><td></td><td>16:19</td><td>16:39</td><td>매일</td></tr><tr><td>886</td><td>KTX-이음</td><td>15:40</td><td>15:48</td><td>16:08</td><td></td><td></td><td></td><td></td><td>16:57</td><td></td><td>17:32</td><td>17:43</td><td>17:49</td><td></td><td>금토일</td></tr><tr><td>888</td><td>KTX-이음</td><td>16:45</td><td>16:52</td><td>17:13</td><td></td><td>17:52</td><td>18:02</td><td>18:11</td><td>18:21</td><td></td><td></td><td>19:03</td><td>19:09</td><td></td><td>토일</td></tr><tr><td>846</td><td>KTX-이음</td><td>19:04</td><td>19:11</td><td>19:32</td><td>20:02</td><td>20:11</td><td></td><td>20:26</td><td>20:36</td><td>20:58</td><td></td><td>21:22</td><td>21:29</td><td>21:49</td><td>매일</td></tr><tr><td>848</td><td>KTX-이음</td><td>21:32</td><td>21:39</td><td>22:00</td><td>22:29</td><td>22:38</td><td>22:47</td><td></td><td>23:02</td><td>23:23</td><td></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><th>고한</th><th>사북</th><th>민둥산</th><th>예미</th><th>영월</th><th>쌍룡</th><th>제천</th><th>봉양</th><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>1672</td><td>무궁화</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>1642</td><td>ITX-마음</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>1674</td><td>무궁화</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>1676</td><td>무궁화</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>1678</td><td>무궁화</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>



<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></tr></thead><tbody><tr><td>1772</td><td>무궁화</td><td>06:08</td><td>06:32</td><td>06:49</td><td>07:05</td><td>07:16</td><td>07:31</td><td>07:42</td><td>07:49</td><td>07:57</td><td>08:06</td><td>08:13</td><td>08:25</td><td>08:49</td><td>09:03</td></tr><tr><td>1774</td><td>무궁화</td><td>11:02</td><td></td><td>11:44</td><td>12:01</td><td>12:13</td><td>12:28</td><td>12:39</td><td>12:46</td><td>12:54</td><td>13:04</td><td>13:12</td><td>13:23</td><td>13:45</td><td>14:00</td></tr><tr><td>1776</td><td>무궁화</td><td>15:54</td><td>16:19</td><td>16:36</td><td>16:52</td><td>17:04</td><td>17:20</td><td>17:31</td><td>17:38</td><td>17:46</td><td>17:55</td><td></td><td>18:12</td><td>18:35</td><td>18:49</td></tr><tr><td>1778</td><td>무궁화</td><td>17:58</td><td></td><td>18:37</td><td>18:53</td><td>19:04</td><td>19:19</td><td>19:30</td><td>19:37</td><td>19:46</td><td>19:56</td><td>20:04</td><td>20:16</td><td>20:40</td><td>21:02</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>752</td><td>KTX-이음</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>12:53</td><td>13:36</td><td>매일</td></tr><tr><td>754</td><td>KTX-이음</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>18:07</td><td>18:50</td><td>매일</td></tr><tr><td>756</td><td>KTX-이음</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>21:46</td><td>22:29</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>1822</td><td>ITX-마음</td><td>06:30</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>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>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: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>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>



<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><th>영천</th><th>하양</th><th>동대구</th><th>비 고</th></tr></thead><tbody><tr><td>1852</td><td>누리로</td><td>07:21</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>07:21</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>09:39</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>09:39</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>13:15</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>20:42</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">실시간 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 = '32030';
            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;">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%8F%99%ED%95%B4+%EC%95%88%EB%8F%99%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+%EB%8F%99%ED%95%B4%EC%8B%9C+%EB%8F%99%ED%9A%8C%EB%8F%99+101-12+%EB%8F%99%ED%95%B4+%EC%95%88%EB%8F%99%EA%B0%88%EB%B9%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;">강원특별자치도 동해시 동회동 101-12 동해 안동갈비</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/37.5+%EB%8F%99%ED%95%B4%EC%A0%90+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EB%8F%99%ED%95%B4%EC%8B%9C+%EB%8F%99%ED%9A%8C%EB%8F%99+66-4+%EA%B0%80%EB%8F%99+2%2C+3%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;">37.5 동해점</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;">강원특별자치도 동해시 동회동 66-4 가동 2, 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%B6%81%EC%84%B1%EB%A1%9C+%EC%97%B0%ED%83%84%EB%B6%88%EA%B3%A0%EA%B8%B0+%EC%9A%B0%EB%8F%99+%EB%8F%99%ED%95%B4+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EB%8F%99%ED%95%B4%EC%8B%9C+%EB%8F%99%ED%9A%8C%EB%8F%99+66-4+%EB%8F%99%EB%B3%B4%EC%83%81%EA%B0%80+%EA%B0%80%EB%8F%99+1%EC%B8%B5+7%ED%98%B8+%EB%B6%81%EC%84%B1%EB%A1%9C+%EC%97%B0%ED%83%84%EB%B6%88%EA%B3%A0%EA%B8%B0+%EC%9A%B0%EB%8F%99+%EB%8F%99%ED%95%B4" 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;">강원특별자치도 동해시 동회동 66-4 동보상가 가동 1층 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/%ED%95%98%EB%82%A8%EB%8F%BC%EC%A7%80%EC%A7%91+%EB%8F%99%ED%95%B4%EB%8C%80%EB%8F%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+%EB%8F%99%ED%95%B4%EC%8B%9C+%EC%87%84%EC%9A%B4%EB%8F%99+141-1+%ED%95%9C%EC%9A%B8%EB%B9%8C+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;">강원특별자치도 동해시 쇄운동 141-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/%EB%A3%BD%EC%84%B1+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EB%8F%99%ED%95%B4%EC%8B%9C+%EB%8F%99%ED%9A%8C%EB%8F%99+66-4+%EB%8F%99%EB%B3%B4%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;">강원특별자치도 동해시 동회동 66-4 동보상가</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;">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;">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> 강원도 동해시 동해역길 69<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> 강원도 동해시 동해역길 69</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%8F%99%ED%95%B4%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/02/동해역-기차-시간표-KTX-이음-ITX-마음-누리로-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="동해역-기차-시간표-KTX-이음-ITX-마음-누리로-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-18874" srcset="https://krailroad.co.kr/wp-content/uploads/2026/02/동해역-기차-시간표-KTX-이음-ITX-마음-누리로-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/02/동해역-기차-시간표-KTX-이음-ITX-마음-누리로-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/02/동해역-기차-시간표-KTX-이음-ITX-마음-누리로-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>수서역 출발 울산행 KTX-SRT 시간표 경부선 하행 첫차 막차 요금 안내</title>
		<link>https://krailroad.co.kr/%ec%88%98%ec%84%9c%ec%97%ad-%ec%b6%9c%eb%b0%9c-%ec%9a%b8%ec%82%b0%ed%96%89-ktx-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%bd%eb%b6%80%ec%84%a0-%ed%95%98%ed%96%89-%ec%b2%ab%ec%b0%a8-%eb%a7%89%ec%b0%a8/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Fri, 20 Feb 2026 00:31:35 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[수서역에서 울산행 KTX]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=18762</guid>

					<description><![CDATA[울산과 서울 강남을 잇는 수서역 출발 울산행 KTX 고속열차 이용 환경이 2026년 2월 28일을 기점으로 크게 변합니다. 그동안 수서역은 SRT 전용 노선으로 운영되어 울산행 좌석 확보에 한계가 있었으나, 이제는 수서 울산 KTX 노선이 정식 도입되면서 열차 공급량이 늘어나 비즈니스와 일상 이동이 한결 수월해졌습니다. 이번 개통은 공공데이터 포털의 교통 수요 분석과 코레일 공식 사이트의 확정된 시간표를 ... <a title="수서역 출발 울산행 KTX-SRT 시간표 경부선 하행 첫차 막차 요금 안내" class="read-more button" href="https://krailroad.co.kr/%ec%88%98%ec%84%9c%ec%97%ad-%ec%b6%9c%eb%b0%9c-%ec%9a%b8%ec%82%b0%ed%96%89-ktx-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%bd%eb%b6%80%ec%84%a0-%ed%95%98%ed%96%89-%ec%b2%ab%ec%b0%a8-%eb%a7%89%ec%b0%a8/" aria-label="수서역 출발 울산행 KTX-SRT 시간표 경부선 하행 첫차 막차 요금 안내 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">울산과 서울 강남을 잇는 수서역 출발 울산행 KTX 고속열차 이용 환경이 2026년 2월 28일을 기점으로 크게 변합니다. 그동안 수서역은 SRT 전용 노선으로 운영되어 울산행 좌석 확보에 한계가 있었으나, 이제는 수서 울산 KTX 노선이 정식 도입되면서 열차 공급량이 늘어나 비즈니스와 일상 이동이 한결 수월해졌습니다.</p>



<p class="wp-block-paragraph">이번 개통은 공공데이터 포털의 교통 수요 분석과 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 사이트의 확정된 시간표를 바탕으로 준비하였으며, 서울역이나 용산역까지 이동할 필요 없이 강남에서 울산으로 곧장 향하는 수서역에서 울산행 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">현재 수서-울산 구간은 SRT 예매가 치열하다는 현실 때문에 불편을 겪는 분들이 많습니다. 그러나 이제는 기존 SRT 앱뿐만 아니라 코레일 톡 앱에서도 수서발 열차를 조회할 수 있어 선택의 폭이 두 배로 넓어졌으며, 출퇴근 시간이나 주말처럼 매진이 빠른 시기에는 두 앱을 동시에 확인하여 잔여 좌석을 선점하는 것이 수서 울산 기차예매를 하기에 조금더 수월합니다(<a href="https://krailroad.co.kr/%ec%9a%b8%ec%82%b0%ec%97%ad-%ec%b6%9c%eb%b0%9c-%ec%88%98%ec%84%9c%ed%96%89-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%bd%ec%a3%bc-%eb%8f%99%eb%8c%80%ea%b5%ac-%ea%b2%bd%ec%9c%a0-%ea%b2%bd%eb%b6%80%ec%84%a0/">울산역에서 수서행 KTX 시간표</a>는 여기 참고).</p>



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



<h3 class="wp-block-heading">수서역 이용 시 탑승 위치 확인</h3>



<p class="wp-block-paragraph">오랫동안 수서역은 SRT 전용 승강장으로만 쓰였기 때문에 KTX 진입에 따른 혼선이 있을 수 있습니다. 코레일 수서역 노선은 열차 편성에 따라 정차 위치나 승강장 번호가 기존과 다르게 배정될 가능성이 높으니, 개통 초기 수서역 출발 울산행 KTX를 이용할 경우 수서역 대합실에 설치된 실시간 안내 전광판을 통해 본인이 예약한 KTX의 정확한 탑승 위치를 반드시 확인해야 오승차를 방지할 수 있습니다.</p>



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



<h3 class="wp-block-heading">주차장 요금 할인과 정산 시스템</h3>



<p class="wp-block-paragraph">1️⃣ 울산역(통도사역) 주차장을 이용할 경우 KTX 승차권이 있으면 30% 할인이 자동 적용됩니다. 울산 시민 중 다자녀 가구로 등록되어 있거나 경차·저공해 차량을 소유하고 있다면 50%까지 감면율이 높아지니 정산 시 혜택을 확인하고, 무인 정산기에서 코레일톡 승차권 바코드를 인식시키면 신속하게 정산이 가능하여 대기 시간을 줄일 수 있습니다.</p>



<p class="wp-block-paragraph">2️⃣ 울산통도사역 시간표는 시내로 들어가는 리무진 버스(5001~5005번) 배차와 연동되어 있으며, 특히 수서 울산 KTX 운행시간에 맞춰 버스가 대기하고 있으나, 승객이 일시에 몰릴 경우 다음 차례를 기다려야 할 수도 있습니다.</p>



<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 = '31020';
            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;">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/%ED%94%8C%EB%A0%88%EC%9D%B4%ED%8C%85+%EC%88%98%EC%84%9C%EC%97%AD%EC%82%AC%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+214-16+%EC%A7%80%ED%95%981%EC%B8%B5+SB15%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;">서울특별시 강남구 수서동 214-16 지하1층 SB15호</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%B2%84%EA%B1%B0%ED%82%B9+%EC%88%98%EC%84%9C%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+724+%EB%A1%9C%EC%A6%88%EB%8D%B0%EC%9D%BC%EC%98%A4%ED%94%BC%EC%8A%A4%ED%85%94+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;">서울특별시 강남구 수서동 724 로즈데일오피스텔 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%88%98%EC%84%9C%EC%97%AD+%EB%B2%8C%EA%B5%90%ED%95%9C%EC%83%81+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+450-8+%EC%88%98%EC%84%9C%EC%97%AD%EB%B2%8C%EA%B5%90%ED%95%9C%EC%83%81" 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;">서울특별시 강남구 수서동 450-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%A1%AF%EB%8D%B0%EB%A6%AC%EC%95%84+%EC%88%98%EC%84%9C%EC%97%AD%EC%82%AC+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+214-16" 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;">서울특별시 강남구 수서동 214-16</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%A0%EB%A0%88%EB%9C%A8%ED%95%9C%EB%82%A8+%EC%88%98%EC%84%9C%EC%97%AD%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+724+1%EC%B8%B5+118%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;">서울특별시 강남구 수서동 724 1층 118호</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;">
                            📍 SRT 수서역 공영주차장                        </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;">3,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;">1,000원</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> 서울특별시 강남구 수서동 735<br>
                            🕒 <b>운영시간:</b> 24시간 연중무휴<br>
                            ⏱️ <b>무료회차시간:</b> 5분 이내<br>
                            🎁 <b>할인정보:</b> 열차 이용 고객 30% 할인<br>
                            📞 <b>문의:</b> 02-526-7530                        </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%88%98%EC%84%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/02/수서역-출발-울산행-KTX-시간표-요금-노선-정차역.jpg" alt="수서역-출발-울산행-KTX-시간표-요금-노선-정차역" class="wp-image-18781" srcset="https://krailroad.co.kr/wp-content/uploads/2026/02/수서역-출발-울산행-KTX-시간표-요금-노선-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/02/수서역-출발-울산행-KTX-시간표-요금-노선-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/02/수서역-출발-울산행-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%88%98%ec%84%9c%ec%97%ad%ec%97%90%ec%84%9c-%ea%b2%bd%ec%a3%bc-ktx-%ec%97%ac%ed%96%89-%ea%b2%bd%eb%b6%80%ec%84%a0-%ed%95%98%ed%96%89-%eb%85%b8%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c%ec%99%80-%ec%9a%94/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 19 Feb 2026 06:08:46 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[수서역에서 경주행 KTX]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=18717</guid>

					<description><![CDATA[수서역에서 경주 KTX를 이용한 여행 풍경이 2026년 2월 28일을 기점으로 완전히 달라집니다. 파란색 매끄러운 차체의 KTX가 강남 수서역 승강장에 모습을 드러내며, 경주로 향하는 철길의 주도권이 SRT에서 KTX로 확장되는 역사적인 순간을 맞이하게 되었습니다. 이번 수서경주KTX 개통은 강남권과 경주 경북권을 잇는 초광역 교통망의 완성을 의미하며, 공공데이터와 코레일 공식 사이트의 API를 통해 분석된 이번 노선은 이동의 편의성을 넘어 ... <a title="수서역에서 경주 KTX 여행 경부선 하행 노선 시간표와 요금, 정차역" class="read-more button" href="https://krailroad.co.kr/%ec%88%98%ec%84%9c%ec%97%ad%ec%97%90%ec%84%9c-%ea%b2%bd%ec%a3%bc-ktx-%ec%97%ac%ed%96%89-%ea%b2%bd%eb%b6%80%ec%84%a0-%ed%95%98%ed%96%89-%eb%85%b8%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c%ec%99%80-%ec%9a%94/" aria-label="수서역에서 경주 KTX 여행 경부선 하행 노선 시간표와 요금, 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">수서역에서 경주 KTX를 이용한 여행 풍경이 2026년 2월 28일을 기점으로 완전히 달라집니다. 파란색 매끄러운 차체의 KTX가 강남 수서역 승강장에 모습을 드러내며, 경주로 향하는 철길의 주도권이 SRT에서 KTX로 확장되는 역사적인 순간을 맞이하게 되었습니다.</p>



<p class="wp-block-paragraph">이번 수서경주KTX 개통은 강남권과 경주 경북권을 잇는 초광역 교통망의 완성을 의미하며, 공공데이터와 <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"><strong>수서역에서 경주 KTX, 강남권 이동</strong></h2>



<h3 class="wp-block-heading">예매 전쟁, 수서역 KTX 신규 노선</h3>



<p class="wp-block-paragraph">경주행 티켓 한 장을 구하기 위해 수시로 SRT 앱을 새로고침하거나, 울며 겨자 먹기로 서울역까지 1시간을 되돌아갔던 경주 시민들에게 이번 수서역에서 <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/">경주 KTX </a>개통은 가뭄의 단비와 같은 소식입니다. 이제는 수서역에서 경주가는 KTX를 집 근처 수서에서 바로 이용할 수 있게 되어, 이동 시간의 획기적인 단축은 물론 여행의 질 자체가 달라지게 되었습니다. 특히 많은 분이 궁금해하시는 수서역 SRT KTX 차이는 운영 주체에 따른 예매 시스템의 이원화에 있으며, 이는 곧 이용객들에게 두 배의 좌석 확보 기회가 생겼음을 의미합니다(<a href="https://krailroad.co.kr/%ea%b2%bd%ec%a3%bc%ec%97%ad%ec%97%90%ec%84%9c-%ec%88%98%ec%84%9c%ec%97%ad-ktx-%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%8f%99%eb%8c%80%ea%b5%ac-%eb%8c%80%ec%a0%84-%ec%88%98%ec%84%9c/">경주역에서 수서행 KTX</a>는 여기 참고).</p>



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



<h3 class="wp-block-heading">수서역의 재탄생</h3>



<p class="wp-block-paragraph">이제 수서역은 단순한 SRT 출발역이 아닌, 전국 각지로 뻗어 나가는 코레일수서역으로서의 정체성이 강화되었고, 수서역에서 경주 KTX 타는곳은 기존 SRT 승강장과 유기적으로 연결되어 환승 동선이 매우 간결하게 설계되었으며, 이는 경주의 풍부한 인적 자원과 강남의 자본·인프라가 실시간으로 소통하는 거대한 혈맥의 역할을 수행하게 될 것입니다(<a href="https://krailroad.co.kr/%ea%b2%bd%ec%a3%bc%ec%97%ad-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%95%88%eb%82%b4-%ea%b2%bd%ec%a3%bc-%ec%97%ac%ed%96%89-%ed%95%84%ec%88%98-%ec%a0%95%eb%b3%b4/">경주역에서 수서행 SRT</a>는 여기 참고).</p>



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



<h3 class="wp-block-heading">수서역 → 경주역 KTX 이용 안내</h3>



<p class="wp-block-paragraph">1️⃣ <strong>경주역 &#8216;KTX-SRT 통합 주차 할인&#8217; 혜택:</strong> 경주역 주차장은 코레일 네트웍스에서 운영하므로 KTX 이용객은 열차 승차권만 있으면 주차 요금 30% 할인을 받을 수 있습니다. 특히 수서행 KTX를 이용할 때 SRT 앱이 아닌 코레일톡 바코드를 사전 무인정산기에 인식시켜야 할인이 적용되므로, 정산 시 앱을 미리 준비해 두는 것이 좋습니다. 경주역은 주차 공간이 넉넉한 편이지만, 주말에는 출구 정체가 심하므로 열차 도착 10분 전 사전 정산은 필수입니다(경주시민의 경우는 다자녀할인 혜택 50%니 참고하세요).</p>



<p class="wp-block-paragraph">2️⃣ <strong>경주행 KTX 특가:</strong> 코레일 API를 통해 확인된 정보에 따르면, 수서발 KTX는 기존 서울역 출발 노선보다 거리 대비 요금이 합리적으로 책정되는 경우가 많습니다. 특히 경주당일치기KTX 여행객이라면 코레일톡의 &#8216;힘내라 청춘&#8217;이나 &#8216;맘편한 KTX&#8217; 등 공공 할인 상품이 수서 노선에도 동일하게 적용되므로, SRT에는 없는 KTX만의 파격적인 할인율(최대 40%)을 반드시 체크해 보시길 권합니다.</p>



<p class="wp-block-paragraph">3️⃣ <strong>경주 역사내 판매장:</strong> 경주역 내부에 위치한 &#8216;경주시 농특산물 판매장&#8217;에서는 KTX 당일 승차권 제시 시 특정 품목 할인이 제공되기도 하니, 수서로 복귀하기 전 기념품을 구매할 계획이라면 승차권을 버리지 말고 활용해 보세요.</p>



<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 = '31020';
            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;">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/%ED%94%8C%EB%A0%88%EC%9D%B4%ED%8C%85+%EC%88%98%EC%84%9C%EC%97%AD%EC%82%AC%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+214-16+%EC%A7%80%ED%95%981%EC%B8%B5+SB15%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;">서울특별시 강남구 수서동 214-16 지하1층 SB15호</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%B2%84%EA%B1%B0%ED%82%B9+%EC%88%98%EC%84%9C%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+724+%EB%A1%9C%EC%A6%88%EB%8D%B0%EC%9D%BC%EC%98%A4%ED%94%BC%EC%8A%A4%ED%85%94+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;">서울특별시 강남구 수서동 724 로즈데일오피스텔 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%88%98%EC%84%9C%EC%97%AD+%EB%B2%8C%EA%B5%90%ED%95%9C%EC%83%81+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+450-8+%EC%88%98%EC%84%9C%EC%97%AD%EB%B2%8C%EA%B5%90%ED%95%9C%EC%83%81" 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;">서울특별시 강남구 수서동 450-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%A1%AF%EB%8D%B0%EB%A6%AC%EC%95%84+%EC%88%98%EC%84%9C%EC%97%AD%EC%82%AC+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+214-16" 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;">서울특별시 강남구 수서동 214-16</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%A0%EB%A0%88%EB%9C%A8%ED%95%9C%EB%82%A8+%EC%88%98%EC%84%9C%EC%97%AD%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+724+1%EC%B8%B5+118%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;">서울특별시 강남구 수서동 724 1층 118호</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;">
                            📍 SRT 수서역 공영주차장                        </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;">3,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;">1,000원</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> 서울특별시 강남구 수서동 735<br>
                            🕒 <b>운영시간:</b> 24시간 연중무휴<br>
                            ⏱️ <b>무료회차시간:</b> 5분 이내<br>
                            🎁 <b>할인정보:</b> 열차 이용 고객 30% 할인<br>
                            📞 <b>문의:</b> 02-526-7530                        </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%88%98%EC%84%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/02/수서역에서-경주-KTX-시간표-요금-노선-정차역.jpg" alt="수서역에서-경주-KTX-시간표-요금-노선-정차역" class="wp-image-18750" srcset="https://krailroad.co.kr/wp-content/uploads/2026/02/수서역에서-경주-KTX-시간표-요금-노선-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/02/수서역에서-경주-KTX-시간표-요금-노선-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/02/수서역에서-경주-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%88%98%ec%84%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%99%eb%8c%80%ea%b5%ac%ed%96%89-ktx-%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ea%b5%ac%ea%b0%84%eb%b3%84-%ec%9a%94%ea%b8%88/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 19 Feb 2026 03:23:24 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[수서역에서 동대구행 KTX]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=18699</guid>

					<description><![CDATA[수서역에서 동대구행 KTX 노선이 강남의 심장부인 수서에서 이제 대구의 활력과 만나 영남권 교통의 판도를 새롭게 짜고 있습니다. 그동안 수서역은 SRT 전용이라는 인식이 강했으나, 2026년 2월 28일을 기점으로 수서역 KTX 신규 노선이 본격적인 운행을 시작하며 대구 시민들과 강남 거주자들의 이동권이 획기적으로 개선되었습니다. 이번 수서동대구KTX 개통은 단순히 열차 한 대가 늘어나는 차원을 넘어, 서울 동남권과 영남권을 하나로 ... <a title="수서역에서 동대구행 KTX 경부선 시간표 및 구간별 요금 정차역 총정리" class="read-more button" href="https://krailroad.co.kr/%ec%88%98%ec%84%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%99%eb%8c%80%ea%b5%ac%ed%96%89-ktx-%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ea%b5%ac%ea%b0%84%eb%b3%84-%ec%9a%94%ea%b8%88/" aria-label="수서역에서 동대구행 KTX 경부선 시간표 및 구간별 요금 정차역 총정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">수서역에서 동대구행 KTX 노선이 강남의 심장부인 수서에서 이제 대구의 활력과 만나 영남권 교통의 판도를 새롭게 짜고 있습니다. 그동안 수서역은 SRT 전용이라는 인식이 강했으나, 2026년 2월 28일을 기점으로 수서역 KTX 신규 노선이 본격적인 운행을 시작하며 대구 시민들과 강남 거주자들의 이동권이 획기적으로 개선되었습니다.</p>



<p class="wp-block-paragraph">이번 수서동대구KTX 개통은 단순히 열차 한 대가 늘어나는 차원을 넘어, 서울 동남권과 영남권을 하나로 묶는 거대한 철도 네트워크의 완성을 의미합니다. 공공데이터와 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 사이트의 최신 API를 연동하여 정리한 <a href="https://krailroad.co.kr/%ec%88%98%ec%84%9c%ec%97%ad-ktx-%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b6%80%ec%82%b0-%eb%8c%80%ec%a0%84-%eb%8f%99%eb%8c%80%ea%b5%ac-%ec%83%81%ed%95%98%ed%96%89-%eb%85%b8%ec%84%a0/">수서역 KTX 시간표</a>와 이용 정보를 정리해 보았습니다.</p>



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



<h2 class="wp-block-heading"><strong>수서역에서 대구 KTX 도입</strong></h2>



<h3 class="wp-block-heading">수서역에서 동대구행 KTX &amp; SRT</h3>



<p class="wp-block-paragraph">그동안 대구와 강남을 오가는 분들은 SRT 좌석 매진 시 서울역까지 이동해 KTX를 타야만 했던 번거로움을 겪어왔습니다. 하지만 이제 수서역에서 동대구행 KTX 개통으로 인해 대구, 강남가는KTX를 수서역에서 바로 이용할 수 있게 되었으며, 이는 강남권 비즈니스 고객과 대구 방문객들에게 시간적·심리적 여유를 제공하게 되었습니다. 특히 수서역 SRT KTX 차이를 궁금해하시는 분들이 많은데, 운행 주체와 예매 앱이 다르므로 수서대구기차예매 시 본인의 일정에 맞는 열차를 폭넓게 고를 수 있다는 점이 가장 큰 변화입니다(<a href="https://krailroad.co.kr/%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad%ec%97%90%ec%84%9c-%ec%88%98%ec%84%9c%ec%97%ad-ktx-%eb%85%b8%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b6%80%ec%82%b0-%ea%b2%bd%ec%a3%bc-%eb%8c%80%ec%a0%84-%ec%88%98/">동대구역에서 수서행 KTX 시간표</a>는 여기 참고).</p>



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



<h3 class="wp-block-heading">수서역의 진화와 통합 고속철도 중심</h3>



<p class="wp-block-paragraph">이번 개통을 통해 코레일수서역의 시대가 열리며, 수서는 명실상부한 통합 고속철도 거점으로 도약하게 됩니다. 수서역 KTX 타는곳은 기존 SRT 승강장과 연계되어 동선이 매우 효율적이며, 대구까지 이어지는 강력한 철도 공급망은 지역 간 경제 교류를 가속화하는 핵심 동력이 될 것입니다.</p>



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



<h3 class="wp-block-heading">스마트한 수서 동대구 기차예매</h3>



<p class="wp-block-paragraph">1️⃣ <strong>예매 확인:</strong> 수서역 KTX 신규 노선은 기존 SRT 앱이 아닌 코레일톡을 통해 예매해야 하며, 목적지를 &#8216;동대구&#8217;로 설정하면 시간표를 바로 확인할 수 있습니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>유연한 스케줄링:</strong> 수서역 SRT KTX 차이를 활용해 두 앱의 좌석 상황을 동시에 비교하면 주말이나 명절에도 대구행 좌석을 확보할 확률이 비약적으로 높아집니다.</p>



<p class="wp-block-paragraph">3️⃣ <strong>접근성 활용:</strong> 지하철 3호선과 수인분당선이 바로 연결되는 수서역의 이점을 누리며 서울 도심 교통 체증 없이 대구로 향하는 쾌적한 여행을 즐길 수 있습니다.</p>



<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 = '31020';
            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;">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/%ED%94%8C%EB%A0%88%EC%9D%B4%ED%8C%85+%EC%88%98%EC%84%9C%EC%97%AD%EC%82%AC%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+214-16+%EC%A7%80%ED%95%981%EC%B8%B5+SB15%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;">서울특별시 강남구 수서동 214-16 지하1층 SB15호</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%B2%84%EA%B1%B0%ED%82%B9+%EC%88%98%EC%84%9C%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+724+%EB%A1%9C%EC%A6%88%EB%8D%B0%EC%9D%BC%EC%98%A4%ED%94%BC%EC%8A%A4%ED%85%94+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;">서울특별시 강남구 수서동 724 로즈데일오피스텔 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%88%98%EC%84%9C%EC%97%AD+%EB%B2%8C%EA%B5%90%ED%95%9C%EC%83%81+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+450-8+%EC%88%98%EC%84%9C%EC%97%AD%EB%B2%8C%EA%B5%90%ED%95%9C%EC%83%81" 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;">서울특별시 강남구 수서동 450-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%A1%AF%EB%8D%B0%EB%A6%AC%EC%95%84+%EC%88%98%EC%84%9C%EC%97%AD%EC%82%AC+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+214-16" 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;">서울특별시 강남구 수서동 214-16</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%A0%EB%A0%88%EB%9C%A8%ED%95%9C%EB%82%A8+%EC%88%98%EC%84%9C%EC%97%AD%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+724+1%EC%B8%B5+118%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;">서울특별시 강남구 수서동 724 1층 118호</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;">
                            📍 SRT 수서역 공영주차장                        </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;">3,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;">1,000원</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> 서울특별시 강남구 수서동 735<br>
                            🕒 <b>운영시간:</b> 24시간 연중무휴<br>
                            ⏱️ <b>무료회차시간:</b> 5분 이내<br>
                            🎁 <b>할인정보:</b> 열차 이용 고객 30% 할인<br>
                            📞 <b>문의:</b> 02-526-7530                        </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%88%98%EC%84%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/02/수서역에서-동대구행-KTX-시간표-요금-노선-정차역.jpg" alt="수서역에서-동대구행-KTX-시간표-요금-노선-정차역" class="wp-image-18713" srcset="https://krailroad.co.kr/wp-content/uploads/2026/02/수서역에서-동대구행-KTX-시간표-요금-노선-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/02/수서역에서-동대구행-KTX-시간표-요금-노선-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/02/수서역에서-동대구행-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%9a%b8%ec%82%b0%ec%97%ad-%ec%b6%9c%eb%b0%9c-%ec%88%98%ec%84%9c%ed%96%89-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%bd%ec%a3%bc-%eb%8f%99%eb%8c%80%ea%b5%ac-%ea%b2%bd%ec%9c%a0-%ea%b2%bd%eb%b6%80%ec%84%a0/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 19 Feb 2026 02:18:17 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[울산역에서 수서역 KTX]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=18689</guid>

					<description><![CDATA[대한민국 산업의 중심인 울산과 서울 비즈니스의 핵심인 강남 수서가 이제 울산역 출발 수서행 KTX로 더 빠르고 촘촘하게 연결됩니다. 그동안 울산 시민들은 서울 동남권으로 향하는 SRT 좌석을 구하기 위해 매번 예매 전쟁을 치러야 했으나, 2026년 2월 28일부터 도입되는 KTX 노선은 이러한 비효율적인 지목 지점을 개선할 확실한 대안이 될 것입니다. 특히 울산에서강남가는법이 다양해짐에 따라, 업무 출장이 잦은 ... <a title="울산역 출발 수서행 KTX 시간표 경주-동대구 경유 경부선 정차역 및 운임" class="read-more button" href="https://krailroad.co.kr/%ec%9a%b8%ec%82%b0%ec%97%ad-%ec%b6%9c%eb%b0%9c-%ec%88%98%ec%84%9c%ed%96%89-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%bd%ec%a3%bc-%eb%8f%99%eb%8c%80%ea%b5%ac-%ea%b2%bd%ec%9c%a0-%ea%b2%bd%eb%b6%80%ec%84%a0/" aria-label="울산역 출발 수서행 KTX 시간표 경주-동대구 경유 경부선 정차역 및 운임 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">대한민국 산업의 중심인 울산과 서울 비즈니스의 핵심인 강남 수서가 이제 울산역 출발 수서행 KTX로 더 빠르고 촘촘하게 연결됩니다. 그동안 울산 시민들은 서울 동남권으로 향하는 SRT 좌석을 구하기 위해 매번 예매 전쟁을 치러야 했으나, 2026년 2월 28일부터 도입되는 KTX 노선은 이러한 비효율적인 지목 지점을 개선할 확실한 대안이 될 것입니다.</p>



<p class="wp-block-paragraph">특히 울산에서강남가는법이 다양해짐에 따라, 업무 출장이 잦은 직장인들과 서울을 찾는 시민들의 이동 효율성이 획기적으로 개선되었습니다. 이번 울산수서 KTX 개통 소식은 공공데이터 포털의 이동 수요 분석과 <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>울산역수서KTX가 가져올 변화</strong></h2>



<h3 class="wp-block-heading">울산통도사역 수서 노선의 이점</h3>



<p class="wp-block-paragraph">울산역 출발 수서행 KTX 구간은 경부선 라인 중에서도 높은 이용률을 자랑하는 곳입니다(<a href="https://krailroad.co.kr/%ec%88%98%ec%84%9c%ec%97%ad-%ec%b6%9c%eb%b0%9c-%ec%9a%b8%ec%82%b0%ed%96%89-ktx-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%bd%eb%b6%80%ec%84%a0-%ed%95%98%ed%96%89-%ec%b2%ab%ec%b0%a8-%eb%a7%89%ec%b0%a8/">수서역 출발 울산행 KTX</a>는 여기 참고). 이번 수서행 KTX의 정차는 만성적인 좌석 부족을 해소하는 것을 넘어, 울산역을 영남권 핵심 중심지로 격상시키는 역할을 합니다. 코레일 API를 통해 확인된 울산역 기차 시간표 변경 사항을 보면, 이제는 서울역까지 돌아가 환승하는 불편함 없이 강남 한복판으로 곧장 진입하는 &#8216;강남 2시간대 생활권&#8217;이 완벽히 구축되었음을 알 수 있습니다.</p>



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



<h3 class="wp-block-heading">미래를 향한 발걸음, 울산역 KTX 이음</h3>



<p class="wp-block-paragraph">단순한 노선 추가에 그치지 않고, 향후 도입될 <a href="https://krailroad.co.kr/%ec%9a%b8%ec%82%b0%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%9a%94%ea%b8%88-%ec%b5%9c%ec%8b%a0-%eb%8d%b0%ec%9d%b4%ed%84%b0/">울산역 KTX</a> 이음 등 차세대 고속열차 운영 계획과 맞물려 울산역은 더욱 스마트한 교통 중심지로 거듭날 전망입니다. 이번 울산역 출발 수서행 KTX 시간표의 변화는 울산이 가진 산업적 역량이 수도권의 자본 및 인프라와 실시간으로 소통하며 새로운 시너지를 창출하는 중추적인 동력이 됩니다.</p>



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



<h3 class="wp-block-heading">대전역에서 수서역 <strong>이용 안내</strong></h3>



<p class="wp-block-paragraph">KTX 339호는 울산을 지나 오후 1시 55분에 수서역에 최종 도착하며, KTX 326호는 수서에서 낮 12시 39분에 출발해 울산으로 향합니다. 울산역 KTX 예매 시 기존의 <a href="https://krailroad.co.kr/%ec%9a%b8%ec%82%b0%ec%97%ad-srt-%ec%8b%9c%ea%b0%84%ed%91%9c%ec%99%80-%ec%9a%94%ea%b8%88%ed%91%9c-%ec%a3%bc%ec%b0%a8%ec%9e%a5-%ec%9d%b4%ec%9a%a9-%ec%a0%95%eb%b3%b4%ea%b9%8c%ec%a7%80-%ed%95%9c%eb%b0%a9/">울산에서 수서기차 SRT</a> 시간표도 함께 조회할 수 있습니다.</p>



<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 = '';
            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%8D%98%ED%82%A8+%EC%9A%B8%EC%82%B0%EC%97%AD%EC%82%AC%EC%A0%90+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%9A%B8%EC%A3%BC%EA%B5%B0+%EC%82%BC%EB%82%A8%EC%9D%8D+%EC%8B%A0%ED%99%94%EB%A6%AC+88" 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;">울산광역시 울주군 삼남읍 신화리 88</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+%EC%9A%B8%EC%82%B0+KTX%EC%A0%90+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%9A%B8%EC%A3%BC%EA%B5%B0+%EC%82%BC%EB%82%A8%EC%9D%8D+%EC%8B%A0%ED%99%94%EB%A6%AC+1606-11" 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;">스타벅스 울산 KTX점</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;">울산광역시 울주군 삼남읍 신화리 1606-11</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%B3%B8%EC%9A%B0%EB%A6%AC%EB%B0%98%EC%83%81+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%9A%B8%EC%A3%BC%EA%B5%B0+%EC%82%BC%EB%82%A8%EC%9D%8D+%EC%8B%A0%ED%99%94%EB%A6%AC+88+1%EC%B8%B5+%EB%B3%B8%EC%9A%B0%EB%A6%AC%EB%B0%98%EC%83%81" 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;">울산광역시 울주군 삼남읍 신화리 88 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%EB%94%94%EC%95%BC%EC%BB%A4%ED%94%BC+%EC%9A%B8%EC%82%B0%EC%97%AD%EC%A0%90+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%9A%B8%EC%A3%BC%EA%B5%B0+%EC%82%BC%EB%82%A8%EC%9D%8D+%EC%8B%A0%ED%99%94%EB%A6%AC+471-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;">울산광역시 울주군 삼남읍 신화리 471-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%95%A0%EB%A6%AC%EC%8A%A4+%EC%9A%B8%EC%82%B0KTX%EC%A0%90+%EC%9A%B8%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%9A%B8%EC%A3%BC%EA%B5%B0+%EC%82%BC%EB%82%A8%EC%9D%8D+%EC%8B%A0%ED%99%94%EB%A6%AC+1607-10+%ED%95%A0%EB%A6%AC%EC%8A%A4+%EC%9A%B8%EC%82%B0KTX%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;">할리스 울산KTX점</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;">울산광역시 울주군 삼남읍 신화리 1607-10 할리스 울산KTX점</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;">
                            📍 SRT 수서역 공영주차장                        </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;">3,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;">1,000원</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> 서울특별시 강남구 수서동 735<br>
                            🕒 <b>운영시간:</b> 24시간 연중무휴<br>
                            ⏱️ <b>무료회차시간:</b> 5분 이내<br>
                            🎁 <b>할인정보:</b> 열차 이용 고객 30% 할인<br>
                            📞 <b>문의:</b> 02-526-7530                        </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> 울산광역시 북구 오토밸리로 620</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%9A%B8%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/02/울산역-출발-수서행-KTX-시간표-요금-노선-정차역.jpg" alt="울산역-출발-수서행-KTX-시간표-요금-노선-정차역" class="wp-image-18696" srcset="https://krailroad.co.kr/wp-content/uploads/2026/02/울산역-출발-수서행-KTX-시간표-요금-노선-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/02/울산역-출발-수서행-KTX-시간표-요금-노선-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/02/울산역-출발-수서행-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/%eb%8c%80%ec%a0%84%ec%97%ad%ec%97%90%ec%84%9c-%ec%88%98%ec%84%9c%ec%97%ad-ktx-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%eb%b0%8f-%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%94%ea%b8%88/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 19 Feb 2026 01:50:34 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[대전역에서 수서역]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=18677</guid>

					<description><![CDATA[중부권 교통의 요충지인 대전과 서울 강남의 핵심 관문인 수서가 이제 대전수서 KTX라는 새로운 철길로 더욱 긴밀하게 연결됩니다. 그동안 대전역에서 수서역으로 이동할 때 SRT 좌석 부족으로 겪었던 갈증이 이번 노선 신설로 시원하게 해소될 전망이며, 열차 선택지가 넓어짐에 따라 대전과 강남을 잇는 이동의 시스템이 한층 진화하고 있습니다. 단순한 노선 확장을 넘어 대전의 과학 기술 인프라와 강남의 비즈니스 ... <a title="대전역에서 수서역 KTX 소요시간 및 경부선 시간표 요금 노선 정차역 정리" class="read-more button" href="https://krailroad.co.kr/%eb%8c%80%ec%a0%84%ec%97%ad%ec%97%90%ec%84%9c-%ec%88%98%ec%84%9c%ec%97%ad-ktx-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%eb%b0%8f-%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%94%ea%b8%88/" aria-label="대전역에서 수서역 KTX 소요시간 및 경부선 시간표 요금 노선 정차역 정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">중부권 교통의 요충지인 대전과 서울 강남의 핵심 관문인 수서가 이제 대전수서 KTX라는 새로운 철길로 더욱 긴밀하게 연결됩니다. 그동안 대전역에서 수서역으로 이동할 때 SRT 좌석 부족으로 겪었던 갈증이 이번 노선 신설로 시원하게 해소될 전망이며, 열차 선택지가 넓어짐에 따라 대전과 강남을 잇는 이동의 시스템이 한층 진화하고 있습니다.</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>대전역에서 수서역 KTX 도입 배경</strong></h2>



<h3 class="wp-block-heading">경부선 상행 좌석난 해소와 공급 확대</h3>



<p class="wp-block-paragraph">대전역은 전국 고속철도 이용객이 집중되는 거점인 만큼, 그동안 수서행 SRT의 매진 속도가 빨라 이용객들의 고충이 매우 컸습니다. 이번 대전역에서 수서역 KTX 정차의 가장 큰 목적은 만성적인 좌석 부족 현상을 해결하기 위해 열차 공급량을 늘리는 것이며, 이를 통해 대전 시민들이 원하는 시간대에 더 수월하게 수서행 티켓을 구할 수 있는 환경을 조성하기 위함입니다. 특히 코레일 API를 통해 확인된 대전~수서 구간은 약 50~60분 내외면 도착할 수 있을 만큼 매우 빠르게 연결되었습니다(수서역에서 대전행 KTX 는 <a href="https://krailroad.co.kr/%ec%88%98%ec%84%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8c%80%ec%a0%84%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%a0%84%ec%b2%b4-%ec%8b%9c%ea%b0%84%ed%91%9c/">수서 → 대전 KTX 시간표</a> 참고).</p>



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



<h3 class="wp-block-heading">중부권 메가시티의 거점, 대전역</h3>



<p class="wp-block-paragraph">코레일 공식 사이트의 철도망 확충 전략을 살펴보면, 대전역은 이제 SRT와 KTX가 동시에 수서로 향하는 유일무이한 중부권 통합 거점으로 자리매김합니다. 이는 대전역이 가진 교통의 중심성을 더욱 공고히 하며, 50~60분대의 쾌적한 접근성은 수서역이 강남의 관문을 넘어 중부권 경제를 흡수하는 거대 허브로 진화하는 데 중추적인 동력이 됩니다.</p>



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



<h3 class="wp-block-heading">대전역에서 수서역 <strong>이용 안내</strong></h3>



<p class="wp-block-paragraph">KTX 339번 열차는 대전을 거쳐 오후 1시 55분에 수서역에 도착하는 상행 노선이며, KTX 326번 열차는 수서에서 낮 12시 39분에 출발해 대전으로 향하는 하행 노선입니다. 기존의 <a href="https://krailroad.co.kr/%eb%8c%80%ec%a0%84%ec%97%ad-srt-%ec%8b%9c%ea%b0%84%ed%91%9c%ec%99%80-%ea%b2%bd%eb%b6%80%ec%84%a0-%ea%b2%bd%ec%a0%84%ec%84%a0-%ec%9a%b4%ed%96%89-%ec%a0%95%eb%b3%b4-%ec%99%84%eb%b2%bd-%ec%a0%95%eb%a6%ac/">대전에서 수서행 SRT 시간표</a>와 수서에서 대전갈 때 SRT 노선 정보도 여전히 유효하므로, 두 열차를 교차 확인하시면 좌석 확보가 훨씬 수월합니다.</p>



<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 = '25';
            let curName = '대전';
            let altCity = '31020';
            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/02/대전역에서-수서역-KTX-시간표-요금-노선-정차역.jpg" alt="대전역에서-수서역-KTX-시간표-요금-노선-정차역" class="wp-image-18685" srcset="https://krailroad.co.kr/wp-content/uploads/2026/02/대전역에서-수서역-KTX-시간표-요금-노선-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/02/대전역에서-수서역-KTX-시간표-요금-노선-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/02/대전역에서-수서역-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/%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad%ec%97%90%ec%84%9c-%ec%88%98%ec%84%9c%ec%97%ad-ktx-%eb%85%b8%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b6%80%ec%82%b0-%ea%b2%bd%ec%a3%bc-%eb%8c%80%ec%a0%84-%ec%88%98/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Wed, 18 Feb 2026 05:50:47 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[동대구역에서 수서역 KTX]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=18652</guid>

					<description><![CDATA[영남권 교통의 심장부인 동대구와 서울 강남의 관문 수서가 동대구역에서 수서역 KTX라는 새로운 철길로 더욱 강력하게 연결됩니다. 그동안 대구 시민들이 동대구역에서 수서역 SRT 이용시 좌석 부족으로 겪었던 불편함이 해소되며, 열차 선택의 폭이 넓어짐에 따라 동대구와 강남을 잇는 이동의 패러다임이 새롭게 바뀔 준비를 마쳤습니다. 단순한 노선 확장을 넘어 대구의 활력과 강남의 인프라를 하나로 묶어줄 이번 개통 소식을 ... <a title="동대구역에서 수서역 KTX 노선 시간표 부산 경주 대전 수서 요금 정차역" class="read-more button" href="https://krailroad.co.kr/%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad%ec%97%90%ec%84%9c-%ec%88%98%ec%84%9c%ec%97%ad-ktx-%eb%85%b8%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b6%80%ec%82%b0-%ea%b2%bd%ec%a3%bc-%eb%8c%80%ec%a0%84-%ec%88%98/" aria-label="동대구역에서 수서역 KTX 노선 시간표 부산 경주 대전 수서 요금 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">영남권 교통의 심장부인 동대구와 서울 강남의 관문 수서가 동대구역에서 수서역 KTX라는 새로운 철길로 더욱 강력하게 연결됩니다. 그동안 대구 시민들이 <a href="https://krailroad.co.kr/%eb%8f%99%eb%8c%80%ea%b5%ac%ec%97%ad-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ea%b2%bd%eb%b6%80%c2%b7%ea%b2%bd%ec%a0%84%ec%84%a0-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%95%88/">동대구역에서 수서역 SRT</a> 이용시 좌석 부족으로 겪었던 불편함이 해소되며, 열차 선택의 폭이 넓어짐에 따라 동대구와 강남을 잇는 이동의 패러다임이 새롭게 바뀔 준비를 마쳤습니다.</p>



<p class="wp-block-paragraph">단순한 노선 확장을 넘어 대구의 활력과 강남의 인프라를 하나로 묶어줄 이번 개통 소식을 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> API 실시간 연동 데이터를 바탕으로 정리하였으며, 서울역까지 가지 않고도 강남권으로 곧장 가실 수 있으니 아래 정리된 실시간 API를 활용하여 즐거운 여행이 되었으면 합니다.</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">동대구역은 전국에서 손꼽히는 이용객을 자랑하는 만큼, 동대구역에서 수서행 SRT의 좌석 매진 속도가 매우 빨라 이용객들의 고충이 컸습니다. 이번 KTX 도입의 가장 큰 목적은 만성적인 좌석 부족 현상을 해결하기 위해 열차 공급량을 획기적으로 늘리는 것이며, 이를 통해 대구 시민들이 원하는 시간대에 더 수월하게 강남행 티켓을 구할 수 있는 환경을 조성하기 위함입니다.</p>



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



<h3 class="wp-block-heading">고속철도 통합 운영의 효율성 증대</h3>



<p class="wp-block-paragraph">기존 SRT 전용역이었던 동대구역에서 수서역 KTX가 정차하게 된 것은 고속철도 운영의 효율성을 높이고 이용객의 선택권을 보장하려는 국가 철도망 전략의 일환입니다. 동대구역은 KTX와 SRT가 모두 정차하는 거점역으로서 그 위상이 더욱 높아지게 되며, 수서역 또한 통합 고속철도 허브로 진화하여 영남권과 수도권을 잇는 핵심 관문 역할을 수행하게 됩니다(<a href="https://krailroad.co.kr/%ec%88%98%ec%84%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8f%99%eb%8c%80%ea%b5%ac%ed%96%89-ktx-%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ea%b5%ac%ea%b0%84%eb%b3%84-%ec%9a%94%ea%b8%88/">수서역에서 동대구행 KTX</a>는 여기 참고).</p>



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



<h3 class="wp-block-heading">향후 계획과 미래 비전</h3>



<p class="wp-block-paragraph">1️⃣ <strong>초광역 교통 네트워크의 완성</strong>: 정부는 수서역 KTX 운행의 안정화를 시작으로 동대구와 수서를 잇는 운행 횟수를 단계적으로 늘려나갈 계획입니다. 이는 향후 대구권 광역철도 및 다양한 철도망과 연계되어 대구 시민들이 수도권 동남권을 자기 집 안마당처럼 오가는 &#8216;초연결 시대&#8217;를 앞당기는 가교가 될 것입니다.</p>



<p class="wp-block-paragraph">2️⃣<strong>지역 경제와 비즈니스 시너지 극대화</strong>: 대구의 산업 기반과 강남의 비즈니스 인프라가 실시간으로 소통하며 인적 교류가 활발해짐에 따라 지역 경제에도 새로운 활력이 불어넣어질 전망입니다. 수서역은 대구의 기업인들과 여행객들에게 가장 편리한 서울의 첫인상이 되고, 동대구역은 수도권 자본과 관광객을 끌어들이는 영남의 핵심 허브로서 상호 발전하는 미래를 그려나갈 것입니다.</p>



<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 = '31020';
            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/02/동대구역에서-수서역-KTX-시간표-요금-노선-정차역.jpg" alt="동대구역에서-수서역-KTX-시간표-요금-노선-정차역" class="wp-image-18674" srcset="https://krailroad.co.kr/wp-content/uploads/2026/02/동대구역에서-수서역-KTX-시간표-요금-노선-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/02/동대구역에서-수서역-KTX-시간표-요금-노선-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/02/동대구역에서-수서역-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%b2%bd%ec%a3%bc%ec%97%ad%ec%97%90%ec%84%9c-%ec%88%98%ec%84%9c%ec%97%ad-ktx-%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%8f%99%eb%8c%80%ea%b5%ac-%eb%8c%80%ec%a0%84-%ec%88%98%ec%84%9c/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Wed, 18 Feb 2026 05:13:02 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[경주역에서 수서역 KTX]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=18638</guid>

					<description><![CDATA[천년 고도의 향기를 간직한 경주와 대한민국 트렌드의 중심인 강남 수서가 기존 SRT 열차에서 이제 경주역에서 수서역 KTX라는 하나의 철길로 더욱 가까이 연결되고 있습니다. 그동안 경주에서 서울 동남권을 방문할 때 SRT에만 의존해야 했던 물리적 제약이 사라지며, 수서행 KTX가 정식 운행을 시작함에 따라 경주 시민과 관광객 모두의 이동권이 획기적으로 확장되었습니다. 이번 개통은 단순히 열차 노선이 추가되는 의미를 ... <a title="경주역에서 수서역 KTX 경부선 시간표 동대구 대전 수서/울산 부산 요금 정차역" class="read-more button" href="https://krailroad.co.kr/%ea%b2%bd%ec%a3%bc%ec%97%ad%ec%97%90%ec%84%9c-%ec%88%98%ec%84%9c%ec%97%ad-ktx-%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%8f%99%eb%8c%80%ea%b5%ac-%eb%8c%80%ec%a0%84-%ec%88%98%ec%84%9c/" aria-label="경주역에서 수서역 KTX 경부선 시간표 동대구 대전 수서/울산 부산 요금 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">천년 고도의 향기를 간직한 경주와 대한민국 트렌드의 중심인 강남 수서가 기존 SRT 열차에서 이제 경주역에서 수서역 KTX라는 하나의 철길로 더욱 가까이 연결되고 있습니다. 그동안 경주에서 서울 동남권을 방문할 때 SRT에만 의존해야 했던 물리적 제약이 사라지며, 수서행 KTX가 정식 운행을 시작함에 따라 경주 시민과 관광객 모두의 이동권이 획기적으로 확장되었습니다.</p>



<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"><strong>경주역에서 수서역 KTX 개통</strong></h2>



<h3 class="wp-block-heading">경주-수서 생활권과 여행의 변화</h3>



<p class="wp-block-paragraph">경주역에서 수서역 KTX를 타고 수서역에 도착하면 지하철 3호선과 수인분당선으로 즉시 연결되어 강남 전역으로의 이동 시간이 획기적으로 단축됩니다. 이는 경주의 풍부한 역사 문화 자원이 강남의 거대 소비 시장과 직접 맞닿는 효과를 가져오며, 당일치기 비즈니스나 1박 2일 휴양 여행이 일상처럼 가능해지는 &#8216;초밀착 생활권&#8217; 시대를 열어줄 것입니다(반대 방면은 <a href="https://krailroad.co.kr/%ec%88%98%ec%84%9c%ec%97%ad%ec%97%90%ec%84%9c-%ea%b2%bd%ec%a3%bc-ktx-%ec%97%ac%ed%96%89-%ea%b2%bd%eb%b6%80%ec%84%a0-%ed%95%98%ed%96%89-%eb%85%b8%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c%ec%99%80-%ec%9a%94/">수서역에서 경주역 시간표</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/%ea%b2%bd%ec%a3%bc%ec%97%ad-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%95%88%eb%82%b4-%ea%b2%bd%ec%a3%bc-%ec%97%ac%ed%96%89-%ed%95%84%ec%88%98-%ec%a0%95%eb%b3%b4/">경주역에서 수서행 SRT</a> 이외에 이번 KTX 노선 확충을 통해 국내외 관광객들이 가장 선호하는 &#8216;접근성 좋은 역사 도시&#8217;로서의 입지를 더욱 굳건히 하게 됩니다. 수서역 또한 SRT 전용역이라는 이미지를 벗고 전국의 주요 거점을 잇는 통합 고속철도 허브로 발전하며, 경주역에서 수서행 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">전국 기차 시간표 및 운임 조회</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 = '31020';
            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/02/경주역에서-수서역-KTX-시간표-요금-노선-정차역.jpg" alt="경주역에서-수서역-KTX-시간표-요금-노선-정차역" class="wp-image-18669" srcset="https://krailroad.co.kr/wp-content/uploads/2026/02/경주역에서-수서역-KTX-시간표-요금-노선-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/02/경주역에서-수서역-KTX-시간표-요금-노선-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/02/경주역에서-수서역-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/%eb%b6%80%ec%82%b0%ec%97%ad%ec%97%90%ec%84%9c-%ec%88%98%ec%84%9c%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%b8%ec%82%b0-%ea%b2%bd%ec%a3%bc-%eb%8f%99%eb%8c%80%ea%b5%ac-%ea%b9%80%ec%b2%9c%ea%b5%ac/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Mon, 16 Feb 2026 10:08:34 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[부산역에서 수서 KTX]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=18578</guid>

					<description><![CDATA[부산역에서 수서역으로 가는 서울 강남의 관문인 하늘길인만큼 시원한 철길이 새롭게 열리게 되었습니다. 그동안 부산 시민들이 서울 동남권을 방문할 때 SRT에만 의존해야 했던 제약이 사라지며, 2026년 2월 28일부터는 KTX가 수서역까지 정식 운행을 시작함에 따라 이동의 선택지가 대폭 넓어졌습니다. 상행선 노선인 부산발 수서행 KTX는 매일 정기적으로 운행되며, 이는 단순히 열차 종류가 늘어나는 것을 넘어 부산과 강남을 잇는 ... <a title="부산역에서 수서역 KTX 시간표 울산 경주 동대구 김천구미 대전 천안아산 경부선 정차역" class="read-more button" href="https://krailroad.co.kr/%eb%b6%80%ec%82%b0%ec%97%ad%ec%97%90%ec%84%9c-%ec%88%98%ec%84%9c%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%b8%ec%82%b0-%ea%b2%bd%ec%a3%bc-%eb%8f%99%eb%8c%80%ea%b5%ac-%ea%b9%80%ec%b2%9c%ea%b5%ac/" aria-label="부산역에서 수서역 KTX 시간표 울산 경주 동대구 김천구미 대전 천안아산 경부선 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">부산역에서 수서역으로 가는 서울 강남의 관문인 하늘길인만큼 시원한 철길이 새롭게 열리게 되었습니다. 그동안 부산 시민들이 서울 동남권을 방문할 때 SRT에만 의존해야 했던 제약이 사라지며, 2026년 2월 28일부터는 KTX가 수서역까지 정식 운행을 시작함에 따라 이동의 선택지가 대폭 넓어졌습니다.</p>



<p class="wp-block-paragraph">상행선 노선인 부산발 수서행 KTX는 매일 정기적으로 운행되며, 이는 단순히 열차 종류가 늘어나는 것을 넘어 부산과 강남을 잇는 고속철도 좌석 부족 문제를 해결하는 결정적인 계기가 될 것입니다. 아래 자료는 <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"><strong>부산역에서 수서역 KTX 운행</strong></h2>



<h3 class="wp-block-heading">KTX 상행 노선 도입과 개통</h3>



<p class="wp-block-paragraph">기존 <a href="https://krailroad.co.kr/%eb%b6%80%ec%82%b0%ec%97%ad-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%9a%94%ea%b8%88-%ec%95%88%eb%82%b4-%ec%a0%84%ec%b2%b4-%eb%85%b8%ec%84%a0-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%a0%95%eb%a6%ac/">부산역에서 수서</a>는 SRT만 운행하였지만 부산에서 수서역 KTX가 도입된 가장 큰 이유는 경부선 상행 구간의 만성적인 좌석 부족을 해소하고 부산 이용객들의 선택 폭을 넓히기 위해서입니다(<a href="https://krailroad.co.kr/%ec%88%98%ec%84%9c%ec%97%ad-ktx-%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b6%80%ec%82%b0-%eb%8c%80%ec%a0%84-%eb%8f%99%eb%8c%80%ea%b5%ac-%ec%83%81%ed%95%98%ed%96%89-%eb%85%b8%ec%84%a0/">수서역에서 부산 KTX 시간표</a>). 2026년 2월 28일을 기점으로 수서역은 SRT와 KTX가 공존하는 고속철도 허브로 재탄생하게 되며, 이는 부산에서 강남권을 잇는 철도 공급량을 늘려 더욱 쾌적한 상경 환경을 제공하는 중요한 전환점이 될 것입니다.</p>



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



<h3 class="wp-block-heading">부산역에서 수서 KTX 노선</h3>



<p class="wp-block-paragraph">부산에서 출발하는 수서행 KTX는 임시 열차가 아닌 매일 정기적으로 운행되는 노선입니다. 특히 부산에서 강남으로 향하는 KTX 이용이 가능해짐에 따라 비즈니스 고객이나 여행객들의 시간 효율성이 극대화되었으며, SRT와 KTX 예매 시스템을 적절히 활용하면 원하는 상행 시간대에 더 쉽게 고속열차 좌석을 확보할 수 있는 장점이 생겼습니다.</p>



<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 = '31020';
            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%98%81%EB%8F%99%EB%B0%80%EB%A9%B4%26amp%3B%EB%8F%BC%EC%A7%80%EA%B5%AD%EB%B0%A5+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%8F%99%EA%B5%AC+%EC%B4%88%EB%9F%89%EB%8F%99+472-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;">영동밀면&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;">부산광역시 동구 초량동 472-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%8B%A0%EB%B0%9C%EC%9B%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%8F%99%EA%B5%AC+%EC%B4%88%EB%9F%89%EB%8F%99+561-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;">부산광역시 동구 초량동 561-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%B4%88%EB%9F%89%EB%B0%80%EB%A9%B4+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%8F%99%EA%B5%AC+%EC%B4%88%EB%9F%89%EB%8F%99+363-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;">부산광역시 동구 초량동 363-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%B3%B8%EC%A0%84%EB%8F%BC%EC%A7%80%EA%B5%AD%EB%B0%A5+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%8F%99%EA%B5%AC+%EC%B4%88%EB%9F%89%EB%8F%99+1200-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;">부산광역시 동구 초량동 1200-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/%ED%99%98%EA%B3%B5%EC%96%B4%EB%AC%B5+%EB%B6%80%EC%82%B0%EC%97%AD%EC%A0%90+%EB%B6%80%EC%82%B0%EA%B4%91%EC%97%AD%EC%8B%9C+%EB%8F%99%EA%B5%AC+%EC%B4%88%EB%9F%89%EB%8F%99+1202+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;">부산광역시 동구 초량동 1202 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;">
                            📍 부산역 북항                        </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> 부산광역시 동구 중앙대로 206<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;">
                            📍 부산역 선상                        </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> 부산광역시 동구 초량동 1187-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;">
                            📍 부산역 정기권 주차                        </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> 부산광역시 동구 중앙대로 206<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;">
                            📍 부산원동역                        </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> 부산광역시 해운대구 수영강변대로 382  상가동<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> 부산광역시 동구 중앙대로 206</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%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/02/부산역에서-수서역-KTX-시간표-요금-노선-정차역.jpg" alt="부산역에서-수서역-KTX-시간표-요금-노선-정차역" class="wp-image-18664" srcset="https://krailroad.co.kr/wp-content/uploads/2026/02/부산역에서-수서역-KTX-시간표-요금-노선-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/02/부산역에서-수서역-KTX-시간표-요금-노선-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/02/부산역에서-수서역-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%88%98%ec%84%9c%ec%97%ad-ktx-%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b6%80%ec%82%b0-%eb%8c%80%ec%a0%84-%eb%8f%99%eb%8c%80%ea%b5%ac-%ec%83%81%ed%95%98%ed%96%89-%eb%85%b8%ec%84%a0/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Mon, 16 Feb 2026 09:47:34 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[수서역 KTX 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=18538</guid>

					<description><![CDATA[강남권에서도 드디어 KTX를 이용해 부산으로 향하는 길이 활짝 열리게 되었습니다. 그동안 수서역은 SRT 전용역으로만 인식되어 왔으나, 2026년 2월 28일부터 수서역 KTX가 본격적인 운행을 시작하며 서울 동남권 주민들의 기차 여행 환경이 획기적으로 변화하고 있죠[2026년 2월 28일 부터 운행이라 참고 하시라고 미리 시간표를 알려드립니다]. 강남이나 송파 부근에서 부산을 가기 위해 멀리 서울역이나 광명역까지 이동해야 했던 번거로움이 사라지며, ... <a title="수서역 KTX 경부선 시간표 부산 대전 동대구 상하행 노선 및 요금 정차역" class="read-more button" href="https://krailroad.co.kr/%ec%88%98%ec%84%9c%ec%97%ad-ktx-%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b6%80%ec%82%b0-%eb%8c%80%ec%a0%84-%eb%8f%99%eb%8c%80%ea%b5%ac-%ec%83%81%ed%95%98%ed%96%89-%eb%85%b8%ec%84%a0/" aria-label="수서역 KTX 경부선 시간표 부산 대전 동대구 상하행 노선 및 요금 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">강남권에서도 드디어 KTX를 이용해 부산으로 향하는 길이 활짝 열리게 되었습니다. 그동안 수서역은 SRT 전용역으로만 인식되어 왔으나, 2026년 2월 28일부터 수서역 KTX가 본격적인 운행을 시작하며 서울 동남권 주민들의 기차 여행 환경이 획기적으로 변화하고 있죠[2026년 2월 28일 부터 운행이라 참고 하시라고 미리 시간표를 알려드립니다].</p>



<p class="wp-block-paragraph">강남이나 송파 부근에서 부산을 가기 위해 멀리 서울역이나 광명역까지 이동해야 했던 번거로움이 사라지며, 이제는 도심 속 수서역에서 곧바로 고속열차에 몸을 싣는 시대가 된 셈입니다. 아래 정리해 드린 수서역 KTX 시간표와 운행 정보는 <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"><strong>수서역 KTX 개통 소식과 운행 배경</strong></h2>



<h3 class="wp-block-heading">KTX 도입 계기와 개통 시기</h3>



<p class="wp-block-paragraph">기존에 SRT만 운행하던 수서역에 KTX가 도입된 가장 큰 이유는 경부선 구간의 만성적인 좌석 부족을 해소하고 이용객의 선택 폭을 넓히기 위해서입니다. 2026년 2월 28일을 기점으로 수서역은 SRT와 KTX가 공존하는 고속철도 허브로 재탄생하게 되며, 이는 강남권에서 부산을 잇는 철도 공급량을 늘려 더욱 쾌적한 이동 환경을 제공하는 중요한 전환점이 될 것입니다.</p>



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



<h3 class="wp-block-heading">수서~부산 KTX 노선과 매일 운행</h3>



<p class="wp-block-paragraph">수서역 KTX는 임시 열차가 아닌 매일 정기적으로 운행되는 노선입니다. 특히 강남에서 부산으로 향하는 KTX 이용이 가능해짐에 따라 비즈니스 고객이나 여행객들의 시간 효율성이 극대화되었으며, SRT와 KTX 예매 시스템을 적절히 활용하면 원하는 시간대에 더 쉽게 고속열차 좌석을 확보할 수 있는 장점이 생겼습니다.<br><br><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-accent-color">✅ <strong>수서에서 부산 방향 (하행선)</strong></mark></p>



<p class="wp-block-paragraph">1️⃣ <strong>열차번호 326 (KTX):</strong> 수서역에서 13:55에 출발하여 부산역에 16:14에 도착하는 구간을 포함하며, 매일 운행됩니다.<br><br>2️⃣ <strong>주요 정차역:</strong> 수서 &#8211;  대전 &#8211;  동대구 &#8211; 경주 &#8211; 부산 등의 노선을 거치며 이동하게 됩니다.<br></p>



<p class="wp-block-paragraph"><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-accent-color">✅ <strong>부산에서 수서 방향 (상행선)</strong></mark></p>



<p class="wp-block-paragraph">1️⃣ <strong>열차번호 339 (KTX):</strong> 수서역에 13:55에 도착하는 시간표가 편성되어 있으며, 이 열차 역시 매일 운행되어 양방향 이용이 편리합니다.<br><br>2️⃣ <strong>상행 노선 흐름:</strong> 부산을 출발하여 경주, 동대구, 대전 등을 지나 수서역으로 진입하는 경로를 가지고 있습니다.</p>



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



<h3 class="wp-block-heading">수서역 KTX 예매 방법</h3>



<p class="wp-block-paragraph">수서역 KTX는 기존 SRT 앱이 아닌 코레일톡(Korail Talk) 앱이나 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">레츠코레일 홈페이지</a>를 통해 예매해야 합니다. 수서역에서 출발하거나 도착하는 열차를 조회할 때 열차 종류를 KTX로 설정하면 해당 시간표를 쉽게 확인할 수 있습니다.</p>



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



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






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



<h2 class="wp-block-heading"><strong>수서역 KTX 요금표</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></tr></thead><tbody><tr><td>경부K6</td><td>KTX</td><td class="highlight">수서</td><td class="highlight">대전</td><td>기본</td><td>20,100</td><td>29,100</td></tr><tr><td>경부K6</td><td>KTX</td><td class="highlight">수서</td><td class="highlight">동대구</td><td>기본</td><td>37,500</td><td>54,400</td></tr><tr><td>경부K6</td><td>KTX</td><td class="highlight">수서</td><td class="highlight">경주</td><td>기본</td><td>42,900</td><td>62,200</td></tr><tr><td>경부K6</td><td>KTX</td><td class="highlight">수서</td><td class="highlight">부산</td><td>기본</td><td>52,900</td><td>76,700</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%88%98%ec%84%9c%ec%97%ad-ktx-%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b6%80%ec%82%b0-%eb%8c%80%ec%a0%84-%eb%8f%99%eb%8c%80%ea%b5%ac-%ec%83%81%ed%95%98%ed%96%89-%eb%85%b8%ec%84%a0/">수서역 KTX 시간표 바로가기</a><br>✅ 수서역 SRT 시간표 준비중<br>✅ <s>수서역 ITX 노선 없음</s></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></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>339</td><td>KTX</td><td>13:55</td><td>14:44</td><td>15:28</td><td>15:46</td><td>16:14</td><td>매일</td></tr><tr><td>4141</td><td>KTX-산천</td><td>14:30</td><td>15:29</td><td>16:13</td><td></td><td>16:59</td><td>금토일</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 = '31020';
            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;">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/%ED%94%8C%EB%A0%88%EC%9D%B4%ED%8C%85+%EC%88%98%EC%84%9C%EC%97%AD%EC%82%AC%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+214-16+%EC%A7%80%ED%95%981%EC%B8%B5+SB15%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;">서울특별시 강남구 수서동 214-16 지하1층 SB15호</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%B2%84%EA%B1%B0%ED%82%B9+%EC%88%98%EC%84%9C%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+724+%EB%A1%9C%EC%A6%88%EB%8D%B0%EC%9D%BC%EC%98%A4%ED%94%BC%EC%8A%A4%ED%85%94+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;">서울특별시 강남구 수서동 724 로즈데일오피스텔 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%88%98%EC%84%9C%EC%97%AD+%EB%B2%8C%EA%B5%90%ED%95%9C%EC%83%81+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+450-8+%EC%88%98%EC%84%9C%EC%97%AD%EB%B2%8C%EA%B5%90%ED%95%9C%EC%83%81" 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;">서울특별시 강남구 수서동 450-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%A1%AF%EB%8D%B0%EB%A6%AC%EC%95%84+%EC%88%98%EC%84%9C%EC%97%AD%EC%82%AC+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+214-16" 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;">서울특별시 강남구 수서동 214-16</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%A0%EB%A0%88%EB%9C%A8%ED%95%9C%EB%82%A8+%EC%88%98%EC%84%9C%EC%97%AD%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+724+1%EC%B8%B5+118%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;">서울특별시 강남구 수서동 724 1층 118호</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;">
                            📍 SRT 수서역 공영주차장                        </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;">3,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;">1,000원</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> 서울특별시 강남구 수서동 735<br>
                            🕒 <b>운영시간:</b> 24시간 연중무휴<br>
                            ⏱️ <b>무료회차시간:</b> 5분 이내<br>
                            🎁 <b>할인정보:</b> 열차 이용 고객 30% 할인<br>
                            📞 <b>문의:</b> 02-526-7530                        </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%88%98%EC%84%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/02/수서역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="수서역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-18658" srcset="https://krailroad.co.kr/wp-content/uploads/2026/02/수서역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/02/수서역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/02/수서역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>수서역에서 대전역 KTX 시간표 경부선 전체 시간표</title>
		<link>https://krailroad.co.kr/%ec%88%98%ec%84%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8c%80%ec%a0%84%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%a0%84%ec%b2%b4-%ec%8b%9c%ea%b0%84%ed%91%9c/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Sat, 14 Feb 2026 06:21:36 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[수서역 KTX 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=18546</guid>

					<description><![CDATA[강남의 교통 허브인 수서역이 SRT를 넘어 KTX까지 품게 되면서, 수서역에서 대전역으로 향하는 철도망은 이전과는 비교할 수 없는 새로운 국면을 맞이하게 되었습니다. 2026년 2월 28일부터 시작되는 이 변화는 단순히 열차 노선이 하나 추가되는 의미를 넘어, 서울 동남권과 중부권을 잇는 경제와 문화의 흐름을 뒤바꿀 중요한 전환점이 될 것입니다. 수서역에서 대전역 KTX가 본격적으로 운행됨으로써 얻게 될 긍정적인 변화와 ... <a title="수서역에서 대전역 KTX 시간표 경부선 전체 시간표" class="read-more button" href="https://krailroad.co.kr/%ec%88%98%ec%84%9c%ec%97%ad%ec%97%90%ec%84%9c-%eb%8c%80%ec%a0%84%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%a0%84%ec%b2%b4-%ec%8b%9c%ea%b0%84%ed%91%9c/" aria-label="수서역에서 대전역 KTX 시간표 경부선 전체 시간표 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">강남의 교통 허브인 수서역이 SRT를 넘어 KTX까지 품게 되면서, 수서역에서 대전역으로 향하는 철도망은 이전과는 비교할 수 없는 새로운 국면을 맞이하게 되었습니다. 2026년 2월 28일부터 시작되는 이 변화는 단순히 열차 노선이 하나 추가되는 의미를 넘어, 서울 동남권과 중부권을 잇는 경제와 문화의 흐름을 뒤바꿀 중요한 전환점이 될 것입니다.</p>



<p class="wp-block-paragraph">수서역에서 <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/">대전역 KTX</a>가 본격적으로 운행됨으로써 얻게 될 긍정적인 변화와 우리가 마주할 미래의 모습들을 <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%ec%97%90%ec%84%9c-%ec%88%98%ec%84%9c%ec%97%ad-ktx-%ec%86%8c%ec%9a%94%ec%8b%9c%ea%b0%84-%eb%b0%8f-%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%94%ea%b8%88/">대전역에서 수서행 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">그동안 강남이나 송파 지역에서 대전으로 이동하려면 SRT 좌석 매진 시 서울역까지 먼 길을 돌아가야 했던 불편함이 컸습니다. 이제 수서역에서 KTX를 바로 이용할 수 있게 됨으로써 도심 내 이동 시간을 획기적으로 줄이고, 대전까지 1시간 내외면 닿는 초연결 생활권을 완벽히 구축하게 되었습니다.</p>



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



<h3 class="wp-block-heading">만성적인 좌석 부족 해소와 선택</h3>



<p class="wp-block-paragraph">경부선 라인 중에서도 대전 노선은 비즈니스 수요가 집중되어 승차권 예매 전쟁이 치열했던 구간입니다. 기존 SRT에 <a href="https://krailroad.co.kr/%ec%88%98%ec%84%9c%ec%97%ad-ktx-%ea%b2%bd%eb%b6%80%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b6%80%ec%82%b0-%eb%8c%80%ec%a0%84-%eb%8f%99%eb%8c%80%ea%b5%ac-%ec%83%81%ed%95%98%ed%96%89-%eb%85%b8%ec%84%a0/">수서역 KTX</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>



<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 = '31020';
            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;">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/%ED%94%8C%EB%A0%88%EC%9D%B4%ED%8C%85+%EC%88%98%EC%84%9C%EC%97%AD%EC%82%AC%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+214-16+%EC%A7%80%ED%95%981%EC%B8%B5+SB15%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;">서울특별시 강남구 수서동 214-16 지하1층 SB15호</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%B2%84%EA%B1%B0%ED%82%B9+%EC%88%98%EC%84%9C%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+724+%EB%A1%9C%EC%A6%88%EB%8D%B0%EC%9D%BC%EC%98%A4%ED%94%BC%EC%8A%A4%ED%85%94+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;">서울특별시 강남구 수서동 724 로즈데일오피스텔 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%88%98%EC%84%9C%EC%97%AD+%EB%B2%8C%EA%B5%90%ED%95%9C%EC%83%81+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+450-8+%EC%88%98%EC%84%9C%EC%97%AD%EB%B2%8C%EA%B5%90%ED%95%9C%EC%83%81" 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;">서울특별시 강남구 수서동 450-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%A1%AF%EB%8D%B0%EB%A6%AC%EC%95%84+%EC%88%98%EC%84%9C%EC%97%AD%EC%82%AC+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+214-16" 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;">서울특별시 강남구 수서동 214-16</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%A0%EB%A0%88%EB%9C%A8%ED%95%9C%EB%82%A8+%EC%88%98%EC%84%9C%EC%97%AD%EC%A0%90+%EC%84%9C%EC%9A%B8%ED%8A%B9%EB%B3%84%EC%8B%9C+%EA%B0%95%EB%82%A8%EA%B5%AC+%EC%88%98%EC%84%9C%EB%8F%99+724+1%EC%B8%B5+118%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;">서울특별시 강남구 수서동 724 1층 118호</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;">
                            📍 SRT 수서역 공영주차장                        </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;">3,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;">1,000원</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> 서울특별시 강남구 수서동 735<br>
                            🕒 <b>운영시간:</b> 24시간 연중무휴<br>
                            ⏱️ <b>무료회차시간:</b> 5분 이내<br>
                            🎁 <b>할인정보:</b> 열차 이용 고객 30% 할인<br>
                            📞 <b>문의:</b> 02-526-7530                        </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%88%98%EC%84%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/02/수서역에서-대전역-KTX-시간표-요금-노선-정차역.jpg" alt="수서역에서-대전역-KTX-시간표-요금-노선-정차역" class="wp-image-18660" srcset="https://krailroad.co.kr/wp-content/uploads/2026/02/수서역에서-대전역-KTX-시간표-요금-노선-정차역.jpg 350w, https://krailroad.co.kr/wp-content/uploads/2026/02/수서역에서-대전역-KTX-시간표-요금-노선-정차역-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/02/수서역에서-대전역-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%82%bc%ec%b2%99%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-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%a3%bd%ec%84%9c%eb%a3%a8%ec%99%80-%ec%82%bc%ec%b2%99%ed%95%b4/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Fri, 13 Feb 2026 01:47:08 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[삼척역 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=18461</guid>

					<description><![CDATA[동해안 철도 교통의 새로운 지형을 바꾸고 있는 삼척역은 단순한 종착역 이상의 가치를 지닙니다. 과거 포항에서 삼척을 잇는 기차 노선이 없어 육로에만 의존해야 했던 불편함이 이번 철도 사업을 통해 완전히 해소되었는데요. 영남권과 강원권을 잇는 동해중부선의 핵심 거점이자, 향후 강릉을 거쳐 제진까지 뻗어 나갈 동해북부선 연결의 전초기지로서 삼척은 이제 명실상부한 중부선 종착역이자 새로운 시작점이 되었습니다. 단순히 수치만 ... <a title="삼척역 KTX-이음 ITX-마음 누리로 시간표 죽서루와 삼척해변 여행 요금 노선" class="read-more button" href="https://krailroad.co.kr/%ec%82%bc%ec%b2%99%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-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%a3%bd%ec%84%9c%eb%a3%a8%ec%99%80-%ec%82%bc%ec%b2%99%ed%95%b4/" aria-label="삼척역 KTX-이음 ITX-마음 누리로 시간표 죽서루와 삼척해변 여행 요금 노선 전체 읽기">자세히 보기</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> 공공 데이터들을 하나씩 확인하며 삼척을 찾는 분들께 꼭 필요한 내용만 추려냈으니, KTX-이음과 ITX-마음, 그리고 누리로를 이용해 삼척의 푸른 바다를 만나러 오시는 분들에게 이 자료가 요긴하게 쓰였으면 합니다.</p>



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



<h2 class="wp-block-heading">삼척역 KTX·ITX·누리로 이용 안내</h2>



<h3 class="wp-block-heading"><strong><strong>철길로 연결된 동해안의 새로운 동력</strong></strong></h3>



<p class="wp-block-paragraph">그동안 포항과 삼척 사이는 철도가 끊겨 있어 이동이 쉽지 않았으나, 국가 철도망 구축 사업을 통해 비로소 하나로 이어지게 되었습니다. 이는 지역 간 균형 발전은 물론, 동해안의 수려한 자원을 세계적인 관광 벨트로 묶기 위한 전략적 선택이기도 한데, 현재는 KTX-이음과 ITX-마음이 정차하며 수도권과 영남권에서의 접근성을 획기적으로 높였으며, 향후 동해북부선이 제진까지 연결되면 유라시아 대륙철도로 향하는 관문 역할까지 수행하게 될 전망입니다.</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">K-문화와 호국 정신이 깃든 명소들</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="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">10:43</div><div class="arrival-info">10:59 도착</div></td><td><span class="train-detail">755호</span><div class="time-display">22:35</div><div class="arrival-info">22:52 도착</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">751호</span><div class="time-display">10:43</div><div class="arrival-info">11:40 도착</div></td><td><span class="train-detail">755호</span><div class="time-display">22:35</div><div class="arrival-info">23:32 도착</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">1801호</span><div class="time-display">09:19</div><div class="arrival-info">09:35 도착</div></td><td><span class="train-detail">1807호</span><div class="time-display">19:52</div><div class="arrival-info">20:08 도착</div></td></tr><tr><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1851호</span><div class="time-display">10:01</div><div class="arrival-info">10:24 도착</div></td><td><span class="train-detail">1865호</span><div class="time-display">22:12</div><div class="arrival-info">22:29 도착</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">1821호</span><div class="time-display">18:22</div><div class="arrival-info">19:27 도착</div></td><td><span class="train-detail">1831호</span><div class="time-display">18:22</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">10:01</div><div class="arrival-info">11:12 도착</div></td><td><span class="train-detail">1865호</span><div class="time-display">22:12</div><div class="arrival-info">23: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="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">20:59</div><div class="arrival-info">22:53 도착</div></td><td><span class="train-detail">1824호</span><div class="time-display">20:59</div><div class="arrival-info">22:53 도착</div></td></tr><tr><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1852호</span><div class="time-display">07:45</div><div class="arrival-info">10:17 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">13:33</div><div class="arrival-info">15:59 도착</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">1824호</span><div class="time-display">20:59</div><div class="arrival-info">23:13 도착</div></td><td><span class="train-detail">1824호</span><div class="time-display">20:59</div><div class="arrival-info">23:13 도착</div></td></tr><tr><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1852호</span><div class="time-display">07:45</div><div class="arrival-info">10:40 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">13:33</div><div class="arrival-info">16:23 도착</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">1824호</span><div class="time-display">20:59</div><div class="arrival-info">00:04 도착</div></td><td><span class="train-detail">1824호</span><div class="time-display">20:59</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">07:45</div><div class="arrival-info">11:36 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">13:33</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-ktx">KTX</span></td><td><span class="train-detail">752호</span><div class="time-display">10:42</div><div class="arrival-info">11:43 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">19:35</div><div class="arrival-info">20:36 도착</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">752호</span><div class="time-display">10:42</div><div class="arrival-info">12:06 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">19:35</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-ktx">KTX</span></td><td><span class="train-detail">752호</span><div class="time-display">10:42</div><div class="arrival-info">12:32 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">19:35</div><div class="arrival-info">21: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-ktx">KTX</span></td><td><span class="train-detail">752호</span><div class="time-display">10:42</div><div class="arrival-info">13:36 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">19:35</div><div class="arrival-info">22:29 도착</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">1822호</span><div class="time-display">06:47</div><div class="arrival-info">09:39 도착</div></td><td><span class="train-detail">1806호</span><div class="time-display">18:21</div><div class="arrival-info">21:34 도착</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:47</div><div class="arrival-info">09:31 도착</div></td><td><span class="train-detail">1806호</span><div class="time-display">18:21</div><div class="arrival-info">21: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-itx">ITX-마음</span></td><td><span class="train-detail">1822호</span><div class="time-display">06:47</div><div class="arrival-info">10:49 도착</div></td><td><span class="train-detail">1806호</span><div class="time-display">18:21</div><div class="arrival-info">22:33 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong><strong>삼척</strong>역 KTX·</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><th>운임</th><th>일반</th><th>우등</th></tr></thead><tbody><tr><td>동해A</td><td>ITX</td><td class="highlight">삼척</td><td class="highlight">경주</td><td>-</td><td>19,300</td><td>0</td><td>0</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">삼척</td><td class="highlight">경주</td><td>기본</td><td>0</td><td>28,200</td><td>33,800</td></tr><tr><td>동해B</td><td>ITX</td><td class="highlight">삼척</td><td class="highlight">동대구</td><td>-</td><td>24,500</td><td>0</td><td>0</td></tr><tr><td>동해2</td><td>무궁화</td><td class="highlight">삼척</td><td class="highlight">동대구</td><td>-</td><td>10,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>5,500</td><td>0</td><td>0</td></tr><tr><td>동해B</td><td>ITX</td><td class="highlight">강릉</td><td class="highlight">삼척</td><td>-</td><td>5,500</td><td>0</td><td>0</td></tr><tr><td>동해K3</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>동해2</td><td>무궁화</td><td class="highlight">강릉</td><td class="highlight">삼척</td><td>-</td><td>3,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>4,800</td><td>0</td><td>0</td></tr><tr><td>동해B</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>동해K3</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>동해2</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>23,400</td><td>0</td><td>0</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">삼척</td><td class="highlight">태화강</td><td>기본</td><td>0</td><td>34,100</td><td>40,900</td></tr><tr><td>동해A</td><td>ITX</td><td class="highlight">삼척</td><td class="highlight">북울산</td><td>-</td><td>22,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>29,400</td><td>0</td><td>0</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">삼척</td><td class="highlight">부전</td><td>기본</td><td>0</td><td>40,800</td><td>49,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">✅ <a href="https://krailroad.co.kr/%ec%82%bc%ec%b2%99%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-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%a3%bd%ec%84%9c%eb%a3%a8%ec%99%80-%ec%82%bc%ec%b2%99%ed%95%b4/">삼척역 KTX 시간표 바로가기</a><br>✅ <s>삼척역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%ec%82%bc%ec%b2%99%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-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%a3%bd%ec%84%9c%eb%a3%a8%ec%99%80-%ec%82%bc%ec%b2%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>KTX·ITX·누리로 </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>751</td><td>KTX-이음</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>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>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>


<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>1801</td><td>ITX-마음</td><td>09:19</td><td></td><td></td><td>09:35</td><td></td><td></td><td></td><td></td></tr><tr><td>1851</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>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>1803</td><td>ITX-마음</td><td>13:58</td><td></td><td></td><td>14:15</td><td></td><td></td><td></td><td></td></tr><tr><td>1805</td><td>ITX-마음</td><td>15:03</td><td></td><td></td><td>15:19</td><td></td><td></td><td></td><td></td></tr><tr><td>1853</td><td>누리로</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>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>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>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>1807</td><td>ITX-마음</td><td>19:52</td><td></td><td></td><td>20:08</td><td></td><td></td><td></td><td></td></tr><tr><td>1865</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>



<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>752</td><td>KTX-이음</td><td>10:42</td><td>11:09</td><td>11:43</td><td>12:06</td><td>12:32</td><td>12:53</td><td>13:36</td><td>매일</td></tr><tr><td>754</td><td>KTX-이음</td><td>15:56</td><td>16:23</td><td>16:57</td><td>17:20</td><td>17:46</td><td>18:07</td><td>18:50</td><td>매일</td></tr><tr><td>756</td><td>KTX-이음</td><td>19:35</td><td>20:02</td><td>20:36</td><td>20:57</td><td>21:24</td><td>21:46</td><td>22:29</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>1822</td><td>ITX-마음</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: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: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: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: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>



<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><th>동대구</th><th>비 고</th></tr></thead><tbody><tr><td>1852</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>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>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>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>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>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">실시간 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 = '32020';
            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;">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/%EC%B9%B4%ED%8E%98%EC%98%A4%EB%B6%84%EB%8F%99+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%82%BC%EC%B2%99%EC%8B%9C+%EC%98%A4%EB%B6%84%EB%8F%99+%EC%82%B030-19+%EC%B9%B4%ED%8E%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;">강원특별자치도 삼척시 오분동 산30-19 카페</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%8B%A0%EB%B6%88%ED%96%A5%EC%AD%88%EA%BE%B8%EB%AF%B8%EB%B3%B6%EC%9D%8C+%EC%82%BC%EC%B2%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+%EC%82%BC%EC%B2%99%EC%8B%9C+%EC%A0%95%EC%83%81%EB%8F%99+261-10+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;">강원특별자치도 삼척시 정상동 261-10 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%82%98%EB%93%9C%EB%A6%AC+%EA%B9%80%EB%B0%A5%EC%B2%9C%EA%B5%AD+%EB%8F%84%EA%B3%84%EC%A0%90+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%82%BC%EC%B2%99%EC%8B%9C+%EB%8F%84%EA%B3%84%EC%9D%8D+%EC%A0%84%EB%91%90%EB%A6%AC+63-8+%EB%82%98%EB%93%9C%EB%A6%AC%EA%B9%80%EB%B0%A5%EC%B2%9C%EA%B5%AD" 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;">강원특별자치도 삼척시 도계읍 전두리 63-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%9A%B0%EA%B0%80%EB%84%A4%EB%A7%9B%EC%B0%9C+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%82%BC%EC%B2%99%EC%8B%9C+%EB%8F%84%EA%B3%84%EC%9D%8D+%EC%A0%84%EB%91%90%EB%A6%AC+62-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;">강원특별자치도 삼척시 도계읍 전두리 62-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%88%AC%EB%8B%A4%EB%A6%AC+%EB%8F%84%EA%B3%84%EC%97%AD%EC%A0%90+%EA%B0%95%EC%9B%90%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EC%82%BC%EC%B2%99%EC%8B%9C+%EB%8F%84%EA%B3%84%EC%9D%8D+%EC%A0%84%EB%91%90%EB%A6%AC+62-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;">강원특별자치도 삼척시 도계읍 전두리 62-9</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%82%BC%EC%B2%99%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/02/삼척역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="삼척역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-18483" srcset="https://krailroad.co.kr/wp-content/uploads/2026/02/삼척역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/02/삼척역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/02/삼척역-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>울진역 시간표 KTX-이음·ITX-마음·누리로 전 노선 요금 및 정차역 통합 정리</title>
		<link>https://krailroad.co.kr/%ec%9a%b8%ec%a7%84%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c%c2%b7itx-%eb%a7%88%ec%9d%8c%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%a0%84-%eb%85%b8%ec%84%a0-%ec%9a%94%ea%b8%88-%eb%b0%8f/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Mon, 09 Feb 2026 05:16:21 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[ITX 시간표]]></category>
		<category><![CDATA[누리로 시간표]]></category>
		<category><![CDATA[울진역 KTX 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=18334</guid>

					<description><![CDATA[울진역 시간표, 울진역의 개통은 단순히 기차가 들어오는 것을 넘어, 그동안 접근하기 어려웠던 동해안의 비경을 일상의 영역으로 끌어들였다는 점에 큰 의미가 있습니다. 굽이굽이 7번 국도를 직접 운전하며 쌓였던 피로 대신, 이제는 울진역 ITX-마음과 누리로 창밖으로 펼쳐지는 윤슬을 감상하며 낭만적인 여행을 시작할 수 있게 되었으며, 현재 고속열차인 KTX-이음까지 가세하면서 울진은 명실상부한 동해안 철도 관광의 중심으로 우뚝 서게 ... <a title="울진역 시간표 KTX-이음·ITX-마음·누리로 전 노선 요금 및 정차역 통합 정리" class="read-more button" href="https://krailroad.co.kr/%ec%9a%b8%ec%a7%84%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c%c2%b7itx-%eb%a7%88%ec%9d%8c%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%a0%84-%eb%85%b8%ec%84%a0-%ec%9a%94%ea%b8%88-%eb%b0%8f/" aria-label="울진역 시간표 KTX-이음·ITX-마음·누리로 전 노선 요금 및 정차역 통합 정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">울진역 시간표, 울진역의 개통은 단순히 기차가 들어오는 것을 넘어, 그동안 접근하기 어려웠던 동해안의 비경을 일상의 영역으로 끌어들였다는 점에 큰 의미가 있습니다. 굽이굽이 7번 국도를 직접 운전하며 쌓였던 피로 대신, 이제는 울진역 ITX-마음과 누리로 창밖으로 펼쳐지는 윤슬을 감상하며 낭만적인 여행을 시작할 수 있게 되었으며, 현재 고속열차인 KTX-이음까지 가세하면서 울진은 명실상부한 동해안 철도 관광의 중심으로 우뚝 서게 되었습니다.</p>



<p class="wp-block-paragraph">새롭게 신설된 노선이라 열차 간격이나 울진역 시간표가 인근 역과 비슷해 보여 &#8220;혹시 틀린 정보는 아닐까&#8221; 의구심이 드실 수도 있겠으나, 이는 동해선 철도망의 특성상 역 간 거리가 좁아 나타나는 현상일 뿐입니다. 제가 <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>울진역 KTX·</strong></strong>ITX·누리로 이용 안내</h2>



<h3 class="wp-block-heading"><strong><strong>고속열차로 열리는 울진 여행</strong></strong></h3>



<p class="wp-block-paragraph">KTX-이음과 ITX-마음이 가져온 혁신적인 접근성은 그동안 울진은 &#8216;육지 속의 섬&#8217;이라 불릴 만큼 오지였으나, 최신형 열차인 ITX-마음과 누리로의 도입으로 그 장벽이 완전히 허물어졌습니다. 특히 KTX-이음 운행이 되면서 강릉 동대구 부전과 수도권에서도 반나절이면 울진의 맑은 공기를 마실 수 있게 되었고, 이는 당일치기나 1박 2일 짧은 휴식을 원하는 분들에게 더할 나위 없는 소식입니다.<br><br>울진역 시간표를 확인하고 역에 내리면 읍내 중심지와 주요 명소를 잇는 핵심 거점이라는 사실을 바로 실감하게 되며, 대중교통을 이용하는 뚜벅이 여행자들에게는 더할 나위 없이 좋은 조건을 갖추고 있습니다. 역 주변 정비가 워낙 깔끔하게 잘 되어 있어 기차에서 내리자마자 울진만의 독특한 여행 코스로 곧장 진입할 수 있고, 굳이 자차가 없더라도 시내버스나 택시를 활용해 울진의 구석구석을 여유롭게 누비기에 전혀 무리가 없습니다.</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">현재 울진역에는 최신형 고속열차인 KTX-이음이 정식으로 운행되고 있으며, 여기에 ITX-마음과 누리로가 더해져 울진으로 향하는 철도망이 이전보다 훨씬 탄탄해진 느낌입니다. 노선이 점차 안정화되면서 수도권이나 영남권 어디서든 반나절이면 닿을 수 있는 거리가 되었고, 미리 열차별 노선이나 요금을 확인해 두면 조금 더 경제적이고 알찬 여행을 즐길 수 있습니다.</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">751호</span><div class="time-display">10:16</div><div class="arrival-info">10:59 도착</div></td><td><span class="train-detail">755호</span><div class="time-display">22:07</div><div class="arrival-info">22:52 도착</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">751호</span><div class="time-display">10:16</div><div class="arrival-info">11:40 도착</div></td><td><span class="train-detail">755호</span><div class="time-display">22:07</div><div class="arrival-info">23:32 도착</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">1801호</span><div class="time-display">08:38</div><div class="arrival-info">09:35 도착</div></td><td><span class="train-detail">1807호</span><div class="time-display">19:07</div><div class="arrival-info">20:08 도착</div></td></tr><tr><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1851호</span><div class="time-display">09:13</div><div class="arrival-info">10:24 도착</div></td><td><span class="train-detail">1865호</span><div class="time-display">21:37</div><div class="arrival-info">22:29 도착</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">1821호</span><div class="time-display">17:46</div><div class="arrival-info">19:27 도착</div></td><td><span class="train-detail">1831호</span><div class="time-display">17:46</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">09:13</div><div class="arrival-info">11:12 도착</div></td><td><span class="train-detail">1865호</span><div class="time-display">21:37</div><div class="arrival-info">23: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="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">21:36</div><div class="arrival-info">22:53 도착</div></td><td><span class="train-detail">1824호</span><div class="time-display">21:36</div><div class="arrival-info">22:53 도착</div></td></tr><tr><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1852호</span><div class="time-display">08:38</div><div class="arrival-info">10:17 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">14:27</div><div class="arrival-info">15:59 도착</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">1824호</span><div class="time-display">21:36</div><div class="arrival-info">23:13 도착</div></td><td><span class="train-detail">1824호</span><div class="time-display">21:36</div><div class="arrival-info">23:13 도착</div></td></tr><tr><td><span class="type-label type-mu">누리로</span></td><td><span class="train-detail">1852호</span><div class="time-display">08:38</div><div class="arrival-info">10:40 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">14:27</div><div class="arrival-info">16:23 도착</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">1824호</span><div class="time-display">21:36</div><div class="arrival-info">00:04 도착</div></td><td><span class="train-detail">1824호</span><div class="time-display">21:36</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">08:38</div><div class="arrival-info">11:36 도착</div></td><td><span class="train-detail">1866호</span><div class="time-display">14:27</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-ktx">KTX</span></td><td><span class="train-detail">752호</span><div class="time-display">11:09</div><div class="arrival-info">11:43 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">20:02</div><div class="arrival-info">20:36 도착</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">752호</span><div class="time-display">11:09</div><div class="arrival-info">12:06 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">20:02</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-ktx">KTX</span></td><td><span class="train-detail">752호</span><div class="time-display">11:09</div><div class="arrival-info">12:32 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">20:02</div><div class="arrival-info">21: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-ktx">KTX</span></td><td><span class="train-detail">752호</span><div class="time-display">11:09</div><div class="arrival-info">13:36 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">20:02</div><div class="arrival-info">22:29 도착</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">1822호</span><div class="time-display">07:22</div><div class="arrival-info">09:39 도착</div></td><td><span class="train-detail">1806호</span><div class="time-display">19:08</div><div class="arrival-info">21:34 도착</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">07:22</div><div class="arrival-info">09:31 도착</div></td><td><span class="train-detail">1806호</span><div class="time-display">19:08</div><div class="arrival-info">21: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-itx">ITX-마음</span></td><td><span class="train-detail">1822호</span><div class="time-display">07:22</div><div class="arrival-info">10:49 도착</div></td><td><span class="train-detail">1806호</span><div class="time-display">19:08</div><div class="arrival-info">22:33 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong><strong>울진</strong>역 KTX·</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><th>운임</th><th>일반</th><th>우등</th></tr></thead><tbody><tr><td>동해A</td><td>ITX</td><td class="highlight">울진</td><td class="highlight">경주</td><td>-</td><td>13,800</td><td>0</td><td>0</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">울진</td><td class="highlight">경주</td><td>기본</td><td>0</td><td>20,200</td><td>24,200</td></tr><tr><td>동해B</td><td>ITX</td><td class="highlight">울진</td><td class="highlight">동대구</td><td>-</td><td>19,000</td><td>0</td><td>0</td></tr><tr><td>동해2</td><td>무궁화</td><td class="highlight">울진</td><td class="highlight">동대구</td><td>-</td><td>14,000</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>10,900</td><td>0</td><td>0</td></tr><tr><td>동해B</td><td>ITX</td><td class="highlight">강릉</td><td class="highlight">울진</td><td>-</td><td>10,900</td><td>0</td><td>0</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">강릉</td><td class="highlight">울진</td><td>기본</td><td>0</td><td>14,000</td><td>17,000</td></tr><tr><td>동해2</td><td>무궁화</td><td class="highlight">강릉</td><td class="highlight">울진</td><td>-</td><td>7,300</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>6,700</td><td>0</td><td>0</td></tr><tr><td>동해B</td><td>ITX</td><td class="highlight">동해</td><td class="highlight">울진</td><td>-</td><td>6,700</td><td>0</td><td>0</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">동해</td><td class="highlight">울진</td><td>기본</td><td>0</td><td>9,300</td><td>12,300</td></tr><tr><td>동해2</td><td>무궁화</td><td class="highlight">동해</td><td class="highlight">울진</td><td>-</td><td>4,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>17,900</td><td>0</td><td>0</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">울진</td><td class="highlight">태화강</td><td>기본</td><td>0</td><td>26,200</td><td>31,400</td></tr><tr><td>동해A</td><td>ITX</td><td class="highlight">울진</td><td class="highlight">북울산</td><td>-</td><td>17,000</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>24,000</td><td>0</td><td>0</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">울진</td><td class="highlight">부전</td><td>기본</td><td>0</td><td>32,800</td><td>39,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">✅ <a href="https://krailroad.co.kr/%ec%9a%b8%ec%a7%84%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c%c2%b7itx-%eb%a7%88%ec%9d%8c%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%a0%84-%eb%85%b8%ec%84%a0-%ec%9a%94%ea%b8%88-%eb%b0%8f/">울진역 KTX 시간표 바로가기</a><br>✅ <s>울진역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%ec%9a%b8%ec%a7%84%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9c-ktx-%ec%9d%b4%ec%9d%8c%c2%b7itx-%eb%a7%88%ec%9d%8c%c2%b7%eb%88%84%eb%a6%ac%eb%a1%9c-%ec%a0%84-%eb%85%b8%ec%84%a0-%ec%9a%94%ea%b8%88-%eb%b0%8f/">울진역 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>KTX·ITX·누리로 </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>751</td><td>KTX-이음</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>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>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>


<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>1801</td><td>ITX-마음</td><td>08:38</td><td>08:45</td><td>08:52</td><td></td><td></td><td></td><td>09:19</td><td></td><td></td><td>09:35</td><td></td><td></td><td></td><td></td></tr><tr><td>1851</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>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>1803</td><td>ITX-마음</td><td>13:15</td><td>13:21</td><td>13:29</td><td></td><td></td><td>13:47</td><td>13:58</td><td></td><td></td><td>14:15</td><td></td><td></td><td></td><td></td></tr><tr><td>1805</td><td>ITX-마음</td><td>14:26</td><td>14:34</td><td></td><td></td><td></td><td></td><td>15:03</td><td></td><td></td><td>15:19</td><td></td><td></td><td></td><td></td></tr><tr><td>1853</td><td>누리로</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>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>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>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>1807</td><td>ITX-마음</td><td>19:07</td><td></td><td>19:19</td><td></td><td></td><td>19:42</td><td>19:52</td><td></td><td></td><td>20:08</td><td></td><td></td><td></td><td></td></tr><tr><td>1865</td><td>누리로</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>



<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>752</td><td>KTX-이음</td><td>11:09</td><td>11:43</td><td>12:06</td><td>12:32</td><td>12:53</td><td>13:36</td><td>매일</td></tr><tr><td>754</td><td>KTX-이음</td><td>16:23</td><td>16:57</td><td>17:20</td><td>17:46</td><td>18:07</td><td>18:50</td><td>매일</td></tr><tr><td>756</td><td>KTX-이음</td><td>20:02</td><td>20:36</td><td>20:57</td><td>21:24</td><td>21:46</td><td>22:29</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>1822</td><td>ITX-마음</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>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>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>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>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>



<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>1852</td><td>누리로</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>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>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>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>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>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">실시간 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 = '37420';
            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%99%80%EB%94%B0%EC%9A%94+%EC%A1%B1%EB%B0%9C%EB%B3%B4%EC%8C%88+%EC%A3%BD%EB%B3%80%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%9A%B8%EC%A7%84%EA%B5%B0+%EC%A3%BD%EB%B3%80%EB%A9%B4+%ED%9B%84%EC%A0%95%EB%A6%AC+295-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;">경상북도 울진군 죽변면 후정리 295-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%B0%84%EC%9D%B4%EC%97%AD+%EC%9A%B8%EC%A7%84%EC%97%AD%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%9A%B8%EC%A7%84%EA%B5%B0+%EC%9A%B8%EC%A7%84%EC%9D%8D+%EC%9D%8D%EB%82%B4%EB%A6%AC+298-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;">경상북도 울진군 울진읍 읍내리 298-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/%EA%B8%B0%EC%84%B1%EC%97%AD+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%9A%B8%EC%A7%84%EA%B5%B0+%EA%B8%B0%EC%84%B1%EB%A9%B4+%EC%B2%99%EC%82%B0%EB%A6%AC+203-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;">경상북도 울진군 기성면 척산리 203-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 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%9A%B8%EC%A7%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/02/울진역-KTX-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="울진역-시간표-KTX-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-18367" srcset="https://krailroad.co.kr/wp-content/uploads/2026/02/울진역-KTX-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/02/울진역-KTX-KTX-이음-ITX-마음-누리로-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/02/울진역-KTX-KTX-이음-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/%ec%98%81%eb%8d%95%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%8f%99%eb%8c%80%ea%b5%ac%c2%b7%eb%b6%80%ec%a0%84%c2%b7%ea%b0%95%eb%a6%89%ed%96%89-%ec%97%b4%ec%b0%a8-%ec%9a%94/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Tue, 03 Feb 2026 23:59:00 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[영덕역 KTX]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=18165</guid>

					<description><![CDATA[영덕역 KTX-이음 승강장은 동해안의 이동 혁명을 상징하는 곳으로, 대게를 형상화한 역사의 웅장한 외관은 영덕의 정체성을 명확히 드러내며, 과거 오지로 불리던 이 지역을 수도권과 단 몇 시간 만에 연결하는 실질적인 관문 역할을 하는 곳입니다. 동해선 노선을 따라 늘어선 역들은 표준화된 정보를 공유하기에 내용이 비슷하게 보일 수 있으나, 이는 코레일의 공식 데이터를 바탕으로 한 정확한 운행 시간표, ... <a title="영덕역 KTX-이음 시간표 동대구·부전·강릉행 열차 요금 및 전체 정차역 안내(동해선)" class="read-more button" href="https://krailroad.co.kr/%ec%98%81%eb%8d%95%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%8f%99%eb%8c%80%ea%b5%ac%c2%b7%eb%b6%80%ec%a0%84%c2%b7%ea%b0%95%eb%a6%89%ed%96%89-%ec%97%b4%ec%b0%a8-%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연동으로 중복처럼 느껴지더라도 실제 상황을 반영한 노선의 핵심 특징이므로, 영덕을 여행하거나 이용하는 분들에게 정확한 정보를 제공하기 위해 직접 제작하였습니다.</p>



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



<h2 class="wp-block-heading"><strong>영덕역 KTX-이음 이용 안내</strong></h2>



<h3 class="wp-block-heading">영덕역의 특징과 KTX-이음 도입 배경</h3>



<p class="wp-block-paragraph">영덕역은 멀리서도 한눈에 들어오는 대게 모양의 역사가 보일겁니다.<br><br>1️⃣ <strong>노선 연결의 이유:</strong> 정부가 영덕을 거점으로 동대구, 부전(부산), 강릉까지 철도를 연결한 이유는 국가 균형 발전과 동해안 물류 및 관광 활성화를 위함입니다. KTX-이음의 투입으로 수도권 및 남부권과의 접근성이 획기적으로 개선되며 영덕은 이제 전국 어디서든 기차로 닿기 편한 곳이 되었습니다.<br><br>2️⃣ <strong>영덕읍에 미치는 영향:</strong> 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/%eb%88%84%eb%a6%ac%eb%a1%9c%ec%99%80-%ec%98%81%eb%8d%95%ec%97%ad%ec%97%90%ec%84%9c-%ec%8b%9c%ec%9e%a5-%ea%b5%ac%ea%b2%bd-2%ec%8b%9c%ea%b0%84-50%eb%b6%84%ec%9d%98-%ed%98%bc%ed%96%89/">누리로와 영덕역에서 시장 구경 2시간 50분의 혼행</a>] 글을 참고해 보시면, 기차 시간을 기다리는 동안 알차게 보낼 수 있는 영덕 시장 투어 동선을 확인하실 수 있습니다. 영덕역에서 영덕시장까지는 도보로 이동하기에도 적당한 거리이며, 장날에 맞춰 방문하면 영덕의 활기찬 삶의 현장을 직접 경험하며 싱싱한 수산물을 만날 수 있습니다.</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-ktx">KTX</span></td><td><span class="train-detail">751호</span><div class="time-display">09:42</div><div class="arrival-info">10:16 도착</div></td><td><span class="train-detail">755호</span><div class="time-display">21:33</div><div class="arrival-info">22:07 도착</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">751호</span><div class="time-display">09:42</div><div class="arrival-info">11:26 도착</div></td><td><span class="train-detail">755호</span><div class="time-display">21:33</div><div class="arrival-info">23:18 도착</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">751호</span><div class="time-display">09:42</div><div class="arrival-info">11:40 도착</div></td><td><span class="train-detail">755호</span><div class="time-display">21:33</div><div class="arrival-info">23:32 도착</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">752호</span><div class="time-display">11:43</div><div class="arrival-info">12:06 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">20:36</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-ktx">KTX</span></td><td><span class="train-detail">752호</span><div class="time-display">11:43</div><div class="arrival-info">12:32 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">20:36</div><div class="arrival-info">21: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-ktx">KTX</span></td><td><span class="train-detail">752호</span><div class="time-display">11:43</div><div class="arrival-info">12:53 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">20:36</div><div class="arrival-info">21:46 도착</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">752호</span><div class="time-display">11:43</div><div class="arrival-info">13:36 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">20:36</div><div class="arrival-info">22:29 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong>영덕역 KTX 요금표</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></tr></thead><tbody><tr><td>동해K3</td><td>KTX</td><td class="highlight">영덕</td><td class="highlight">포항</td><td>기본</td><td>8,400</td><td>11,400</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">영덕</td><td class="highlight">경주</td><td>기본</td><td>11,000</td><td>14,000</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">영덕</td><td class="highlight">부전</td><td>기본</td><td>23,500</td><td>28,200</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">강릉</td><td class="highlight">영덕</td><td>기본</td><td>23,300</td><td>28,000</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">동해</td><td class="highlight">영덕</td><td>기본</td><td>18,600</td><td>22,300</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">울진</td><td class="highlight">영덕</td><td>기본</td><td>9,300</td><td>12,300</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%98%81%eb%8d%95%ec%97%ad-ktx-%ec%9d%b4%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%8f%99%eb%8c%80%ea%b5%ac%c2%b7%eb%b6%80%ec%a0%84%c2%b7%ea%b0%95%eb%a6%89%ed%96%89-%ec%97%b4%ec%b0%a8-%ec%9a%94/">영덕역 KTX 시간표 바로가기</a><br>✅ <s>영덕역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%ec%98%81%eb%8d%95%ec%97%ad-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%8f%99%ed%95%b4%ec%84%a0-%eb%8f%99%eb%8c%80%ea%b5%ac%c2%b7%eb%b6%80%ec%a0%84%c2%b7%ea%b0%95%eb%a6%89%ed%96%89-%eb%88%84%eb%a6%ac%eb%a1%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>영덕역 <strong>KTX</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>752</td><td>KTX-이음</td><td>11:43</td><td>12:06</td><td>12:32</td><td>12:53</td><td>13:36</td><td>매일</td></tr><tr><td>754</td><td>KTX-이음</td><td>16:57</td><td>17:20</td><td>17:46</td><td>18:07</td><td>18:50</td><td>매일</td></tr><tr><td>756</td><td>KTX-이음</td><td>20:36</td><td>20:57</td><td>21:24</td><td>21:46</td><td>22:29</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></tr></thead><tbody><tr><td>751</td><td>KTX-이음</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: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>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">실시간 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 = '37350';
            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/%EA%B0%84%EC%9D%B4%EC%97%AD+%EC%98%81%ED%95%B4%EC%97%AD%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%98%81%EB%8D%95%EA%B5%B0+%EC%98%81%ED%95%B4%EB%A9%B4+%EC%84%B1%EB%82%B4%EB%A6%AC+472-41" 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;">경상북도 영덕군 영해면 성내리 472-41</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%B1%84%EC%84%A0%EB%8B%B9%EB%B0%80%ED%82%A4%ED%8A%B824+%EA%B2%BD%EB%B6%81%EC%98%81%EB%8D%95%EC%A0%90+%EA%B2%BD%EC%83%81%EB%B6%81%EB%8F%84+%EC%98%81%EB%8D%95%EA%B5%B0+%EC%98%81%EB%8D%95%EC%9D%8D+%EC%9A%B0%EA%B3%A1%EB%A6%AC+568+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;">채선당밀키트24 경북영덕점</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;">경상북도 영덕군 영덕읍 우곡리 568 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%98%81%EB%8D%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/02/영덕역-KTX-이음-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="영덕역-KTX-이음-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-18206" srcset="https://krailroad.co.kr/wp-content/uploads/2026/02/영덕역-KTX-이음-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/02/영덕역-KTX-이음-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/02/영덕역-KTX-이음-시간표-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>


<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>포항역 KTX 시간표 서울·대전·동대구 및 강릉·부전행(이음) 요금·정차역 총정리</title>
		<link>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/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Fri, 30 Jan 2026 02:16:47 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[포항역 KTX 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=17781</guid>

					<description><![CDATA[동해선의 끝자락이자 경북 동해안 교통의 핵심인 포항역 KTX 시간표와 운행 정보를 찾고 있다면, 시내와 다소 거리가 떨어진 흥해읍에 위치한 역의 특성을 먼저 이해하는 것이 좋습니다. 과거 시내 중심에 있던 구 포항역이 폐역된 후 2015년 KTX 개통과 함께 현재의 위치로 이전하며, 포항역은 철강 도시의 역동성과 바다의 정취를 잇는 거대 관문으로 거듭났습니다. 포항역 KTX 정보, 여기저기 헤매지 ... <a title="포항역 KTX 시간표 서울·대전·동대구 및 강릉·부전행(이음) 요금·정차역 총정리" class="read-more button" 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/" aria-label="포항역 KTX 시간표 서울·대전·동대구 및 강릉·부전행(이음) 요금·정차역 총정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">동해선의 끝자락이자 경북 동해안 교통의 핵심인 포항역 KTX 시간표와 운행 정보를 찾고 있다면, 시내와 다소 거리가 떨어진 흥해읍에 위치한 역의 특성을 먼저 이해하는 것이 좋습니다. 과거 시내 중심에 있던 구 포항역이 폐역된 후 2015년 KTX 개통과 함께 현재의 위치로 이전하며, 포항역은 철강 도시의 역동성과 바다의 정취를 잇는 거대 관문으로 거듭났습니다.</p>



<p class="wp-block-paragraph">포항역 KTX 정보, 여기저기 헤매지 마시고, <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>포항역 KTX 이용 안내</strong></h2>



<h3 class="wp-block-heading">포항역의 역사와 흥해읍 이전 배경</h3>



<p class="wp-block-paragraph">포항역은 1918년 영업을 시작하며 포항제철(POSCO)의 성장과 함께 대한민국 산업화의 혈맥 역할을 수행해 왔습니다.<br><br>1️⃣ <strong>역사 이전 이유:</strong> 도심 확장으로 인해 기존 시내 중심에 있던 구 포항역사가 교통 체증과 소음의 원인이 되었으며, KTX 진입을 위한 대규모 선로 부지 확보를 위해 2015년 흥해읍으로 자리를 옮겼습니다.<br><br>2️⃣ <strong>구 포항역의 현재:</strong> 현재 구 포항역 부지는 철도 테마 공원과 복합 시설로 탈바꿈하여 시민들의 휴식 공간으로 사랑받고 있으며, 신설된 흥해읍 역사는 넓은 대지와 현대적인 선상 구조를 갖추고 있습니다.</p>



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



<h3 class="wp-block-heading">포항역만의 독특한 환경과 조형물</h3>



<p class="wp-block-paragraph">1️⃣ <strong>태권V와 고래 조형물:</strong> 역사 앞 광장에는 웅장한 고래 조형물과 더불어 시민들에게 친숙한 태권V 관련 조형물이 설치되어 있어 포토존으로써 인기가 높으며, 이는 해양 도시의 상징과 역동성을 위트 있게 표현한 부분입니다.<br><br>2️⃣ <strong>역사 옆 산책로:</strong> 기차 시간이 남았다면 역사 바로 옆으로 연결된 등산로(산책로)를 걸어보시길 권합니다. 딱딱한 대합실 의자를 벗어나 가벼운 산책으로 몸을 풀며 영일만 방면의 공기를 느낄 수 있어 가족 단위 여행객에게도 인상적인 공간입니다.</p>



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



<h3 class="wp-block-heading">역사 내 편의 시설</h3>



<p class="wp-block-paragraph">포항역사는 현대적인 설계를 바탕으로 무상 충전 구역과 쾌적한 맞이방을 운영하며, 특히 KTX-산천이나 KTX-이음 등 최신 열차 내부에는 좌석별 콘센트가 완비되어 있어 이동 중 업무를 보거나 여행 정보를 검색하기에 최적의 환경을 제공합니다.</p>



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



<h3 class="wp-block-heading">이동 수단과 교통과 음식</h3>



<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="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">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 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">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 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">238호</span><div class="time-display">10:14</div><div class="arrival-info">12:04 도착</div></td><td><span class="train-detail">254호</span><div class="time-display">21:36</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-ktx">KTX</span></td><td><span class="train-detail">232호</span><div class="time-display">05:35</div><div class="arrival-info">08:01 도착</div></td><td><span class="train-detail">254호</span><div class="time-display">21:36</div><div class="arrival-info">00: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-ktx">KTX</span></td><td><span class="train-detail">751호</span><div class="time-display">09:20</div><div class="arrival-info">09:42 도착</div></td><td><span class="train-detail">755호</span><div class="time-display">21:11</div><div class="arrival-info">21: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-ktx">KTX</span></td><td><span class="train-detail">751호</span><div class="time-display">09:20</div><div class="arrival-info">10:59 도착</div></td><td><span class="train-detail">755호</span><div class="time-display">21:11</div><div class="arrival-info">22:52 도착</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">751호</span><div class="time-display">09:20</div><div class="arrival-info">10:59 도착</div></td><td><span class="train-detail">755호</span><div class="time-display">21:11</div><div class="arrival-info">22:52 도착</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">751호</span><div class="time-display">09:20</div><div class="arrival-info">11:40 도착</div></td><td><span class="train-detail">755호</span><div class="time-display">21:11</div><div class="arrival-info">23:32 도착</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">752호</span><div class="time-display">12:06</div><div class="arrival-info">13:36 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">20:57</div><div class="arrival-info">22:29 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong>포항역 KTX 요금표</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></tr></thead><tbody><tr><td>동해K1</td><td>KTX</td><td class="highlight">동대구</td><td class="highlight">포항</td><td>기본</td><td>10,900</td><td>15,700</td></tr><tr><td>동해K2</td><td>KTX</td><td class="highlight">동대구</td><td class="highlight">포항</td><td>서대구</td><td>10,900</td><td>15,700</td></tr><tr><td>동해K1</td><td>KTX</td><td class="highlight">김천구미</td><td class="highlight">포항</td><td>기본</td><td>18,700</td><td>26,200</td></tr><tr><td>동해K2</td><td>KTX</td><td class="highlight">김천구미</td><td class="highlight">포항</td><td>서대구</td><td>18,300</td><td>25,600</td></tr><tr><td>동해K1</td><td>KTX</td><td class="highlight">대전</td><td class="highlight">포항</td><td>기본</td><td>30,400</td><td>42,600</td></tr><tr><td>동해K2</td><td>KTX</td><td class="highlight">대전</td><td class="highlight">포항</td><td>서대구</td><td>30,000</td><td>42,000</td></tr><tr><td>동해K1</td><td>KTX</td><td class="highlight">천안아산</td><td class="highlight">포항</td><td>기본</td><td>39,100</td><td>54,700</td></tr><tr><td>동해K2</td><td>KTX</td><td class="highlight">천안아산</td><td class="highlight">포항</td><td>서대구</td><td>38,700</td><td>54,200</td></tr><tr><td>동해K1</td><td>KTX</td><td class="highlight">광명</td><td class="highlight">포항</td><td>기본</td><td>51,400</td><td>72,000</td></tr><tr><td>동해K2</td><td>KTX</td><td class="highlight">광명</td><td class="highlight">포항</td><td>서대구</td><td>51,000</td><td>71,400</td></tr><tr><td>동해K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">포항</td><td>기본</td><td>53,600</td><td>75,000</td></tr><tr><td>동해K2</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">포항</td><td>서대구</td><td>53,200</td><td>74,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/%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><br>✅ <a href="https://krailroad.co.kr/%ed%8f%ac%ed%95%ad%ec%97%ad-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%88%98%ec%84%9c%c2%b7%ea%b0%95%eb%82%a8%ed%96%89-%ec%a7%81%ed%86%b5-%eb%85%b8%ec%84%a0-%ec%9a%94%ea%b8%88-%eb%b0%8f-%ec%86%8c%ec%9a%94/">포항역 SRT 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ed%8f%ac%ed%95%ad%ec%97%ad-itx-%eb%a7%88%ec%9d%8c-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b0%95%eb%a6%89%c2%b7%eb%8f%99%ed%95%b4%ed%96%89-%eb%85%b8%ec%84%a0-%ec%9a%94%ea%b8%88-%eb%b0%8f-%ec%86%8c%ec%9a%94/">포항역 ITX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ed%8f%ac%ed%95%ad%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%8f%99%eb%8c%80%ea%b5%ac%c2%b7%eb%b6%80%ec%a0%84%c2%b7%ea%b0%95/">포항역 무궁화호 누리로 시간표</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></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><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><td></td><td>07:43</td><td>08:01</td><td></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>09:02</td><td></td><td>09:34</td><td>09:57</td><td>10:14</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><td></td><td>12:07</td><td>12:25</td><td></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>11:51</td><td>12:04</td><td>12:30</td><td>12:48</td><td></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><td></td><td>12:53</td><td>13:11</td><td></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><td>12:53</td><td>13:18</td><td>13:36</td><td></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><td>12:53</td><td>13:18</td><td>13:36</td><td></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>14:23</td><td></td><td>14:56</td><td>15:14</td><td></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>14:23</td><td></td><td>14:56</td><td>15:14</td><td></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>14:23</td><td></td><td>14:56</td><td>15:14</td><td></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>15:45</td><td>15:58</td><td>16:23</td><td>16:41</td><td></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><td></td><td>17:38</td><td>17:56</td><td></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>18:08</td><td></td><td>18:40</td><td>18:58</td><td></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>18:08</td><td></td><td>18:40</td><td>18:58</td><td></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>19:37</td><td>19:50</td><td>20:15</td><td>20:33</td><td></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><td>20:17</td><td></td><td>21:01</td><td>21:18</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><td></td><td></td><td>21:01</td><td>21:18</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>20:41</td><td></td><td>21:13</td><td>21:31</td><td></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>20:41</td><td></td><td>21:13</td><td>21:31</td><td></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><td></td><td>21:47</td><td>22:05</td><td></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><td>23:24</td><td>23:49</td><td>00:11</td><td>00:28</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></tr></thead><tbody><tr><td>751</td><td>KTX-이음</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: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>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>



<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>752</td><td>KTX-이음</td><td>12:06</td><td>12:32</td><td>12:53</td><td>13:36</td><td>매일</td></tr><tr><td>754</td><td>KTX-이음</td><td>17:20</td><td>17:46</td><td>18:07</td><td>18:50</td><td>매일</td></tr><tr><td>756</td><td>KTX-이음</td><td>20:57</td><td>21:24</td><td>21:46</td><td>22:29</td><td>매일</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 = '37010';
            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/%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/01/포항역-KTX-KTX-이음-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="포항역-KTX-KTX-이음-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-17867" srcset="https://krailroad.co.kr/wp-content/uploads/2026/01/포항역-KTX-KTX-이음-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/01/포항역-KTX-KTX-이음-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/01/포항역-KTX-KTX-이음-시간표-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>부전역 KTX 시간표 청량리·강릉·안동행(속초/포항) 중앙·동해선 운임 정차역</title>
		<link>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/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Tue, 27 Jan 2026 02:52:39 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[부전역 KTX 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=17399</guid>

					<description><![CDATA[부전역 KTX 이음의 의미는 그동안 부산에서 KTX를 타려면 당연히 부산역으로 가야 한다고 생각하며 지내왔으나, 부전역이 동해안과 중부 내륙을 잇는 새로운 고속철도의 중심지로 거듭나면서 이곳에서의 출발은 이전과는 전혀 다른 편리함과 즐거움을 주고 있습니다. 이용하시는 분들이 복잡한 정보 사이에서 헤매지 않도록 제가 찾은 내용과 코레일 공식 자료를 꼼꼼히 살펴 부전역의 고속열차 시간표를 한 곳에 모았으며, 이 자료에는 ... <a title="부전역 KTX 시간표 청량리·강릉·안동행(속초/포항) 중앙·동해선 운임 정차역" class="read-more button" 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/" aria-label="부전역 KTX 시간표 청량리·강릉·안동행(속초/포항) 중앙·동해선 운임 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">부전역 KTX 이음의 의미는 그동안 부산에서 KTX를 타려면 당연히 부산역으로 가야 한다고 생각하며 지내왔으나, 부전역이 동해안과 중부 내륙을 잇는 새로운 고속철도의 중심지로 거듭나면서 이곳에서의 출발은 이전과는 전혀 다른 편리함과 즐거움을 주고 있습니다. <br><br>이용하시는 분들이 복잡한 정보 사이에서 헤매지 않도록 제가 찾은 내용과 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 자료를 꼼꼼히 살펴 부전역의 고속열차 시간표를 한 곳에 모았으며, 이 자료에는 중앙선과 동해선의 노선 정보는 물론 주요 역으로 향하는 시간과 요금까지 상세히 담겨 있으므로 부전역 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">부전역은 1930년대 초반 동해남부선과 경전선의 종착역으로 영업을 시작하며 부산 시민들의 소중한 발이 되어왔습니다. 오랫동안 완행열차와 물류의 중심지였던 이곳은 2024년 말 중앙선 고속화 사업이 마무리되고 KTX-이음이 전면 도입되면서 거대한 전환점을 맞이했습니다.</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>까지 돌아가야 했던 부산 동북권 주민들은 이제 부전역에서 곧바로 청량리나 <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 운행은 영남권과 강원권을 반나절 생활권으로 묶어주는 획기적인 변화를 가져왔으며, 이는 지역 균형 발전과 동해안 관광 활성화를 위해 국가 철도망 구축 계획의 일환으로 추진된 결과입니다.</p>



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



<h3 class="wp-block-heading">부전역 KTX만이 가진 특징</h3>



<p class="wp-block-paragraph">1️⃣ <strong>중부 내륙과 동해안의 관문:</strong> 부전역은 부산역이 담당하는 경부선 라인과는 결이 다른 노선을 제공합니다. 태백산맥의 절경을 감상하며 달리는 중앙선과 푸른 바다를 옆에 끼고 달리는 동해선 KTX의 시발점으로써, 고속열차의 속도감에 낭만적인 풍경까지 더해진 독특한 매력을 자랑합니다. <br><br>2️⃣ <strong>쾌적한 이용 환경:</strong> 부산역에 비해 이용객 밀도가 낮아 대합실 사용이나 승강장 이동이 훨씬 여유롭습니다. 역사가 현대적으로 정비되어 동선이 간결하며, 곳곳에 설치된 스마트폰 무상 충전 구역이 있습니다.</p>



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



<h3 class="wp-block-heading">가족 및 아이와 함께 가볼 만한 곳</h3>



<p class="wp-block-paragraph">1️⃣ <strong>부산시민공원:</strong> 역에서 도보로 약 10~15분 거리에 위치한 이곳은 과거 미군 부대 부지를 공원으로 조성한 곳으로써, 아이들이 마음껏 뛰어놀 수 있는 넓은 잔디광장과 어린이 놀이터가 잘 갖춰져 있습니다. 가족 단위 여행객들이 기차 탑승 전후로 피크닉을 즐기기에 제격입니다.</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="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">13:36</div><div class="arrival-info">12:32 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">22:29</div><div class="arrival-info">21: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-ktx">KTX</span></td><td><span class="train-detail">752호</span><div class="time-display">13:36</div><div class="arrival-info">12:06 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">22:29</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-ktx">KTX</span></td><td><span class="train-detail">752호</span><div class="time-display">13:36</div><div class="arrival-info">10:23 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">22:29</div><div class="arrival-info">19:18 도착</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">752호</span><div class="time-display">13:36</div><div class="arrival-info">09:36 도착</div></td><td><span class="train-detail">756호</span><div class="time-display">22:29</div><div class="arrival-info">18: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-ktx">KTX</span></td><td><span class="train-detail">704호</span><div class="time-display">5:54</div><div class="arrival-info">7:04 도착</div></td><td><span class="train-detail">718호</span><div class="time-display">19:12</div><div class="arrival-info">20:22 도착</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">704호</span><div class="time-display">5:54</div><div class="arrival-info">7:55 도착</div></td><td><span class="train-detail">718호</span><div class="time-display">19:12</div><div class="arrival-info">21:07 도착</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">704호</span><div class="time-display">5:54</div><div class="arrival-info">8:43 도착</div></td><td><span class="train-detail">718호</span><div class="time-display">19:12</div><div class="arrival-info">21: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-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><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>



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



<h2 class="wp-block-heading"><strong>부전역 KTX 요금표</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></tr></thead><tbody><tr><td>동해K3</td><td>KTX</td><td class="highlight">강릉</td><td class="highlight">부전</td><td>기본</td><td>46,800</td><td>56,200</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">동해</td><td class="highlight">부전</td><td>기본</td><td>42,100</td><td>50,500</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">영덕</td><td class="highlight">부전</td><td>기본</td><td>23,500</td><td>28,200</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">포항</td><td class="highlight">부전</td><td>기본</td><td>18,100</td><td>21,700</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">경주</td><td class="highlight">부전</td><td>기본</td><td>12,500</td><td>15,500</td></tr><tr><td>동해K3</td><td>KTX</td><td class="highlight">경주</td><td class="highlight">부전</td><td>기본</td><td>12,500</td><td>15,500</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">부전</td><td>기본</td><td>57,100</td><td>68,500</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">청량리</td><td class="highlight">부전</td><td>기본</td><td>55,400</td><td>66,500</td></tr><tr><td>중앙K1</td><td>KTX</td><td class="highlight">안동</td><td class="highlight">부전</td><td>기본</td><td>27,700</td><td>33,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">✅ <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/">부전역 KTX 시간표 바로가기</a><br>✅ <s>부전역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%eb%b6%80%ec%a0%84%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%b2%ad%eb%9f%89%eb%a6%ac%c2%b7%ea%b0%95%eb%a6%89%c2%b7%eb%aa%a9%ed%8f%ac%ed%96%89/">부전역 ITX 시간표 바로가기</a><br>✅ <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="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></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><th>동해</th><th>묵호</th><th>정동진</th><th>강릉</th><th>비고</th></tr></thead><tbody><tr><td>751</td><td>KTX-이음</td><td>07:50</td><td>08:34</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>13:58</td><td>14:41</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>19:40</td><td>20:24</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>



<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></tr></thead><tbody><tr><td>704</td><td>KTX-이음</td><td>5:54</td><td>6:41</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>9:59</td><td>10:19</td><td>매일</td></tr><tr><td>706</td><td>KTX-이음</td><td>8:00</td><td>8:50</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>11:58</td><td></td><td>매일</td></tr><tr><td>708</td><td>KTX-이음</td><td>10:02</td><td>10:50</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>14:13</td><td>14:33</td><td>매일</td></tr><tr><td>710</td><td>KTX-이음</td><td>12:07</td><td>12:53</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>15:58</td><td>16:04</td><td></td><td>매일</td></tr><tr><td>712</td><td>KTX-이음</td><td>13:29</td><td>14:13</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>17:21</td><td>17:41</td><td>매일</td></tr><tr><td>714</td><td>KTX-이음</td><td>14:43</td><td>15:30</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>18:51</td><td>19:13</td><td>매일</td></tr><tr><td>716</td><td>KTX-이음</td><td>16:23</td><td>17:07</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>20:15</td><td></td><td>매일</td></tr><tr><td>782</td><td>KTX-이음</td><td>17:27</td><td>18:11</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></td><td>21:13</td><td></td><td>토일</td></tr><tr><td>718</td><td>KTX-이음</td><td>19:12</td><td>20:00</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>22:52</td><td>22:58</td><td></td><td>매일</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 = '21';
            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%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/01/부전역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="부전역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-17442" srcset="https://krailroad.co.kr/wp-content/uploads/2026/01/부전역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/01/부전역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/01/부전역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>전주역 KTX 시간표 한옥마을 여수·용산행(서울역/광명/수원) 전라선 운임 정차역</title>
		<link>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/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Mon, 26 Jan 2026 00:49:26 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[전주역 KTX 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=17315</guid>

					<description><![CDATA[전주역 KTX 시간표를 확인하며 아이들과 떠나는 가족여행이나, 혼행을 준비를 하다 보면 이곳이 전통의 멋과 현대적인 속도가 조화를 이루는 소중한 지역이라는 사실을 확인하실 수 있습니다. 이 전라선의 핵심 정차역인 전주역은 단순히 목적지에 닿기 위한 통로가 아니라 천년 고도의 숨결로 들어가는 입구가 되어주며, 한옥 양식의 아늑한 역사 안에서 여행의 무게를 덜어내고 차분한 기분을 느낄 수 있습니다. 이 ... <a title="전주역 KTX 시간표 한옥마을 여수·용산행(서울역/광명/수원) 전라선 운임 정차역" class="read-more button" 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/" 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>의 공시 자료를 바탕으로 작성했습니다.</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">전주역은 1914년 영업을 시작하여 100년이 넘는 세월 동안 전북 지역의 교통을 책임져 왔습니다. 현재의 한옥 역사는 1981년 전라선 복선화 사업과 함께 신축되었으며, 전주역에 KTX가 본격적으로 운행된 것은 2011년 여수세계박람회를 앞두고 전라선 고속화 사업이 완료되면서부터입니다. 서울에서 전주까지 1시간 30분대 진입이 가능해지면서 전주는 수도권에서 가장 선호하는 당일 여행지로 급부상하게 되었습니다.</p>



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



<h3 class="wp-block-heading">전주역 KTX 이용 시 유용한 정보</h3>



<p class="wp-block-paragraph">1️⃣ <strong>스마트폰 충전 및 편의 시설:</strong> 최근 전주역은 증축 및 개선 공사를 진행하고 있어 이용객들을 위한 대기 공간과 충전 시설이 체계적으로 관리되고 있어 역사 내 대기석 주변에 무상 추천 구역이 있으니 참고하시면 됩니다.<br><br>2️⃣ <strong>역사 주변 산책로 활용:</strong> 기차 시간이 남았다면 역 광장 앞에 조성된 &#8216;첫마중길&#8217;을 걸어보시고, 도로 한복판을 시민들의 산책로로 꾸민 이곳은 울창한 나무와 벤치가 마련되어 있어 기차에 오르기 전 전주의 첫인상을 여유롭게 느낄 수 있습니다.</p>



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



<h3 class="wp-block-heading">전주역에서 한옥마을로 이동하기</h3>



<p class="wp-block-paragraph">1️⃣ <strong>한옥마을 가는 방법:</strong> 역 광장을 나와 바로 앞에 위치한 버스 정류장에서 1000번(명품버스)이나 119번 등 한옥마을행 버스를 타면 약 15~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="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">6:45 도착</div></td><td><span class="train-detail">524호</span><div class="time-display">23:11</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-ktx">KTX</span></td><td><span class="train-detail">586호</span><div class="time-display">12:54</div><div class="arrival-info">14:09 도착</div></td><td><span class="train-detail">584호</span><div class="time-display">20:15</div><div class="arrival-info">21:34 도착</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">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><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">501호</span><div class="time-display">6:51</div><div class="arrival-info">7:49 도착</div></td><td><span class="train-detail">523호</span><div class="time-display">23:16</div><div class="arrival-info">0:14 도착</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">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></tbody></table></div>



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



<h2 class="wp-block-heading"><strong>전주역 KTX 요금표</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></tr></thead><tbody><tr><td>전라K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">전주</td><td>공주</td><td>34,600</td><td>48,400</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">전주</td><td>공주</td><td>34,400</td><td>48,200</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">전주</td><td>서대전</td><td>32,900</td><td>46,100</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">서대전</td><td class="highlight">전주</td><td>서대전</td><td>11,200</td><td>16,000</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">익산</td><td class="highlight">전주</td><td>공주</td><td>8,400</td><td>13,200</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">익산</td><td class="highlight">전주</td><td>서대전</td><td>8,400</td><td>13,200</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">전주</td><td class="highlight">순천</td><td>공주</td><td>12,400</td><td>17,400</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">전주</td><td class="highlight">순천</td><td>서대전</td><td>12,400</td><td>17,400</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">전주</td><td class="highlight">여수엑스포</td><td>공주</td><td>16,100</td><td>22,500</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">전주</td><td class="highlight">여수엑스포</td><td>서대전</td><td>16,100</td><td>22,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%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/">전주역 KTX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ec%a0%84%ec%a3%bc%ec%97%ad-srt-%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%88%98%ec%84%9c%ed%96%89%ea%b0%95%eb%82%a8-%ec%86%a1%ed%8c%8c-%eb%8f%99/">전주역 SRT 시간표 바로가기</a><br>✅ <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><br>✅ <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></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></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><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>8:43</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>9:48</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><td>11:27</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><td></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><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><td></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><td></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><td></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><td>16:27</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><td></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><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><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><td></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><td>19:05</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>20:44</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><td></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>21:41</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><td></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>23:03</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>23:03</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><td></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><td>1:07</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></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>



<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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/01/전주역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="전주역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-17358" srcset="https://krailroad.co.kr/wp-content/uploads/2026/01/전주역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/01/전주역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/01/전주역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>남원역 KTX 시간표 광한루원 여수·용산행 전라선 운임 및 상하행 정보</title>
		<link>https://krailroad.co.kr/%eb%82%a8%ec%9b%90%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b4%91%ed%95%9c%eb%a3%a8%ec%9b%90-%ec%97%ac%ec%88%98%c2%b7%ec%9a%a9%ec%82%b0%ed%96%89-%ec%a0%84%eb%9d%bc%ec%84%a0-%ec%9a%b4%ec%9e%84/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 01:33:45 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[남원역 KTX 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=17153</guid>

					<description><![CDATA[남원역 KTX 시간표를 확인하며 여행을 준비하는 과정은 지리산의 고즈넉한 풍경과 춘향의 고결한 이야기가 살아 숨 쉬는 도시로 향하는 설레는 시작점이 됩니다. 아래에 정리한 내용은 코레일 공식 자료를 참고하여 작성했으며, 여행객들이 번거롭게 정보를 찾아 헤매지 않도록 남원역을 기점으로 서울(용산), 전주, 순천, 여수엑스포 등 주요 역으로 향하는 모든 KTX와 KTX-산천 열차의 운행 정보를 한눈에 파악할 수 있게 ... <a title="남원역 KTX 시간표 광한루원 여수·용산행 전라선 운임 및 상하행 정보" class="read-more button" href="https://krailroad.co.kr/%eb%82%a8%ec%9b%90%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b4%91%ed%95%9c%eb%a3%a8%ec%9b%90-%ec%97%ac%ec%88%98%c2%b7%ec%9a%a9%ec%82%b0%ed%96%89-%ec%a0%84%eb%9d%bc%ec%84%a0-%ec%9a%b4%ec%9e%84/" aria-label="남원역 KTX 시간표 광한루원 여수·용산행 전라선 운임 및 상하행 정보 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">남원역 KTX 시간표를 확인하며 여행을 준비하는 과정은 지리산의 고즈넉한 풍경과 춘향의 고결한 이야기가 살아 숨 쉬는 도시로 향하는 설레는 시작점이 됩니다. 아래에 정리한 내용은 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 자료를 참고하여 작성했으며, 여행객들이 번거롭게 정보를 찾아 헤매지 않도록 남원역을 기점으로 서울(용산), 전주, 순천, 여수엑스포 등 주요 역으로 향하는 모든 KTX와 KTX-산천 열차의 운행 정보를 한눈에 파악할 수 있게 구성했습니다.</p>



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



<h2 class="wp-block-heading"><strong>남원역 KTX 이용 안내</strong></h2>



<h3 class="wp-block-heading">남원역 KTX 운행 배경과 이용 가치</h3>



<p class="wp-block-paragraph">남원역에 KTX가 운행되기 시작한 것은 2011년 전라선 복선 전철화 사업이 완료되면서부터입니다. 과거 무궁화호나 새마을호로 4시간 이상 소요되던 서울과의 거리가 2시간 초반대로 획기적으로 줄어들며, 남원은 수도권에서 당일치기 여행이 가능한 매력적인 도시가 되었습니다. 지리산 국립공원의 관문이자 호남 동부권 교통의 요충지로서, 남원역은 지역 주민의 이동권 보장뿐만 아니라 남도 관광 활성화의 핵심적인 역할을 수행하고 있습니다.</p>



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



<h3 class="wp-block-heading">남원역 KTX만의 특징과 편의성</h3>



<p class="wp-block-paragraph">남원역은 현대적인 한옥 양식의 멋을 살린 외관이 인상적이며, 이용객들이 쾌적하게 머물 수 있는 실속 있는 시설을 갖추고 있습니다.</p>



<p class="wp-block-paragraph">1️⃣ <strong>직관적이고 편리한 역사 구조:</strong> 대도시의 대형 역사와 달리 동선이 매우 단순하여 승강장까지 이동하는 시간이 짧습니다. 열차 출발 직전에 도착하더라도 큰 혼잡 없이 탑승이 가능하며, 역사 내부는 탁 트인 층고 덕분에 답답함 없이 여유로운 대기가 가능합니다. <br><br>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> 역에서 택시나 버스로 5~10분이면 도착하는 광한루원은 아이들에게는 역사 공부를, 어른들에게는 휴식을 선사하는 장소입니다. 인근 남원예촌에서는 한옥의 정취를 느끼며 산책을 즐기기에 좋으며 주변 길들이 평탄하여 유모차 이동도 수월합니다. <br><br>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="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:00</div><div class="arrival-info">6:25 도착</div></td><td><span class="train-detail">524호</span><div class="time-display">22:45</div><div class="arrival-info">23:11 도착</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">502호</span><div class="time-display">6:00</div><div class="arrival-info">6:45 도착</div></td><td><span class="train-detail">524호</span><div class="time-display">22:45</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-ktx">KTX</span></td><td><span class="train-detail">582호</span><div class="time-display">13:02</div><div class="arrival-info">14:43 도착</div></td><td><span class="train-detail">584호</span><div class="time-display">19:49</div><div class="arrival-info">21:34 도착</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">502호</span><div class="time-display">6:00</div><div class="arrival-info">8:16 도착</div></td><td><span class="train-detail">524호</span><div class="time-display">22:45</div><div class="arrival-info">0:46 도착</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">502호</span><div class="time-display">6:00</div><div class="arrival-info">8:26 도착</div></td><td><span class="train-detail">546호</span><div class="time-display">20:20</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">501호</span><div class="time-display">7:18</div><div class="arrival-info">8:11 도착</div></td><td><span class="train-detail">523호</span><div class="time-display">23:43</div><div class="arrival-info">0:36 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong>남원역 KTX 요금표</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></tr></thead><tbody><tr><td>전라K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">남원</td><td>공주</td><td>39,500</td><td>55,300</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">남원</td><td>공주</td><td>39,200</td><td>54,900</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">남원</td><td>서대전</td><td>37,800</td><td>52,900</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">서대전</td><td class="highlight">남원</td><td>서대전</td><td>16,800</td><td>23,500</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">익산</td><td class="highlight">남원</td><td>공주</td><td>8,400</td><td>13,200</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">익산</td><td class="highlight">남원</td><td>서대전</td><td>8,400</td><td>13,200</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">전주</td><td class="highlight">남원</td><td>공주</td><td>8,400</td><td>13,200</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">전주</td><td class="highlight">남원</td><td>서대전</td><td>8,400</td><td>13,200</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">남원</td><td class="highlight">여수엑스포</td><td>공주</td><td>10,500</td><td>15,300</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">남원</td><td class="highlight">여수엑스포</td><td>서대전</td><td>10,500</td><td>15,300</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%82%a8%ec%9b%90%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b4%91%ed%95%9c%eb%a3%a8%ec%9b%90-%ec%97%ac%ec%88%98%c2%b7%ec%9a%a9%ec%82%b0%ed%96%89-%ec%a0%84%eb%9d%bc%ec%84%a0-%ec%9a%b4%ec%9e%84/">남원역 KTX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%eb%82%a8%ec%9b%90%ec%97%ad-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b4%91%ed%95%9c%eb%a3%a8%ec%9b%90-%ec%97%ac%ec%88%98%c2%b7%ec%88%98%ec%84%9c%ed%96%89%ea%b0%95%eb%82%a8-%ec%86%a1%ed%8c%8c-%eb%8f%99/">남원역 SRT 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%eb%82%a8%ec%9b%90%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-%ea%b4%91%ed%95%9c%eb%a3%a8%ec%9b%90-%ec%97%ac%ec%88%98%c2%b7%ec%9a%a9%ec%82%b0%ed%96%89/">남원역 ITX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%eb%82%a8%ec%9b%90%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b4%91%ed%95%9c%eb%a3%a8%ec%9b%90-%ec%97%ac%ec%88%98%c2%b7%ec%9a%a9%ec%82%b0%ed%96%89-%ec%a0%84%eb%9d%bc/">남원역 무궁화호 시간표 바로가기</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>역 KTX 시간표</strong></h2>



<h3 class="wp-block-heading">출발 : <strong><strong>남원</strong></strong> → 도착 : 용산,서울</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></tr></thead><tbody><tr><td>502</td><td>KTX-산천</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>8:43</td><td>매일</td></tr><tr><td>504</td><td>KTX</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>9:48</td><td>매일</td></tr><tr><td>542</td><td>KTX_산천</td><td>8:45</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><td>11:27</td><td>매일</td></tr><tr><td>506</td><td>KTX-산천</td><td>9:36</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><td></td><td>매일</td></tr><tr><td>508</td><td>KTX_산천</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><td>매일</td></tr><tr><td>510</td><td>KTX</td><td>12:52</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><td></td><td>매일</td></tr><tr><td>582</td><td>KTX</td><td>13:02</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><td></td><td>매일</td></tr><tr><td>512</td><td>KTX</td><td>13:52</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><td>16:27</td><td>매일</td></tr><tr><td>514</td><td>KTX_산천</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><td>매일</td></tr><tr><td>516</td><td>KTX</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><td>매일</td></tr><tr><td>4052</td><td>KTX_산천</td><td>16:25</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><td>19:05</td><td>금토일</td></tr><tr><td>4054</td><td>KTX-산천</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>20:44</td><td>금토일</td></tr><tr><td>518</td><td>KTX-산천</td><td>17:30</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><td></td><td>매일</td></tr><tr><td>520</td><td>KTX</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>21:41</td><td>매일</td></tr><tr><td>584</td><td>KTX_산천</td><td>19:49</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><td></td><td>매일</td></tr><tr><td>544</td><td>KTX-산천</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>23:03</td><td>월화수목</td></tr><tr><td>546</td><td>KTX_산천</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>23:03</td><td>토일</td></tr><tr><td>522</td><td>KTX_산천</td><td>21:17</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><td></td><td>매일</td></tr><tr><td>524</td><td>KTX-산천</td><td>22:45</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><td>1:07</td><td>매일</td></tr></tbody></table></div>



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



<h3 class="wp-block-heading">출발 : <strong><strong>남원</strong></strong> → 도착 : 여수</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>581</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>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>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>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>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>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>521</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></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 = '35050';
            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;">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/%EC%A0%95%EC%98%A5%EC%B6%94%EC%96%B4%ED%83%95+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EB%82%A8%EC%9B%90%EC%8B%9C+%EC%8B%A0%EC%A0%95%EB%8F%99+913+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;">전북특별자치도 남원시 신정동 913 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%95%9C%EC%84%B1+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EB%82%A8%EC%9B%90%EC%8B%9C+%EA%B8%88%EB%8F%99+370+370" 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;">전북특별자치도 남원시 금동 370 370</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%BB%A4%ED%94%BC%ED%95%98%EB%B2%84+%EB%82%A8%EC%9B%90%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+%EB%82%A8%EC%9B%90%EC%8B%9C+%EC%8B%A0%EC%A0%95%EB%8F%99+521-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;">전북특별자치도 남원시 신정동 521-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%B8%94%EB%A3%A8%ED%8F%AC%ED%8A%B8+%EB%82%A8%EC%9B%90%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+%EB%82%A8%EC%9B%90%EC%8B%9C+%EC%8B%A0%EC%A0%95%EB%8F%99+899+%EC%A0%84%EB%B6%81%EB%B9%8C%EB%94%A9+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;">전북특별자치도 남원시 신정동 899 전북빌딩 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%B0%B8%EA%B9%80%EB%B0%A5+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EB%82%A8%EC%9B%90%EC%8B%9C+%EA%B8%88%EB%8F%99+255-17+%EA%B3%A0%ED%96%A5%EB%A7%88%EC%9D%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;">전북특별자치도 남원시 금동 255-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 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%82%A8%EC%9B%90%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/01/남원역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="남원역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-17195" srcset="https://krailroad.co.kr/wp-content/uploads/2026/01/남원역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/01/남원역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/01/남원역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-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%b3%a1%ec%84%b1%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b8%b0%ec%b0%a8%eb%a7%88%ec%9d%84-%ec%97%ac%ed%96%89%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/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 22 Jan 2026 23:55:00 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[곡성역 KTX 시가눂]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=17102</guid>

					<description><![CDATA[전라선 철도의 서정적인 풍경이 시작되는 곡성역 KTX 시간표와 이용 정보를 찾고 있다면, 이곳이 단순한 기차역을 넘어 하나의 거대한 여행 테마파크로 연결되는 관문이라는 점을 먼저 이해하는 것이 좋습니다. 곡성역은 전라선 노선 중에서도 섬진강의 아름다움을 가장 가까이서 느낄 수 있는 곳으로써, 고속열차 도입 이후 수도권과의 거리가 획기적으로 좁혀지며 사계절 내내 많은 이들이 찾는 명소가 되었습니다. 코레일의 최신 ... <a title="곡성역 KTX 시간표 기차마을 여행(용산·전주·여수행) 전라선 노선 요금" class="read-more button" href="https://krailroad.co.kr/%ea%b3%a1%ec%84%b1%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b8%b0%ec%b0%a8%eb%a7%88%ec%9d%84-%ec%97%ac%ed%96%89%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/" 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>의 최신 공시 자료를 바탕으로 내용을 보충했으므로, 곡성역의 역사적 변천사부터 역사 내 편의 시설, 그리고 아이들과 함께하기 좋은 주변 여행지 정보가 다음 이동을 계획하는 분들에게 유용한 자료가 되기었으면합니다.</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">곡성역은 1933년 영업을 시작한 이래 전라선 남부 구간의 여객과 물류를 담당해 온 유서 깊은 곳입니다. 1999년 전라선 복선 전철화 사업과 함께 현재의 위치로 신축 이전하며 현대적인 역사의 모습을 갖추게 되었습니다.</p>



<p class="wp-block-paragraph">곡성역에 KTX가 처음 정차하기 시작한 것은 2011년 여수세계박람회를 앞두고 전라선 KTX가 개통되면서부터입니다. 당시 지역민의 이동 편의 증진은 물론이며, 곡성 세계장미축제와 섬진강 기차마을을 찾는 관광객 수요가 폭발적으로 늘어남에 따라 고속열차 정차역으로써 그 위상이 한층 높아졌습니다.</p>



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



<h3 class="wp-block-heading">전라선에서 곡성역 KTX의 의미</h3>



<p class="wp-block-paragraph">곡성역은 전라선 구간에서 전주와 순천 사이를 잇는 징검다리 역할을 수행합니다. 특히 섬진강 물줄기를 따라 형성된 철길은 전라선에서 가장 아름다운 구간 중 하나로 꼽히며, 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">1️⃣ <strong>섬진강 기차마을:</strong> 곡성역에서 도보로 약 5~10분이면 닿을 수 있는 이곳은 아이를 동반한 가족 여행객에게 최고의 성지입니다. 증기기관차 체험과 레일바이크, 미니 기차 등 탈 거리가 풍성하며 옛 곡성역사의 정취를 그대로 간직하고 있습니다.</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">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="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">504호</span><div class="time-display">6:48</div><div class="arrival-info">7:26 도착</div></td><td><span class="train-detail">546호</span><div class="time-display">20:10</div><div class="arrival-info">20:46 도착</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">504호</span><div class="time-display">6:48</div><div class="arrival-info">7:42 도착</div></td><td><span class="train-detail">546호</span><div class="time-display">20:10</div><div class="arrival-info">21:06 도착</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">584호</span><div class="time-display">19:39</div><div class="arrival-info">21:34 도착</div></td><td><span class="train-detail">584호</span><div class="time-display">19:39</div><div class="arrival-info">21:34 도착</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">504호</span><div class="time-display">6:48</div><div class="arrival-info">9:14 도착</div></td><td><span class="train-detail">546호</span><div class="time-display">20:10</div><div class="arrival-info">22:36 도착</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">504호</span><div class="time-display">6:48</div><div class="arrival-info">9:26 도착</div></td><td><span class="train-detail">546호</span><div class="time-display">20:10</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">581호</span><div class="time-display">10:37</div><div class="arrival-info">11:23 도착</div></td><td><span class="train-detail">521호</span><div class="time-display">22:25</div><div class="arrival-info">23:12 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong>곡성역 KTX 요금표</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></tr></thead><tbody><tr><td>전라K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">곡성</td><td>공주</td><td>39,900</td><td>55,900</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">곡성</td><td>공주</td><td>39,600</td><td>55,400</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">곡성</td><td>서대전</td><td>38,600</td><td>54,000</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">서대전</td><td class="highlight">곡성</td><td>서대전</td><td>18,600</td><td>26,000</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">익산</td><td class="highlight">곡성</td><td>공주</td><td>10,100</td><td>14,900</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">익산</td><td class="highlight">곡성</td><td>서대전</td><td>10,100</td><td>14,900</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">전주</td><td class="highlight">곡성</td><td>공주</td><td>8,400</td><td>13,200</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">전주</td><td class="highlight">곡성</td><td>서대전</td><td>8,400</td><td>13,200</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">곡성</td><td class="highlight">여수엑스포</td><td>공주</td><td>8,600</td><td>13,400</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">곡성</td><td class="highlight">여수엑스포</td><td>서대전</td><td>8,600</td><td>13,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">✅ <a href="https://krailroad.co.kr/%ea%b3%a1%ec%84%b1%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b8%b0%ec%b0%a8%eb%a7%88%ec%9d%84-%ec%97%ac%ed%96%89%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/">곡성역 KTX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ea%b3%a1%ec%84%b1%ec%97%ad-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b8%b0%ec%b0%a8%eb%a7%88%ec%9d%84-%ec%97%ac%ec%88%98%c2%b7%ec%88%98%ec%84%9c%ed%96%89-%ec%a0%84%eb%9d%bc%ec%84%a0-%ec%9a%b4%ec%9e%84/">곡성역 SRT 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ea%b3%a1%ec%84%b1%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%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/">곡성역 ITX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ea%b3%a1%ec%84%b1%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%9a%a9%ec%82%b0%c2%b7%ec%a0%84%ec%a3%bc%c2%b7%ec%88%9c%ec%b2%9c%c2%b7%ec%97%ac%ec%88%98%ed%96%89/">곡성역 무궁화호 시간표 바로가기</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></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><th>공주</th><th>오송</th><th>천안아산</th><th>광명</th><th>용산</th><th>서울</th><th>행신</th><th>비고</th></tr></thead><tbody><tr><td>504</td><td>KTX</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>9:48</td><td>매일</td></tr><tr><td>542</td><td>KTX_산천</td><td>8:35</td><td>8:45</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><td>11:27</td><td>매일</td></tr><tr><td>510</td><td>KTX</td><td>12:42</td><td>12:52</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><td></td><td>매일</td></tr><tr><td>514</td><td>KTX_산천</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><td>매일</td></tr><tr><td>4052</td><td>KTX_산천</td><td>16:14</td><td>16:25</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><td>19:05</td><td>금토일</td></tr><tr><td>518</td><td>KTX-산천</td><td>17:20</td><td>17:30</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><td></td><td>매일</td></tr><tr><td>520</td><td>KTX</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>21:41</td><td>매일</td></tr><tr><td>584</td><td>KTX_산천</td><td>19:39</td><td>19:49</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><td></td><td>매일</td></tr><tr><td>544</td><td>KTX-산천</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>23:03</td><td>월화수목</td></tr><tr><td>546</td><td>KTX_산천</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>23:03</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></tr></thead><tbody><tr><td>581</td><td>KTX</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: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>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>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>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>19:04</td><td>19:16</td><td>19:31</td><td>19:45</td><td>19:54</td><td>매일</td></tr><tr><td>521</td><td>KTX</td><td>22:25</td><td></td><td>22:49</td><td>23:03</td><td>23:12</td><td>매일</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 = '36320';
            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;">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/01DORA+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EA%B3%A1%EC%84%B1%EA%B5%B0+%EC%98%A4%EA%B3%A1%EB%A9%B4+%EC%98%A4%EC%A7%80%EB%A6%AC+1220-4+260" 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;">01DORA</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;">전라남도 곡성군 오곡면 오지리 1220-4 260</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%94%94%ED%8A%B8%EB%A0%88%EC%9D%B8+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EA%B3%A1%EC%84%B1%EA%B5%B0+%EC%98%A4%EA%B3%A1%EB%A9%B4+%EC%98%A4%EC%A7%80%EB%A6%AC+1220-4+%EB%94%94%ED%8A%B8%EB%A0%88%EC%9D%B8%EB%B2%A0%EC%9D%B4%EC%BB%A4%EB%A6%AC+%28%EC%98%81%EC%9D%BC%EB%8F%84%EB%9D%BC%EC%B9%B4%ED%8E%98%EC%95%88%EC%97%90+%EC%9C%84%EC%B9%98%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;">전라남도 곡성군 오곡면 오지리 1220-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%8B%A8%ED%8E%B8+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EA%B3%A1%EC%84%B1%EA%B5%B0+%EC%98%A4%EA%B3%A1%EB%A9%B4+%EC%98%A4%EC%A7%80%EB%A6%AC+1238-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;">전라남도 곡성군 오곡면 오지리 1238-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%8C%8D%EC%A0%88%EB%8B%B9+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EA%B3%A1%EC%84%B1%EA%B5%B0+%EC%98%A4%EA%B3%A1%EB%A9%B4+%EC%98%A4%EC%A7%80%EB%A6%AC+770-5+%EC%8C%8D%EC%A0%88%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;">전라남도 곡성군 오곡면 오지리 770-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/%EB%9D%BC%EC%9D%B4%EC%B2%B8+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EA%B3%A1%EC%84%B1%EA%B5%B0+%EC%98%A4%EA%B3%A1%EB%A9%B4+%EC%98%A4%EC%A7%80%EB%A6%AC+1211-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;">전라남도 곡성군 오곡면 오지리 1211-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/%EA%B3%A1%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/01/곡성역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="곡성역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-17143" srcset="https://krailroad.co.kr/wp-content/uploads/2026/01/곡성역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/01/곡성역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/01/곡성역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-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%b5%ac%eb%a1%80%ea%b5%ac%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%a7%80%eb%a6%ac%ec%82%b0%c2%b7%ed%99%94%ec%97%84%ec%82%ac-%ec%97%ac%ed%96%89%ec%9d%84-%ec%9c%84%ed%95%9c-%ec%9a%a9%ec%82%b0/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Wed, 21 Jan 2026 00:04:38 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[구례구역 KTX 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=17041</guid>

					<description><![CDATA[지리산의 웅장함과 섬진강의 맑은 물줄기가 시작되는 구례구역 KTX 시간표와 이용 정보를 찾고 있다면, 이곳이 왜 등산객과 여행자들에게 사랑받는 관문인지 그 이유를 먼저 파악하는 것이 좋습니다. 구례구역은 행정구역상 전남 순천시에 속해 있으나 구례로 들어가는 입구라는 뜻을 담고 있어 지리산 산행이나 남도 꽃구경을 계획하는 분들에게 무척 중요한 거점입니다. 직접 수집한 자료와 코레일 공식 데이터를 바탕으로 구례구역의 독특한 ... <a title="구례구역 KTX 시간표 지리산·화엄사 여행을 위한 용산·여수행 노선 및 요금 정차역" class="read-more button" href="https://krailroad.co.kr/%ea%b5%ac%eb%a1%80%ea%b5%ac%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%a7%80%eb%a6%ac%ec%82%b0%c2%b7%ed%99%94%ec%97%84%ec%82%ac-%ec%97%ac%ed%96%89%ec%9d%84-%ec%9c%84%ed%95%9c-%ec%9a%a9%ec%82%b0/" 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> 공식 데이터를 바탕으로 구례구역의 독특한 이름 유래부터 지리산 연계 교통, 그리고 역사 내 편의 시설까지 상세하게 정리했으니 이동 경로를 구상하는 데 유용한 정보가 될것입니다.</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">구례구역은 그 이름부터 특별한 사연을 품고 있습니다. 한자 그대로 &#8216;구례의 입구&#8217;라는 뜻을 가진 이곳은 실제 주소지는 전남 순천시 황전면이지만, 섬진강 다리 하나만 건너면 바로 구례군과 연결되는 지리적 특성 때문에 이러한 명칭이 붙었습니다. 구례 사람들에게는 고향의 시작점이며 여행자들에게는 지리산의 품으로 들어가는 첫 번째 관문으로써 독보적인 지위를 가집니다.</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> 역에서 내려 택시나 버스를 이용하면 지리산의 대표 사찰인 화엄사까지 약 15분 내외면 도착할 수 있습니다. 특히 새벽 기차를 타고 도착하는 등산객들은 구례구역에서 곧장 노고단이나 천왕봉 방향으로 향하는 산행을 시작할 수 있어 시간 효율성이 무척 뛰어납니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>계절별 꽃축제의 중심:</strong> 봄이 오면 구례구역 주변은 온통 노란 산수유와 분홍빛 벚꽃으로 물듭니다. 산수유 축제가 열리는 산동면이나 섬진강변을 따라 길게 뻗은 벚꽃길을 감상하기 위해 전국에서 관광객들이 모여드는데, 복잡한 도로 정체를 피해 구례구역 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">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">1️⃣ <strong>KTX 선택 정차 확인:</strong> 나주역과 마찬가지로 모든 호남선/전라선 KTX가 구례구역에 서지는 않습니다. 정차 횟수가 한정적이므로 예매 시 반드시 시간을 꼼꼼히 대조해야 하며, 용산행 상행선의 경우 주말에는 금방 매진되므로 서두르는 것이 안전합니다.</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="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:41</div><div class="arrival-info">6:25 도착</div></td><td><span class="train-detail">522호</span><div class="time-display">20:59</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-ktx">KTX</span></td><td><span class="train-detail">502호</span><div class="time-display">5:41</div><div class="arrival-info">6:45 도착</div></td><td><span class="train-detail">522호</span><div class="time-display">20:59</div><div class="arrival-info">22: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-ktx">KTX</span></td><td><span class="train-detail">582호</span><div class="time-display">12:43</div><div class="arrival-info">14:43 도착</div></td><td><span class="train-detail">4054호</span><div class="time-display">17:03</div><div class="arrival-info">19:07 도착</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">502호</span><div class="time-display">5:41</div><div class="arrival-info">8:16 도착</div></td><td><span class="train-detail">522호</span><div class="time-display">20:59</div><div class="arrival-info">23: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-ktx">KTX</span></td><td><span class="train-detail">502호</span><div class="time-display">5:41</div><div class="arrival-info">8:26 도착</div></td><td><span class="train-detail">520호</span><div class="time-display">18:40</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">503호</span><div class="time-display">9:41</div><div class="arrival-info">10:19 도착</div></td><td><span class="train-detail">519호</span><div class="time-display">21:14</div><div class="arrival-info">21:52 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong>구례구역 KTX 요금표</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></tr></thead><tbody><tr><td>전라K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">구례구</td><td>공주</td><td>41,800</td><td>58,500</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">구례구</td><td>공주</td><td>41,500</td><td>58,100</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">구례구</td><td>서대전</td><td>40,400</td><td>56,600</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">서대전</td><td class="highlight">구례구</td><td>서대전</td><td>20,700</td><td>29,000</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">익산</td><td class="highlight">구례구</td><td>서대전</td><td>12,200</td><td>17,100</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">전주</td><td class="highlight">구례구</td><td>서대전</td><td>9,500</td><td>14,300</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">구례구</td><td class="highlight">순천</td><td>공주</td><td>8,400</td><td>13,200</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">구례구</td><td class="highlight">순천</td><td>서대전</td><td>8,400</td><td>13,200</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">구례구</td><td class="highlight">여수엑스포</td><td>공주</td><td>8,400</td><td>13,200</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">구례구</td><td class="highlight">여수엑스포</td><td>서대전</td><td>8,400</td><td>13,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">✅ <a href="https://krailroad.co.kr/%ea%b5%ac%eb%a1%80%ea%b5%ac%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%a7%80%eb%a6%ac%ec%82%b0%c2%b7%ed%99%94%ec%97%84%ec%82%ac-%ec%97%ac%ed%96%89%ec%9d%84-%ec%9c%84%ed%95%9c-%ec%9a%a9%ec%82%b0/">구례구역 KTX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ea%b5%ac%eb%a1%80%ea%b5%ac%ec%97%ad-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%88%98%ec%84%9c%ea%b0%95%eb%82%a8%c2%b7%ec%a0%84%ec%a3%bc%c2%b7%ec%97%ac%ec%88%98%ed%96%89-%ec%a0%84%eb%9d%bc%ec%84%a0/">구례구역 SRT 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ea%b5%ac%eb%a1%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-%ec%9a%a9%ec%82%b0%c2%b7%ec%a0%84%ec%a3%bc%c2%b7%ec%97%ac%ec%88%98/">구례구역 ITX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ea%b5%ac%eb%a1%80%ea%b5%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-%ec%9a%a9%ec%82%b0%c2%b7%ec%a0%84%ec%a3%bc%c2%b7%ec%88%9c%ec%b2%9c%c2%b7%ec%97%ac%ec%88%98/">구례구역 무궁화호 시간표 바로가기</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></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><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: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>8:43</td><td>매일</td></tr><tr><td>542</td><td>KTX_산천</td><td>8:23</td><td>8:35</td><td>8:45</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><td>11:27</td><td>매일</td></tr><tr><td>506</td><td>KTX-산천</td><td>9:17</td><td></td><td>9:36</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><td></td><td>매일</td></tr><tr><td>582</td><td>KTX</td><td>12:43</td><td></td><td>13:02</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><td></td><td>매일</td></tr><tr><td>516</td><td>KTX</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><td>매일</td></tr><tr><td>4052</td><td>KTX_산천</td><td>16:03</td><td>16:14</td><td>16:25</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><td>19:05</td><td>금토일</td></tr><tr><td>4054</td><td>KTX-산천</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>20:44</td><td>금토일</td></tr><tr><td>520</td><td>KTX</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>21:41</td><td>매일</td></tr><tr><td>522</td><td>KTX_산천</td><td>20:59</td><td></td><td>21:17</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><td></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></tr></thead><tbody><tr><td>503</td><td>KTX</td><td>9:41</td><td>9:57</td><td>10:11</td><td>10:19</td><td>매일</td></tr><tr><td>505</td><td>KTX</td><td>11:09</td><td>11:24</td><td>11:38</td><td>11:47</td><td>매일</td></tr><tr><td>543</td><td>KTX_산천</td><td>15:10</td><td>15:26</td><td>15:40</td><td>15:48</td><td>월화수목토일</td></tr><tr><td>583</td><td>KTX-산천</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: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>19:16</td><td>19:31</td><td>19:45</td><td>19:54</td><td>매일</td></tr><tr><td>519</td><td>KTX-산천</td><td>21:14</td><td>21:30</td><td>21:44</td><td>21:52</td><td>매일</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 = '36330';
            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;">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/%EA%B5%AC%EB%A1%80%EC%97%AD%EC%A0%9C%EA%B3%BC%EC%A0%90+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EA%B5%AC%EB%A1%80%EA%B5%B0+%EA%B5%AC%EB%A1%80%EC%9D%8D+%EC%8B%A0%EC%9B%94%EB%A6%AC+360-2+%EA%B5%AC%EB%A1%80%EC%97%AD%EC%A0%9C%EA%B3%BC%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;">전라남도 구례군 구례읍 신월리 360-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%AC%EB%A1%80%EC%97%AD%EB%8C%80%ED%95%A9%EC%8B%A4+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EA%B5%AC%EB%A1%80%EA%B5%B0+%EA%B5%AC%EB%A1%80%EC%9D%8D+%EC%8B%A0%EC%9B%94%EB%A6%AC+360-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;">전라남도 구례군 구례읍 신월리 360-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%A8%EC%B4%8C%ED%9A%8C%EA%B4%80+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EA%B5%AC%EB%A1%80%EA%B5%B0+%EA%B5%AC%EB%A1%80%EC%9D%8D+%EC%8B%A0%EC%9B%94%EB%A6%AC+368-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;">전라남도 구례군 구례읍 신월리 368-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/%EA%B3%A0%ED%96%A5%EC%82%B0%EC%B2%9C+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%88%9C%EC%B2%9C%EC%8B%9C+%ED%99%A9%EC%A0%84%EB%A9%B4+%EB%B9%84%EC%B4%8C%EB%A6%AC+9-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;">전라남도 순천시 황전면 비촌리 9-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%B2%9C%EC%88%98%EC%8B%9D%EB%8B%B9+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EA%B5%AC%EB%A1%80%EA%B5%B0+%EA%B5%AC%EB%A1%80%EC%9D%8D+%EC%8B%A0%EC%9B%94%EB%A6%AC+357-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;">전라남도 구례군 구례읍 신월리 357-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/%EA%B5%AC%EB%A1%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/01/구례구역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="구례구역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-17089" srcset="https://krailroad.co.kr/wp-content/uploads/2026/01/구례구역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/01/구례구역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/01/구례구역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>순천역 KTX 시간표 안내 용산·전주·여수 방면 전라선 하행 상행 요금 및 정차역</title>
		<link>https://krailroad.co.kr/%ec%88%9c%ec%b2%9c%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%95%88%eb%82%b4-%ec%9a%a9%ec%82%b0%c2%b7%ec%a0%84%ec%a3%bc%c2%b7%ec%97%ac%ec%88%98-%eb%b0%a9%eb%a9%b4-%ec%a0%84%eb%9d%bc%ec%84%a0/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Tue, 20 Jan 2026 01:34:30 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[순천역 KTX 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=16962</guid>

					<description><![CDATA[전라선과 경전선이 교차하며 남도 교통의 핵심 역할을 수행하는 순천역 KTX 시간표와 운행 정보를 확인 중이라면, 역사의 구조와 함께 정원 도시 순천의 색채가 담긴 편의 시설들을 미리 파악하는 것이 좋습니다. 순천역은 전주, 여수, 목포, 부산 등 사방으로 뻗어 나가는 철길의 중심지로써 이용객의 발길이 끊이지 않는 곳인 만큼, 직접 확인한 현장 자료와 코레일 공식 데이터를 바탕으로 실질적인 ... <a title="순천역 KTX 시간표 안내 용산·전주·여수 방면 전라선 하행 상행 요금 및 정차역" class="read-more button" href="https://krailroad.co.kr/%ec%88%9c%ec%b2%9c%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%95%88%eb%82%b4-%ec%9a%a9%ec%82%b0%c2%b7%ec%a0%84%ec%a3%bc%c2%b7%ec%97%ac%ec%88%98-%eb%b0%a9%eb%a9%b4-%ec%a0%84%eb%9d%bc%ec%84%a0/" aria-label="순천역 KTX 시간표 안내 용산·전주·여수 방면 전라선 하행 상행 요금 및 정차역 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">전라선과 경전선이 교차하며 남도 교통의 핵심 역할을 수행하는 순천역 KTX 시간표와 운행 정보를 확인 중이라면, 역사의 구조와 함께 정원 도시 순천의 색채가 담긴 편의 시설들을 미리 파악하는 것이 좋습니다. 순천역은 전주, 여수, 목포, 부산 등 사방으로 뻗어 나가는 철길의 중심지로써 이용객의 발길이 끊이지 않는 곳인 만큼, 직접 확인한 현장 자료와 <a href="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 데이터를 바탕으로 실질적인 이용 팁들을 정리했습니다.</p>



<p class="wp-block-paragraph">KTX와 KTX-산천을 비롯하여 새롭게 도입된 KTX-청룡까지 순천역을 지나는 모든 고속열차의 운행 체계와 첫차, 막차 정보를 한눈에 볼 수 있도록 분류했으며, 목적지까지의 정확한 소요 시간과 운임, 주차장 정보까지 포함했으므로 이동 경로를 구상하는 분들에게 실질적인 도움이 되도록 작성하였습니다.</p>



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



<h2 class="wp-block-heading"><strong>순천역 KTX 이용 과 편의 안내</strong></h2>



<h3 class="wp-block-heading">순천역 KTX 남도의 중심</h3>



<p class="wp-block-paragraph">순천역은 단순히 기차를 타는 정거장을 넘어 순천만 국가정원이나 인근 섬, 인접 도시인 여수나 광양으로 향하는 관문 역할을 톡톡히 하고 있습니다.</p>



<p class="wp-block-paragraph">1️⃣ <strong>운행하는 노선과 열차:</strong> 서울 용산과 행신을 기점으로 하는 전라선 KTX가 주를 이루며, 여수엑스포역으로 향하는 하행선과 수도권으로 올라가는 상행선이 수시로 운행됩니다. 또한 남도해양열차(S-Train)와 같은 관광 열차는 물론이며, 최근 도입된 KTX-청룡을 통해 더욱 빠른 이동이 가능해진 점이 순천역만의 특징입니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>스마트폰 무상 충전과 디지털 편의:</strong> 역사 1층과 2층 대합실 곳곳에는 전용 충전 시설과 콘센트가 설치된 비즈니스 존이 마련되어 있습니다. 기차 탑승 전 배터리를 무료로 채울 수 있는 공간이 넉넉하므로, 이동 중에 전자기기 사용이 잦은 분들은 대합실 내 기둥이나 벽면에 설치된 전원 공급 장치를 미리 확인하는 것이 좋습니다.</p>



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



<h3 class="wp-block-heading">아이들과 함께하는 휴식과 먹거리</h3>



<p class="wp-block-paragraph">순천역은 가족 단위 여행객이 많은 특성을 고려하여 세심한 휴게 공간을 갖추고 있습니다.<br><br>1️⃣ <strong>아이들과 쉴 곳 (수유실 및 대기실):</strong> 역사 내부에는 깨끗하게 관리된 수유실과 함께 아이들이 잠시 머물 수 있는 넓은 맞이방이 있습니다. 특히 2층 창가 쪽 대기 공간은 채광이 좋아 아이들과 함께 창밖의 열차를 구경하며 시간을 보내기에 적절하며, 역 광장 앞 소규모 녹지 공간은 기차 타기 전 가벼운 산책으로 아이들의 긴장을 풀어주기에 좋습니다.</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">순천역 KTX를 이용하다가 물건을 잃어버렸을 때는 당황하지 말고 역사 내 고객 지원실을 방문해야 합니다.</p>



<p class="wp-block-paragraph">1️⃣ <strong>분실물 관리 요령:</strong> 순천역 유실물 센터는 습득된 물품을 철저히 데이터베이스화하여 관리합니다. 물건을 잃어버린 즉시 역내 안내 데스크나 코레일 유실물 센터(1588-7788)로 문의하면 확인이 가능하며, 경찰청 유실물 통합 포털인 LOST112에서도 실시간 조회가 가능하므로 방문 전 미리 검색해 보는 것이 현명합니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>승강장 이용 시 주의점:</strong> 순천역은 전라선과 경전선 열차가 동시에 정차하므로 열차 번호에 따라 승강장 위치가 상당히 다를 수 있습니다. 특히 용산행 KTX와 부산행 무궁화호가 비슷한 시간에 들어오는 경우가 있으므로, 전광판에 표시된 승강장 번호를 다시 한번 훑어보고 발걸음을 옮기는 과정이 필요합니다</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">502호</span><div class="time-display">5:26</div><div class="arrival-info">6:25 도착</div></td><td><span class="train-detail">524호</span><div class="time-display">22:15</div><div class="arrival-info">23:11 도착</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">502호</span><div class="time-display">5:26</div><div class="arrival-info">6:45 도착</div></td><td><span class="train-detail">524호</span><div class="time-display">22:15</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-ktx">KTX</span></td><td><span class="train-detail">582호</span><div class="time-display">12:28</div><div class="arrival-info">14:43 도착</div></td><td><span class="train-detail">584호</span><div class="time-display">19:15</div><div class="arrival-info">21:34 도착</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">502호</span><div class="time-display">5:26</div><div class="arrival-info">8:16 도착</div></td><td><span class="train-detail">524호</span><div class="time-display">22:15</div><div class="arrival-info">0:46 도착</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">502호</span><div class="time-display">5:26</div><div class="arrival-info">8:26 도착</div></td><td><span class="train-detail">546호</span><div class="time-display">19: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">501호</span><div class="time-display">7:49</div><div class="arrival-info">8:11 도착</div></td><td><span class="train-detail">523호</span><div class="time-display">0:14</div><div class="arrival-info">0:36 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong>순천역 KTX 요금표</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></tr></thead><tbody><tr><td>전라K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">순천</td><td>공주</td><td>44,300</td><td>62,000</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">순천</td><td>공주</td><td>44,000</td><td>61,600</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">순천</td><td>서대전</td><td>43,000</td><td>60,200</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">서대전</td><td class="highlight">순천</td><td>서대전</td><td>23,300</td><td>32,600</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">익산</td><td class="highlight">순천</td><td>공주</td><td>15,100</td><td>21,100</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">익산</td><td class="highlight">순천</td><td>서대전</td><td>15,100</td><td>21,100</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">전주</td><td class="highlight">순천</td><td>공주</td><td>12,400</td><td>17,400</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">전주</td><td class="highlight">순천</td><td>서대전</td><td>12,400</td><td>17,400</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">순천</td><td class="highlight">여수엑스포</td><td>공주</td><td>8,400</td><td>13,200</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">순천</td><td class="highlight">여수엑스포</td><td>서대전</td><td>8,400</td><td>13,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">✅ <a href="https://krailroad.co.kr/%ec%88%9c%ec%b2%9c%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%95%88%eb%82%b4-%ec%9a%a9%ec%82%b0%c2%b7%ec%a0%84%ec%a3%bc%c2%b7%ec%97%ac%ec%88%98-%eb%b0%a9%eb%a9%b4-%ec%a0%84%eb%9d%bc%ec%84%a0/">순천역 KTX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ec%88%9c%ec%b2%9c%ec%97%ad-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%88%98%ec%84%9c%ea%b0%95%eb%82%a8%c2%b7%ec%a0%84%ec%a3%bc%c2%b7%ec%97%ac%ec%88%98%ed%96%89-%ec%a0%84%eb%9d%bc%ec%84%a0-%ed%95%98/">순천역 SRT 시간표 바로가기</a><br>✅ <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/">순천역 ITX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ec%88%9c%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-%eb%b3%b4%ec%84%b1%c2%b7%ec%a7%84%ec%a3%bc%ea%b2%bd%ec%a0%84%ec%84%a0-%ec%a0%84%ec%a3%bc%c2%b7/">순천역 무궁화호 시간표 바로가기</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></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><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: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>8:43</td><td>매일</td></tr><tr><td>504</td><td>KTX</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>9:48</td><td>매일</td></tr><tr><td>542</td><td>KTX_산천</td><td>8:08</td><td>8:23</td><td>8:35</td><td>8:45</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><td>11:27</td><td>매일</td></tr><tr><td>506</td><td>KTX-산천</td><td>9:02</td><td>9:17</td><td></td><td>9:36</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><td></td><td>매일</td></tr><tr><td>508</td><td>KTX_산천</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><td>매일</td></tr><tr><td>510</td><td>KTX</td><td>12:18</td><td></td><td>12:42</td><td>12:52</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><td></td><td>매일</td></tr><tr><td>582</td><td>KTX</td><td>12:28</td><td>12:43</td><td></td><td>13:02</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><td></td><td>매일</td></tr><tr><td>512</td><td>KTX</td><td>13:22</td><td></td><td></td><td>13:52</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><td>16:27</td><td>매일</td></tr><tr><td>514</td><td>KTX_산천</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><td>매일</td></tr><tr><td>516</td><td>KTX</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><td>매일</td></tr><tr><td>4052</td><td>KTX_산천</td><td>15:48</td><td>16:03</td><td>16:14</td><td>16:25</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><td>19:05</td><td>금토일</td></tr><tr><td>4054</td><td>KTX-산천</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>20:44</td><td>금토일</td></tr><tr><td>518</td><td>KTX-산천</td><td>16:56</td><td></td><td>17:20</td><td>17:30</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><td></td><td>매일</td></tr><tr><td>520</td><td>KTX</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>21:41</td><td>매일</td></tr><tr><td>584</td><td>KTX_산천</td><td>19:15</td><td></td><td>19:39</td><td>19:49</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><td></td><td>매일</td></tr><tr><td>544</td><td>KTX-산천</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>23:03</td><td>월화수목</td></tr><tr><td>546</td><td>KTX_산천</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>23:03</td><td>토일</td></tr><tr><td>522</td><td>KTX_산천</td><td>20:44</td><td>20:59</td><td></td><td>21:17</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><td></td><td>매일</td></tr><tr><td>524</td><td>KTX-산천</td><td>22:15</td><td></td><td></td><td>22:45</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><td>1:07</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></tr></thead><tbody><tr><td>501</td><td>KTX_산천</td><td>7:49</td><td>8:03</td><td>8:11</td><td>매일</td></tr><tr><td>503</td><td>KTX</td><td>9:57</td><td>10:11</td><td>10:19</td><td>매일</td></tr><tr><td>4051</td><td>KTX_산천</td><td>10:25</td><td>10:39</td><td>10:47</td><td>금토일</td></tr><tr><td>581</td><td>KTX</td><td>11:01</td><td>11:15</td><td>11:23</td><td>매일</td></tr><tr><td>505</td><td>KTX</td><td>11:24</td><td>11:38</td><td>11:47</td><td>매일</td></tr><tr><td>507</td><td>KTX_산천</td><td>12:40</td><td>12:54</td><td>13:02</td><td>매일</td></tr><tr><td>9507</td><td>KTX-산천</td><td>12:40</td><td>12:54</td><td>13:02</td><td>금토일</td></tr><tr><td>509</td><td>KTX</td><td>13:37</td><td>13:51</td><td>13:59</td><td>매일</td></tr><tr><td>511</td><td>KTX-산천</td><td>15:04</td><td></td><td>15:23</td><td>매일</td></tr><tr><td>543</td><td>KTX_산천</td><td>15:26</td><td>15:40</td><td>15:48</td><td>월화수목토일</td></tr><tr><td>513</td><td>KTX</td><td>16:49</td><td>17:03</td><td>17:12</td><td>매일</td></tr><tr><td>583</td><td>KTX-산천</td><td>18:06</td><td>18:20</td><td>18:28</td><td>월화수목</td></tr><tr><td>593</td><td>KTX_산천</td><td>18:08</td><td>18:22</td><td>18:30</td><td>금토일</td></tr><tr><td>515</td><td>KTX_산천</td><td>19:31</td><td>19:45</td><td>19:54</td><td>매일</td></tr><tr><td>517</td><td>KTX-산천</td><td>20:21</td><td>20:35</td><td>20:44</td><td>매일</td></tr><tr><td>519</td><td>KTX-산천</td><td>21:30</td><td>21:44</td><td>21:52</td><td>매일</td></tr><tr><td>521</td><td>KTX</td><td>22:49</td><td>23:03</td><td>23:12</td><td>매일</td></tr><tr><td>541</td><td>KTX-산천</td><td>23:13</td><td>23:27</td><td>23:36</td><td>매일</td></tr><tr><td>523</td><td>KTX_산천</td><td>0:14</td><td>0:28</td><td>0:36</td><td>매일</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 = '36030';
            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;">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%B8%8C%EB%A3%A8%EC%9B%8D%EC%8A%A4+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%88%9C%EC%B2%9C%EC%8B%9C+%EC%A1%B0%EA%B3%A1%EB%8F%99+151-31+%EB%B8%8C%EB%A3%A8%EC%9B%8D%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;카페</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 순천시 조곡동 151-31 브루웍스</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%A5%EB%8F%84%EB%82%A0%EB%93%9C+%EC%88%9C%EC%B2%9C%EB%8D%95%EC%95%94DT%EC%A0%90+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%88%9C%EC%B2%9C%EC%8B%9C+%EB%8D%95%EC%95%94%EB%8F%99+442-13" 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;">전라남도 순천시 덕암동 442-13</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%A8%EB%85%98%EB%93%A4%EB%B0%A5%EC%83%81+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%88%9C%EC%B2%9C%EC%8B%9C+%ED%92%8D%EB%8D%95%EB%8F%99+285-5+%EC%98%A4%EC%85%98%ED%8C%B0%EB%A6%AC%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;한정식</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">전라남도 순천시 풍덕동 285-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/%EC%96%91%EC%99%80%EB%8B%B9+%EB%B3%B8%EC%A0%90+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%88%9C%EC%B2%9C%EC%8B%9C+%ED%92%8D%EB%8D%95%EB%8F%99+1288-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;">전라남도 순천시 풍덕동 1288-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%8A%A4%ED%83%80%EB%B2%85%EC%8A%A4+%EC%88%9C%EC%B2%9C%EC%9D%B4%EB%A7%88%ED%8A%B8%EC%A0%90+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%88%9C%EC%B2%9C%EC%8B%9C+%EB%8D%95%EC%95%94%EB%8F%99+169" 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;">전라남도 순천시 덕암동 169</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;">700원</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;">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> 전라남도 순천시 덕암동 188-100<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> 전라남도 순천시 덕암동 188-100</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%88%9C%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/01/순천역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="순천역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-17033" srcset="https://krailroad.co.kr/wp-content/uploads/2026/01/순천역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/01/순천역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/01/순천역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>오송역 KTX 시간표 경부·호남·전라·경전·동해선 전 노선 요금 및 정차역 총정리</title>
		<link>https://krailroad.co.kr/%ec%98%a4%ec%86%a1%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%bd%eb%b6%80%c2%b7%ed%98%b8%eb%82%a8%c2%b7%ec%a0%84%eb%9d%bc%c2%b7%ea%b2%bd%ec%a0%84%c2%b7%eb%8f%99%ed%95%b4%ec%84%a0-%ec%a0%84/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Mon, 19 Jan 2026 23:59:47 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[오송역 KTX 시간표]]></category>
		<guid isPermaLink="false">https://kabzeel.net/?p=10265</guid>

					<description><![CDATA[오송역 KTX 전체 노선 정보와 함께 실제 이용할 때 마주하는 현장 지침들을 꼼꼼하게 정리했으므로, 대한민국 철도의 중심축인 경부선과 호남선이 교차하는 이곳을 이용하는 분들에게 실질적인 도움이 되었으면 합니다. KTX-청룡이나 산천 등 모든 고속열차가 집결하는 오송역은 경부, 호남, 전라, 경전, 동해선 등 방대한 노선이 복잡하게 얽혀 있어 본인의 목적지에 맞는 열차를 선별하는 과정이 무척 중요합니다. 파편화된 자료를 ... <a title="오송역 KTX 시간표 경부·호남·전라·경전·동해선 전 노선 요금 및 정차역 총정리" class="read-more button" href="https://krailroad.co.kr/%ec%98%a4%ec%86%a1%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%bd%eb%b6%80%c2%b7%ed%98%b8%eb%82%a8%c2%b7%ec%a0%84%eb%9d%bc%c2%b7%ea%b2%bd%ec%a0%84%c2%b7%eb%8f%99%ed%95%b4%ec%84%a0-%ec%a0%84/" aria-label="오송역 KTX 시간표 경부·호남·전라·경전·동해선 전 노선 요금 및 정차역 총정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">오송역 KTX 전체 노선 정보와 함께 실제 이용할 때 마주하는 현장 지침들을 꼼꼼하게 정리했으므로, 대한민국 철도의 중심축인 경부선과 호남선이 교차하는 이곳을 이용하는 분들에게 실질적인 도움이 되었으면 합니다.</p>



<p class="wp-block-paragraph">KTX-청룡이나 산천 등 모든 고속열차가 집결하는 오송역은 경부, 호남, 전라, 경전, 동해선 등 방대한 노선이 복잡하게 얽혀 있어 본인의 목적지에 맞는 열차를 선별하는 과정이 무척 중요합니다. 파편화된 자료를 모아 <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>오송역 KTX 이용 안내</strong></h2>



<h3 class="wp-block-heading">오송역 KTX 철도 교통의 요충지</h3>



<p class="wp-block-paragraph">오송역은 단순히 열차가 잠시 멈추는 정거장이 아니라 대한민국 고속철도망의 유일한 분기점으로써 독보적인 지위를 가집니다.</p>



<p class="wp-block-paragraph">1️⃣ <strong>분기역의 시작과 배경:</strong> 2010년 경부고속철도 2단계 구간 개통과 함께 영업을 시작한 오송역은 2015년 호남고속철도가 개통되면서 명실상부한 국가 철도망의 X자축 결절점이 되었습니다. 지리적으로 국토의 중앙에 위치하며 세종특별자치시의 관문 역할을 수행해야 하므로, 국가 행정의 효율성을 뒷받침하는 핵심 거점으로 설계되었습니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>전략적 환승의 장점:</strong> 경부선과 호남선이 나뉘는 유일한 지점이므로 KTX와 SRT 노선을 교차 활용하여 복잡한 환승 없이 전국 각지로 뻗어 나가는 전략적 이동이 가능합니다. 이러한 구조적 특징 덕분에 오송역은 단순한 경유지를 넘어 중부권 교통의 허브로써 기능하고 있습니다.</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> 역사 메인 대합실 곳곳에는 전용 충전 콘센트가 설치된 좌석과 비즈니스 라운지가 마련되어 있습니다. 열차 탑승 전 배터리를 미리 채워두면 이동 중에 방전 걱정 없이 업무를 보거나 개인적인 시간을 보내기에 유리하며, 냉난방이 완비된 고객 대기실은 사계절 내내 쾌적한 휴식처가 됩니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>식사 시설과 편리한 동선:</strong> 역사 내 2층과 3층 식당가에는 한식부터 간단한 분식까지 다양한 메뉴가 준비되어 있어 기차 타기 전 든든하게 배를 채우기 좋습니다. 특히 편의점이 여러 곳에 배치되어 있어 열차 내에서 즐길 주전부리를 구매하기 수월하며, 승강장까지 연결된 에스컬레이터 동선이 효율적으로 짜여 있어 이동의 피로가 적습니다.</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>: 오송역 정문을 나서면 가장 먼저 마주하는 넓은 광장은 단순히 지나가는 통로가 아니라 잠시 숨을 고를 수 있는 휴식처가 됩니다. 광장 곳곳에 배치된 벤치에 앉아 있으면 시원하게 뻗은 역사 건물의 전경이 한눈에 들어오며, 조경이 잘 정돈된 소규모 조각 공원이 조성되어 있어 가볍게 한 바퀴 둘러보기에 적당합니다. 멀리 나가는 것이 부담스러운 분들에게는 역사 바로 앞에서 계절의 변화를 느끼며 다음 열차를 기다리기에 가장 효율적인 장소입니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>교통 연계와 주차 관리:</strong> 오송역 KTX 역사는 주차 공간이 넓은 편이지만 이용객이 워낙 많으므로 주말에는 주차 자리를 찾는 데 시간이 걸릴 수 있습니다. 세종시 방면으로 향하는 BRT(간선급행버스) 노선이 역 정문과 바로 연결되므로 대중교통 접근성이 뛰어나며, 택시 승강장 또한 목적지별로 분리되어 있어 처음 방문하는 분들도 당황하지 않고 이용할 수 있습니다.</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">402호</span><div class="time-display">6:46</div><div class="arrival-info">7:42 도착</div></td><td><span class="train-detail">524호</span><div class="time-display">23:59</div><div class="arrival-info">0:46 도착</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">116호</span><div class="time-display">6:12</div><div class="arrival-info">7:09 도착</div></td><td><span class="train-detail">70호</span><div class="time-display">23:31</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="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">203호</span><div class="time-display">06:32</div><div class="arrival-info">06:49 도착</div></td><td><span class="train-detail">119호</span><div class="time-display">0:22</div><div class="arrival-info">0:37 도착</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">471호</span><div class="time-display">7:02</div><div class="arrival-info">7:21 도착</div></td><td><span class="train-detail">593호</span><div class="time-display">15:31</div><div class="arrival-info">15: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-ktx">KTX</span></td><td><span class="train-detail">401호</span><div class="time-display">5:55</div><div class="arrival-info">6:32 도착</div></td><td><span class="train-detail">439호</span><div class="time-display">23:16</div><div class="arrival-info">23:46 도착</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">203호</span><div class="time-display">06:32</div><div class="arrival-info">07:36 도착</div></td><td><span class="train-detail">117호</span><div class="time-display">23:52</div><div class="arrival-info">1: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">401호</span><div class="time-display">5:55</div><div class="arrival-info">6:32 도착</div></td><td><span class="train-detail">439호</span><div class="time-display">23:16</div><div class="arrival-info">23:46 도착</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">75호</span><div class="time-display">6:57</div><div class="arrival-info">8:49 도착</div></td><td><span class="train-detail">69호</span><div class="time-display">22:16</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">231호</span><div class="time-display">06:32</div><div class="arrival-info">08:08 도착</div></td><td><span class="train-detail">253호</span><div class="time-display">23:05</div><div class="arrival-info">00: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-ktx">KTX</span></td><td><span class="train-detail">401호</span><div class="time-display">5:55</div><div class="arrival-info">7:41 도착</div></td><td><span class="train-detail">435호</span><div class="time-display">21:25</div><div class="arrival-info">23:09 도착</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">203호</span><div class="time-display">06:32</div><div class="arrival-info">09:16 도착</div></td><td><span class="train-detail">221호</span><div class="time-display">21:32</div><div class="arrival-info">00:16 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong>오송역 KTX 요금표</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>18,500</td><td>22,200</td><td>25,900</td></tr><tr><td>경전K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">오송</td><td>기본</td><td>18,500</td><td>0</td><td>25,900</td></tr><tr><td>동해K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">오송</td><td>기본</td><td>18,500</td><td>0</td><td>25,900</td></tr><tr><td>호남K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">오송</td><td>공주</td><td>18,500</td><td>22,200</td><td>25,900</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">오송</td><td>공주</td><td>18,500</td><td>0</td><td>25,900</td></tr><tr><td>호남K1</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">오송</td><td>공주</td><td>18,200</td><td>21,800</td><td>25,500</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">오송</td><td>공주</td><td>18,200</td><td>0</td><td>25,500</td></tr><tr><td>경부K6</td><td>KTX</td><td class="highlight">수서</td><td class="highlight">오송</td><td>기본</td><td>15,400</td><td>0</td><td>22,300</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">오송</td><td class="highlight">여수엑스포</td><td>공주</td><td>31,200</td><td>0</td><td>43,700</td></tr><tr><td>호남K1</td><td>KTX</td><td class="highlight">오송</td><td class="highlight">목포</td><td>공주</td><td>34,500</td><td>41,400</td><td>48,300</td></tr><tr><td>경부K1</td><td>KTX</td><td class="highlight">오송</td><td class="highlight">부산</td><td>경주</td><td>42,200</td><td>50,600</td><td>59,100</td></tr><tr><td>경부K6</td><td>KTX</td><td class="highlight">오송</td><td class="highlight">부산</td><td>기본</td><td>37,800</td><td>0</td><td>54,800</td></tr><tr><td>동해K1</td><td>KTX</td><td class="highlight">오송</td><td class="highlight">포항</td><td>기본</td><td>35,000</td><td>0</td><td>49,000</td></tr><tr><td>경전K1</td><td>KTX</td><td class="highlight">오송</td><td class="highlight">진주</td><td>기본</td><td>38,000</td><td>0</td><td>53,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">✅ <a href="https://krailroad.co.kr/%ec%98%a4%ec%86%a1%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ea%b2%bd%eb%b6%80%c2%b7%ed%98%b8%eb%82%a8%c2%b7%ec%a0%84%eb%9d%bc%c2%b7%ea%b2%bd%ec%a0%84%c2%b7%eb%8f%99%ed%95%b4%ec%84%a0-%ec%a0%84/">오송역 KTX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ec%98%a4%ec%86%a1%ec%97%ad-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%88%98%ec%84%9c%c2%b7%eb%b6%80%ec%82%b0%c2%b7%eb%aa%a9%ed%8f%ac%c2%b7%ec%97%ac%ec%88%98%c2%b7%ed%8f%ac%ed%95%ad%c2%b7%ec%a7%84%ec%a3%bc/">오송역 SRT 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ec%98%a4%ec%86%a1%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%8c%80%ec%a0%84%c2%b7%ec%a0%9c%ec%b2%9c%c2%b7%ec%98%81%ec%a3%bc%c2%b7%eb%8f%99%eb%8c%80%ea%b5%ac/">오송역 무궁화호 시간표 바로가기</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></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>



<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></tr></thead><tbody><tr><td>116</td><td>KTX</td><td>6:12</td><td>6:25</td><td>6:51</td><td></td><td>7:09</td><td>매일</td></tr><tr><td>118</td><td>KTX</td><td>6:52</td><td>7:05</td><td>7:31</td><td></td><td>7:49</td><td>화수목금토일</td></tr><tr><td>166</td><td>KTX</td><td>6:52</td><td>7:05</td><td>7:31</td><td></td><td>7:49</td><td>월</td></tr><tr><td>4</td><td>KTX</td><td>7:07</td><td></td><td>7:39</td><td></td><td>7:57</td><td>매일</td></tr><tr><td>502</td><td>KTX-산천</td><td>7:24</td><td></td><td>7:57</td><td>8:16</td><td>8:26</td><td>매일</td></tr><tr><td>404</td><td>KTX-산천</td><td>7:24</td><td></td><td>7:57</td><td>8:16</td><td>8:26</td><td>매일</td></tr><tr><td>6</td><td>KTX</td><td>7:27</td><td>7:40</td><td>8:07</td><td></td><td>8:25</td><td>매일</td></tr><tr><td>120</td><td>KTX</td><td>7:46</td><td>7:59</td><td>8:25</td><td></td><td>8:43</td><td>매일</td></tr><tr><td>8</td><td>KTX</td><td>8:08</td><td>8:21</td><td>8:47</td><td></td><td>9:05</td><td>매일</td></tr><tr><td>84</td><td>KTX</td><td>8:23</td><td>8:36</td><td></td><td></td><td>9:16</td><td>금토일</td></tr><tr><td>472</td><td>KTX</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>102</td><td>KTX</td><td>8:39</td><td>8:52</td><td>9:17</td><td></td><td>9:35</td><td>매일</td></tr><tr><td>10</td><td>KTX</td><td>8:52</td><td></td><td>9:25</td><td></td><td>9:43</td><td>매일</td></tr><tr><td>204</td><td>KTX-산천</td><td>9:02</td><td></td><td>9:34</td><td></td><td>9:57</td><td>매일</td></tr><tr><td>234</td><td>KTX-산천</td><td>9:02</td><td></td><td>9:34</td><td></td><td>9:57</td><td>매일</td></tr><tr><td>86</td><td>KTX</td><td>9:42</td><td>9:55</td><td>10:20</td><td></td><td>10:38</td><td>금토일</td></tr><tr><td>104</td><td>KTX</td><td>10:29</td><td></td><td>11:01</td><td></td><td>11:19</td><td>매일</td></tr><tr><td>16</td><td>KTX</td><td>10:33</td><td></td><td>11:06</td><td></td><td>11:28</td><td>매일</td></tr><tr><td>20</td><td>KTX</td><td>10:53</td><td>11:06</td><td>11:31</td><td></td><td>11:49</td><td>매일</td></tr><tr><td>238</td><td>KTX</td><td>11:51</td><td>12:04</td><td>12:30</td><td></td><td>12:48</td><td>매일</td></tr><tr><td>30</td><td>KTX</td><td>13:55</td><td>14:08</td><td>14:33</td><td></td><td>14:51</td><td>매일</td></tr><tr><td>242</td><td>KTX_산천</td><td>14:23</td><td></td><td>14:56</td><td></td><td>15:14</td><td>월화수목</td></tr><tr><td>292</td><td>KTX-산천</td><td>14:23</td><td></td><td>14:56</td><td></td><td>15:14</td><td>금토일</td></tr><tr><td>9292</td><td>KTX_산천</td><td>14:23</td><td></td><td>14:56</td><td></td><td>15:14</td><td>금토일</td></tr><tr><td>418</td><td>KTX</td><td>14:37</td><td></td><td>15:11</td><td>15:31</td><td>15:36</td><td>매일</td></tr><tr><td>34</td><td>KTX</td><td>14:57</td><td>15:10</td><td></td><td></td><td>15:48</td><td>매일</td></tr><tr><td>90</td><td>KTX</td><td>15:10</td><td>15:23</td><td>15:49</td><td></td><td>16:07</td><td>금토</td></tr><tr><td>106</td><td>KTX-산천</td><td>15:45</td><td>15:58</td><td>16:23</td><td></td><td>16:41</td><td>매일</td></tr><tr><td>244</td><td>KTX-산천</td><td>15:45</td><td>15:58</td><td>16:23</td><td></td><td>16:41</td><td>매일</td></tr><tr><td>36</td><td>KTX</td><td>15:54</td><td>16:07</td><td></td><td></td><td>16:50</td><td>매일</td></tr><tr><td>38</td><td>KTX</td><td>16:07</td><td></td><td></td><td></td><td>16:53</td><td>매일</td></tr><tr><td>92</td><td>KTX</td><td>16:54</td><td></td><td>17:26</td><td></td><td>17:44</td><td>금토일</td></tr><tr><td>516</td><td>KTX</td><td>17:11</td><td></td><td>17:45</td><td>18:03</td><td>18:08</td><td>매일</td></tr><tr><td>108</td><td>KTX</td><td>17:49</td><td>18:02</td><td>18:27</td><td></td><td>18:45</td><td>매일</td></tr><tr><td>284</td><td>KTX-산천</td><td>18:08</td><td></td><td>18:40</td><td></td><td>18:58</td><td>금토일</td></tr><tr><td>248</td><td>KTX-산천</td><td>18:08</td><td></td><td>18:40</td><td></td><td>18:58</td><td>매일</td></tr><tr><td>9248</td><td>KTX-산천</td><td>18:08</td><td></td><td>18:40</td><td></td><td>18:58</td><td>월화수목</td></tr><tr><td>46</td><td>KTX</td><td>18:15</td><td></td><td>18:47</td><td></td><td>19:05</td><td>매일</td></tr><tr><td>94</td><td>KTX</td><td>18:22</td><td></td><td>18:56</td><td></td><td>19:14</td><td>매일</td></tr><tr><td>50</td><td>KTX</td><td>18:48</td><td>19:01</td><td>19:26</td><td></td><td>19:44</td><td>매일</td></tr><tr><td>4054</td><td>KTX-산천</td><td>19:26</td><td></td><td>19:59</td><td>20:17</td><td>20:27</td><td>금토일</td></tr><tr><td>482</td><td>KTX-산천</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>19:26</td><td></td><td>19:59</td><td>20:17</td><td>20:27</td><td>금토일</td></tr><tr><td>250</td><td>KTX</td><td>19:37</td><td>19:50</td><td>20:15</td><td></td><td>20:33</td><td>매일</td></tr><tr><td>54</td><td>KTX</td><td>19:55</td><td>20:08</td><td>20:34</td><td></td><td>20:52</td><td>매일</td></tr><tr><td>520</td><td>KTX</td><td>20:23</td><td></td><td>20:57</td><td>21:15</td><td>21:24</td><td>매일</td></tr><tr><td>56</td><td>KTX</td><td>20:33</td><td></td><td>21:06</td><td></td><td>21:24</td><td>매일</td></tr><tr><td>286</td><td>KTX-산천</td><td>20:41</td><td></td><td>21:13</td><td></td><td>21:31</td><td>금토일</td></tr><tr><td>294</td><td>KTX_산천</td><td>20:41</td><td></td><td>21:13</td><td></td><td>21:31</td><td>금토일</td></tr><tr><td>296</td><td>KTX_산천</td><td>20:41</td><td></td><td>21:13</td><td></td><td>21:31</td><td>월화수목</td></tr><tr><td>60</td><td>KTX</td><td>21:04</td><td>21:17</td><td>21:41</td><td></td><td>21:59</td><td>매일</td></tr><tr><td>544</td><td>KTX-산천</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>21:44</td><td></td><td>22:18</td><td>22:36</td><td>22:46</td><td>토일</td></tr><tr><td>434</td><td>KTX-산천</td><td>21:44</td><td></td><td>22:18</td><td>22:36</td><td>22:46</td><td>매일</td></tr><tr><td>220</td><td>KTX_산천</td><td>22:19</td><td></td><td>22:54</td><td></td><td>23:12</td><td>월화수목</td></tr><tr><td>4120</td><td>KTX-산천</td><td>22:19</td><td></td><td>22:54</td><td></td><td>23:12</td><td>금토일</td></tr><tr><td>288</td><td>KTX-산천</td><td>22:42</td><td>22:55</td><td></td><td></td><td>23:33</td><td>금토일</td></tr><tr><td>66</td><td>KTX</td><td>22:53</td><td></td><td>23:27</td><td></td><td>23:49</td><td>매일</td></tr><tr><td>112</td><td>KTX</td><td>22:59</td><td></td><td>23:32</td><td></td><td>23:50</td><td>매일</td></tr><tr><td>70</td><td>KTX</td><td>23:31</td><td></td><td>0:03</td><td></td><td>0:21</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>



<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></tr></thead><tbody><tr><td>402</td><td>KTX</td><td>6:46</td><td>7:00</td><td>7:26</td><td>7:42</td><td>매일</td></tr><tr><td>502</td><td>KTX-산천</td><td>7:24</td><td></td><td>7:57</td><td>8:16</td><td>매일</td></tr><tr><td>404</td><td>KTX-산천</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>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:56</td><td></td><td>9:30</td><td>9:46</td><td>매일</td></tr><tr><td>542</td><td>KTX_산천</td><td>10:03</td><td>10:17</td><td>10:43</td><td>11:05</td><td>매일</td></tr><tr><td>408</td><td>KTX_산천</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>10:23</td><td></td><td></td><td>11:07</td><td>매일</td></tr><tr><td>442</td><td>KTX-산천</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>12:07</td><td></td><td>12:41</td><td>12:57</td><td>금토일</td></tr><tr><td>416</td><td>KTX</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>14:12</td><td>14:26</td><td></td><td>15:03</td><td>매일</td></tr><tr><td>586</td><td>KTX</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>14:37</td><td></td><td>15:11</td><td>15:31</td><td>매일</td></tr><tr><td>582</td><td>KTX</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>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:38</td><td></td><td>16:10</td><td>16:26</td><td>매일</td></tr><tr><td>588</td><td>KTX-산천</td><td>16:33</td><td></td><td>17:06</td><td>17:22</td><td>매일</td></tr><tr><td>516</td><td>KTX</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>17:59</td><td>18:12</td><td></td><td>18:49</td><td>금토일</td></tr><tr><td>4054</td><td>KTX-산천</td><td>19:26</td><td></td><td>19:59</td><td>20:17</td><td>금토일</td></tr><tr><td>482</td><td>KTX-산천</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>19:26</td><td></td><td>19:59</td><td>20:17</td><td>금토일</td></tr><tr><td>484</td><td>KTX</td><td>19:46</td><td>19:59</td><td>20:26</td><td>20:42</td><td>매일</td></tr><tr><td>430</td><td>KTX</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>20:23</td><td></td><td>20:57</td><td>21:15</td><td>매일</td></tr><tr><td>486</td><td>KTX</td><td>20:58</td><td>21:11</td><td>21:37</td><td>21:53</td><td>매일</td></tr><tr><td>544</td><td>KTX-산천</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>21:44</td><td></td><td>22:18</td><td>22:36</td><td>토일</td></tr><tr><td>434</td><td>KTX-산천</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>21:58</td><td>22:12</td><td>22:38</td><td>22:54</td><td>매일</td></tr><tr><td>522</td><td>KTX_산천</td><td>22:35</td><td>22:49</td><td></td><td>23:26</td><td>매일</td></tr><tr><td>438</td><td>KTX_산천</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:59</td><td></td><td></td><td>0:46</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>



<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></tr></thead><tbody><tr><td>75</td><td>KTX-산천</td><td>6:57</td><td>7:14</td><td>7:38</td><td></td><td>8:03</td><td>매일</td></tr><tr><td>7</td><td>KTX</td><td>7:21</td><td>7:40</td><td>8:04</td><td></td><td>8:29</td><td>매일</td></tr><tr><td>9</td><td>KTX</td><td>7:52</td><td>8:09</td><td></td><td></td><td>8:53</td><td>매일</td></tr><tr><td>11</td><td>KTX</td><td>8:14</td><td>8:32</td><td>8:57</td><td></td><td>9:22</td><td>매일</td></tr><tr><td>101</td><td>KTX</td><td>10:27</td><td>10:44</td><td></td><td>11:27</td><td>11:37</td><td>매일</td></tr><tr><td>163</td><td>KTX</td><td>11:07</td><td>11:24</td><td></td><td>12:07</td><td>12:16</td><td>금토일</td></tr><tr><td>23</td><td>KTX</td><td>11:22</td><td>11:39</td><td>12:03</td><td></td><td>12:28</td><td>매일</td></tr><tr><td>31</td><td>KTX_산천</td><td>13:52</td><td>14:09</td><td></td><td></td><td>15:00</td><td>매일</td></tr><tr><td>33</td><td>KTX</td><td>14:12</td><td>14:29</td><td></td><td></td><td>15:13</td><td>매일</td></tr><tr><td>35</td><td>KTX</td><td>14:48</td><td>15:05</td><td></td><td></td><td>15:49</td><td>매일</td></tr><tr><td>87</td><td>KTX</td><td>15:36</td><td>15:53</td><td></td><td></td><td>16:37</td><td>금토일</td></tr><tr><td>41</td><td>KTX</td><td>15:52</td><td>16:10</td><td></td><td></td><td>16:55</td><td>매일</td></tr><tr><td>49</td><td>KTX</td><td>17:46</td><td>18:05</td><td>18:30</td><td></td><td>18:55</td><td>매일</td></tr><tr><td>55</td><td>KTX</td><td>19:00</td><td>19:19</td><td>19:44</td><td></td><td>20:09</td><td>매일</td></tr><tr><td>57</td><td>KTX</td><td>19:18</td><td>19:37</td><td></td><td></td><td>20:21</td><td>매일</td></tr><tr><td>107</td><td>KTX</td><td>19:35</td><td>19:52</td><td>20:16</td><td>20:40</td><td>20:49</td><td>매일</td></tr><tr><td>59</td><td>KTX</td><td>19:52</td><td>20:09</td><td></td><td></td><td>20:52</td><td>매일</td></tr><tr><td>61</td><td>KTX</td><td>20:17</td><td>20:34</td><td>20:59</td><td></td><td>21:24</td><td>매일</td></tr><tr><td>63</td><td>KTX</td><td>20:52</td><td>21:09</td><td></td><td></td><td>21:52</td><td>매일</td></tr><tr><td>69</td><td>KTX</td><td>22:16</td><td>22:35</td><td></td><td></td><td>23:19</td><td>매일</td></tr><tr><td>117</td><td>KTX</td><td>23:52</td><td>0:09</td><td>0:33</td><td>0:57</td><td>1:05</td><td>매일</td></tr><tr><td>119</td><td>KTX</td><td>0:22</td><td>0:37</td><td></td><td></td><td></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>



<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></tr></thead><tbody><tr><td>401</td><td>KTX-산천</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: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>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>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>7:16</td><td>7:33</td><td></td><td></td><td></td><td>7:53</td><td>매일</td></tr><tr><td>473</td><td>KTX</td><td>7:46</td><td></td><td>8:03</td><td></td><td></td><td></td><td>매일</td></tr><tr><td>503</td><td>KTX</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>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>8:25</td><td></td><td></td><td></td><td></td><td>8:55</td><td>금,토,일</td></tr><tr><td>409</td><td>KTX</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>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>10:06</td><td></td><td></td><td></td><td></td><td>10:36</td><td>매일</td></tr><tr><td>507</td><td>KTX-산천</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>10:46</td><td>11:03</td><td></td><td></td><td></td><td>11:23</td><td>금,토,일</td></tr><tr><td>413</td><td>KTX</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>11:45</td><td>12:02</td><td></td><td></td><td></td><td>12:22</td><td>매일</td></tr><tr><td>417</td><td>KTX-산천</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>13:27</td><td>13:44</td><td></td><td></td><td></td><td>14:07</td><td>월-목토일</td></tr><tr><td>513</td><td>KTX</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>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>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>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>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>16:20</td><td>16:37</td><td></td><td></td><td></td><td>16:57</td><td>매일</td></tr><tr><td>429</td><td>KTX-산천</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>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>19:24</td><td></td><td></td><td></td><td></td><td>19:54</td><td>매일</td></tr><tr><td>433</td><td>KTX</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>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>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>21:25</td><td></td><td></td><td></td><td></td><td>21:59</td><td>매일</td></tr><tr><td>439</td><td>KTX</td><td>23:16</td><td></td><td></td><td></td><td></td><td>23:46</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></tr></thead><tbody><tr><td>75</td><td>KTX-산천</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>8:49</td><td>매일</td></tr><tr><td>7</td><td>KTX</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>9:22</td><td>매일</td></tr><tr><td>9</td><td>KTX</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>9:39</td><td>매일</td></tr><tr><td>11</td><td>KTX</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>10:03</td><td>매일</td></tr><tr><td>101</td><td>KTX</td><td>10:27</td><td>10:44</td><td></td><td>11:27</td><td>11:37</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>163</td><td>KTX</td><td>11:07</td><td>11:24</td><td></td><td>12:07</td><td>12:16</td><td></td><td></td><td>12:48</td><td>13:08</td><td>13:19</td><td>13:32</td><td>금토일</td></tr><tr><td>23</td><td>KTX</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>13:14</td><td>매일</td></tr><tr><td>31</td><td>KTX_산천</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>15:47</td><td>매일</td></tr><tr><td>33</td><td>KTX</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>15:59</td><td>매일</td></tr><tr><td>35</td><td>KTX</td><td>14:48</td><td>15:05</td><td></td><td></td><td>15:49</td><td>16:07</td><td></td><td></td><td></td><td></td><td>16:35</td><td>매일</td></tr><tr><td>87</td><td>KTX</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>17:23</td><td>금토일</td></tr><tr><td>41</td><td>KTX</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>17:48</td><td>매일</td></tr><tr><td>49</td><td>KTX</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>19:47</td><td>매일</td></tr><tr><td>55</td><td>KTX</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>20:55</td><td>매일</td></tr><tr><td>57</td><td>KTX</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>21:14</td><td>매일</td></tr><tr><td>107</td><td>KTX</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>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: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>21:38</td><td>매일</td></tr><tr><td>61</td><td>KTX</td><td>20:17</td><td>20:34</td><td>20:59</td><td></td><td>21:24</td><td></td><td>21:49</td><td></td><td></td><td></td><td>22:10</td><td>매일</td></tr><tr><td>63</td><td>KTX</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>22:38</td><td>매일</td></tr><tr><td>69</td><td>KTX</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>0:05</td><td>매일</td></tr><tr><td>117</td><td>KTX</td><td>23:52</td><td>0:09</td><td>0:33</td><td>0:57</td><td>1:05</td><td></td><td></td><td></td><td></td><td></td><td></td><td>매일</td></tr><tr><td>119</td><td>KTX</td><td>0:22</td><td>0:37</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>



<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>203</td><td>KTX-산천</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: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>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>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>4021</td><td>KTX-산천</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>211</td><td>KTX</td><td>13:36</td><td>13:55</td><td></td><td></td><td>14:40</td><td></td><td></td><td>15:28</td><td>15:39</td><td>15:48</td><td>15:53</td><td></td><td>매일</td></tr><tr><td>283</td><td>KTX-산천</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>215</td><td>KTX_산천</td><td>17:05</td><td>17:24</td><td></td><td></td><td>18:11</td><td></td><td>18:44</td><td>19:03</td><td>19:15</td><td></td><td>19:25</td><td></td><td>월화수목</td></tr><tr><td>4115</td><td>KTX-산천</td><td>17:05</td><td>17:24</td><td></td><td></td><td>18:11</td><td></td><td>18:44</td><td>19:03</td><td>19:15</td><td></td><td>19:25</td><td></td><td>금토일</td></tr><tr><td>217</td><td>KTX-산천</td><td>18:20</td><td>18:39</td><td>19:04</td><td></td><td>19:32</td><td></td><td></td><td></td><td></td><td>20:33</td><td>20:38</td><td></td><td>매일</td></tr><tr><td>221</td><td>KTX-산천</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>



<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>231</td><td>KTX-산천</td><td>06:32</td><td>06:49</td><td></td><td>07:33</td><td>08:08</td><td>매일</td></tr><tr><td>235</td><td>KTX_산천</td><td>09:03</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:03</td><td>09:20</td><td></td><td>10:04</td><td>10:39</td><td>금토일</td></tr><tr><td>237</td><td>KTX_산천</td><td>10:10</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:37</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:22</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>13:52</td><td>14:09</td><td></td><td>14:56</td><td>15:32</td><td>매일</td></tr><tr><td>255</td><td>KTX-산천</td><td>15:56</td><td>16:15</td><td></td><td>17:00</td><td>17:35</td><td>매일</td></tr><tr><td>247</td><td>KTX-산천</td><td>17:05</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:20</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:32</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:05</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>



<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>401</td><td>KTX-산천</td><td>5:55</td><td>6:12</td><td></td><td></td><td></td><td>6:32</td><td>6:49</td><td>7:09</td><td></td><td>7:41</td><td>매일</td></tr><tr><td>403</td><td>KTX-산천</td><td>6:40</td><td></td><td></td><td></td><td></td><td>7:11</td><td>7:28</td><td>7:48</td><td>7:58</td><td>8:25</td><td>매일</td></tr><tr><td>471</td><td>KTX-산천</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><td></td><td></td><td></td><td>매일</td></tr><tr><td>405</td><td>KTX</td><td>7:16</td><td>7:33</td><td></td><td></td><td></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>473</td><td>KTX</td><td>7:46</td><td></td><td>8:03</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>매일</td></tr><tr><td>441</td><td>KTX-산천</td><td>8:25</td><td></td><td></td><td></td><td></td><td>8:55</td><td></td><td>9:25</td><td></td><td></td><td>월-목</td></tr><tr><td>451</td><td>KTX</td><td>8:25</td><td></td><td></td><td></td><td></td><td>8:55</td><td></td><td>9:25</td><td></td><td></td><td>금,토,일</td></tr><tr><td>409</td><td>KTX</td><td>9:07</td><td></td><td></td><td></td><td></td><td>9:38</td><td>9:55</td><td>10:15</td><td>10:25</td><td>10:51</td><td>매일</td></tr><tr><td>411</td><td>KTX</td><td>10:06</td><td></td><td></td><td></td><td></td><td>10:36</td><td></td><td>11:05</td><td></td><td></td><td>매일</td></tr><tr><td>413</td><td>KTX</td><td>11:27</td><td></td><td></td><td></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>417</td><td>KTX-산천</td><td>13:27</td><td>13:44</td><td></td><td></td><td></td><td>14:04</td><td>14:21</td><td>14:41</td><td></td><td>15:13</td><td>매일</td></tr><tr><td>4041</td><td>KTX-산천</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>17:26</td><td>17:36</td><td>18:03</td><td>금,토,일</td></tr><tr><td>421</td><td>KTX</td><td>15:40</td><td></td><td></td><td></td><td></td><td>16:11</td><td>16:28</td><td>16:48</td><td></td><td>17:20</td><td>매일</td></tr><tr><td>423</td><td>KTX</td><td>16:20</td><td>16:37</td><td></td><td></td><td></td><td>16:57</td><td>17:15</td><td>17:35</td><td>17:45</td><td>18:11</td><td>매일</td></tr><tr><td>429</td><td>KTX-산천</td><td>18:26</td><td>18:43</td><td></td><td></td><td></td><td>19:03</td><td></td><td>19:34</td><td>19:44</td><td>20:10</td><td>매일</td></tr><tr><td>431</td><td>KTX</td><td>19:24</td><td></td><td></td><td></td><td></td><td>19:54</td><td>20:11</td><td>20:29</td><td></td><td></td><td>매일</td></tr><tr><td>433</td><td>KTX</td><td>20:28</td><td>20:45</td><td></td><td></td><td></td><td>21:05</td><td>21:23</td><td>21:43</td><td>21:53</td><td>22:19</td><td>매일</td></tr><tr><td>435</td><td>KTX-산천</td><td>21:25</td><td></td><td></td><td></td><td></td><td>21:56</td><td>22:13</td><td>22:33</td><td>22:43</td><td>23:09</td><td>매일</td></tr><tr><td>439</td><td>KTX</td><td>23:16</td><td></td><td></td><td></td><td></td><td>23:46</td><td>0:03</td><td>0:21</td><td></td><td></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><th>비고</th></tr></thead><tbody><tr><td>501</td><td>KTX_산천</td><td>5:55</td><td>6:12</td><td></td><td></td><td></td><td>6:35</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:02</td><td>8:19</td><td></td><td></td><td></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>505</td><td>KTX</td><td>9:27</td><td>9:44</td><td></td><td></td><td></td><td>10:04</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>10:46</td><td>11:03</td><td></td><td></td><td></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>10:46</td><td>11:03</td><td></td><td></td><td></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>509</td><td>KTX</td><td>11:45</td><td>12:02</td><td></td><td></td><td></td><td>12:22</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>543</td><td>KTX_산천</td><td>13:27</td><td>13:44</td><td></td><td></td><td></td><td>14:07</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>14:57</td><td>15:14</td><td></td><td></td><td></td><td>15:34</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>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>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>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>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>517</td><td>KTX-산천</td><td>18:26</td><td>18:43</td><td></td><td></td><td></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><tr><td>521</td><td>KTX</td><td>21:01</td><td></td><td></td><td></td><td></td><td>21:32</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>21:25</td><td></td><td></td><td></td><td></td><td>21:59</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></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 = '33010';
            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;">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%97%90%EC%9E%87%EC%8A%A4%ED%83%80+%EC%B6%A9%EC%B2%AD%EB%B6%81%EB%8F%84+%EC%B2%AD%EC%A3%BC%EC%8B%9C+%ED%9D%A5%EB%8D%95%EA%B5%AC+%EC%98%A4%EC%86%A1%EC%9D%8D+%EB%A7%8C%EC%88%98%EB%A6%AC+866+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;">충청북도 청주시 흥덕구 오송읍 만수리 866 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%98%A4%EC%86%A1%EC%97%AD%EC%82%AC%EC%A0%90+%EC%B6%A9%EC%B2%AD%EB%B6%81%EB%8F%84+%EC%B2%AD%EC%A3%BC%EC%8B%9C+%ED%9D%A5%EB%8D%95%EA%B5%AC+%EC%98%A4%EC%86%A1%EC%9D%8D+%EB%B4%89%EC%82%B0%EB%A6%AC+370-31+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;">충청북도 청주시 흥덕구 오송읍 봉산리 370-31 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%8F%9D+%EC%98%A4%EC%86%A1+%EC%B6%A9%EC%B2%AD%EB%B6%81%EB%8F%84+%EC%B2%AD%EC%A3%BC%EC%8B%9C+%ED%9D%A5%EB%8D%95%EA%B5%AC+%EC%98%A4%EC%86%A1%EC%9D%8D+%EB%B4%89%EC%82%B0%EB%A6%AC+1334+1%EC%B8%B5+103%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;">충청북도 청주시 흥덕구 오송읍 봉산리 1334 1층 103호</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%EB%A7%88%EB%8B%88%EC%95%84+%EC%98%A4%EC%86%A1%EB%A0%88%EC%9D%B4%ED%81%AC%EC%A0%90+%EC%B6%A9%EC%B2%AD%EB%B6%81%EB%8F%84+%EC%B2%AD%EC%A3%BC%EC%8B%9C+%ED%9D%A5%EB%8D%95%EA%B5%AC+%EC%98%A4%EC%86%A1%EC%9D%8D+%EC%97%B0%EC%A0%9C%EB%A6%AC+540-1+1%EC%B8%B5+107%ED%98%B8%7E110%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;">충청북도 청주시 흥덕구 오송읍 연제리 540-1 1층 107호~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%8B%AC%EB%B0%A4%EC%A1%B1%EB%B0%9C+%EC%98%A4%EC%86%A1%EC%A0%90+%EC%B6%A9%EC%B2%AD%EB%B6%81%EB%8F%84+%EC%B2%AD%EC%A3%BC%EC%8B%9C+%ED%9D%A5%EB%8D%95%EA%B5%AC+%EC%98%A4%EC%86%A1%EC%9D%8D+%EB%A7%8C%EC%88%98%EB%A6%AC+847+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;">충청북도 청주시 흥덕구 오송읍 만수리 847 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,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;">700원</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> 충청북도 청주시 흥덕구 오송읍 봉산리 370-31<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;">
                            📍 오송역C                        </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,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;">700원</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> 충청북도 청주시 흥덕구 오송읍 봉산리 370-31<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> 충청북도 청주시 흥덕구 오송읍 봉산리 370-31</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/%EC%98%A4%EC%86%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/01/오송역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="오송역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-16953" srcset="https://krailroad.co.kr/wp-content/uploads/2026/01/오송역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/01/오송역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/01/오송역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>여천역 KTX 시간표 용산·익산·전주행 전라선 하행/상행 노선 및 요금 정리</title>
		<link>https://krailroad.co.kr/%ec%97%ac%ec%b2%9c%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%a9%ec%82%b0%c2%b7%ec%9d%b5%ec%82%b0%c2%b7%ec%a0%84%ec%a3%bc%ed%96%89-%ec%a0%84%eb%9d%bc%ec%84%a0-%ed%95%98%ed%96%89-%ec%83%81/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Fri, 16 Jan 2026 23:54:09 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[여천역 KTX 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=16705</guid>

					<description><![CDATA[여천역 KTX는 전라선 철길을 따라 내려오다 보면 여수엑스포역에 닿기 전 만나는 여천역은 도심과 인접해 있으면서도 주변 산세가 아늑하게 감싸고 있어 이동의 편안함을 동시에 느낄 수 있는 곳입니다. 고속열차가 정차하는 거점역으로써 여수 시내권으로 진입하기에 매우 유리한 입지를 갖추고 있으므로, 실제 이용하며 파악한 실무적인 정보들을 위주로 내용을 정리했습니다. 용산이나 익산 등 수도권으로 향하는 상행 노선과 여수 방면으로 ... <a title="여천역 KTX 시간표 용산·익산·전주행 전라선 하행/상행 노선 및 요금 정리" class="read-more button" href="https://krailroad.co.kr/%ec%97%ac%ec%b2%9c%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%a9%ec%82%b0%c2%b7%ec%9d%b5%ec%82%b0%c2%b7%ec%a0%84%ec%a3%bc%ed%96%89-%ec%a0%84%eb%9d%bc%ec%84%a0-%ed%95%98%ed%96%89-%ec%83%81/" 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" data-type="link" data-id="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 자료를 참고하고 수집한 KTX 운행 시간표와 요금 주차장주소를 한눈에 확인하기 좋게 분류했으므로 효율적인 이동 계획을 세우는 분들에게 유용했으면 좋겠습니다.</p>



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



<h2 class="wp-block-heading"><strong>여천역 KTX 이용 안내</strong></h2>



<h3 class="wp-block-heading">여수 시내와 가까운 여천역 KTX</h3>



<p class="wp-block-paragraph">여천역은 여수 시청을 비롯한 주요 상권과 가까워 현지인과 방문객 모두에게 접근성이 뛰어나며, 역사 규모가 아담하여 기차에 오르기까지의 동선이 매우 간결한 것이 특징입니다.<br><br>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">기차 시각까지 자투리 시간이 있다면 역사 안팎의 시설을 활용하여 몸과 마음을 가볍게 정리해 보는 것도 좋습니다.<br><br>1️⃣ <strong>주차장 이용의 편리성:</strong> 여천역 바로 앞에는 넓고 평탄한 주차 시설이 마련되어 있어 자차를 이용해 역을 찾는 분들이 주차 자리를 찾아 헤매는 수고를 덜어줍니다. 주차장에서 역사 입구까지의 거리가 매우 가깝기 때문에 무거운 짐이 있는 날에도 이동의 피로를 크게 줄일 수 있다는 점이 큰 장점입니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>주변 산책로와 가까운 먹거리:</strong> 역사 밖으로 나서면 가볍게 걸을 수 있는 산책로가 조성되어 있어 장시간 열차 탑승 전 몸을 풀기에 적당합니다. 역에서 택시나 버스로 5분 정도만 이동하면 여천의 중심 상권인 학동 일대에 닿게 되며, 그곳에서 전라도 특유의 정갈한 한정식이나 간단한 식사가 가능한 식당들을 쉽게 찾을 수 있어 든든하게 배를 채우기에도 편리합니다.</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="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:13</div><div class="arrival-info">6:25 도착</div></td><td><span class="train-detail">524호</span><div class="time-display">22:01</div><div class="arrival-info">23:11 도착</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">502호</span><div class="time-display">5:13</div><div class="arrival-info">6:45 도착</div></td><td><span class="train-detail">524호</span><div class="time-display">22:01</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-ktx">KTX</span></td><td><span class="train-detail">4054호</span><div class="time-display">16:33</div><div class="arrival-info">19:07 도착</div></td><td><span class="train-detail">584호</span><div class="time-display">19:01</div><div class="arrival-info">21:34 도착</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">502호</span><div class="time-display">5:13</div><div class="arrival-info">8:16 도착</div></td><td><span class="train-detail">524호</span><div class="time-display">22:01</div><div class="arrival-info">0:46 도착</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">502호</span><div class="time-display">5:13</div><div class="arrival-info">8:26 도착</div></td><td><span class="train-detail">546호</span><div class="time-display">19:32</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">501호</span><div class="time-display">8:03</div><div class="arrival-info">8:11 도착</div></td><td><span class="train-detail">523호</span><div class="time-display">0:28</div><div class="arrival-info">0:36 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong>여천역 KTX 요금표</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></tr></thead><tbody><tr><td>전라K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">여천</td><td>공주</td><td>46,600</td><td>65,200</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">여천</td><td>공주</td><td>46,300</td><td>64,800</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">여천</td><td>서대전</td><td>45,200</td><td>63,300</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">서대전</td><td class="highlight">여천</td><td>서대전</td><td>25,500</td><td>35,700</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">익산</td><td class="highlight">여천</td><td>공주</td><td>17,700</td><td>24,800</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">익산</td><td class="highlight">여천</td><td>서대전</td><td>17,700</td><td>24,800</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">전주</td><td class="highlight">여천</td><td>공주</td><td>15,100</td><td>21,100</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">전주</td><td class="highlight">여천</td><td>서대전</td><td>15,100</td><td>21,100</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">여천</td><td class="highlight">여수엑스포</td><td>공주</td><td>8,400</td><td>13,200</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">여천</td><td class="highlight">여수엑스포</td><td>서대전</td><td>8,400</td><td>13,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">✅ <a href="https://krailroad.co.kr/%ec%97%ac%ec%b2%9c%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%a9%ec%82%b0%c2%b7%ec%9d%b5%ec%82%b0%c2%b7%ec%a0%84%ec%a3%bc%ed%96%89-%ec%a0%84%eb%9d%bc%ec%84%a0-%ed%95%98%ed%96%89-%ec%83%81/" data-type="link" data-id="https://krailroad.co.kr/%ec%97%ac%ec%b2%9c%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%a9%ec%82%b0%c2%b7%ec%9d%b5%ec%82%b0%c2%b7%ec%a0%84%ec%a3%bc%ed%96%89-%ec%a0%84%eb%9d%bc%ec%84%a0-%ed%95%98%ed%96%89-%ec%83%81/">여천역 KTX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ec%97%ac%ec%b2%9c%ec%97%ad-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%88%98%ec%84%9c%ec%97%ad%ea%b0%95%eb%82%a8%ed%96%89-%ec%a0%84%eb%9d%bc%ec%84%a0-%ec%83%81%ed%96%89%c2%b7%ed%95%98%ed%96%89-%eb%85%b8/" data-type="link" data-id="https://krailroad.co.kr/%ec%97%ac%ec%b2%9c%ec%97%ad-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%88%98%ec%84%9c%ec%97%ad%ea%b0%95%eb%82%a8%ed%96%89-%ec%a0%84%eb%9d%bc%ec%84%a0-%ec%83%81%ed%96%89%c2%b7%ed%95%98%ed%96%89-%eb%85%b8/">여천역 SRT 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ec%97%ac%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%9d%b5%ec%82%b0%c2%b7%ec%a0%84%ec%a3%bc%c2%b7%ec%9a%a9%ec%82%b0%ed%96%89-%ec%a0%84/" data-type="link" data-id="https://krailroad.co.kr/%ec%97%ac%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%9d%b5%ec%82%b0%c2%b7%ec%a0%84%ec%a3%bc%c2%b7%ec%9a%a9%ec%82%b0%ed%96%89-%ec%a0%84/">여천역 ITX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ec%97%ac%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%a0%84%eb%9d%bc%ec%84%a0-%ec%a0%84%ec%b2%b4-%ec%a0%95%ec%b0%a8%ec%97%ad-%eb%b0%8f-%ea%b5%ac%ea%b0%84/" data-type="link" data-id="https://krailroad.co.kr/%ec%97%ac%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%a0%84%eb%9d%bc%ec%84%a0-%ec%a0%84%ec%b2%b4-%ec%a0%95%ec%b0%a8%ec%97%ad-%eb%b0%8f-%ea%b5%ac%ea%b0%84/">여천역 무궁화호 시간표 바로가기</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></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><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: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>8:43</td><td>매일</td></tr><tr><td>504</td><td>KTX</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>9:48</td><td>매일</td></tr><tr><td>542</td><td>KTX_산천</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>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><td>11:27</td><td>매일</td></tr><tr><td>506</td><td>KTX-산천</td><td>8:49</td><td>9:02</td><td>9:17</td><td></td><td>9:36</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><td></td><td>매일</td></tr><tr><td>508</td><td>KTX_산천</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><td>매일</td></tr><tr><td>510</td><td>KTX</td><td>12:04</td><td>12:18</td><td></td><td>12:42</td><td>12:52</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><td></td><td>매일</td></tr><tr><td>514</td><td>KTX_산천</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><td>매일</td></tr><tr><td>516</td><td>KTX</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><td>매일</td></tr><tr><td>4052</td><td>KTX_산천</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>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><td>19:05</td><td>금토일</td></tr><tr><td>4054</td><td>KTX-산천</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>20:44</td><td>금토일</td></tr><tr><td>518</td><td>KTX-산천</td><td>16:42</td><td>16:56</td><td></td><td>17:20</td><td>17:30</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><td></td><td>매일</td></tr><tr><td>520</td><td>KTX</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>21:41</td><td>매일</td></tr><tr><td>584</td><td>KTX_산천</td><td>19:01</td><td>19:15</td><td></td><td>19:39</td><td>19:49</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><td></td><td>매일</td></tr><tr><td>544</td><td>KTX-산천</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>23:03</td><td>월화수목</td></tr><tr><td>546</td><td>KTX_산천</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>23:03</td><td>토일</td></tr><tr><td>522</td><td>KTX_산천</td><td>20:30</td><td>20:44</td><td>20:59</td><td></td><td>21:17</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><td></td><td>매일</td></tr><tr><td>524</td><td>KTX-산천</td><td>22:01</td><td>22:15</td><td></td><td></td><td>22:45</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><td>1:07</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>501</td><td>KTX_산천</td><td>8:03</td><td>8:11</td><td>매일</td></tr><tr><td>503</td><td>KTX</td><td>10:11</td><td>10:19</td><td>매일</td></tr><tr><td>4051</td><td>KTX_산천</td><td>10:39</td><td>10:47</td><td>금토일</td></tr><tr><td>581</td><td>KTX</td><td>11:15</td><td>11:23</td><td>매일</td></tr><tr><td>505</td><td>KTX</td><td>11:38</td><td>11:47</td><td>매일</td></tr><tr><td>507</td><td>KTX_산천</td><td>12:54</td><td>13:02</td><td>매일</td></tr><tr><td>9507</td><td>KTX-산천</td><td>12:54</td><td>13:02</td><td>금토일</td></tr><tr><td>509</td><td>KTX</td><td>13:51</td><td>13:59</td><td>매일</td></tr><tr><td>543</td><td>KTX_산천</td><td>15:40</td><td>15:48</td><td>월화수목토일</td></tr><tr><td>513</td><td>KTX</td><td>17:03</td><td>17:12</td><td>매일</td></tr><tr><td>583</td><td>KTX-산천</td><td>18:20</td><td>18:28</td><td>월화수목</td></tr><tr><td>593</td><td>KTX_산천</td><td>18:22</td><td>18:30</td><td>금토일</td></tr><tr><td>515</td><td>KTX_산천</td><td>19:45</td><td>19:54</td><td>매일</td></tr><tr><td>517</td><td>KTX-산천</td><td>20:35</td><td>20:44</td><td>매일</td></tr><tr><td>519</td><td>KTX-산천</td><td>21:44</td><td>21:52</td><td>매일</td></tr><tr><td>521</td><td>KTX</td><td>23:03</td><td>23:12</td><td>매일</td></tr><tr><td>541</td><td>KTX-산천</td><td>23:27</td><td>23:36</td><td>매일</td></tr><tr><td>523</td><td>KTX_산천</td><td>0:28</td><td>0:36</td><td>매일</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 = '36020';
            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;">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%9D%BC%ED%99%8D%EB%B0%A9%EB%A7%88%EB%9D%BC%ED%83%95+%ED%95%99%EB%8F%99%EC%A0%90+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%97%AC%EC%88%98%EC%8B%9C+%ED%95%99%EB%8F%99+85-26+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;">전라남도 여수시 학동 85-26 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%A5%EB%8F%84%EB%82%A0%EB%93%9C+%EC%97%AC%EC%88%98%ED%95%99%EB%8F%99DT%EC%A0%90+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%97%AC%EC%88%98%EC%8B%9C+%ED%95%99%EB%8F%99+82-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;">맥도날드 여수학동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;">전라남도 여수시 학동 82-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/%EA%BE%B8%EC%84%9D%EC%A7%80%EB%8F%8C%ED%8C%90%ED%95%9C%EC%9A%B0+%EC%97%AC%EC%88%98%ED%95%99%EB%8F%99%EC%A0%90+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%97%AC%EC%88%98%EC%8B%9C+%ED%95%99%EB%8F%99+94-8+1%EC%B8%B5+%EA%BE%B8%EC%84%9D%EC%A7%80%EB%8F%8C%ED%8C%90%ED%95%9C%EC%9A%B0+%EC%97%AC%EC%88%98%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;">전라남도 여수시 학동 94-8 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+%EC%97%AC%EC%88%98%EC%97%AC%EC%B2%9C%EC%A0%90+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%97%AC%EC%88%98%EC%8B%9C+%ED%95%99%EB%8F%99+84-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;">전라남도 여수시 학동 84-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/%EB%AA%A8%ED%86%A0%EC%9D%B4%EC%8B%9C+%EC%97%AC%EC%88%98%EC%A0%90+%EC%A0%84%EB%9D%BC%EB%82%A8%EB%8F%84+%EC%97%AC%EC%88%98%EC%8B%9C+%ED%95%99%EB%8F%99+94-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;">전라남도 여수시 학동 94-2 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;">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;">6,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> 전라남도 여수시 여천동 903-19<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;">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;">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;">6,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> 전라남도 여수시 여천동 903-19<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> 전라남도 여수시 여천동 903-19</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%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/01/여천역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="여천역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-16762" srcset="https://krailroad.co.kr/wp-content/uploads/2026/01/여천역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/01/여천역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/01/여천역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>여수역 KTX 시간표 순천·전주·용산행 전라선 하행/상행 노선 요금</title>
		<link>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/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Fri, 16 Jan 2026 01:13:32 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[여수역 KTX 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=16465</guid>

					<description><![CDATA[여수역 KTX 역사 근처에서 기차를 기다리다 보면 눈앞에 펼쳐지는 푸른 바다 내음이 먼저 마음을 설레게 하며, 전라선의 끝자락이자 남도 여행의 정점인 여수에 도착했다는 사실을 온몸으로 실감하게 됩니다. 이곳의 공식 명칭은 여수엑스포역이지만 여전히 많은 분이 정겨운 이름인 여수역으로 부르시는데, 선로가 끝나는 지점에 역사가 위치한 독특한 구조 덕분에 기차에서 내리자마자 바다와 맞닿은 엑스포 단지로 곧장 연결되는 특별한 ... <a title="여수역 KTX 시간표 순천·전주·용산행 전라선 하행/상행 노선 요금" class="read-more button" 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/" 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" data-type="link" data-id="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 사이트 참고). 여수역(여수엑스포역)을 지나는 KTX의 운행 시간과 구간별 요금을 한눈에 파악하기 좋게 분류했으므로 즐거운 여행길을 준비하는 분들에게 유용했으면 좋겠습니다.</p>



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



<h2 class="wp-block-heading"><strong>여수역(여수엑스포역) KTX 이용 안내</strong></h2>



<h3 class="wp-block-heading">여수역 KTX 전라선 철길의 종착지</h3>



<p class="wp-block-paragraph">여수역 KTX는 전라선의 대미를 장식하는 역으로써 종착역 특유의 개방적인 구조를 갖추고 있으며, 계단을 오르내릴 필요 없이 평지에서 대합실로 바로 이어지므로 이용객 동선이 짧고 명확하여 여행의 시작과 끝이 무척 산뜻합니다.<br><br>1️⃣ <strong>역사 내 실속 있는 편의 시설:</strong> 여수엑스포역(여수역 KTX) 내부에는 열차 탑승 전 급한 업무를 보거나 휴식을 취할 수 있는 공간이 잘 마련되어 있습니다. 대합실 곳곳에는 스마트폰과 전자기기를 활용할 수 있는 충전 시설이 설치되어 있으며, 갈증을 달래줄 저렴하고 가성비 좋은 커피 전문점과 간단한 식사를 해결할 수 있는 편의점 및 스낵 코너가 있어 여행자의 편의를 세심하게 돕고 있습니다.</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">기차를 타기 전이나 내린 직후에 역 주변을 천천히 거닐다 보면 전라선의 거점인 여수역만이 가진 독특한 입지적 장점을 몸소 느끼게 됩니다.<br><br>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">여수역은 전라선의 종점역이므로 좌석이 매진되었을 때 입석 티켓을 구매하더라도 열차 내 빈 공간을 미리 선점하기가 상대적으로 수월합니다. 역사 규모가 아담하여 승강장까지 이동하는 시간이 매우 단축되므로 짐이 많은 날에도 발걸음이 가벼우며, 정돈된 시설과 친절한 안내는 여수에 발을 내딛는 모든 분에게 기분 좋은 첫인상을 전해줍니다.</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">502호</span><div class="time-display">5:05</div><div class="arrival-info">6:45 도착</div></td><td><span class="train-detail">524호</span><div class="time-display">21:54</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-ktx">KTX</span></td><td><span class="train-detail">582호</span><div class="time-display">12:09</div><div class="arrival-info">14:43 도착</div></td><td><span class="train-detail">584호</span><div class="time-display">18:53</div><div class="arrival-info">21:34 도착</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">502호</span><div class="time-display">5:05</div><div class="arrival-info">8:16 도착</div></td><td><span class="train-detail">524호</span><div class="time-display">21:54</div><div class="arrival-info">0:46 도착</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">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>



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



<h2 class="wp-block-heading"><strong>여수역 KTX 요금표</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></tr></thead><tbody><tr><td>전라K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">여수엑스포</td><td>공주</td><td>47,500</td><td>66,500</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">여수엑스포</td><td>공주</td><td>47,200</td><td>66,100</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">여수엑스포</td><td>서대전</td><td>46,000</td><td>64,400</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">광명</td><td class="highlight">여수엑스포</td><td>공주</td><td>45,300</td><td>63,400</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">광명</td><td class="highlight">여수엑스포</td><td>서대전</td><td>44,300</td><td>62,000</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">공주</td><td class="highlight">여수엑스포</td><td>공주</td><td>25,200</td><td>35,300</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">서대전</td><td class="highlight">여수엑스포</td><td>서대전</td><td>26,400</td><td>37,000</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">익산</td><td class="highlight">여수엑스포</td><td>공주</td><td>18,700</td><td>26,200</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">익산</td><td class="highlight">여수엑스포</td><td>서대전</td><td>18,700</td><td>26,200</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">전주</td><td class="highlight">여수엑스포</td><td>공주</td><td>16,100</td><td>22,500</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">전주</td><td class="highlight">여수엑스포</td><td>서대전</td><td>16,100</td><td>22,500</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">순천</td><td class="highlight">여수엑스포</td><td>공주</td><td>8,400</td><td>13,200</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">순천</td><td class="highlight">여수엑스포</td><td>서대전</td><td>8,400</td><td>13,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">✅ <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/" data-type="link" data-id="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><br>✅ <a href="https://krailroad.co.kr/%ec%97%ac%ec%88%98%ec%97%ad-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%88%98%ec%84%9c%ec%97%ad%ea%b0%95%eb%82%a8-%ec%a7%81%ed%96%89-%eb%85%b8%ec%84%a0-%ec%9a%94%ea%b8%88-%eb%b0%8f-%ec%a0%84%eb%9d%bc/" data-type="link" data-id="https://krailroad.co.kr/%ec%97%ac%ec%88%98%ec%97%ad-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%88%98%ec%84%9c%ec%97%ad%ea%b0%95%eb%82%a8-%ec%a7%81%ed%96%89-%eb%85%b8%ec%84%a0-%ec%9a%94%ea%b8%88-%eb%b0%8f-%ec%a0%84%eb%9d%bc/">여수역 SRT 시간표 바로가기</a><br>✅ <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/" data-type="link" data-id="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><br>✅ <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/" data-type="link" data-id="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="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></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><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>8:43</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>9:48</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>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><td>11:27</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>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><td></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><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>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><td></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>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><td></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>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><td>16:27</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><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><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>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><td>19:05</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>20:44</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>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><td></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>21:41</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>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><td></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>23:03</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>23:03</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>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><td></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>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><td>1:07</td><td>매일</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 = '36020';
            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;">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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/01/여수역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="여수역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-16559" srcset="https://krailroad.co.kr/wp-content/uploads/2026/01/여수역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/01/여수역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/01/여수역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-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%b3%b5%ec%a3%bc%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%a9%ec%82%b0%c2%b7%eb%aa%a9%ed%8f%ac%c2%b7%ec%97%ac%ec%88%98%ed%96%89-%ed%98%b8%eb%82%a8-%ec%a0%84%eb%9d%bc%ec%84%a0-%ed%95%98/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Thu, 15 Jan 2026 00:53:48 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[공주역 KTX 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=16420</guid>

					<description><![CDATA[공주역 KTX 승강장 근처에서 기차를 기다리다 보면 도심의 거대 역사에서 느끼던 소음 대신 나지막한 산세와 한적한 공기가 먼저 마음을 차분하게 만들어주며, 백제의 고도인 공주로 향하는 여행의 설렘이 고요하게 시작되는 것을 느끼게 됩니다. 호남고속선 전용역으로 세워진 이곳은 불필요한 번잡함 없이 오직 고속열차만이 매끄럽게 미끄러져 들어오는 현대적인 감각과 정적인 분위기가 묘하게 공존하는 장소입니다. 수도권으로 연결되는 노선과 남도 ... <a title="공주역 KTX 시간표 용산·목포·여수행 호남/전라선 하행·상행 노선 정리" class="read-more button" href="https://krailroad.co.kr/%ea%b3%b5%ec%a3%bc%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%a9%ec%82%b0%c2%b7%eb%aa%a9%ed%8f%ac%c2%b7%ec%97%ac%ec%88%98%ed%96%89-%ed%98%b8%eb%82%a8-%ec%a0%84%eb%9d%bc%ec%84%a0-%ed%95%98/" aria-label="공주역 KTX 시간표 용산·목포·여수행 호남/전라선 하행·상행 노선 정리 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">공주역 KTX 승강장 근처에서 기차를 기다리다 보면 도심의 거대 역사에서 느끼던 소음 대신 나지막한 산세와 한적한 공기가 먼저 마음을 차분하게 만들어주며, 백제의 고도인 공주로 향하는 여행의 설렘이 고요하게 시작되는 것을 느끼게 됩니다. 호남고속선 전용역으로 세워진 이곳은 불필요한 번잡함 없이 오직 고속열차만이 매끄럽게 미끄러져 들어오는 현대적인 감각과 정적인 분위기가 묘하게 공존하는 장소입니다.</p>



<p class="wp-block-paragraph">수도권으로 연결되는 노선과 남도 끝자락까지 이어지는 구간의 고속열차 운행 현황을 살펴보았으며, 공주역은 일반 열차인 ITX나 무궁화호가 서지 않는 고속철도 전용 거점인 만큼, 이번 글에서는 우선 KTX 열차의 시간표(<a href="https://www.korail.com/ticket/main" data-type="link" data-id="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식자료 인용)와 운임 정보를 한눈에 파악하기 좋게 분류했으니 새로운 길을 준비하는 분들에게 유용했으면 좋겠습니다. <strong>(※ <a href="https://krailroad.co.kr/%ea%b3%b5%ec%a3%bc%ec%97%ad-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%88%98%ec%84%9c%c2%b7%ea%b4%91%ec%a3%bc%ec%86%a1%ec%a0%95%c2%b7%eb%aa%a9%ed%8f%ac%ed%96%89-%ed%95%98%ed%96%89-%ec%83%81%ed%96%89/" data-type="link" data-id="https://krailroad.co.kr/%ea%b3%b5%ec%a3%bc%ec%97%ad-srt-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%88%98%ec%84%9c%c2%b7%ea%b4%91%ec%a3%bc%ec%86%a1%ec%a0%95%c2%b7%eb%aa%a9%ed%8f%ac%ed%96%89-%ed%95%98%ed%96%89-%ec%83%81%ed%96%89/">SRT 관련 상세 정보는 이어지는 다음 글에서 별도로 꼼꼼하게 다룰 예정이니 참고해 주세요</a>.)</strong></p>



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



<h2 class="wp-block-heading"><strong>공주역 KTX 이용 안내</strong></h2>



<h3 class="wp-block-heading">공주역 KTX 고속철도 전용역</h3>



<p class="wp-block-paragraph">공주역은 호남선과 전라선 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">공주역 KTX 역사만의 매력</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"></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="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">7:05</div><div class="arrival-info">8:16 도착</div></td><td><span class="train-detail">544호</span><div class="time-display">21:26</div><div class="arrival-info">22:36 도착</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">404호</span><div class="time-display">7:05</div><div class="arrival-info">8:26 도착</div></td><td><span class="train-detail">544호</span><div class="time-display">21:26</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">401호</span><div class="time-display">6:12</div><div class="arrival-info">6:32 도착</div></td><td><span class="train-detail">437호</span><div class="time-display">22:18</div><div class="arrival-info">22: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-ktx">KTX</span></td><td><span class="train-detail">401호</span><div class="time-display">6:12</div><div class="arrival-info">7:09 도착</div></td><td><span class="train-detail">437호</span><div class="time-display">22:18</div><div class="arrival-info">23:10 도착</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">401호</span><div class="time-display">6:12</div><div class="arrival-info">7:41 도착</div></td><td><span class="train-detail">437호</span><div class="time-display">22:18</div><div class="arrival-info">23:46 도착</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">501호</span><div class="time-display">6:12</div><div class="arrival-info">6:51 도착</div></td><td><span class="train-detail">519호</span><div class="time-display">19:53</div><div class="arrival-info">20:29 도착</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">501호</span><div class="time-display">6:12</div><div class="arrival-info">8:11 도착</div></td><td><span class="train-detail">519호</span><div class="time-display">19:53</div><div class="arrival-info">21:52 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong>공주역 KTX 요금표</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>25,400</td><td>30,500</td><td>35,600</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">공주</td><td>공주</td><td>25,400</td><td>0</td><td>35,600</td></tr><tr><td>호남K1</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">공주</td><td>공주</td><td>25,100</td><td>30,100</td><td>35,100</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">공주</td><td>공주</td><td>25,100</td><td>0</td><td>35,100</td></tr><tr><td>호남K1</td><td>KTX</td><td class="highlight">공주</td><td class="highlight">익산</td><td>공주</td><td>8,400</td><td>11,400</td><td>13,200</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">공주</td><td class="highlight">익산</td><td>공주</td><td>8,400</td><td>0</td><td>13,200</td></tr><tr><td>호남K2</td><td>KTX</td><td class="highlight">공주</td><td class="highlight">익산</td><td>기본</td><td>7,500</td><td>0</td><td>3,400</td></tr><tr><td>호남K1</td><td>KTX</td><td class="highlight">공주</td><td class="highlight">광주송정</td><td>공주</td><td>21,300</td><td>25,600</td><td>29,800</td></tr><tr><td>호남K2</td><td>KTX</td><td class="highlight">공주</td><td class="highlight">광주송정</td><td>기본</td><td>19,400</td><td>0</td><td>8,700</td></tr><tr><td>호남K1</td><td>KTX</td><td class="highlight">공주</td><td class="highlight">목포</td><td>공주</td><td>28,200</td><td>33,800</td><td>39,500</td></tr><tr><td>호남K2</td><td>KTX</td><td class="highlight">공주</td><td class="highlight">목포</td><td>기본</td><td>25,500</td><td>0</td><td>11,500</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">공주</td><td class="highlight">전주</td><td>공주</td><td>9,700</td><td>0</td><td>14,500</td></tr><tr><td>전라K1</td><td>KTX</td><td class="highlight">공주</td><td class="highlight">여수엑스포</td><td>공주</td><td>25,200</td><td>0</td><td>35,300</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/%ea%b3%b5%ec%a3%bc%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%a9%ec%82%b0%c2%b7%eb%aa%a9%ed%8f%ac%c2%b7%ec%97%ac%ec%88%98%ed%96%89-%ed%98%b8%eb%82%a8-%ec%a0%84%eb%9d%bc%ec%84%a0-%ed%95%98/" data-type="link" data-id="https://krailroad.co.kr/%ea%b3%b5%ec%a3%bc%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ec%9a%a9%ec%82%b0%c2%b7%eb%aa%a9%ed%8f%ac%c2%b7%ec%97%ac%ec%88%98%ed%96%89-%ed%98%b8%eb%82%a8-%ec%a0%84%eb%9d%bc%ec%84%a0-%ed%95%98/">공주역 KTX 시간표 바로가기</a><br>✅ 공주역 SRT 시간표 바로가기<br>✅ <s>공주역 ITX 노선 없음</s><br>✅ <s>공주역 무궁화호 노선 없음</s></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></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>



<p class="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></tr></thead><tbody><tr><td>404</td><td>KTX-산천</td><td>7:05</td><td>7:24</td><td></td><td>7:57</td><td>8:16</td><td>8:26</td><td>8:43</td><td>매일</td></tr><tr><td>502</td><td>KTX-산천</td><td>7:05</td><td>7:24</td><td></td><td>7:57</td><td>8:16</td><td>8:26</td><td>8:43</td><td>매일</td></tr><tr><td>504</td><td>KTX</td><td>8:02</td><td></td><td>8:28</td><td>8:54</td><td>9:14</td><td>9:26</td><td>9:48</td><td>매일</td></tr><tr><td>406</td><td>KTX</td><td>8:38</td><td>8:56</td><td></td><td>9:30</td><td>9:46</td><td></td><td></td><td>매일</td></tr><tr><td>414</td><td>KTX-산천</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><td>매일</td></tr><tr><td>508</td><td>KTX-산천</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><td>매일</td></tr><tr><td>510</td><td>KTX</td><td>13:54</td><td>14:12</td><td>14:26</td><td></td><td>15:03</td><td></td><td></td><td>매일</td></tr><tr><td>418</td><td>KTX</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><td>매일</td></tr><tr><td>420</td><td>KTX</td><td>15:19</td><td>15:38</td><td></td><td>16:10</td><td>16:26</td><td></td><td></td><td>매일</td></tr><tr><td>422</td><td>KTX-산천</td><td>16:01</td><td></td><td></td><td>16:47</td><td>17:05</td><td>17:10</td><td></td><td>매일</td></tr><tr><td>514</td><td>KTX-산천</td><td>16:01</td><td></td><td></td><td>16:47</td><td>17:05</td><td>17:10</td><td></td><td>매일</td></tr><tr><td>516</td><td>KTX</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><td>매일</td></tr><tr><td>424</td><td>KTX-산천</td><td>17:31</td><td></td><td>17:57</td><td></td><td>18:43</td><td></td><td>19:05</td><td>매일</td></tr><tr><td>4052</td><td>KTX-산천</td><td>17:31</td><td></td><td>17:57</td><td></td><td>18:43</td><td></td><td>19:05</td><td>금,토,일</td></tr><tr><td>520</td><td>KTX</td><td>20:04</td><td>20:23</td><td></td><td>20:57</td><td>21:15</td><td>21:24</td><td>21:41</td><td>매일</td></tr><tr><td>434</td><td>KTX-산천</td><td>21:26</td><td>21:44</td><td></td><td>22:18</td><td>22:36</td><td>22:46</td><td>23:03</td><td>매일</td></tr><tr><td>544</td><td>KTX-산천</td><td>21:26</td><td>21:44</td><td></td><td>22:18</td><td>22:36</td><td>22:46</td><td>23:03</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>



<p class="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></tr></thead><tbody><tr><td>401</td><td>KTX-산천</td><td>6:12</td><td>6:32</td><td>매일</td></tr><tr><td>501</td><td>KTX-산천</td><td>6:12</td><td>6:35</td><td>매일</td></tr><tr><td>405</td><td>KTX</td><td>7:33</td><td>7:53</td><td>매일</td></tr><tr><td>503</td><td>KTX</td><td>8:19</td><td>8:39</td><td>매일</td></tr><tr><td>407</td><td>KTX-산천</td><td>8:47</td><td>9:07</td><td>매일</td></tr><tr><td>4051</td><td>KTX-산천</td><td>8:47</td><td>9:10</td><td>금,토,일</td></tr><tr><td>505</td><td>KTX</td><td>9:44</td><td>10:04</td><td>매일</td></tr><tr><td>507</td><td>KTX-산천</td><td>11:03</td><td>11:23</td><td>매일</td></tr><tr><td>9507</td><td>KTX-산천</td><td>11:03</td><td>11:23</td><td>금,토,일</td></tr><tr><td>509</td><td>KTX</td><td>12:02</td><td>12:22</td><td>매일</td></tr><tr><td>415</td><td>KTX-산천</td><td>13:23</td><td>13:43</td><td>매일</td></tr><tr><td>511</td><td>KTX-산천</td><td>13:23</td><td>13:46</td><td>매일</td></tr><tr><td>417</td><td>KTX-산천</td><td>13:44</td><td>14:04</td><td>매일</td></tr><tr><td>543</td><td>KTX-산천</td><td>13:44</td><td>14:07</td><td>월-목토일</td></tr><tr><td>513</td><td>KTX</td><td>15:14</td><td>15:34</td><td>매일</td></tr><tr><td>423</td><td>KTX</td><td>16:37</td><td>16:57</td><td>매일</td></tr><tr><td>427</td><td>KTX-산천</td><td>17:48</td><td>18:07</td><td>매일</td></tr><tr><td>515</td><td>KTX-산천</td><td>17:48</td><td>18:11</td><td>매일</td></tr><tr><td>429</td><td>KTX-산천</td><td>18:43</td><td>19:03</td><td>매일</td></tr><tr><td>517</td><td>KTX-산천</td><td>18:43</td><td>19:06</td><td>매일</td></tr><tr><td>519</td><td>KTX-산천</td><td>19:53</td><td>20:12</td><td>매일</td></tr><tr><td>433</td><td>KTX</td><td>20:45</td><td>21:05</td><td>매일</td></tr><tr><td>437</td><td>KTX</td><td>22:18</td><td>22:38</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>401</td><td>KTX-산천</td><td>6:12</td><td>6:32</td><td>6:49</td><td>7:09</td><td></td><td>7:41</td><td>매일</td></tr><tr><td>405</td><td>KTX</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>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>415</td><td>KTX-산천</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>417</td><td>KTX-산천</td><td>13:44</td><td>14:04</td><td>14:21</td><td>14:41</td><td></td><td>15:13</td><td>매일</td></tr><tr><td>423</td><td>KTX</td><td>16:37</td><td>16:57</td><td>17:15</td><td>17:35</td><td>17:45</td><td>18:11</td><td>매일</td></tr><tr><td>427</td><td>KTX-산천</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>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>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><tr><td>437</td><td>KTX</td><td>22:18</td><td>22:38</td><td></td><td>23:10</td><td>23:20</td><td>23:46</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></tr></thead><tbody><tr><td>501</td><td>KTX_산천</td><td>6:12</td><td>6:35</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: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>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>505</td><td>KTX</td><td>9:44</td><td>10:04</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: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>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>509</td><td>KTX</td><td>12:02</td><td>12:22</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>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>543</td><td>KTX_산천</td><td>13:44</td><td>14:07</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:14</td><td>15:34</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>515</td><td>KTX_산천</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>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><tr><td>519</td><td>KTX-산천</td><td>19:53</td><td>20:12</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></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;">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%B9%B4%ED%8E%98%EC%97%B0%EC%84%9C+%EC%B6%A9%EC%B2%AD%EB%82%A8%EB%8F%84+%EA%B3%B5%EC%A3%BC%EC%8B%9C+%EC%9D%B4%EC%9D%B8%EB%A9%B4+%EC%8B%A0%EC%98%81%EB%A6%AC+336-8+%EC%B9%B4%ED%8E%98%EC%97%B0%EC%84%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;">충청남도 공주시 이인면 신영리 336-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%85%83%EA%B3%A8+%EC%B6%A9%EC%B2%AD%EB%82%A8%EB%8F%84+%EA%B3%B5%EC%A3%BC%EC%8B%9C+%ED%83%84%EC%B2%9C%EB%A9%B4+%EA%B4%91%EB%AA%85%EB%A6%AC+25-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;">충청남도 공주시 탄천면 광명리 25-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%EB%A7%88%EB%A3%A8%EC%88%9C%EB%8C%80%EB%A7%88%EC%9D%84+%EC%B6%A9%EC%B2%AD%EB%82%A8%EB%8F%84+%EA%B3%B5%EC%A3%BC%EC%8B%9C+%EC%9D%B4%EC%9D%B8%EB%A9%B4+%EB%B3%B5%EB%A3%A1%EB%A6%AC+418-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;">충청남도 공주시 이인면 복룡리 418-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%B9%B4%ED%8E%98%EB%9F%AC%EB%B9%88+%EA%B3%B5%EC%A3%BC%EC%97%AD%EC%A0%90+%EC%B6%A9%EC%B2%AD%EB%82%A8%EB%8F%84+%EA%B3%B5%EC%A3%BC%EC%8B%9C+%EC%9D%B4%EC%9D%B8%EB%A9%B4+%EC%8B%A0%EC%98%81%EB%A6%AC+167-1+%EA%B3%B5%EC%A3%BC%EC%97%AD" 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;">충청남도 공주시 이인면 신영리 167-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/%EA%B3%B5%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/01/공주역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="공주역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-16461" srcset="https://krailroad.co.kr/wp-content/uploads/2026/01/공주역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/01/공주역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/01/공주역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>서대전역 KTX 시간표 용산-목포-여수 호남선 전라선 요금 안내</title>
		<link>https://krailroad.co.kr/%ec%84%9c%eb%8c%80%ec%a0%84%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-%ed%98%b8%eb%82%a8%ec%84%a0-%ec%a0%84%eb%9d%bc%ec%84%a0-%ec%9a%94%ea%b8%88/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Wed, 14 Jan 2026 02:40:15 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[서대전역 KTX 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=16166</guid>

					<description><![CDATA[서대전역 KTX를 탑승하기위해 대합실에 들어서면 대전역의 북적거림과는 다른 차분하고 안락한 분위기가 먼저 느껴지며, 도심 한복판에서도 여유로운 호남선의 정취를 마주하게 됩니다. 1914년부터 백 년 넘게 대전의 남쪽 관문을 지켜온 이곳은 역사 곳곳에 낡은 기찻길의 향수가 묻어 있어, 기차를 타기 전 잠시 머무는 것만으로도 복잡한 머릿속이 한결 맑아지는 기분이 듭니다. 수도권으로 연결되는 상행선과 논산을 거쳐 남도 끝자락인 ... <a title="서대전역 KTX 시간표 용산-목포-여수 호남선 전라선 요금 안내" class="read-more button" href="https://krailroad.co.kr/%ec%84%9c%eb%8c%80%ec%a0%84%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-%ed%98%b8%eb%82%a8%ec%84%a0-%ec%a0%84%eb%9d%bc%ec%84%a0-%ec%9a%94%ea%b8%88/" aria-label="서대전역 KTX 시간표 용산-목포-여수 호남선 전라선 요금 안내 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">서대전역 KTX를 탑승하기위해 대합실에 들어서면 대전역의 북적거림과는 다른 차분하고 안락한 분위기가 먼저 느껴지며, 도심 한복판에서도 여유로운 호남선의 정취를 마주하게 됩니다. 1914년부터 백 년 넘게 대전의 남쪽 관문을 지켜온 이곳은 역사 곳곳에 낡은 기찻길의 향수가 묻어 있어, 기차를 타기 전 잠시 머무는 것만으로도 복잡한 머릿속이 한결 맑아지는 기분이 듭니다.</p>



<p class="wp-block-paragraph">수도권으로 연결되는 상행선과 논산을 거쳐 남도 끝자락인 목포나 여수까지 이어지는 하행선의 전체적인 고속열차 현황을 훑어보았으며, 서대전역을 지나는 KTX의 운행 시간과 구간별 운임을 여기저기서 헤매지 않고 파악하도록 <a href="https://www.korail.com/ticket/main" data-type="link" data-id="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</a> 공식 데이터를 정리했으니 새로운 길을 준비하는 분들에게 참고가 되길 기대합니다.</p>



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



<h2 class="wp-block-heading"><strong>서대전역 KTX 이용 안내</strong></h2>



<h3 class="wp-block-heading">서대전역 KTX 호남선의 갈림길</h3>



<p class="wp-block-paragraph">서대전역은 경부선 위주의 대전역과 달리 호남과 전라 지역을 잇는 독자적인 거점이며, 이용객 동선이 짧고 쾌적하여 기차 여행의 시작을 더욱 산뜻하게 만들어줍니다.</p>



<p class="wp-block-paragraph">1️⃣ <strong>사색하기 좋은 서대전역 KTX 노선:</strong> 서대전역에 멈추는 KTX는 익산에서 갈라져 나와 계룡과 논산을 경유하며, 고속 전용선의 인위적인 속도감 대신 창밖으로 흐르는 소박한 마을 풍경과 들판을 느긋하게 응시하기에 모자람이 없습니다. 목포행 호남선과 여수행 전라선을 행선지에 맞춰 선택할 수 있는 지리적 이점이 있어 본인의 취향대로 여행의 갈래를 정하는 재미가 쏠쏠합니다.</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> 역 광장을 나서면 대전 현지인들이 즐겨 찾는 오류동 음식특화거리가 바로 이어집니다. 화려한 가게보다 오랜 시간 자리를 지켜온 고기 요리나 뜨끈한 국밥을 내어주는 식당들이 많아, 열차에 오르기 전 든든하게 배를 채우며 대전 특유의 넉넉한 인심을 느끼기에 적절합니다.</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">서대전역을 경유하는 KTX는 모든 시간대에 배치된 것이 아니므로, 예매 시 본인이 선택한 열차가 대전역이 아닌 &#8216;서대전역&#8217;에 멈추는지 다시 한번 확인하는 습관이 필요합니다. 역사 규모가 아담하여 승강장까지 이동하는 거리가 짧아 짐이 많아도 큰 부담이 없으며, 한적한 의자에 앉아 바깥 풍경을 보며 기차를 기다리는 시간은 그 자체로 기분 좋은 출발점이 됩니다.</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">474호</span><div class="time-display">7:24</div><div class="arrival-info">8:35 도착</div></td><td><span class="train-detail">584호</span><div class="time-display">21:34</div><div class="arrival-info">22:41 도착</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">472호</span><div class="time-display">8:11</div><div class="arrival-info">9:32 도착</div></td><td><span class="train-detail">4054호</span><div class="time-display">19:07</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-ktx">KTX</span></td><td><span class="train-detail">471호</span><div class="time-display">7:21</div><div class="arrival-info">8:18 도착</div></td><td><span class="train-detail">485호</span><div class="time-display">22:16</div><div class="arrival-info">23:13 도착</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">475호</span><div class="time-display">10:52</div><div class="arrival-info">12:52 도착</div></td><td><span class="train-detail">481호</span><div class="time-display">18:11</div><div class="arrival-info">20:10 도착</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">475호</span><div class="time-display">10:52</div><div class="arrival-info">13:31 도착</div></td><td><span class="train-detail">481호</span><div class="time-display">18:11</div><div class="arrival-info">20: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-ktx">KTX</span></td><td><span class="train-detail">581호</span><div class="time-display">8:44</div><div class="arrival-info">9:59 도착</div></td><td><span class="train-detail">593호</span><div class="time-display">15:49</div><div class="arrival-info">17:07 도착</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">581호</span><div class="time-display">8:44</div><div class="arrival-info">11:23 도착</div></td><td><span class="train-detail">593호</span><div class="time-display">15:49</div><div class="arrival-info">18:30 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong>서대전역 KTX 요금표</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></tr></thead><tbody><tr><td>호남K2</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">서대전</td><td>김제,장성</td><td>23,800</td><td>33,300</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">서대전</td><td>서대전</td><td>23,400</td><td>32,800</td></tr><tr><td>호남K2</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">서대전</td><td>김제,장성</td><td>23,400</td><td>32,800</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">서대전</td><td class="highlight">익산</td><td>서대전</td><td>8,500</td><td>13,300</td></tr><tr><td>호남K2</td><td>KTX</td><td class="highlight">서대전</td><td class="highlight">익산</td><td>김제,장성</td><td>8,500</td><td>13,300</td></tr><tr><td>호남K2</td><td>KTX</td><td class="highlight">서대전</td><td class="highlight">광주송정</td><td>김제,장성</td><td>18,700</td><td>26,200</td></tr><tr><td>호남K2</td><td>KTX</td><td class="highlight">서대전</td><td class="highlight">목포</td><td>김제,장성</td><td>25,000</td><td>35,000</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">서대전</td><td class="highlight">전주</td><td>서대전</td><td>11,200</td><td>16,000</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">서대전</td><td class="highlight">순천</td><td>서대전</td><td>23,300</td><td>32,600</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">서대전</td><td class="highlight">여수엑스포</td><td>서대전</td><td>26,400</td><td>37,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">✅ <a href="https://krailroad.co.kr/%ec%84%9c%eb%8c%80%ec%a0%84%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-%ed%98%b8%eb%82%a8%ec%84%a0-%ec%a0%84%eb%9d%bc%ec%84%a0-%ec%9a%94%ea%b8%88/" data-type="link" data-id="https://krailroad.co.kr/%ec%84%9c%eb%8c%80%ec%a0%84%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-%ed%98%b8%eb%82%a8%ec%84%a0-%ec%a0%84%eb%9d%bc%ec%84%a0-%ec%9a%94%ea%b8%88/">서대전역 KTX 시간표 바로가기</a><br>✅ <s>서대전역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%ec%84%9c%eb%8c%80%ec%a0%84%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-%ec%a0%84%eb%9d%bc%ec%84%a0-%ec%9a%94%ea%b8%88/" data-type="link" data-id="https://krailroad.co.kr/%ec%84%9c%eb%8c%80%ec%a0%84%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-%ec%a0%84%eb%9d%bc%ec%84%a0-%ec%9a%94%ea%b8%88/">서대전역 ITX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ec%84%9c%eb%8c%80%ec%a0%84%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%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-%ec%a0%95%ec%b0%a8%ec%97%ad/" data-type="link" data-id="https://krailroad.co.kr/%ec%84%9c%eb%8c%80%ec%a0%84%ec%97%ad-%eb%ac%b4%ea%b6%81%ed%99%94%ed%98%b8-%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-%ec%a0%95%ec%b0%a8%ec%97%ad/">서대전역 무궁화호 시간표 바로가기</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></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>



<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></tr></thead><tbody><tr><td>474</td><td>KTX-산천</td><td>7:24</td><td></td><td>7:49</td><td>8:15</td><td>8:35</td><td></td><td>8:57</td><td>매일</td></tr><tr><td>472</td><td>KTX</td><td>8:11</td><td>8:30</td><td>8:43</td><td>9:09</td><td>9:27</td><td>9:32</td><td></td><td>매일</td></tr><tr><td>476</td><td>KTX-산천</td><td>10:04</td><td>10:23</td><td></td><td></td><td>11:07</td><td></td><td></td><td>매일</td></tr><tr><td>586</td><td>KTX</td><td>14:09</td><td>14:28</td><td></td><td>15:02</td><td>15:18</td><td></td><td></td><td>매일</td></tr><tr><td>582</td><td>KTX</td><td>14:43</td><td>15:02</td><td>15:15</td><td></td><td>15:52</td><td></td><td></td><td>매일</td></tr><tr><td>588</td><td>KTX-산천</td><td>16:14</td><td>16:33</td><td></td><td>17:06</td><td>17:22</td><td></td><td></td><td>매일</td></tr><tr><td>590</td><td>KTX</td><td>17:40</td><td>17:59</td><td>18:12</td><td></td><td>18:49</td><td></td><td></td><td>금,토,일</td></tr><tr><td>482</td><td>KTX-산천</td><td>19:07</td><td>19:26</td><td></td><td>19:59</td><td>20:17</td><td>20:27</td><td>20:44</td><td>월-목</td></tr><tr><td>488</td><td>KTX-산천</td><td>19:07</td><td>19:26</td><td></td><td>19:59</td><td>20:17</td><td>20:27</td><td>20:44</td><td>금,토,일</td></tr><tr><td>4054</td><td>KTX-산천</td><td>19:07</td><td>19:26</td><td></td><td>19:59</td><td>20:17</td><td>20:27</td><td>20:44</td><td>금,토,일</td></tr><tr><td>484</td><td>KTX</td><td>19:27</td><td>19:46</td><td>19:59</td><td>20:26</td><td>20:42</td><td></td><td></td><td>매일</td></tr><tr><td>486</td><td>KTX</td><td>20:39</td><td>20:58</td><td>21:11</td><td>21:37</td><td>21:53</td><td></td><td></td><td>매일</td></tr><tr><td>4044</td><td>KTX-산천</td><td>21:34</td><td></td><td>21:59</td><td>22:25</td><td>22:41</td><td></td><td></td><td>금,토,일</td></tr><tr><td>584</td><td>KTX-산천</td><td>21:34</td><td></td><td>21:59</td><td>22:25</td><td>22:41</td><td></td><td></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>



<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></tr></thead><tbody><tr><td>471</td><td>KTX-산천</td><td>7:21</td><td>7:37</td><td>7:55</td><td>8:18</td><td>매일</td></tr><tr><td>581</td><td>KTX</td><td>8:44</td><td>9:00</td><td>9:18</td><td>9:42</td><td>매일</td></tr><tr><td>475</td><td>KTX-산천</td><td>10:52</td><td>11:07</td><td>11:25</td><td>11:52</td><td>매일</td></tr><tr><td>585</td><td>KTX</td><td>11:11</td><td>11:26</td><td>11:44</td><td>12:09</td><td>매일</td></tr><tr><td>587</td><td>KTX-산천</td><td>13:19</td><td>13:34</td><td>13:51</td><td>14:16</td><td>매일</td></tr><tr><td>589</td><td>KTX</td><td>14:21</td><td>14:36</td><td>14:54</td><td>15:19</td><td>금,토,일</td></tr><tr><td>4041</td><td>KTX-산천</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>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>15:49</td><td>16:05</td><td>16:23</td><td>16:51</td><td>금,토,일</td></tr><tr><td>481</td><td>KTX</td><td>18:11</td><td>18:27</td><td>18:45</td><td>19:10</td><td>매일</td></tr><tr><td>485</td><td>KTX-산천</td><td>22:16</td><td>22:31</td><td>22:49</td><td>23: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><th>광주송정</th><th>나주</th><th>목포</th><th>비고</th></tr></thead><tbody><tr><td>475</td><td>KTX-산천</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>13:03</td><td>13:31</td><td>매일</td></tr><tr><td>4041</td><td>KTX-산천</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>17:36</td><td>18:03</td><td>금,토,일</td></tr><tr><td>481</td><td>KTX</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>20:21</td><td>20:49</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></tr></thead><tbody><tr><td>581</td><td>KTX</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>585</td><td>KTX</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>587</td><td>KTX-산천</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>14:21</td><td>14:36</td><td>14:54</td><td>15:19</td><td>15:35</td><td>금토일</td></tr><tr><td>583</td><td>KTX-산천</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>15:49</td><td>16:05</td><td>16:23</td><td>16:51</td><td>17:07</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></tr></thead><tbody><tr><td>581</td><td>KTX</td><td>8:44</td><td>9:00</td><td>9:18</td><td>9:42</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>583</td><td>KTX-산천</td><td>15:49</td><td>16:05</td><td>16:23</td><td>16:48</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>15:49</td><td>16:05</td><td>16:23</td><td>16:51</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></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 = '25';
            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;">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%8B%A8%EC%A7%80%EB%84%A4%EB%82%99%EC%A7%80%EC%AD%88%EA%BE%B8%EB%AF%B8+%EC%84%9C%EB%8C%80%EC%A0%84%EC%98%A4%EB%A5%98%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%98%A4%EB%A5%98%EB%8F%99+153-13+1%EC%B8%B5+%EB%8B%A8%EC%A7%80%EB%84%A4%EB%82%99%EC%A7%80%EC%AD%88%EA%BE%B8%EB%AF%B8+%EC%84%9C%EB%8C%80%EC%A0%84%EC%98%A4%EB%A5%98%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;">대전광역시 중구 오류동 153-13 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%9E%A8%ED%82%A4%EB%93%9C+%EB%8C%80%EC%A0%84%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%A4%91%EA%B5%AC+%EC%84%A0%ED%99%94%EB%8F%99+398-9+1%EC%B8%B5%2C+%EC%A7%80%ED%95%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;">대전광역시 중구 선화동 398-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%B4%88%EC%9B%94%EC%A7%AC%EB%BD%95+%EB%8C%80%EC%A0%84%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%A4%91%EA%B5%AC+%EC%98%A4%EB%A5%98%EB%8F%99+186-1+%EC%B4%88%EC%9B%94%EC%A7%AC%EB%BD%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;">대전광역시 중구 오류동 186-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%B2%84%EA%B1%B0%ED%82%B9+%EB%8C%80%EC%A0%84%EC%9A%A9%EB%91%90DT%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%9A%A9%EB%91%90%EB%8F%99+29-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;">버거킹 대전용두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;">대전광역시 중구 용두동 29-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/%EC%8B%9C%EB%AF%BC%EC%B9%BC%EA%B5%AD%EC%88%98+%EB%8C%80%EC%A0%84%EA%B4%91%EC%97%AD%EC%8B%9C+%EC%A4%91%EA%B5%AC+%EB%AC%B8%ED%99%94%EB%8F%99+1-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;">대전광역시 중구 문화동 1-166</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,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> 대전광역시 중구 오류동 170-32</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/%EC%84%9C%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/01/서대전역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="서대전역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-16409" srcset="https://krailroad.co.kr/wp-content/uploads/2026/01/서대전역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/01/서대전역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/01/서대전역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-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%b9%80%ec%a0%9c%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%98%b8%eb%82%a8%ec%84%a0-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac%ed%96%89-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%a0%95/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Wed, 14 Jan 2026 01:37:42 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[김제역 KTX 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=16096</guid>

					<description><![CDATA[김제역 KTX 이용은 커다란 유리창 너머로 시선을 던지면 끝없이 이어진 지평선이 한눈에 들어오고, 복잡한 서울이나 대전의 거점역에서 시계만 보며 초조해하던 마음이 어느새 차분하게 가라앉는 것을 느끼게 됩니다. 전북의 기름진 평야를 품은 김제시는 도시 곳곳에 너른 들판의 여유가 스며들어 있어, 이곳에 발을 들이는 것만으로도 일상의 소음에서 벗어나 온전한 휴식을 마주하는 기분이 듭니다. 서울 용산으로 향하는 상행선부터 ... <a title="김제역 KTX 시간표 호남선 노선별 용산-목포행 정차역 정보 확인" class="read-more button" href="https://krailroad.co.kr/%ea%b9%80%ec%a0%9c%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%98%b8%eb%82%a8%ec%84%a0-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac%ed%96%89-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%a0%95/" 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" data-type="link" data-id="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</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">김제역은 호남선의 주요 길목으로, 고속열차 KTX와 일반 열차인 ITX-새마을, 무궁화호가 골고루 머무는 곳이라 본인의 일정에 맞춰 선택하는 재미가 있습니다.</p>



<p class="wp-block-paragraph">1️⃣ <strong>도심 입지가 주는 실질적인 편안함:</strong> 김제역은 시내 중심부와 가깝게 맞닿아 있어 버스나 택시를 활용해 이동하기에 수월합니다. 외곽에 떨어진 역을 찾아가느라 힘을 쏟을 필요 없이 생활권 안에서 곧장 기차에 오를 수 있기에 출발 전까지 근처에서 용무를 보거나 식사를 해결하기 적당했고, 이는 전체적인 이동의 피로도를 낮춰주는 요소가 됩니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>KTX 경유 노선의 특별함:</strong> 모든 호남선 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">1️⃣ <strong>느릿하게 흐르는 들판의 미학:</strong> 기차가 미끄러지듯 나아가면 창밖으로 끝없이 펼쳐진 김제평야의 능선과 정겨운 시골 풍경들이 천천히 뒤로 물러납니다. 빠르게 스쳐 지나가는 찰나의 장면 대신 계절의 변화가 고스란히 담긴 땅의 모습을 오래도록 눈에 담을 수 있다는 점은 김제역 이용객에게 주어지는 소중한 선물과도 같습니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>지역의 삶과 공감하는 이동 방식:</strong> 무궁화호나 ITX 열차를 타면 고속열차가 멈추지 않는 작은 간이역들도 거치기 때문에 각 지역의 소박한 공기를 느끼며 이동할 수 있습니다. 단순히 목적지에 도착하는 것 이상의 가치를 찾거나 일상의 긴장감을 잠시 내려놓고 싶은 분들에게 이 정겨운 이동 방식은 깊이를 한층 더해줍니다.</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"><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">472호</span><div class="time-display">6:58</div><div class="arrival-info">8:11 도착</div></td><td><span class="train-detail">488호</span><div class="time-display">17:47</div><div class="arrival-info">19:07 도착</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">472호</span><div class="time-display">6:58</div><div class="arrival-info">9:27 도착</div></td><td><span class="train-detail">488호</span><div class="time-display">17:47</div><div class="arrival-info">20:17 도착</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">472호</span><div class="time-display">6:58</div><div class="arrival-info">9:32 도착</div></td><td><span class="train-detail">488호</span><div class="time-display">17:47</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-ktx">KTX</span></td><td><span class="train-detail">475호</span><div class="time-display">12:04</div><div class="arrival-info">12:52 도착</div></td><td><span class="train-detail">481호</span><div class="time-display">19:22</div><div class="arrival-info">20:10 도착</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">475호</span><div class="time-display">12:04</div><div class="arrival-info">13:31 도착</div></td><td><span class="train-detail">481호</span><div class="time-display">19:22</div><div class="arrival-info">20:49 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong>김제역 KTX 요금표</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></tr></thead><tbody><tr><td>호남K2</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">김제</td><td>김제,장성</td><td>32,600</td><td>45,600</td></tr><tr><td>호남K2</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">김제</td><td>김제,장성</td><td>32,200</td><td>45,100</td></tr><tr><td>호남K2</td><td>KTX</td><td class="highlight">서대전</td><td class="highlight">김제</td><td>김제,장성</td><td>10,400</td><td>15,200</td></tr><tr><td>호남K2</td><td>KTX</td><td class="highlight">김제</td><td class="highlight">광주송정</td><td>김제,장성</td><td>8,400</td><td>13,200</td></tr><tr><td>호남K2</td><td>KTX</td><td class="highlight">김제</td><td class="highlight">목포</td><td>김제,장성</td><td>15,200</td><td>21,300</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/%ea%b9%80%ec%a0%9c%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%98%b8%eb%82%a8%ec%84%a0-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac%ed%96%89-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%a0%95/" data-type="link" data-id="https://krailroad.co.kr/%ea%b9%80%ec%a0%9c%ec%97%ad-ktx-%ec%8b%9c%ea%b0%84%ed%91%9c-%ed%98%b8%eb%82%a8%ec%84%a0-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac%ed%96%89-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%a0%95/">김제역 KTX 시간표 바로가기</a><br>✅ <s>김제역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%ea%b9%80%ec%a0%9c%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84-itx-%eb%a7%88%ec%9d%8c-%ed%98%b8%eb%82%a8%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%a0%95%ec%b0%a8%ec%97%ad%eb%b3%84-%ec%9a%94/" data-type="link" data-id="https://krailroad.co.kr/%ea%b9%80%ec%a0%9c%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84-itx-%eb%a7%88%ec%9d%8c-%ed%98%b8%eb%82%a8%ec%84%a0-%ec%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%ec%a0%95%ec%b0%a8%ec%97%ad%eb%b3%84-%ec%9a%94/">김제역 ITX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ea%b9%80%ec%a0%9c%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%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%9a%94/" data-type="link" data-id="https://krailroad.co.kr/%ea%b9%80%ec%a0%9c%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%8b%9c%ea%b0%84%ed%91%9c-%eb%b0%8f-%eb%85%b8%ec%84%a0%eb%b3%84-%ec%a0%95%ec%b0%a8%ec%97%ad-%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>김제역 KTX 시간표</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><th>광명</th><th>용산</th><th>서울</th><th>행신</th><th>비고</th></tr></thead><tbody><tr><td>472</td><td>KTX</td><td>6:58</td><td>7:12</td><td>7:36</td><td>7:54</td><td>8:11</td><td>8:30</td><td>8:43</td><td>9:09</td><td>9:27</td><td>9:32</td><td></td><td>매일</td></tr><tr><td>482</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>19:26</td><td></td><td>19:59</td><td>20:17</td><td>20:27</td><td>20:44</td><td>월-목</td></tr><tr><td>488</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>19:26</td><td></td><td>19:59</td><td>20:17</td><td>20:27</td><td>20:44</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>475</td><td>KTX-산천</td><td>12:04</td><td>12:20</td><td>12:38</td><td>12:52</td><td>13:03</td><td>13:31</td><td>매일</td></tr><tr><td>481</td><td>KTX</td><td>19:22</td><td>19:37</td><td>19:56</td><td>20:10</td><td>20:21</td><td>20:49</td><td>매일</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 = '35060';
            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;">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%9A%A9%EC%A7%80%EB%A1%9C%EC%8A%A4+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EA%B9%80%EC%A0%9C%EC%8B%9C+%EC%9A%94%EC%B4%8C%EB%8F%99+119-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;">전북특별자치도 김제시 요촌동 119-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%AD%EC%A0%84%ED%95%A0%EB%A8%B8%EB%8B%88%EB%A7%A5%EC%A3%BC+%EA%B2%80%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+%EA%B9%80%EC%A0%9C%EC%8B%9C+%EC%8B%A0%ED%92%8D%EB%8F%99+642" 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;">전북특별자치도 김제시 신풍동 642</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%98404+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EA%B9%80%EC%A0%9C%EC%8B%9C+%EC%8B%A0%ED%92%8D%EB%8F%99+404-2+%EC%B9%B4%ED%8E%98404" 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;">카페404</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-2 카페404</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%91%90%EB%B6%80%EB%B0%98%EC%9E%A5+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EA%B9%80%EC%A0%9C%EC%8B%9C+%EC%98%A5%EC%82%B0%EB%8F%99+209-1+101%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;">전북특별자치도 김제시 옥산동 209-1 101호</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%B9%B5%EC%A7%91+%EC%A0%84%EB%B6%81%ED%8A%B9%EB%B3%84%EC%9E%90%EC%B9%98%EB%8F%84+%EA%B9%80%EC%A0%9C%EC%8B%9C+%EC%98%A5%EC%82%B0%EB%8F%99+286-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;">전북특별자치도 김제시 옥산동 286-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/%EA%B9%80%EC%A0%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/01/김제역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="김제역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-16144" srcset="https://krailroad.co.kr/wp-content/uploads/2026/01/김제역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/01/김제역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/01/김제역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>논산역 KTX 열차 시간표 용산 목포 여수노선 정차역 요금표</title>
		<link>https://krailroad.co.kr/%eb%85%bc%ec%82%b0%ec%97%ad-ktx-%ec%97%b4%ec%b0%a8-%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-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%9a%94%ea%b8%88/</link>
		
		<dc:creator><![CDATA[운영자]]></dc:creator>
		<pubDate>Tue, 13 Jan 2026 01:52:29 +0000</pubDate>
				<category><![CDATA[KTX 시간표]]></category>
		<category><![CDATA[논산역 KTX 시간표]]></category>
		<guid isPermaLink="false">https://krailroad.co.kr/?p=15996</guid>

					<description><![CDATA[논산역 KTX를 타려고 준비하다 보면 호남의 여러 줄기가 갈라지는 지점이라 행선지를 꼼꼼히 살피는 재미가 있습니다. 단순히 서울로 올라가는 길뿐만 아니라 남도의 깊은 곳인 목포나 여수까지 이어지는 선로가 논산역을 거치기 때문이며, 각기 다른 매력을 가진 남도행 열차들을 골라 타는 즐거움이 쏠쏠합니다. KTX를 이용하다보면 빠르게 움직이는 것보다 창가에 머무는 시선을 소중히 여기는 분들을 위해 실제 탑승하며 느낀 ... <a title="논산역 KTX 열차 시간표 용산 목포 여수노선 정차역 요금표" class="read-more button" href="https://krailroad.co.kr/%eb%85%bc%ec%82%b0%ec%97%ad-ktx-%ec%97%b4%ec%b0%a8-%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-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%9a%94%ea%b8%88/" aria-label="논산역 KTX 열차 시간표 용산 목포 여수노선 정차역 요금표 전체 읽기">자세히 보기</a>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">논산역 KTX를 타려고 준비하다 보면 호남의 여러 줄기가 갈라지는 지점이라 행선지를 꼼꼼히 살피는 재미가 있습니다. 단순히 서울로 올라가는 길뿐만 아니라 남도의 깊은 곳인 목포나 여수까지 이어지는 선로가 논산역을 거치기 때문이며, 각기 다른 매력을 가진 남도행 열차들을 골라 타는 즐거움이 쏠쏠합니다.</p>



<p class="wp-block-paragraph">KTX를 이용하다보면 빠르게 움직이는 것보다 창가에 머무는 시선을 소중히 여기는 분들을 위해 실제 탑승하며 느낀 점들을 정리한 자료들입니다. 서울 용산 방면은 물론이고 익산을 지나 목포로 향하는 호남선 하행, 그리고 전주를 거쳐 여수엑스포역까지 이어지는 전라선 구간까지 모든 운행 정보를 세심하게 살폈습니다. 첫차와 막차 시간, 구간별 운임과 모든 정차역 정보를 여기저기서 찾을 필요 없이 한눈에 확인하도록 <a href="https://www.korail.com/ticket/main" data-type="link" data-id="https://www.korail.com/ticket/main" target="_blank" rel="noopener">코레일</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">논산역 KTX는 호남선과 전라선 열차가 모두 머무는 곳이라 본인의 여행 목적지에 따라 선택의 폭이 넓다는 점이 참 매력적입니다</p>



<p class="wp-block-paragraph">1️⃣ <strong>전라선을 따라 여수로 가는 낭만:</strong> 논산역에서 전라선 KTX를 타고 내려가면 전주와 남원을 지나며 산세가 깊어지는 풍경을 마주하게 됩니다. 특히 여수 방면으로 향할수록 창밖으로 비치는 남해의 푸른 바다는 기차 여행의 정점을 찍어주며, 호남 내륙의 고즈넉함과 바다의 활기를 한 번에 누릴 수 있는 특별한 노선이 됩니다.</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> 역 주변에는 방문객을 위한 주차 공간이 마련되어 있어 차를 가지고 이동하기에도 큰 무리가 없습니다. 시내 도로 상황이 복잡하지 않아 열차 출발 시간에 맞춰 여유 있게 도착하더라도 승강장까지 연결되는 길이 간결하여 금방 열차에 오를 수 있는 점이 좋았습니다.</p>



<p class="wp-block-paragraph">2️⃣ <strong>지역과 소통하는 접근성:</strong> 논산 오거리나 인근 상권에서는 마음만 먹으면 충분히 걸어갈 수 있는 거리이며, 역 앞으로 수시로 드나드는 시내버스를 활용하면 짐이 많아도 걱정이 없습니다. 지역의 활기를 느끼며 천천히 역으로 향하는 과정 자체가 여행의 소소한 시작이 되어주기도 합니다.</p>



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



<h3 class="wp-block-heading">논산역 KTX 이용 시 주의할 점</h3>



<p class="wp-block-paragraph">논산역은 호남선과 전라선의 주요 거점이긴 하지만, 서대전을 경유하는 KTX 계통 위주로 정차가 이루어진다는 점을 기억해야 합니다. 목포나 여수로 향할 때도 오송역에서 바로 직결되는 열차들은 이곳을 통과하므로 예매 단계에서 정차역 리스트를 꼭 훑어보는 습관이 필요합니다. 대형 역사처럼 열차가 쉴 새 없이 들어오지는 않지만, 오히려 그 덕분에 대합실이 한산하고 쾌적하여 탑승 전까지 차분하게 마음을 가다듬을 수 있다는 점은 논산역만의 소중한 장점이라 생각합니다.</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">474호</span><div class="time-display">6:50</div><div class="arrival-info">7:24 도착</div></td><td><span class="train-detail">584호</span><div class="time-display">21:00</div><div class="arrival-info">21:34 도착</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">474호</span><div class="time-display">6:50</div><div class="arrival-info">8:35 도착</div></td><td><span class="train-detail">584호</span><div class="time-display">21:00</div><div class="arrival-info">22:41 도착</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">472호</span><div class="time-display">7:36</div><div class="arrival-info">9:32 도착</div></td><td><span class="train-detail">4054호</span><div class="time-display">18:32</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-ktx">KTX</span></td><td><span class="train-detail">471호</span><div class="time-display">7:55</div><div class="arrival-info">8:18 도착</div></td><td><span class="train-detail">485호</span><div class="time-display">22:49</div><div class="arrival-info">23:13 도착</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">475호</span><div class="time-display">11:25</div><div class="arrival-info">13:31 도착</div></td><td><span class="train-detail">481호</span><div class="time-display">18:45</div><div class="arrival-info">20: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-ktx">KTX</span></td><td><span class="train-detail">581호</span><div class="time-display">9:18</div><div class="arrival-info">9:59 도착</div></td><td><span class="train-detail">593호</span><div class="time-display">16:23</div><div class="arrival-info">17:07 도착</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">581호</span><div class="time-display">9:18</div><div class="arrival-info">11:23 도착</div></td><td><span class="train-detail">593호</span><div class="time-display">16:23</div><div class="arrival-info">18:30 도착</div></td></tr></tbody></table></div>



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



<h2 class="wp-block-heading"><strong>논산역 KTX 요금표</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></tr></thead><tbody><tr><td>호남K2</td><td>KTX</td><td class="highlight">서울</td><td class="highlight">논산</td><td>김제,장성</td><td>28,400</td><td>39,800</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">논산</td><td>서대전</td><td>28,100</td><td>39,300</td></tr><tr><td>호남K2</td><td>KTX</td><td class="highlight">용산</td><td class="highlight">논산</td><td>김제,장성</td><td>28,100</td><td>39,300</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">논산</td><td class="highlight">익산</td><td>서대전</td><td>8,400</td><td>13,200</td></tr><tr><td>호남K2</td><td>KTX</td><td class="highlight">논산</td><td class="highlight">익산</td><td>김제,장성</td><td>8,400</td><td>13,200</td></tr><tr><td>호남K2</td><td>KTX</td><td class="highlight">논산</td><td class="highlight">광주송정</td><td>김제,장성</td><td>14,000</td><td>19,600</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">논산</td><td class="highlight">전주</td><td>서대전</td><td>8,400</td><td>13,200</td></tr><tr><td>호남K2</td><td>KTX</td><td class="highlight">논산</td><td class="highlight">목포</td><td>김제,장성</td><td>20,900</td><td>29,300</td></tr><tr><td>전라K2</td><td>KTX</td><td class="highlight">논산</td><td class="highlight">여수엑스포</td><td>서대전</td><td>22,300</td><td>31,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">✅ <a href="https://krailroad.co.kr/%eb%85%bc%ec%82%b0%ec%97%ad-ktx-%ec%97%b4%ec%b0%a8-%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-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%9a%94%ea%b8%88/" data-type="link" data-id="https://krailroad.co.kr/%eb%85%bc%ec%82%b0%ec%97%ad-ktx-%ec%97%b4%ec%b0%a8-%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-%ec%a0%95%ec%b0%a8%ec%97%ad-%ec%9a%94%ea%b8%88/">논산역 KTX 시간표 바로가기</a><br>✅ <s>논산역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%eb%85%bc%ec%82%b0%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84-%eb%b0%8f-%eb%a7%88%ec%9d%8c-%ec%97%b4%ec%b0%a8-%ec%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac-%ec%97%ac%ec%88%98%ed%96%89-%ec%8b%9c%ea%b0%84/" data-type="link" data-id="https://krailroad.co.kr/%eb%85%bc%ec%82%b0%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84-%eb%b0%8f-%eb%a7%88%ec%9d%8c-%ec%97%b4%ec%b0%a8-%ec%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac-%ec%97%ac%ec%88%98%ed%96%89-%ec%8b%9c%ea%b0%84/">논산역 ITX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%eb%85%bc%ec%82%b0%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%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac-%ec%97%ac%ec%88%98-%eb%b0%a9%eb%a9%b4-%eb%85%b8%ec%84%a0/" data-type="link" data-id="https://krailroad.co.kr/%eb%85%bc%ec%82%b0%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%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac-%ec%97%ac%ec%88%98-%eb%b0%a9%eb%a9%b4-%eb%85%b8%ec%84%a0/">논산역 무궁화호 시간표 바로가기</a><br><br>✅ <a href="https://krailroad.co.kr/%ea%b3%84%eb%a3%a1%ec%97%ad-ktx-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c%ec%99%80-%ec%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac-%ec%97%ac%ec%88%98%ed%96%89-%eb%85%b8%ec%84%a0%eb%8f%84-%ec%9a%94%ea%b8%88/" data-type="link" data-id="https://krailroad.co.kr/%ea%b3%84%eb%a3%a1%ec%97%ad-ktx-%ec%97%b4%ec%b0%a8-%ec%8b%9c%ea%b0%84%ed%91%9c%ec%99%80-%ec%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac-%ec%97%ac%ec%88%98%ed%96%89-%eb%85%b8%ec%84%a0%eb%8f%84-%ec%9a%94%ea%b8%88/">계룡역 KTX 시간표 바로가기</a><br>✅ <s>계룡역 SRT 노선 없음</s><br>✅ <a href="https://krailroad.co.kr/%ea%b3%84%eb%a3%a1%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84-itx-%eb%a7%88%ec%9d%8c-%ec%97%b4%ec%b0%a8-%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%ec%99%80/" data-type="link" data-id="https://krailroad.co.kr/%ea%b3%84%eb%a3%a1%ec%97%ad-itx-%ec%83%88%eb%a7%88%ec%9d%84-itx-%eb%a7%88%ec%9d%8c-%ec%97%b4%ec%b0%a8-%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%ec%99%80/">계룡역 ITX 시간표 바로가기</a><br>✅ <a href="https://krailroad.co.kr/%ea%b3%84%eb%a3%a1%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%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac-%ec%97%ac%ec%88%98-%eb%b0%a9%eb%a9%b4-%ed%98%b8%eb%82%a8%ec%84%a0/" data-type="link" data-id="https://krailroad.co.kr/%ea%b3%84%eb%a3%a1%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%9a%a9%ec%82%b0-%eb%aa%a9%ed%8f%ac-%ec%97%ac%ec%88%98-%eb%b0%a9%eb%a9%b4-%ed%98%b8%eb%82%a8%ec%84%a0/">계룡역 무궁화호 시간표 바로가기</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></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>



<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>474</td><td>KTX-산천</td><td>6:50</td><td>7:08</td><td>7:24</td><td></td><td>7:49</td><td>8:15</td><td>8:35</td><td></td><td>8:57</td><td>매일</td></tr><tr><td>472</td><td>KTX</td><td>7:36</td><td>7:54</td><td>8:11</td><td>8:30</td><td>8:43</td><td>9:09</td><td>9:27</td><td>9:32</td><td></td><td>매일</td></tr><tr><td>476</td><td>KTX-산천</td><td>9:30</td><td>9:48</td><td>10:04</td><td>10:23</td><td></td><td></td><td>11:07</td><td></td><td></td><td>매일</td></tr><tr><td>586</td><td>KTX</td><td>13:35</td><td>13:53</td><td>14:09</td><td>14:28</td><td></td><td>15:02</td><td>15:18</td><td></td><td></td><td>매일</td></tr><tr><td>582</td><td>KTX</td><td>14:09</td><td>14:27</td><td>14:43</td><td>15:02</td><td>15:15</td><td></td><td>15:52</td><td></td><td></td><td>매일</td></tr><tr><td>588</td><td>KTX-산천</td><td>15:39</td><td>15:58</td><td>16:14</td><td>16:33</td><td></td><td>17:06</td><td>17:22</td><td></td><td></td><td>매일</td></tr><tr><td>590</td><td>KTX</td><td>17:06</td><td>17:24</td><td>17:40</td><td>17:59</td><td>18:12</td><td></td><td>18:49</td><td></td><td></td><td>금,토,일</td></tr><tr><td>482</td><td>KTX-산천</td><td>18:32</td><td>18:50</td><td>19:07</td><td>19:26</td><td></td><td>19:59</td><td>20:17</td><td>20:27</td><td>20:44</td><td>월-목</td></tr><tr><td>488</td><td>KTX-산천</td><td>18:32</td><td>18:50</td><td>19:07</td><td>19:26</td><td></td><td>19:59</td><td>20:17</td><td>20:27</td><td>20:44</td><td>금,토,일</td></tr><tr><td>4054</td><td>KTX-산천</td><td>18:32</td><td>18:50</td><td>19:07</td><td>19:26</td><td></td><td>19:59</td><td>20:17</td><td>20:27</td><td>20:44</td><td>금,토,일</td></tr><tr><td>4044</td><td>KTX-산천</td><td>21:00</td><td>21:18</td><td>21:34</td><td></td><td>21:59</td><td>22:25</td><td>22:41</td><td></td><td></td><td>금,토,일</td></tr><tr><td>584</td><td>KTX-산천</td><td>21:00</td><td>21:18</td><td>21:34</td><td></td><td>21:59</td><td>22:25</td><td>22:41</td><td></td><td></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>



<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></tr></thead><tbody><tr><td>471</td><td>KTX-산천</td><td>7:55</td><td>8:18</td><td>매일</td></tr><tr><td>581</td><td>KTX</td><td>9:18</td><td>9:42</td><td>매일</td></tr><tr><td>475</td><td>KTX-산천</td><td>11:25</td><td>11:52</td><td>매일</td></tr><tr><td>585</td><td>KTX</td><td>11:44</td><td>12:09</td><td>매일</td></tr><tr><td>587</td><td>KTX-산천</td><td>13:51</td><td>14:16</td><td>매일</td></tr><tr><td>589</td><td>KTX</td><td>14:54</td><td>15:19</td><td>금,토,일</td></tr><tr><td>4041</td><td>KTX-산천</td><td>16:23</td><td>16:48</td><td>금,토,일</td></tr><tr><td>583</td><td>KTX-산천</td><td>16:23</td><td>16:48</td><td>월-목</td></tr><tr><td>593</td><td>KTX-산천</td><td>16:23</td><td>16:51</td><td>금,토,일</td></tr><tr><td>481</td><td>KTX</td><td>18:45</td><td>19:10</td><td>매일</td></tr><tr><td>485</td><td>KTX-산천</td><td>22:49</td><td>23: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><th>목포</th><th>비고</th></tr></thead><tbody><tr><td>475</td><td>KTX-산천</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>13:03</td><td>13:31</td><td>매일</td></tr><tr><td>4041</td><td>KTX-산천</td><td>16:23</td><td>16:48</td><td></td><td>17:05</td><td></td><td>17:26</td><td>17:36</td><td>18:03</td><td>금,토,일</td></tr><tr><td>481</td><td>KTX</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>20:21</td><td>20:49</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></tr></thead><tbody><tr><td>581</td><td>KTX</td><td>9:18</td><td>9:42</td><td>9:59</td><td>매일</td></tr><tr><td>585</td><td>KTX</td><td>11:44</td><td>12:09</td><td>12:25</td><td>매일</td></tr><tr><td>587</td><td>KTX-산천</td><td>13:51</td><td>14:16</td><td>14:32</td><td>매일</td></tr><tr><td>589</td><td>KTX</td><td>14:54</td><td>15:19</td><td>15:35</td><td>금토일</td></tr><tr><td>583</td><td>KTX-산천</td><td>16:23</td><td>16:48</td><td>17:05</td><td>월화수목</td></tr><tr><td>593</td><td>KTX_산천</td><td>16:23</td><td>16:51</td><td>17:07</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></tr></thead><tbody><tr><td>581</td><td>KTX</td><td>9:18</td><td>9:42</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>583</td><td>KTX-산천</td><td>16:23</td><td>16:48</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>16:23</td><td>16:51</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></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 = '34060';
            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;">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/%ED%83%9C%EB%8A%A5%EC%B4%88%EA%B0%80%EC%A7%91%EA%B0%88%EB%B9%84+%EB%85%BC%EC%82%B0%EB%B3%B8%EC%A0%90+%EC%B6%A9%EC%B2%AD%EB%82%A8%EB%8F%84+%EB%85%BC%EC%82%B0%EC%8B%9C+%EC%B7%A8%EC%95%94%EB%8F%99+1050-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;">충청남도 논산시 취암동 1050-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%B0%B1%EC%86%8C%EC%A0%95+%EB%85%BC%EC%82%B0%EC%A0%90+%EC%B6%A9%EC%B2%AD%EB%82%A8%EB%8F%84+%EB%85%BC%EC%82%B0%EC%8B%9C+%EC%B7%A8%EC%95%94%EB%8F%99+1049-2+105%ED%98%B8%2C+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;일식&gt;일식당</span>
                            </div>
                            <div style="font-size: 0.9rem !important; color: #888 !important;">충청남도 논산시 취암동 1049-2 105호, 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%8A%A4%ED%83%80%EB%B2%85%EC%8A%A4+%EB%85%BC%EC%82%B0%EC%A4%91%EC%95%99%EC%A0%90+%EC%B6%A9%EC%B2%AD%EB%82%A8%EB%8F%84+%EB%85%BC%EC%82%B0%EC%8B%9C+%EC%B7%A8%EC%95%94%EB%8F%99+1061-10" 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;">충청남도 논산시 취암동 1061-10</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%94%EB%A1%9C%EB%B3%B8%EA%B0%88%EB%B9%84+%EC%B6%A9%EC%B2%AD%EB%82%A8%EB%8F%84+%EB%85%BC%EC%82%B0%EC%8B%9C+%EC%B7%A8%EC%95%94%EB%8F%99+1049-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;">충청남도 논산시 취암동 1049-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/%ED%94%84%EB%9E%AD%ED%81%AC%EC%BB%A4%ED%95%80%EB%B0%94+%EB%85%BC%EC%82%B0%EC%A0%90+%EC%B6%A9%EC%B2%AD%EB%82%A8%EB%8F%84+%EB%85%BC%EC%82%B0%EC%8B%9C+%EC%B7%A8%EC%95%94%EB%8F%99+1050-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;">충청남도 논산시 취암동 1050-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 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;">5,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> 충청남도 논산시 반월동 33-17<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> 충청남도 논산시 반월동 33-17</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%85%BC%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="450" height="450" src="https://krailroad.co.kr/wp-content/uploads/2026/01/논산역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg" alt="논산역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표" class="wp-image-16084" srcset="https://krailroad.co.kr/wp-content/uploads/2026/01/논산역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표.jpg 450w, https://krailroad.co.kr/wp-content/uploads/2026/01/논산역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-300x300.jpg 300w, https://krailroad.co.kr/wp-content/uploads/2026/01/논산역-KTX-시간표-정차역-노선도-첫기차-마지막기차-요금표-150x150.jpg 150w" sizes="auto, (max-width: 450px) 100vw, 450px" /></figure>
</div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
