@charset "UTF-8";
/* =========================================
    reset
========================================= */
*{box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
dl,ul,ol,menu,li{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}
table{border-collapse:collapse;border-spacing:0}
body,th,td,input,select,textarea,button{font-family:"Pretendard", -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif}
p, a, h1, h2, h3, h4, h5, h6, tr, span, input, textarea, select, caption, table th, table td{font-family:"Pretendard", -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif}
body,html{--webkit-text-size-adjust:none;font-size:10px}
body{background:#ddd;line-height:1.2;color:#000;word-wrap:break-word;font-weight:400;letter-spacing:-0.5px}
fieldset,img{border:0 none}
img{vertical-align:top}
a{text-decoration:none;cursor:pointer;color:#000;font-weight:400}
a:active,a:hover{text-decoration:none}
input,select,textarea,button{vertical-align:top;cursor:pointer}
button{color:#000;border:0 none;padding:0;background-color:transparent;cursor:pointer}
address,caption,cite,code,dfn,em,var{font-style:normal;font-weight:normal}
legend,caption{visibility:hidden;overflow:hidden;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0}
textarea{resize:none}
input{outline:none}
input[type=text]::-ms-clear{display:none}
input[type='file']{--webkit-appearance:button;background:transparent;border-radius:0;border:0;cursor:pointer}
.hidden{visibility:hidden;overflow:hidden;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0}

/* =========================================
    Site Wrap
========================================= */
#wrap{max-width:750px;min-height:100vh;position:relative;width:100%;height:100%;margin:0 auto;background-color:#F9FAFC}

/* =========================================
    Header
========================================= */
.header{z-index:1000;position:fixed;left:50%;top:0;transform:translateX(-50%);max-width:750px;width:100%;height:72px;background-color:#F9FAFC;transition:transform 0.15s ease-out}
.header.is-hidden{transform:translateX(-50%) translateY(-100%);transition:transform 0.3s ease-in}
.header .header-in{position:relative;max-width:100%;height:100%;padding:0 16px;display:flex;flex-direction:row;justify-content:center;align-items:center}
.header-airport .header-in{padding:0}
.site-logo{position:relative}
.site-logo a{display:flex;align-items:center;justify-content:center}
.site-logo img{height:auto;width:150px;display:block}

/* =========================================
    Main
========================================= */
.section-main{position:relative;width:100%;padding-top:72px}
.section-airport{padding:72px 20px 0;background-color:#F9FAFC}
.section-airport .stop-info{padding:8px 0;text-align:center;margin-bottom:20px}
.section-airport .stop-name{font-size:1.6rem;font-weight:600;line-height:1.3;color:#000;margin-bottom:2px}
.section-airport .stop-name-en{font-size:1.4rem;font-weight:400;color:#888;line-height:1.3}

.arrival-area{padding-bottom:40px}
.arrival-inner{position:relative;width:100%}
.arrival-center{width:fit-content;margin:0 auto}
.arrival-top{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:16px}
.route-dots{display:flex;align-items:center;gap:10px}
.route-dots li{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}
.route-dots li::after{content:'';display:block;width:24px;height:24px;border-radius:50%;transform-origin:center center;animation:routeDotPulse 1.8s ease-in-out infinite alternate}
.route-dots li:nth-child(1)::after{animation-delay:0s}
.route-dots li:nth-child(2)::after{animation-delay:0.2s}
.route-dots li:nth-child(3)::after{animation-delay:0.4s}
.route-dots li:nth-child(4)::after{animation-delay:0.6s}
.route-dots li:nth-child(5)::after{animation-delay:0.8s}
@keyframes routeDotPulse{
  0%,100%{transform:scale(0.62);background-color:#DFEFFF}
  45%,55%{transform:scale(1);background-color:#3182F6}
}
@media (prefers-reduced-motion:reduce){
  .route-dots li::after{animation:none;transform:scale(1);background-color:#3182F6}
  .route-dots li:not(:first-child)::after{transform:scale(0.67);background-color:#C9E4FF}
  .route-dots li:nth-child(3)::after{transform:scale(0.63);background-color:#DFEFFF}
  .route-dots li:nth-child(4)::after,.route-dots li:nth-child(5)::after{transform:scale(0.62);background-color:#EBF5FF}
}
.arrival-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.arrival-actions .btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0}

.arrival-time-wrap{position:relative;width:fit-content;padding-left:11px}
.arrival-time{display:flex;flex-direction:column;width:fit-content;text-align:left}
.arrival-time p{line-height:34px;color:#333;text-align:left;white-space:nowrap}
.arrival-ko{font-size:1.8rem;font-weight:600}
.arrival-ko .time-num{font-size:2.4rem;font-weight:700;color:#3B82F6;margin-right:2px}
.arrival-en,.arrival-cn,.arrival-jp{font-size:1.8rem;font-weight:600}
.arrival-time .time-num{font-size:2.4rem;font-weight:700;color:#3B82F6}

.timetable-menu{position:absolute;left:100%;top:50%;margin-left:16px;flex-shrink:0;width:98px;border:1px solid #E3E3E3;border-radius:8px;background-color:#fff;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,0.12);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(calc(-50% + 8px));transition:opacity 0.5s ease,visibility 0.5s ease,transform 0.5s ease;z-index:10}
.timetable-menu.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(calc(-50% - 2px))}
.timetable-menu a{display:block;padding:11px 8px;font-size:1.4rem;font-weight:400;color:#1A1A1A;text-align:center;border-bottom:1px solid #E8E8E8;line-height:1.2}
.timetable-menu a:last-child{border-bottom:none}

.notice-bar{display:flex;align-items:center;gap:12px;width:100%;padding:8px 16px;margin-bottom:16px;border:0;border-radius:8px;background-color:#F2F4F6;font:inherit;font-weight:400;text-align:left;color:#333;cursor:pointer;appearance:none;-webkit-appearance:none}
.notice-bar:active,.notice-bar:hover{color:#333}
.notice-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:39px;height:22px;text-align:center;background-color:#EF4444;border-radius:8px;font-size:1.3rem;font-weight:400;color:#fff;line-height:1}
.notice-badge_black{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:39px;height:22px;text-align:center;background-color:#000;border-radius:8px;font-size:1.3rem;font-weight:400;color:#fff;line-height:1}
.notice-text{flex:1;min-width:0;font-size:1.4rem;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1A1A1A}
.notice-arrow{flex-shrink:0;font-size:1.4rem;color:#999;line-height:1}


.div_block {display:block;}
.div_hidden {display:none;}
.banner-list{padding-bottom:24px}
.banner-list img {padding-bottom:10px; width:100%}
/*
.banner-card{display:flex;align-items:center;justify-content:space-between;padding:15px 20px 15px 20px;border-radius:8px;text-decoration:none;color:#333;min-height:120px}
.banner-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.banner-label{font-size:1.4rem;font-weight:400;color:#4E5968;line-height:1.3}
.banner-title{font-size:2rem;font-weight:700;line-height:1.3;color:#1A1A1A}
.banner-sub{font-size:1.5rem;font-weight:400;color:#4E5968;line-height:1.3;letter-spacing:-0.5px}
.banner-img{flex-shrink:0;width:90px;height:90px;display:flex;align-items:center;justify-content:center;margin-left:8px}
.banner-img img{width:100%;height:100%;object-fit:contain}
.banner-coupon{background-color:#E7EBF0}
.banner-starfive{background-color:#E8F1FA}
.banner-starfive .banner-title{color:#104DA4}
.banner-boarding{background-color:#E2E8FF}
.banner-boarding .banner-title{color:#362FB5}
.banner-coupon .banner-img{width:99px;height:58px}
*/

.banner-slider-wrap{position:relative;margin-bottom:24px;border-radius:12px;overflow:hidden}
.banner-swiper{height:100%;border-radius:12px;overflow:hidden}
.banner-swiper .swiper-wrapper{height:100%}
.banner-swiper .swiper-slide{height:100%}
.banner-swiper .swiper-slide a{display:block;height:100%}
.banner-swiper .swiper-slide img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.banner-slider-controls{position:absolute;top:10px;left:10px;z-index:2;display:flex;align-items:center;gap:6px;pointer-events:none}
.banner-slider-fraction{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 12px;background-color:rgba(0,0,0,0.45);border-radius:999px;font-size:1.2rem;font-weight:600;line-height:1;color:#fff}
.banner-slider-current{opacity:1}
.banner-slider-total{opacity:0.7}
.btn-banner-autoplay{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background-color:rgba(0,0,0,0.45);border-radius:50%;pointer-events:auto;flex-shrink:0}
.btn-banner-autoplay img{width:8px;height:auto;display:block}
.btn-banner-autoplay .icon-play{display:none}
.btn-banner-autoplay.is-paused .icon-pause{display:none}
.btn-banner-autoplay.is-paused .icon-play{display:block}

/* =========================================
    Footer
========================================= */
.footer{background-color:#F2F4F6;padding:24px 20px 30px}
.footer-in{max-width:100%;position:relative;padding-bottom:0}
.footer-company-name{font-size:1.6rem;font-weight:600;color:#1A1A1A;margin-bottom:8px;line-height: 22px}
.footer-info{font-size:1.4rem;color:#565F73;margin-bottom:4px}
.footer-copyright{font-size:1.2rem;color:#565F73;line-height:1.5}


/* =========================================
    popup
========================================= */
.bg-mask{z-index:9997;position:fixed;left:0;top:0;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.4)}
.popup-box{display:none;overflow:hidden;position:absolute;background:#fff;overflow:hidden;width:94%;border-radius:10px;max-width:700px}
.popup-box.view{z-index:9998;display:block}
.popup-box.pos-bottom{bottom:0 !important;width:100%;height:auto;top:auto !important;max-width:750px}
.popup-box .popup_inner{position:relative;background-color:#fff}
.popup-box .pop-back{position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:50px;height:50px;cursor:pointer;border:0;background:transparent;padding:0}
.popup-box .pop-back img{width:24px;height:24px}
.popup-box .pop-close{position:absolute;right:0;top:0;display:flex;align-items:center;justify-content:center;width:50px;height:50px;cursor:pointer;border:0;background:transparent;padding:0}
.popup-box .pop-close img{width:24px;height:24px}
.popup-box .head{position:relative;display:flex;justify-content:center;align-items:center;height:50px;line-height:50px}
.popup-box .head p{flex:1;text-align:center;font-size:1.6rem;font-weight:600;padding:0 40px}
.popup-box .body{width:100%;text-align:center;padding:20px 0;font-size:1.4rem;line-height:20px}
.popup-box .foot{position:relative}
.popup-box .btn-box{width:100%;display:flex;flex-direction:column;align-items:center}
.popup-box .btn-box .btn{display:inline-block;width:96%;height:52px;line-height:52px;text-align:center;font-size:1.6rem;background-color:#ccc;color:#000;border-radius:0}
.popup-box .btn-box .btn.active{background-color:#00B6F0;color:#fff}
.popup-box.all-popup{position:fixed;width:100%;max-width:750px;height:100vh;height:100dvh;border-radius:0;left:50%;top:0;transform:translateX(-50%)}
.popup-box.all-popup .popup_inner{display:flex;flex-direction:column;height:100%;background-color:#fff}
.popup-box.all-popup .head{flex-shrink:0}
.popup-box.all-popup .body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 16px 24px;text-align:left}
.popup-box.all-popup .foot{flex-shrink:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background-color:#fff}
.popup-box.all-popup .btn-box .btn{width:100%;height:48px;line-height:48px;border-radius:26px;font-size:1.6rem;font-weight:600;background-color:#7EB8E8;color:#fff}
.popup-title {text-align: left; color:#000; padding-bottom:10px; border-bottom: 1px dotted #d1d1d1;margin-bottom:15px;}
.popup-title .div_date { color:#888; font-size:1.2rem; margin-top:10px;}
.popup-title span {padding-left:7px;}
.popup-title span img {width:16px; height:16px; padding-top:2px;}
.more-box {font-size: 1.4rem; text-align: center; margin-bottom:15px;}
.popup-content{width:100%}
.popup-content img{width:100%;display:block}

/* notice */
.notice-box{overflow:hidden;position:absolute;background:#fff;overflow:hidden;width:94%;border-radius:10px;max-width:700px}
.notice-box .popup_inner{position:relative;background-color:#fff}
.notice-box .pop-back{position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:50px;height:50px;cursor:pointer;border:0;background:transparent;padding:0}
.notice-box .pop-back img{width:24px;height:24px}
.notice-box .pop-close{position:absolute;right:0;top:0;display:flex;align-items:center;justify-content:center;width:50px;height:50px;cursor:pointer;border:0;background:transparent;padding:0}
.notice-box .pop-close img{width:24px;height:24px}
.notice-box .head{position:relative;display:flex;justify-content:center;align-items:center;height:50px;line-height:50px}
.notice-box .head p{flex:1;text-align:center;font-size:1.6rem;font-weight:600;padding:0 40px}
.notice-box .body{width:100%;text-align:center;padding:20px 0;font-size:1.4rem;line-height:20px}
.notice-box.all-popup{position:fixed;width:100%;max-width:750px;height:100vh;height:100dvh;border-radius:0;left:50%;top:0;transform:translateX(-50%)}
.notice-box.all-popup .popup_inner{display:flex;flex-direction:column;height:100%;background-color:#fff}
.notice-box.all-popup .head{flex-shrink:0}
.notice-box.all-popup .body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 16px 24px;text-align:left}


/* =========================================
    Splash
========================================= */
.splash-wrap{min-height:100vh;background-color:#F9FAFC}
.splash-area{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:16px}
.splash-content{display:flex;flex-direction:column;align-items:center;width:100%;max-width:240px}
.splash-logo{width:100%;max-width:240px;height:auto;display:block;margin-bottom:30px}
.splash-progress{width:100%;height:2px;background-color:#B6C3A3;border-radius:10px;overflow:hidden}
.splash-progress-bar{width:0;height:100%;background-color:#948CB1;border-radius:10px}
@keyframes splashProgress{from{width:0}to{width:100%}}