@import url("/fonts/pretendard.css");
/* Original theme is retained; these rules style the live board and sharp logo. */
.main-carousel .li .copy_area h1{font-size:62px;font-weight:100;line-height:1.3;letter-spacing:-4px;color:#fff;padding:0 20px;text-align:center}
@media(max-width:720px){.main-carousel .li .copy_area h1{font-size:38px;letter-spacing:-3px;word-break:keep-all}}
#gnb .logo a{display:block;width:170px}#gnb .logo img{display:block;width:170px;height:auto}#gnb .logo{top:27px}
#open-button:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid #2253b8;outline-offset:4px}
.live-board,.live-post{font-size:16px;line-height:1.75;color:#333}.board-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 0 20px}.admin-entry{font-size:13px;border:1px solid #ddd;padding:5px 14px;color:#555}.board-empty{padding:100px 20px;border-top:2px solid #333;border-bottom:1px solid #ddd;text-align:center;color:#777}.board-table{width:100%;border-collapse:collapse;border-top:2px solid #333}.board-table th,.board-table td{padding:18px 12px;border-bottom:1px solid #ddd;text-align:center}.board-table th{font-weight:500;background:#fafafa}.board-table .subject{text-align:left}.board-table .subject a{display:block;color:#333;overflow-wrap:anywhere}.board-table time{font-size:14px;white-space:nowrap;color:#777}.board-table .board-number{width:70px}.board-table .board-views{width:80px}.board-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;list-style:none;padding:0}.board-gallery a{display:block;color:#333}.board-gallery img{width:100%;height:240px;object-fit:cover;display:block}.board-gallery h2{font-size:18px;font-weight:500;line-height:1.6;margin:12px 0 4px;overflow-wrap:anywhere}.board-gallery time{font-size:14px;color:#777}.gallery-placeholder{height:240px;background:#eee;color:#999;display:grid;place-items:center;letter-spacing:3px}.board-pagination{display:flex;justify-content:center;gap:8px;margin:35px 0}.board-pagination a,.board-pagination span{padding:5px 12px;border:1px solid #ddd}.board-pagination span{background:#2253b8;color:white}.board-search{max-width:600px;margin:36px auto 0}.board-search label{display:block;margin-bottom:8px;font-size:14px}.board-search>div{display:flex;gap:8px;align-items:center}.board-search input{flex:1;min-width:0;height:42px;padding:8px 12px;border:1px solid #ccc;font:inherit}.board-search button,.post-actions a{padding:8px 18px;color:white;background:#333;border:0;cursor:pointer;font:inherit}.board-search a{white-space:nowrap;font-size:14px}.live-post>header{border-top:2px solid #333;border-bottom:1px solid #ddd;padding:28px 0 20px}.live-post h1{font-size:30px;line-height:1.5;font-weight:500;overflow-wrap:anywhere}.post-meta{display:flex;gap:22px;margin-top:14px;font-size:14px;color:#777;flex-wrap:wrap}.post-content{padding:30px 0;overflow-wrap:anywhere}.post-content p{margin:0 0 22px}.post-image{margin:0 0 30px;text-align:center}.post-image img{max-width:100%;height:auto}.post-image figcaption{margin-top:8px;color:#666;font-size:14px}.post-files{padding:20px;border:1px solid #ddd}.post-files h2{font-size:18px;margin-bottom:12px}.post-files a{overflow-wrap:anywhere}.post-files span{font-size:13px;color:#777}.post-actions{display:flex;justify-content:space-between;margin-top:30px}.post-actions .admin-edit{background:white;color:#555;border:1px solid #ddd}.image-dialog{max-width:95vw;max-height:95vh;margin:auto;padding:16px;border:0;overflow:auto;background:white}.image-dialog::backdrop{background:rgba(0,0,0,.8)}.image-dialog img{display:block;max-width:100%;height:auto}.image-dialog button{display:block;margin:0 0 12px auto;padding:8px 16px;cursor:pointer}.simple-message{max-width:680px;margin:15vh auto;padding:24px;font-family:system-ui;line-height:1.8}.empty-news{color:#777}.logo-admin{font-size:12px;color:#777;margin-left:12px}.location-details{max-width:1200px;margin:80px auto;padding:0 24px;line-height:2}.location-details h1{font-size:32px;margin-bottom:24px}
@media(max-width:720px){.board-number,.board-views{display:none}.board-table th,.board-table td{padding:14px 8px}.board-table{font-size:14px}.board-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.board-gallery img,.gallery-placeholder{height:150px}.board-gallery h2{font-size:16px}.live-post h1{font-size:23px}.post-meta{gap:10px}.board-pagination{gap:4px}.board-pagination a,.board-pagination span{padding:4px 8px}.main-carousel .li .copy_area h4{padding:0 22px;box-sizing:border-box}.main-carousel .li .copy_area h2{font-size:38px}.post-content{font-size:16px}.post-actions a{font-size:14px}.location-details{margin-top:45px}}
@media(prefers-reduced-motion:reduce){[data-aos]{opacity:1!important;transform:none!important;transition:none!important}}

/* Inline vector icons stay sharp without downloading an icon font. */
.tl_company_box_wrap .icon .service-icon{display:inline-block;width:33.6px;height:33.6px;vertical-align:middle;color:#000}

#right-side .side_gnb .call .phone-icon{display:inline-block;width:16px;height:16px;margin-right:4px;vertical-align:-3px;color:inherit}

/* Consistent heading weight across public pages. */
h1,h2,h3{font-weight:400!important}

/* Shared introduction page layout. */
section.intro-page{width:calc(100% - 48px);max-width:760px;margin:0 auto;padding:64px 0 80px;box-sizing:border-box;text-align:left}
.intro-page__header{padding-bottom:56px;border-bottom:1px solid #ddd}
.intro-page h1{margin:0 0 16px;font-size:36px;line-height:1.25}
.intro-page h2{margin:0 0 24px;font-size:23px;line-height:1.4}
.intro-page p{margin:0;color:#414141;font-size:17px;line-height:1.75;overflow-wrap:anywhere}
.intro-page p+p{margin-top:24px}
.intro-page>section{margin-top:64px}
.intro-page__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:72px}
.intro-page__links a{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border:1px solid #ccc;color:#222;font-size:16px}
.intro-page__links a:is(:hover,:focus-visible){border-color:#2253b8;color:#2253b8}
@media(max-width:720px){
 section.intro-page{width:calc(100% - 36px);padding:36px 0 56px}
 .intro-page h1{font-size:28px}
 .intro-page h2{font-size:20px}
 .intro-page p{font-size:16px}
 .intro-page__links{grid-template-columns:1fr}
}

/* Foundation introduction additions. */

.foundation-intro>section[id]{scroll-margin-top:120px}
.foundation-intro__greeting{display:grid;grid-template-columns:minmax(0,144px) minmax(0,1fr);align-items:center;gap:24px;margin-bottom:24px}
.foundation-intro__greeting img{display:block;width:100%;height:auto}
.foundation-intro__greeting blockquote{margin:0;padding-left:18px;border-left:3px solid #2253b8;color:#333;font-size:1.25rem;line-height:1.6}
.foundation-intro__signature{text-align:right}
.foundation-intro__programs{list-style:decimal outside;margin:0;padding-left:1.6em;color:#414141;font-size:17px;line-height:1.75}
.foundation-intro__programs li{padding:8px 4px;border-bottom:1px solid #e5e5e5}
.foundation-intro__chart{display:block;max-width:100%;height:auto}
@media(max-width:720px){
 .foundation-intro__greeting{grid-template-columns:minmax(0,88px) minmax(0,1fr);gap:16px}
 .foundation-intro__greeting blockquote,.foundation-intro__programs{font-size:16px}
}

/* Shared back-to-top control. */
#top_btn{
 display:grid;place-items:center;box-sizing:border-box;
 width:46px;height:46px;padding:0;
 right:calc(20px + env(safe-area-inset-right, 0px));
 bottom:calc(20px + env(safe-area-inset-bottom, 0px));
 border:1px solid #dfe4ec;border-radius:50%;
 background:#fff;color:#24354e;line-height:1;cursor:pointer;
 box-shadow:0 4px 16px rgba(18,34,60,.15);
 transition:background-color .18s,border-color .18s,color .18s,transform .18s;
}
#top_btn svg{display:block}
#top_btn:hover{background:#24354e;border-color:#24354e;color:#fff;transform:translateY(-2px)}
#top_btn:focus-visible{outline:2px solid #2253b8;outline-offset:4px}
#top_btn:active{transform:translateY(0)}
@media(max-width:720px){
 #top_btn{
  width:44px;height:44px;
  right:calc(14px + env(safe-area-inset-right, 0px));
  bottom:calc(14px + env(safe-area-inset-bottom, 0px));
 }
}
@media(prefers-reduced-motion:reduce){#top_btn{transition:none}}

/* International exchange activities. */
.exchange-intro>section[id]{scroll-margin-top:120px}
.exchange-intro>section>section{margin-top:32px}
.exchange-intro h3{margin:0 0 24px;font-size:19px;line-height:1.45}
.exchange-intro :is(ol,ul){margin:0;padding-left:1.55em;color:#414141;font-size:17px;line-height:1.75}
.exchange-intro ol{list-style:decimal outside}
.exchange-intro ul{list-style:disc outside}
.exchange-intro li+li{margin-top:8px}
@media(max-width:720px){
 .exchange-intro h3{font-size:18px}
 .exchange-intro :is(ol,ul){font-size:16px}
}

/* Shared desktop width for menu pages and boards. */
@media(min-width:721px){
 .content_wrap,section.intro-page,.location-details{width:calc(100% - 48px);max-width:800px;margin-left:auto;margin-right:auto;box-sizing:border-box}
 .content_wrap .txtCon{box-sizing:border-box}
}

/* Desktop home content is wider than menu pages. */
@media(min-width:721px){
 .home-page :is(.tl_company_box_wrap,.tl_main_info_wrap){max-width:1200px;margin-left:auto;margin-right:auto;box-sizing:border-box;background-color:#ffffff}
}

@media(min-width:721px){.content_wrap.culture-news{max-width:1200px}}
