@font-face {
  font-family: "Pretendard";
  font-weight: 900;
  src: url('../fonts/Pretendard-Black.ttf') format('truetype');
}
@font-face {
  font-family: "Pretendard";
  font-weight: 800;
  src: url('../fonts/Pretendard-ExtraBold.ttf') format('truetype');
}
@font-face {
  font-family: "Pretendard";
  font-weight: 700;
  src: url('../fonts/Pretendard-Bold.ttf') format('truetype');
}
@font-face {
  font-family: "Pretendard";
  font-weight: 600;
  src: url('../fonts/Pretendard-SemiBold.ttf') format('truetype');
}
@font-face {
  font-family: "Pretendard";
  font-weight: 500;
  src: url('../fonts/Pretendard-Medium.ttf') format('truetype');
}
@font-face {
  font-family: "Pretendard";
  font-weight: 400;
  src: url('../fonts/Pretendard-Regular.ttf') format('truetype');
}
@font-face {
  font-family: "Pretendard";
  font-weight: 300;
  src: url('../fonts/Pretendard-Light.ttf') format('truetype');
}
@font-face {
  font-family: "Pretendard";
  font-weight: 200;
  src: url('../fonts/Pretendard-ExtraLight.ttf') format('truetype');
}
@font-face {
  font-family: "Pretendard";
  font-weight: 100;
  src: url('../fonts/Pretendard-Thin.ttf') format('truetype');
}

*, *::before, *::after {
	box-sizing: border-box;
	word-break:keep-all;
	margin: 0;
	padding: 0;
}
table{border-collapse:collapse;}
html, body {
	font:1rem 'Pretendard', sans-serif;
	color:#141416;
	outline:none; 
	scroll-behavior: smooth;
}
img, picture, video, canvas, svg {
	display: block;
	max-width: 100%;
	height: auto;
	border: 0;
}
input, button, textarea, select {
	font: inherit;
	border: none;
	background: none;
	outline: none;
}
p{
	word-break:keep-all;
}
button{
	cursor:pointer;
}
a {
	color: inherit;
	text-decoration: none;
}
ul, ol {
	list-style: none;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 1em;
	font-weight: normal;
}		
form, fieldset {
	border: 0;
}
aside, details, figcaption, figure, footer, header, hgroup, menu, nav{
	display: block;
}
html::-webkit-scrollbar {
    width: 10px;
  }
html::-webkit-scrollbar-thumb {
    background-color: #452488;
    border-radius: 10px;
    background-clip: padding-box;
    border: 2px solid transparent;
  }
html::-webkit-scrollbar-track {
    background-color: #ebebeb;
    border-radius: 10px;
 }

:root {
  --header-height: 110px;
}

.dday-wrap{
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	margin-top:1rem;
	opacity: 1;
	transition: all 0.6s ease-in-out;
}
.dday{
   display: flex;
    align-items: center;
	justify-content: center;
    gap: 1rem;
    padding:1rem 1.3rem;
    background: #000;
    border-radius: 2rem;
    color: #fff;
    font-weight: 800;
    font-size: 1.2rem;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.3);
}
.dday-wrap.dday-bt {
  opacity: 0;
  transition: opacity 0.4s ease;
  top: auto;
  left: auto;
  bottom: 20px;
  right: 20px;
  transform: none;
  z-index:9;
}
.dday-wrap.dday-bt  .dday{
	display: flex;
    align-items: center;
    text-align: center;
    width: 90px;
    height: 90px;
	padding:0;
    background: #000;
	font-size:0.9rem;
    border-radius: 1rem;
    flex-direction: column;
    justify-content: center;
	gap:0;
}
.dday-wrap.dday-bt  .dday > span{
	padding-top:0.4rem;	
}

.modal_wrap{
	z-index:1001;
    position:fixed;
    display:none;    
    justify-content: center;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background: rgba(0, 0, 0, 0.5);
}
.modal_body_wrap{
	position:fixed;
    top:50%;
	left:50%;
    width:400px;  
    padding-top:1.2rem;
    text-align: center;
    transform:translate(-50%,-50%);
	display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.modal_body{
    width:100%;
	height:100%;
	background:#fff;
	padding:2rem 2rem;
	box-shadow:0 2px 3px 0 rgba(34,36,38,0.15); 
	border-radius:2rem;
}
.modal_body .pop_tit {
    font-size: 1.1rem;
    padding-bottom:1.5rem;
	border-bottom: 1px solid #eee;
}
.modal_body .pop_notice{
    display: block;
    padding:1.5rem 0 1rem 0;
    margin-top: 10px;
    font-size: 1.2rem;
}
.modal_body_wrap .close_btn{
	border:0;
	background:#222;
	color:#fff;
	border-radius:2rem;
	padding:6px 15px;
	display:block;
	cursor:pointer;
	margin-bottom:1rem;
}
@media (max-width:640px) {
	.modal_body_wrap{
		padding:0 20px;
	}
}


.header {
    width: 100%;
    position: fixed;
	top:0; left:0;
    background-color: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
	z-index:99;
	transition: background-color 0.5s;
}
.header:hover{
	background-color: rgba(255, 255, 255,1);
}
.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.header-menu{
	/* display:none; */
}
.header-menu .depth1{
	display:none;
}
.header-menu .depth1 a::after{
	display: inline-block;
    content: '';
    width: 12px;
    height: 12px;
    margin-left: 4px;
    background: url(../img/icon_nav_link.png) no-repeat center center / 100%;
}
.logo img {
    width:280px;
}
.hamburger-menu {
    display: block;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px 0 10px 10px;
}
.hamburger-menu .bar {
    display: block;
    width: 25px;
    height: 3px;
    background-color: #333;
    margin: 5px 0;
    transition: all 0.3s ease-in-out;
}
.hamburger-menu.is-active .bar:nth-child(1) {
    transform: rotate(-45deg) translate(-5px, 6px);
}
.hamburger-menu.is-active .bar:nth-child(2) {
    opacity: 0;
}
.hamburger-menu.is-active .bar:nth-child(3) {
    transform: rotate(45deg) translate(-5px, -6px);
}
.mega-menu-container {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-in-out;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: #fff;
    z-index: 100;
}
.mega-menu-container.is-open {
    max-height: inherit;
	height:100vh;
}
.mega-menu-inner {
    display: flex;
    flex-direction: column;
    padding: 20px;
}
.mega-menu-col{
	padding:0 0 1rem 1rem;
}
.mega-menu-col .sub-depth1 {
    display:block;
	cursor:pointer;
	font-size:1.2rem;
}
.mega-menu-col .sub-depth1 > a::after{
	display: inline-block;
    content: '';
    width: 12px;
    height: 12px;
    margin-left: 4px;
    background: url(../img/icon_nav_link.png) no-repeat center center / 100%;
}
.mega-menu-col ul {
    list-style: none;
    padding: 0 0 0 15px;
    margin: 0;
    display: none;
}
.mega-menu-col ul.is-open-mobile {
    display: block;
}
.mega-menu-col ul li a {
    display: block;
	text-align:left;
	font-size:1rem;
    padding: 10px 0;
    text-decoration: none;
    color: #131313;
}
.mega-menu-col ul li.has-sub > div{
	padding: 10px 0;
}
/* 3depth 숨김 */
.mega-menu-col ul li.has-sub ul.sub-depth2 {
    display: block !important;;
    position: static;
    top: 100%;
    left: 0;
	transition: all 0.8s ease;
    padding: 0.5rem 0 1rem 0;
    z-index: 999;
    min-width: 180px;
}
.mega-menu-col ul li.has-sub > div + ul.sub-depth2{
	border-top:1px solid #ddd;
	border-bottom:1px solid #ddd;
	padding:10px 0 5px 0;
}
.mega-menu-col ul li.has-sub > div + ul.sub-depth2 li a{
	padding:5px 0;
}
/* 대회 장소만 위치 조정 */
.mega-menu-col ul li.has-sub.venue > ul.sub-depth2 {
    top: 0; 
}

/* hover */
.mega-menu-col ul li.has-sub:hover > ul.sub-depth2 {
    display: block;
}
/* 모바일에서 열렸을 때 */
.mega-menu-col ul.sub-depth2.is-open-mobile {
    display: block;
}

.lang-switch {
	display: inline-flex;
	background: #ddd;
	border-radius: 20px;
	overflow: hidden;
	position: relative;
	width: 100px;
	height: 40px;
	font-weight: bold;
}
.lang-switch {
	height: 30px;
}
.lang-switch a {
	line-height: 30px;
	flex:1;
	text-align:center;
	font-size:0.9rem;
}
.lang-switch a.active {
	color: #fff;
	background: #000;
	border-radius: 20px;
}

/* --- 데스크톱 스타일 (`min-width: 992px`) --- */
@media (min-width: 1201px) {
	.header{
		height: var(--header-height);
	}
    .hamburger-menu {
        display: none;
    }
    .header-inner {
       /*  justify-content: flex-start; */
        align-items: center;
        flex-grow: 1;
        margin: 0 auto;
        padding: 20px 50px;
        position: relative;
		height:100%;
    }
    .header-menu {
        display: flex;
        align-items: center;
        flex-grow: 1;
        justify-content: center;
        max-width: 1160px;
		height:100%;
        width: 100%;
		position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }
    .header-menu .depth1 {
		flex:1;
		display:block;
		display: flex;
        text-align: center;
		align-items: center;
        justify-content: center;
        height: 100%;
        padding: 0 15px;
        font-weight: 600;
        cursor: pointer;
		position:relative;
		font-size:1.2rem;
    }
	.header-menu .depth1::after{
		display:block;
		content:'';
		position:absolute;
		left:50%;
		transform:translateX(-50%);
		bottom:0;
		width:0;
		height:2px;
		background-color:#e83032;
	}
	.header-menu .depth1:hover:after{
		width:100%;
		transition: width 0.2s;
	}
	.header-menu .depth1:hover{
		color:#e83032;
	}
    .mega-menu-container {
        opacity: 0;
        visibility: hidden;
        max-height: none;
        overflow: visible;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: rgba(255,255,255,0.95);
        z-index: 1000;
        transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
    }
    .mega-menu-container.is-hovered {
        opacity: 1;
        visibility: visible;
    }
    .mega-menu-inner {
        flex-direction: row;
        justify-content: space-around;
        padding: 20px 0;
        max-width: 1160px;
        margin: 0 auto;
    }
    .mega-menu-col {
        flex: 1;
    }    
	.mega-menu-col .sub-depth1 {
		display:none;
	}
    .mega-menu-col ul {
        display: block;
        padding: 0;
    }
	.mega-menu-col ul li a {
		text-align:center;
	}
	.mega-menu-col ul li a:hover{
		color:#e83032;
	}
	/* 3depth 추가 */
	.mega-menu-col ul li.has-sub {
        position: relative; /* 3depth를 li 기준으로 */
    }
	li.has-sub > div{
		display: block;
		text-align: center;
		font-size: 1rem;
		padding: 10px 0;
		color: #131313;
		cursor:pointer;
	}
    .mega-menu-col ul li.has-sub ul.sub-depth2 {
        display: none;
        position: static;
        top: 80%; /* 부모 li 바로 아래 */
        left: 0;
        transition: all 0.8s ease;
		padding: 0 0 0.5rem 0;
        z-index: 999;
        min-width: 180px; /* 필요 시 조정 */
    }
	.mega-menu-col ul li.has-sub ul.sub-depth2.is-open,
	.mega-menu-col ul li.has-sub:hover > ul.sub-depth2 {
		max-height: 400px;  /* 충분히 큰 값으로 */
		opacity: 1;
	}

    .mega-menu-col ul li.has-sub:hover > ul.sub-depth2 {
        display: block;
    }
	 .mega-menu-col ul li.has-sub:hover > ul.sub-depth2 li a{
	 }	 

	.lang-switch {
		display: inline-flex;
		position: relative;
		width: 100px;
		height: 38px;
		background: #ddd;
		border-radius: 20px;
		overflow: hidden;
		font-weight: bold;
	}
	.lang-switch a {
		flex: 1;
		text-align: center;
		line-height: 38px;
		text-decoration: none;
		color: #000;
		z-index: 1;
		font-size:0.9rem;
		position: relative;
		transition: color 0.3s ease;
	}

}
@media (max-width: 1880px) {
	:root {
		--header-height: 160px;
	}
	.header{
		align-items: flex-start;
	}
	.header-inner{
		height:auto;
	}
	.header-menu {
        max-width: 100%;
        left: 50%;
        top: 70%;
        transform: translate(-50%, 0%);
    }
	.header-menu .depth1{
		height: 60%;
	}
	.mega-menu-container{
		width:100%;
	}
	.mega-menu-inner {
		max-width:100%;
	}
	.header-menu .depth1 {
        font-size: 1.1rem;
    }
}
@media (max-width: 1201px) {
	:root {
		--header-height: 84px;
	}
	.header{
		padding:1rem;
	}
	.logo img {
		width: 200px;
	}
	.logo.en_logo img {
		width: 240px;
		margin-top:4px;
	}
	.mega-menu-col ul li.has-sub{
		padding-top:1rem;
	}
}
@media (max-width: 640px) {
	.lang-switch{
		width:80px;
	}
}



main{
	margin-top:var(--header-height);
}
.main-visual{
	width:100%;
	padding:0 30px 86px 30px;
	margin:0 auto;
}
.main-visual-inner{
	width:100%;
	border-radius:3rem;
	padding:5rem 5rem 5% 5rem;
	overflow:hidden;
	background: url('../img/main_visual_bg2.png')no-repeat center center / cover;
	transition:ease 0.8s;
}
.main-visual-inner h1{
	display:block;
	margin:0 auto;
	margin-top:3%;
	width:60vw;
}
.main-visual-inner.en-main-visual-inner h1{
	width:70vw;
}

.main-image-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 55vw;
  margin: 0 auto;
  margin-top:15vh;
}

.main-image-wrap img{
  height: auto;
}
.main-image-wrap > div:nth-child(2){
	margin-left:-5rem;
}
.inner{
	max-width:1540px;
	padding:100px 20px;
	margin:0 auto;
	transition:ease 0.8s;
}
.section-title{
	color:#666;
	font-size:1.3rem;
	font-weight:700;
	padding-bottom:40px;
}
.section-title.color-white{
	color:#fff;
}
.title{
	font-size:2.5rem;
	line-height:1.4;
	font-weight:600;
	padding-bottom:60px;
}
.title.color-white{
	color:#fff;
}
.fade-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.fade-up.show {
  opacity: 1;
  transform: translateY(0);
}
.fade-up-slow {
  opacity: 0;
  transform: translateY(180px);
  transition: opacity 2s ease-out, transform 2s ease-out;
}
.fade-up-slow.show {
  opacity: 1;
  transform: translateY(0);
}
.delay-1 { transition-delay: 0.5s; }
.delay-2 { transition-delay: 1.0s; }
.delay-3 { transition-delay: 1.5s; }
.delay-4 { transition-delay: 2.0s; }




/* intro */
.intro .inner{
	display:flex;
}
.intro .section-title{
	padding-bottom:20px;
}
.intro .title{
	font-size:3rem;
	line-height:1.2;
	padding-bottom:40px;
	padding-right:10%;
}
.intro-txt{
	flex:1;
}
.intro-des{
	line-height:1.6;
	font-size:1.25rem;
	padding-right:20%;
}
.intro-media{
	flex:1;
	overflow:hidden;
}
.intro-media video{
	width:100%;
	border-radius:1.5rem;
}
.intro-card1{
	width:50%;
}
.intro-card1 img{
	object-fit:cover;
}
.intro-card2{
	display:flex;
	flex-direction:column;
	justify-content:space-between;
}
.intro-card2-video p{
	padding-top:1rem;
	font-size:1.2rem;
	font-weight:600;
}
.intro-card2-btn{
	display:flex;
	justify-content: flex-end;
}
.intro-card2-btn a{
	display:table;
	padding:0.5rem 1.5rem;
	border:2px solid #afafaf;
	border-radius:2rem;
	color:#636363;
	font-weight:600;
}

/* =============일정============== */
.schedule{
	width:100%;
	padding:100px 30px;
}
.schedule .inner{
	display:flex;
	justify-content:space-between;
}
.schedule .swiper-wrapper{
	height:32rem;
}
.schedule .schedule-cards {
	padding:0 9% 100px 9%;
	align-items: stretch;
}
.schedule-wrap{
	background:url('../img/schedule_bg.png')no-repeat center center / cover;
	padding:100px 0;
	border-radius:2rem;
}
.sched-card{
	background:url('../img/schedule_target.png')no-repeat right -30% bottom -30% / 50%, #fff;
	border-radius:2rem;
	padding:3rem 2.5rem;
	position:relative;
}
.sched-card::after{
	display:block;
	content:'';
}
.schedule-item-date{
	font-size: 6rem;
    font-weight: 700;
}
.schedule-item-date span{
	display: block;
    font-size: 1.3rem;
    font-weight: 700;
}
.sched-card-inner{
	display:flex;
	flex-direction:column;
	position:relative;
	justify-content: space-between;
	height:inherit;
}
.sched-card-inner ul li{
	font-size:1.1rem;
	padding:4px 0;
}
.sched-card-inner ul li::before{
	display:inline-block;
	content:'\00B7';
	font-size:1.2rem;
	font-weight:700;
	padding-right:4px;
}
.sched-card-inner ul li.schedule-item-tit{
	font-size:1.2rem;
	font-weight:700;
	padding:14px 0 6px 0;
	margin-left:0;
}
.sched-card-inner ul li.schedule-item-tit::before{
	display:none;
}
.schedule-item-loca{
	font-size:1.1rem;
	color:#555;
	font-weight:600;
}
.sched-card a{
	position:absolute;
	width:2rem;
	height:2rem;
	right:2rem;
	bottom:2.5rem;
}
/* .sched-card a::after{
	display:block;
	content:'+';
	font-size:3rem;
	font-weight:600;
	color:#fff;
} */

/* =============현장============== */
.youtube-top{
	position:relative;
}
.youtube-top .swiper-button-next{
	background: url('../img/youtube_arrow.png')no-repeat center center, #131212;
	width:24px;
	height:24px;
    right: 0;
	left: auto; top:auto;
	bottom:60px;
	transform:rotate(180deg);
	padding:1.5rem;
	border-radius:1.5rem;
}
.youtube-top .swiper-button-prev{
	background: url('../img/youtube_arrow.png')no-repeat center center, #131212;
	width:24px;
	height:24px;
    right: 4rem;
	left: auto; top:auto;
	bottom:60px;
	padding:1.5rem;
	border-radius:1.5rem;
}
.youtube-top .swiper-button-next.swiper-button-disabled, .youtube-top .swiper-button-prev.swiper-button-disabled{
	opacity:1;
	background: url('../img/youtube_arrow.png')no-repeat center center, #fff;
	border:1px solid #a3a3a3;
}
.youtube-slider{
	cursor:default !important;
}
.youtube-item{
	border-radius:2rem;
	position:relative;
	padding-top:32%;
	height:0;
	overflow:hidden;
	width:100%;
}
.youtube-item video, .youtube-item img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit:cover;
}

/* =============지금============== */
.istagram{
	text-align:center;
}
.instagram-inner{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
	width:100%;
}
.instagram-inner > div{
	border-radius:1.5rem;
	overflow:hidden;
}
.instagram-inner > div img{
	width:100%;
}
@media (max-width: 992px) {
  .instagram-inner {
    grid-template-columns: repeat(2, 1fr);
  }
}
.notice-list{
	display:flex;
	align-items: center;
	padding:2.2rem 0;
	border-top:1px solid #818181;
}
.notice-list div:nth-child(1){
	width:56%;
	font-size:1.4rem;
	line-height:1.6;
	padding-right:5%;
}
.notice-list div:nth-child(2){
	width:20%;
	padding-right:2%;
}
.notice-list div:nth-child(2) p{
	display:inline;
	border-radius:1.5rem;
	padding:0.5rem 3rem;
	border:1px solid #333;
}
.notice-list div:nth-child(3){
	width:20%;
	padding-right:2%;
}
.notice-list.notice-list-top{
	border-top:0;
	padding:1rem 0;
}
.notice-list.notice-list-top > *{
	color:#646464;
	font-weight:600;
	font-size:0.9rem !important;
	border:0 !important;
}
.notice-list.notice-list-top div:nth-child(2) p{
	border:0;
	padding:0;
}
.notice-list.notice-list-top > a{
	opacity:0;
}
.notice-list div:nth-child(4){
}
.notice-list div:nth-child(4) a{
	background:#e9e9e9;
	padding:0.4rem;
	border-radius:3rem;
	width:60px;
	height:60px;
	display: flex;
    justify-content: center;
    align-items: center;
}



.ct-slider .swiper-wrapper {
  transition-timing-function: linear;
}
.ct-small-img{
	width:60px;
}

footer{
	background:url('../img/footer_img.png')no-repeat right 10% bottom 0 / 40%, url('../img/footer_bg.png')no-repeat center center / cover;
	color:#fff;
	padding-top:100px;
	margin-top:100px;
}
.ct-slider .swiper-wrapper{
	gap:1rem;
}
.ct-slider .swiper-slide{
	background:rgba(255,255,255,0.2);
	border-radius:1.5rem;
	padding:1.5rem;
	display:flex;
	color:#fff;
	align-items:center;
	height: 6rem;
	font-size:1.1rem;
}
.ct-slider .swiper-slide img{
	padding-right:1rem;
}
.sponsor{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:1.2rem;
	padding-bottom:100px;
}
.sponsor > div{
	width:calc(100% / 5 - 1.2rem)
}
.sponsor img{
	border-radius:1.5rem;
}
.footer-info-top{
	display:flex;
	justify-content:space-between;
	color:#fff;
	font-size:2rem;
	font-weight:100;
	padding-top:60px;
	border-top:1px solid #fff;
	gap:2rem;
}
.footer-info-bt{
	display:flex;
	justify-content:space-between;
	padding-top:60px;
}
.sns-btn{
	display:flex;
	gap:0.5rem;
}
.sns-btn a{
	display:block;
	padding:0.8rem 1.4rem;
	border:1px solid #fff;
	border-radius:2rem;
}
.copy{
	font-weight:300;
}

@media (max-width: 1880px) {
	.main-visual-inner{
	}
}
@media (max-width: 1600px) {
	.main-visual-inner{
	}
	.main-image-wrap img {
		width: 80%;
	}
	.dday-wrap {
		margin-top:2rem;
	}
	.inner {
		padding: 50px 40px;
		margin: 0 auto;
	}
	.title{
		font-size:2.4rem;
	}
	.intro .title{
		font-size:2.4rem;
	}
	.section-title{
		font-size:1.15rem;
		padding-bottom:30px;
	}
	.schedule{
		padding:50px 20px;
	}
	.schedule-wrap{
		padding:50px 0;
	}
	.schedule-item-date {
		font-size: 4.5rem;
	}
	.schedule .schedule-cards {
		padding: 0 40px 100px 40px;
	}
	.schedule .inner {
		padding:40px 40px;
		flex-direction: column;
	}
	.notice-list div:nth-child(1) {
		font-size: 1.2rem;
		line-height: 1.4;
	}
	.notice-list div:nth-child(2) p {
		padding: 0.5rem 2rem;
	}
	.ct-slider .swiper-slide{
		font-size:0.9rem;
		height:4rem;
		border-radius:1rem;
		width: 240px !important;
	}
	.ct-slider .swiper-slide img{
		width:60px;
	}
	.ct-small-img{
		width:40px;
	}
	.footer-info-top{
		font-size:1.5rem;
	}
}
@media (max-width: 1201px) {
	.title {
        font-size: 2rem;
    }
	.inner {
        padding: 50px 30px;
	}
	.main-visual{
		padding:0 30px 40px 30px;
	}
	.main-visual-inner h1 {
        margin-top: 0;
	}
	.intro .inner {
		flex-direction: column-reverse;
	}
	.intro .title {
		font-size:2rem;
		padding-bottom:20px;
		padding-right:0;
	}
	.intro .title br:nth-of-type(2){
		display:none;
	}
	.intro-des{
		line-height: 1.4;
		font-size: 1.1rem;
		padding-right: 0;
	}
	.intro-media{
		padding-bottom:50px;
	}
	.intro-card1{
	  flex: 0 0 auto; 
	  aspect-ratio: 16 / 9; 
	}
	.intro-card1 img{
	  width: 100%;
	  height: 100%;
	  object-fit: cover;
	  display: block;
	}
	.intro-card2-video p{
		font-size:1rem;
	}
	.intro-card2{
		width:50%;
	}
	.intro-card2-btn{
		margin-top:1rem;
	}
	.intro-card2-btn a br{
		display:none;
	}
	.notice-list.notice-list-top{
		display:none;
	}
	.notice-list {
		align-items: flex-start;
		flex-direction: column;
		gap: 1rem;
	}
	.notice-list div:nth-child(1) {
		width: 100%;
		padding-right:0;
	}
	.notice-list div:nth-child(2) {
		width: 100%;
		padding-right: 0;
	}
	.notice-list div:nth-child(2) p {
        padding: 0.3rem 1rem;
        font-size: 0.9rem;
    }
	.notice-list div:nth-child(3) {
		width: 100%;
		padding-right:0;
	}
	.notice-list div:nth-child(4){
		width: 100%;
        display: flex;
        justify-content: flex-end;
	}
	.notice-list div:nth-child(4) a{
		width:40px;
		height:40px;
		padding:0.5rem;		
	}
	.sponsor img{
		border-radius:0.6rem;
	}
	.sponsor{
		gap:0.5rem;
	}
	.sponsor > div {
		width: calc(100% / 5 - 0.5rem);
	}
	.footer-info-top {
		gap:0.8rem;
		flex-direction: column;
		font-size:1.3rem;
	}
	.footer-info .title br{
		display:none;
	}
	.copy{
		font-size:0.8rem;
	}
}
@media (max-width: 991px) {
	.main-visual-inner {
		padding: 5rem 4rem 5% 4rem;
	}
	.main-visual-inner h1 {
        width: 100%;
    }
	.fade-up-slow {
	  opacity: 0;
	  transform: translateY(50px);
	  transition: opacity 2s ease-out, transform 2s ease-out;
	}
	.intro-media{
	}
	.main-image-wrap > div:nth-child(2) {
		margin-left: -3rem;
	}
	.main-image-wrap{
		max-width:60vw;
	}
	.schedule-item-date{
		font-size:3.5rem;
	}
	.schedule .schedule-cards {
        padding: 0 40px 50px 40px;
    }
	.sched-card-inner ul li.schedule-item-tit{
		font-size:1.1rem;
	}
	.sched-card-inner ul li{
		font-size:1rem;
	}
	.schedule-item-loca {
		font-size: 1rem;
		line-height: 1.3;
	}
	.schedule .title{
		padding-bottom:30px;
	}
	.youtube-top .swiper-button-prev, .youtube-top .swiper-button-next{
		bottom:10px;
		padding:1.2rem;
	}	
	.youtube-top .swiper-button-prev{
		right:3rem;
		background-size:40%;
	}
	.youtube-top .swiper-button-next.swiper-button-disabled, .youtube-top .swiper-button-prev.swiper-button-disabled{
		background-size:40%;
	}
	.notice .inner{
		padding:50px 20px 0 20px;
	}
	.sponsor{
		padding-bottom:50px;
	}
	footer{
		margin-top:50px;
		padding-top: 50px;
	}
	
}
@media (max-width: 640px) {
	.title {
        font-size: 1.5rem;
		line-height: 1.2;
    }
	.intro .title{
		font-size:1.5rem;
	}
	.main-visual{
		padding:0 20px 0 20px;
	}
	.inner{
		padding:40px 20px;
	}
	.intro-des {
        line-height: 1.3;
        font-size: 1rem;
	}
	.intro-card2-video p{
		font-size:0.9rem;
	}
	.intro-card2-btn a {
		padding: 0.5rem 1rem;
	}
	.schedule-item-date {
        font-size: 3rem;
    }
	 .section-title {
        font-size: 0.9rem;
		padding-bottom:20px;
	}
	.main-visual-inner {
		border-radius:2rem;
		padding: 5rem 2rem 3rem 2rem;
	}
	.dday-wrap{
		width:60%;
	}
	.dday-wrap.dday-bt{
		width:auto;
	}
	.dday{
		padding: 0.5rem 0.8rem;
		font-size:1rem;
	}
	.schedule {
        padding: 50px 10px;
    }
	.schedule-wrap {
        padding: 0;
    }
	.schedule .inner {
        padding: 40px 20px 0 20px;
    }
	.schedule .schedule-cards {
        padding: 0 20px 50px 20px;
    }
	.schedule .swiper-wrapper {
		height: 28rem;
	}
	.sched-card{
		padding: 2rem 1.5rem;
	}
	.sched-card-inner ul li.schedule-item-tit {
        font-size: 1rem;
    }
	.sched-card-inner ul li {
        font-size: 0.9rem;
		padding: 0;
    }
	.schedule-item-loca {
        font-size: 0.9rem;
	}
	.sponsor > div {
        width: calc(100% / 3 - 0.5rem);
    }
	.youtube-item {
		padding-top: 58.24%;
	}
	.notice .inner{
		padding:40px 20px 0 20px;
	}
	.notice-list {
		padding: 1.5rem 0;
	}
	.notice-list div:nth-child(1) {
        font-size: 1rem;
	}
	.notice-list div:nth-child(3){
		font-size:0.9rem;
	}
	.ct-slider .swiper-slide {
		height: 3.2rem;
        width: 220px !important;
    }

}




/* =============sub============== */
.contents-title{
	font-size:3.2rem;
	font-weight:800;
}
.contents-title span{
	display:block;
	margin-top:1.2rem;
	font-size:2rem;
	color:#666;
}
.contents-des{
	font-size:1.6rem;
	font-weight:500;
	line-height:1.6;
	width:60%;
	padding-left:5%;
}
.flex{
	display:flex;
}
.flex-col{
	flex-direction:column;
}
.jc-sb{
	justify-content:space-between;
}

/* =============about============== */
.about-img{
	padding:0 50px;
	height:35rem;
	overflow:hidden;
	margin-bottom:50px;
}
.about-img-bg{
	width:100%;
	height:100%;
	border-radius:2rem;
	background: url('../img/about_bg.png') no-repeat center center fixed;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
.about .container {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(4, 1fr);
    grid-template-areas:
        "item1 item2 item3 item4"
        "item-full-width item-full-width item-full-width item-full-width";
}
.about .item-full-width {
	position:relative;
    grid-area: item-full-width;
	background: url('../img/about_img5.png')no-repeat center center / cover;
	display:flex;
	justify-content: center;
    align-items: center;
	color:#fff;
}
.about  .item1 {
    grid-area: item1;
}
.about  .item2 {
    grid-area: item2;
}
.about  .item3 {
    grid-area: item3;
}
.about  .item4 {
    grid-area: item4;
}

.about .item:not(.item-full-width) {
  background: none !important;
  position: relative;
  overflow: hidden;
}

.about .item:not(.item-full-width)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: 80%;
  background-position: center bottom;
  background-repeat: no-repeat;
  transition: transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
  transform: translateY(100px); 
  z-index:-1;
}

.about .item1::before {
  background-image: url('../img/about_img1.png');
}

.about .item2::before {
  background-image: url('../img/about_img2.png');
}

.about .item3::before {
  background-image: url('../img/about_img3.png');
}

.about .item4::before {
  background-image: url('../img/about_img4.png');
}

.about .item.is-visible::before {
  transform: translateY(0); 
}

.about .container .item {
    border-radius: 2rem;
    box-shadow: 0px 2px 9px rgba(0, 0, 0, 0.1);
	overflow:hidden;
	height:28rem;
}
.about  .item .item-inner {
    text-align: center;
	padding:3rem 2rem;
}
.about  .item-inner > span {
    display: block;
	color:#666;
	font-weight:600;
    margin-bottom: 1rem;
}
.about  .item strong {
    display: block;
    font-size: 1.8rem;
    font-weight: 700;
	line-height:1.4;
	padding-bottom:0.5rem;
}
.about  .item strong span{
	font-size:1rem;
	display:block;
	font-weight:500;
}
.about  .item.item-full-width strong{
	font-size:2rem;
}
.about .item-full-width .item-inner > span{
	color:#fff;
}
.about  .item p{
	font-size:1rem;
}
.about .item ul {
	display:flex;
	flex-wrap:wrap;
	width:100%;
    margin: 0.5rem 0 0;
    font-size: 0.9rem;
    padding: 0;
	gap:0.4rem;
}
.about .item ul li{
	width:calc(100% / 2 - 0.2rem);
	background:#ededed;
	text-align:center;
	border-radius:1rem;
	padding:0.5rem 0.5rem;
}
.about  .item ul {
    list-style: none;
    text-align: left;
}
.about-logo{
	padding:100px 0;
	margin:150px 0;
	border-top:1px solid #ddd;
	border-bottom:1px solid #ddd;
	gap:2rem;
}
.about-logo > div{
	width:calc(100% / 2);
}
.about-logo > div img{
	display:block;
	margin:0 auto;
}
.marquee {
    overflow: hidden;
    color: rgba(255, 255, 255, 0.3);
    font-size: 10rem;
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
    position: absolute;
    bottom: -40px;
	left:0;
}
.marquee__inner {
  display: inline-flex;
  animation: marquee 40s linear infinite;
  gap: 4rem;
}
@keyframes marquee {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}
.marquee__inner span {
  flex-shrink: 0;
}

.article-wrap{
	display:flex;
	justify-content:space-between;
}
.article-tit{
	font-size: 2rem;
	font-weight:700;
}
.article-con{
	width: calc(100% - 23.333%);
}

.txt-center{
	text-align:center;
}


/* =============greeting============== */
.greeting{
	margin-bottom:-100px;
	overflow:hidden;
}
.greeting .contents-title{
	text-align:center;
}
.greeting-txt{
	background:#f8f8f8;
}
.greeting-txt .inner{
	max-width:1000px;
	width:100%;
	padding: 100px 20px 150px 20px;
	position:relative;
}
.greeting-txt .inner > p{
	text-align:center;
	font-size:1.3rem;
	line-height:1.6;
	padding-bottom:3rem;
}
.greeting-txt-img{
	max-width:700px;
	margin:0 auto;
	margin-bottom:3rem;
}
.greeting-txt-img img{
	width:100%;
}
.greeting-img{
	display:flex;
	align-items: flex-end;
	position:relative;
}
.greeting-img img{
	padding:0 3rem;
	position:relative;
	z-index:1;
}
.greeting-img:before{
	display: block;
    content: '';
    background: #ddd;
    position: absolute;
    width: 200vw;
    height: 200px;
    bottom: 0;
    left: -50%;
    transform: translateX(-50%);
}
.greeting-box-wrap{
	display:flex;
	gap:2rem;
	margin-top:1rem;
}
.greeting-box{
	flex:1;
	background:#fff;
	border-radius:2rem;
	padding: 2rem 2rem 1rem 2rem;
	display:flex;
	flex-direction:column;
	text-align:center;
}
.greeting-box p{
	margin-bottom:1rem;
	font-weight:600;
}
.greeting-box .greeting-sign{
	width: 200px;
    display: block;
    margin: 0 auto;
}

/* =============ambassador============== */
.ambassador .contents-title{
	text-align:center;
}
.ambassador-wrap{
	max-width:1400px;
	width:100%;
	margin:0 auto;
	padding: 100px 20px 0 20px;
}
.ambassador-top{
	display:flex;
	gap:10%;
}
.ambassador-img{
	width:45%;
}
.ambassador-img img{
	width:100%;
}
.ambassador-info{
	width:45%;
	position:relative;
	margin-top:5rem;
}
.am-tab ul {
    display: flex;
}
 .am-tab li {
     padding:0.5rem 1rem;
	 border-radius:1.5rem;
     cursor: pointer;
     font-weight: bold;
     color: #555;
     transition: all 0.2s;
 }
 .am-tab li.is-active {
     background: linear-gradient(323deg,rgba(95, 26, 156, 1) 0%, rgba(194, 17, 17, 1) 100%);
	 color:#fff;
 }
 .ambassador-info-card {
     display: none;
 }
 .ambassador-info-card.is-active {
     display: block;
 }

.ambassador-info-tit { font-size: 1.5em; margin-bottom: 15px; color: #333; }
.ambassador-info-card strong { display: inline-block; width: 6rem; color: #666; }
.ambassador-info-card ul {
	margin-top:1rem;
	border-top:1px solid #ddd;
}
.ambassador-info-card ul li{
	display:flex;
	padding:1.2rem 1rem;
	font-size:1.15rem;
	border-bottom:1px dashed #ddd;
}
.ambassador-info-card ul li:last-child{
	border-bottom:1px solid #ddd;
}
.ambassador-info-card ul li.hilight > *{
	font-weight:600;
	color:#111;
	 background: linear-gradient(323deg,rgba(95, 26, 156, 1) 0%, rgba(194, 17, 17, 1) 100%);
	 color: transparent;
    -webkit-background-clip: text;
}
.am-name{
	font-size:1.8rem;
	font-weight:600;
	margin-bottom:2.5rem;
}
.am-name span{
	font-size:1.4rem;
}
.ambassador-top img{
	border-radius:1.5rem;
}
.ambassador-txt{
	margin-top:3rem;
}
.ambassador-txt p {
    font-size: 1.3rem;
    line-height: 1.6;
    padding-bottom: 1rem;
}
.ambassador-txt p:last-child{
	padding-bottom:0;
}

/* =============venue============== */
#animated-line-path {
  stroke-dasharray: 2000;  
  stroke-dashoffset: 2000; 
  transition: stroke-dashoffset 5s ease; 
}

.all-venue .contents-des{
	padding-left:0;
	padding-top: 3rem;
}
.venue-map{
	border-radius:2rem;
	overflow:hidden;
	margin:5rem 0 10rem 0;
}
.venue-map svg{
	width:100%;
}
.venue-info{
	position:relative;
}
.venue-info > div{
	width:calc(100% / 3 - 2rem);
	text-align:center;
}
.venue-info::after{
	position:absolute;
	display:block;
	content:'';
	top:1.5rem;
	left:50%;
	transform:translateX(-50%);
	width:70%;
	border-bottom: 2px dashed #aaa;
	z-index:-1;
}
.venue-info > div > span{
	background: #4d1dc8;;
	display:inline-block;
	padding:0.9rem 1rem;
	min-width:3rem;
	border-radius:1rem;
	color:#fff;
	font-weight:bold;
}
.venue-info p{
	font-size:2rem;
	padding-top:1.4rem;
	font-weight:700;
}
.venue-item2 p{
	padding-top:2.2rem;
}
.venue-info p span{
	font-size:1.2rem;
	display:block;
	color:#777;
}
.venue-img{
	display:flex;
	gap:0.5rem;
	margin:5rem 0 0 0;
}
.venue-img img{
	width:100%;
	border-radius:1.5rem;
}
.all-venue-info-wrap{
	background:#f9f9f9;
	margin-bottom:-100px;
}
.all-venue-info{
}
.all-venue-info > ul > li{
	border-top:1px solid #ddd;
	padding:2rem 2rem;
}
.all-venue-info > ul > li:last-child{
	border-bottom:1px solid #ddd;
}
.all-venue-info ul li strong{
	font-size: 1.4rem;
}
.all-venue-info ul li ul li strong{
	font-size:1rem;
	display:inline;
	font-weight:500;
	padding-right:0.5rem;
}
.all-venue-info-flex{
}
.all-venue-info-flex > *{
	display:inline-block;
}
.all-venue-info ul li ul li p{
	display:inline-block;
	font-size:1rem;
	margin-top:0;
}
.all-venue-info ul li p{
	display: block;
    font-size: 1.2rem;
    margin-top: 0.8rem;
	color:#555;
}
.all-venue-info > ul > li ul{
	margin:1rem 0 0 1rem;
}
.all-venue-info > ul > li ul li{
	list-style:disc;
	margin-top:0.3rem;
}

/* =============guidelines============== */
.guidelines{
	max-width:800px;
	padding:0 30px;
	margin:0 auto;
}

.guidelines > * {
	word-break:keep-all;
}
.guidelines p{
	margin-bottom:0.6rem;
	line-height:1.6;
	font-size:1.1rem;
}
.guidelines p b{
	font-size:1.5rem;
}
.guidelines ul li p b{
	font-size:1.1rem;
}
.guidelines p + p{
	margin-bottom:0.8rem;
}
.guidelines hr {
    display: block;
    margin-block-start: 2em;
    margin-block-end: 2em;
    margin-inline-start: auto;
    margin-inline-end: auto;
    border-style: inset;
    border-width: 1px;
}
.guidelines ol {
    display: block;
    list-style-type: decimal;
    margin-block-start: 1em;
    margin-block-end: 1em;
    unicode-bidi: isolate;
}
.guidelines ol li{
	margin-left: 15px;
}
.guidelines ul {
    list-style-type: disc;
}
.guidelines ul.margin-left{
	margin-left:1.5rem;
}
.guidelines ul > li.arrow{
	list-style-type:none;
}
.guidelines ul > li{
}
.guidelines ul > li.arrow{
	margin-left: 0.5rem;
}
.guidelines ul > li.arrow > p:before{
	display:inline-block;
	content: '\25B6';
	font-size:0.8rem;
	padding-right:0.2rem;
	vertical-align:middle;
}
.guidelines  li {
    display: list-item;
    text-align: -webkit-match-parent;
    unicode-bidi: isolate;
}
.guidelines ul > li > ul{
	padding-inline-start: 1rem;
}
.guidelines ::marker {
    unicode-bidi: isolate;
    font-variant-numeric: tabular-nums;
    text-transform: none;
    text-indent: 0px !important;
    text-align: start !important;
    text-align-last: auto !important;
}
.guidelines table{
	text-align:center;
	width:100%;
	border:0;
	margin:0.5rem 0 0.8rem 0;
}
.guidelines table th, .guidelines table td{
	padding:0.5rem 0.4rem;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	border-right:1px solid #ccc;
	border-left:1px solid #ccc;
}
/* .guidelines table th:first-child, .guidelines table td:first-child{
	border-left:0;
}
.guidelines table th:last-child, .guidelines table td:last-child{
	border-right:0;
} */
.formula {
  font-size: 0.9rem; 
  line-height: 1.4;
  margin-bottom:1rem;
}
.formula .label { 
  margin-right: .4em; 
}
.formula .label br{
	display:none;
}
.formula .eq { 
  margin: 0 .35em; 
}
.formula .times { 
  margin-left: .35em; 
}
.fraction {
  display: inline-grid;
  grid-template-rows: auto 1px auto;
  align-items: center;
  justify-items: center;
  padding: 0 .25em;
  min-width: 9em;           
  vertical-align: middle;
}
.fraction .top { 
  padding-bottom: .2em; 
}
.fraction .bar {
  width: 100%;
  height: 1px;
  background: #000;
}
.fraction .bottom { padding-top: .2em; }

/* =============event-schedule============== */
.event-schedule{
	background:#1a1a1d;
	margin-bottom:-100px;
	padding-bottom:100px;
}
.event-schedule-img{
	width:100%;
	padding:0 50px;
	height:25rem;
}
.event-schedule-bg{
	width:100%;
	height:100%;
	border-radius:2rem;
	background:url('../img/event_schedule_img.png')no-repeat center top / cover;
}
.event-schedule .contents-top{
	color:#fff;
}
.event-date{
	width:100%;
	color:#fff;
	padding:1.5rem 0;
	border-top:1px solid #fff;
}
.event-date:last-child{
	border-bottom:1px solid #fff;
}
.event-date > ul{
	display:flex;
}
.event-date > ul > li{
}
.event-date > ul > li:nth-child(1){
	font-size:1.2rem;
	font-weight:bold;
	width:15%;
}
.event-date > ul > li:nth-child(2){
	font-size:4rem;
	font-weight:600;
	width:40%;
}
.event-date > ul > li:nth-child(3){
	width:40%;
}
.event-date > ul > li:nth-child(4){
	width:15%;
}
.event-date span{
	display:block;
	padding:0.5rem 1rem;
	border-radius:2rem;
	border:1px solid #ddd;
	margin-bottom:0.8rem;
}
.event-date ul li b{
	color:#f0282d;
	font-size:1.25rem;
	padding-bottom:0.4rem;
	display:block;
}
.event-date ul li b + ul{
	padding-bottom:1.2rem;
}
.event-date ul li b + ul:last-child{
	padding-bottom:0;
}
.event-date ul li ul {
	margin-left:0.5rem;
}
.event-date ul li ul li{
	font-size:1.15rem;
	padding:0.4rem 0;
}
.event-date ul li ul li::before{
	display:inline-block;
	content: '\00B7';
	padding-right:4px;
}

/* =============event-categories============== */
.event-categories-wrap{
	padding:0 50px;
}
.event-categories{
	height:105vh;
	border-radius:2rem;
}
.event-item-container{
	display:flex;
	flex-direction:column;
	gap:5rem;
}
.event-item{
}
.event-item-inner > img{
	border-radius:2rem;
	width:30%;
}
.event-item-inner{
	padding:3rem;
	background:rgba(255,255,255,0.7);
	border-radius:2rem;
	margin-top:3rem;
}
.event-item-txt{
}
.event-item-txt > div{
	display:flex;
	align-items: flex-start;
	font-size:1.1rem;
	word-break:keep-all;
	padding:0.4rem 0;
}
.event-item-txt > div > img{
	display:block;
}
.event-item-txt > div > span{
	width:10%;
	padding-right:10px;
	font-weight:700;
}
.event-item-txt > div > p, .event-item-txt > div > ul{
	width:90%;
}

.en-event-categories .event-item-txt > div > span{
	width:15%;
}
.en-event-categories .event-item-txt > div > p, .en-event-categories .event-item-txt > div > ul{
	width:85%;
}
.event-item-txt > div > ul li{
	padding:0.2rem 0;
}
.event-item-txt > div > ul li::before{
	display:inline-block;
	content:' - ';
	padding-right:4px;
}
.event-item-txt strong{
	display:block;
	font-size:2rem;
	padding:1rem 0;
}
.event-item-txt strong span{
	font-size:1.3rem;
	color:#777;
}
.target-info{
	font-size:1rem;
	font-weight:600;
	margin-top:1rem;
	padding-top:1rem;
	border-top:1px solid #aaa;
	display:flex;
	gap:1rem;
}
/* .target-info p::before{
	display:inline-block;
	content: '\00B7';
	padding-right:4px;
} */
.target-info img{
	display:block;
	border:1px solid #ddd;
	width:80px;
	height:auto;
	margin-bottom:1rem;
}

#event-categories {
    transition: background-image 0.5s ease-in-out; 
    background-size: cover; 
    background-position: center; 
}
.tab-wrapper {
	padding-top:50px;
    width:100%;
    overflow: hidden;
}
.tab-container {
    display: flex;
	gap:0.5rem;
}
.tab-button {
    padding:0.5rem 2rem;
	border-radius:2rem;
	border:1px solid #fff;
    cursor: pointer;
	font-size:1.2rem;
    transition: background-color 0.3s;
}
.tab-button:hover {
    background-color: #fff;
}
.tab-button.active {
    background-color: #fff;
    font-weight: bold;
}
.tab-content {
    display: none;
}
.tab-content.active {
    display: block;
}


/* =============visitor-information============== */
.visitor-information{
	background:#f4f3f8;
	margin-bottom:-100px;
}
.visitor-information-noti{
	margin-top:1rem;
	font-size:1.3rem;
	color:#666;
}
.visitor-information .article-wrap{
	margin:5rem 0 9rem 0;
}
.visitor-information .article-wrap:last-child{
	margin-bottom:0;
}
.visitor-information .article-tit {
	width: 20%;
    color: #7d7d7d;
    font-size: 1.5rem;
}
.bus-station-num{
	display:inline;
	margin-bottom:1.5rem;
	padding:1rem 1.5rem;
	background:#fff;
	border-radius:1.5rem;
}
.bus-box{
	background:#fff;
	border-radius:1.5rem;
	padding:3rem;
	margin-bottom:1rem;
}
.bus-box-inner{
	display:flex;
	align-items: center;
	justify-content:space-between;
}
.bus-station{
	display:flex;
	align-items: center;
	gap:1rem;
    width: calc(100% - 10%);
}
.bus-station-num {
    display: inline-block;
    margin-bottom: 0.5rem;
    padding: 1rem 1.5rem;
    background: #fff;
    border-radius: 1rem;
    color: #494b60;
    font-weight: 700;
    font-size: 1.1rem;
}
.bus-num{
	color: #fa7a55;
    font-size: 3rem;
    font-weight: 700;
    width: 20%;
}
.bus-mark{
	width:30px;
}
.bus-mark:before {
    display: block;
    content: '';
    width: 3rem;
    height: 3rem;
    border-radius: 5rem;
    background: #4c4a8a url(../img/bus.svg) no-repeat center center / 50%;
}
.bus-station1, .bus-station2{
	font-size: 1.2rem;
}
.bus-station-line{
	width:50%;
	height:3px;
	background: linear-gradient(90deg, #999 70%, #fff 0);
    background-size: 0.3rem;
	position:relative;
}
.bus-station-line:before, .bus-station-line:after{
	display:block;
	position:absolute;
	content:'';
	border:5px solid #4c4a8a;
	background:#fff;
	width:1rem;
	height:1rem;
	border-radius:50%;
	top:50%;
	transform:translateY(-50%);
}
.bus-station-line:before{
	left:0;
}
.bus-station-line:after{
	right:0;
	border:5px solid #8e8dc6;
	background:#3f3d60;
}

/* =============organization-chart============== */
.organization-chart-wrap {
    width: 100%;
	background:#f3f3f5;
	padding-bottom:50px;
	margin-bottom:-100px;
}

/* Common Styles */
.level {
    display: flex;
    justify-content: center;
    position: relative;
    margin-top: 40px;
}
.level:first-child { margin-top: 0; }
.person-box {
    background-color: #fff;
    border-radius: 1rem;
    padding:1rem 1.2rem;
    text-align: center;
    color: #333;
    position: relative;
	box-shadow: 1px 31px 70px -34px rgba(0,0,0,0.67);
	-webkit-box-shadow: 1px 31px 70px -34px rgba(0,0,0,0.67);
	-moz-box-shadow: 1px 31px 70px -34px rgba(0,0,0,0.67);
}
.level-4 .person-box {
	box-shadow: 1px 31px 30px -24px rgba(0, 0, 0, 0.5);
	-webkit-box-shadow: 1px 31px 30px -24px rgba(0, 0, 0, 0.5);
	-moz-box-shadow: 1px 31px 30px -24px rgba(0, 0, 0, 0.5);
}
.person-group {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    position: relative;
    padding-top: 2rem;
	width:90%;
}
.name { font-weight: bold; font-size: 1.2rem; margin-bottom: 3px; }
.position { font-size:1.1rem; color: #111; }
.level-1 ,.level-2, .level-3, .level-4{
	max-width:1200px;
	width:100%;
	margin:0 auto;
}
.person-box:not(.joint-chair):not(.vice-chair){
	flex:1;
}

/* Line from Level-1 */
.level-1 { margin-bottom: 2rem; }
.level-1 .joint-chair {
    background-color: #7b2938;
    color: #fff;
    border-radius:2rem;
    padding:1rem 1.5rem;
	font-size:1.2rem;
}
.level-1::after {
    content: '';
    position: absolute;
    width: 2px;
    height: 2rem;
    background-color: #cbcbcb;
    left: 50%;
    transform: translateX(-50%);
    bottom: -2rem
}

/* Lines for Level-2 group */
.level-2 .person-group::before {
    content: '';
    position: absolute;
	top:0;
    width: 68%;
    left: 50%;
    transform: translateX(-50%);
    height: 2px;
    background-color: #cbcbcb;
}
.level-2 .person-group .person-box::before {
    content: '';
    position: absolute;
    top: -2rem;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height:2rem;
    background-color: #cbcbcb;
}

/* Line from Level-3 */
.level-3 {
	margin:2rem auto; 
	margin-top:3rem;
}
.level-3 .vice-chair {
    background-color:#fff;
	border:2px solid #7b2938;
    border-radius:2rem;
    padding:0.6rem 1.5rem;
	font-size:1.2rem;
}
.level-3::after {
    content: '';
    position: absolute;
    width: 2px;
    height: 2rem;
    background-color: #cbcbcb;
    left: 50%;
    transform: translateX(-50%);
    bottom:-2rem;
}
.level-3::before {
    content: '';
    position: absolute;
    width: 2px;
    height: 3rem;
    background-color: #cbcbcb;
    left: 50%;
    transform: translateX(-50%);
    top:-3rem;
}

/* Lines for Level-4 group */
.level-4 .person-group::before {
    content: '';
    position: absolute;
	width: 68%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 2px;
    background-color: #cbcbcb;
}
.level-4 .person-group .person-box::before {
    content: '';
    position: absolute;
    top: -2rem;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 2rem;
    background-color: #cbcbcb;
}

/* Line from Level-4 to Main Branches */
.level-4::after {
    content: '';
    position: absolute;
    width: 2px;
    height: 3rem;
    background-color: #cbcbcb;
    left: 50%;
    transform: translateX(-50%);
    bottom: -3rem;
}
.level-5{
	width:100%;
}

/* Main Branch Group */
.branch-group {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    position: relative;
    padding-top: 3rem;
	width:100%;
}
.branch-group::before {
    content: '';
    position: absolute;
    top: 0;
    left:50%;
	transform:translateX(-50%);
    width: 67.5%;
    height: 2px;
    background-color: #cbcbcb;
}
.branch-group .branch::before {
    content: '';
    position: absolute;
    top: -3rem;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 3rem;
    background-color: #cbcbcb;
}
.branch {
    flex: 1;
    background-color: #4b4b8c;
    border-radius: 1.5rem;
    padding:  2rem;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    position: relative;
}
.branch-header {
    margin-bottom: 2rem;
    position: relative;
}
.branch-header::after {
    content: '';
    position: absolute;
    width: 2px;
    height:  2rem;
    background-color: #fff;
    left: 50%;
    transform: translateX(-50%);
    bottom: -2rem;
}
.or-title {
    font-weight: bold;
    font-size: 1.1rem;
    text-align: center;
    color: #fff;
    margin-bottom: 10px;
}
.head-info {
    text-align: center;
	background-color: #fff;
    border-radius: 1rem;
    padding: 1rem 1.2rem;
    text-align: center;
    color: #333;
}
.head-info .role { font-weight: bold; }
.head-info .name, .head-info .position { font-size: 1.1rem; padding-top:0.3rem;}
.branch-sub-group .position { font-size: 1rem; padding-top:0;}
.head-info .name { font-weight: bold; }

/* Sub-group under branches */
.branch-sub-group {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 20px;
    position: relative;
}
.branch-sub-group::before {
    content: '';
    position: absolute;
    top: 0;
    left:50%;
	transform:translateX(-50%);
    width: 68%;
    height: 2px;
    background-color: #fff;
}
.branch.general .branch-sub-group::before {
	width: 51%;
}
.branch-sub-group .person-box {
    background-color: #f7f7f7;
    color: #333;
    padding:1rem 0.3rem;
    flex-grow: 1;
    flex-basis: 0;
    min-width: 100px;
	position:relative;
}
.branch-sub-group .person-box::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 20px;
    background-color: #fff;
}

/* Tasks list */
.tasks {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #939393;
	color:#fff;
}
.tasks-title { font-weight: bold; margin-bottom: 10px; }
.tasks ul { list-style-type: none; padding: 0; margin-left:1rem; }
.tasks li { font-size: 1rem; margin:0.3rem 0; }
.tasks li::before {
    content: '•';
    color: #fff;
    font-weight: bold;
    display: inline-block;
    width: 1em;
    margin-left: -1em;
}

/* =============emblem============== */
.emblem{
	padding-top:3rem;
}
.emblem-des{
	font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.6;
}
.emblem-img{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:10%;
	padding-top:5rem;
}
.emblem-item{
	width:45%;
	margin:3rem 0;
}
.emblem-item p{
	font-size:1.3rem;
	font-weight:600;
	padding:0 0 1rem;
	border-bottom:1px solid #aaa;
}
.emblem-item img{
	display:block;
	margin:0 auto;
	padding:3rem;
}
.emblem-item.emblem-basic img{
	max-width:400px;
}
.emblem-item.emblem-basic1 img{
	max-width:380px;
}
.emblem-item.emblem-horizontal2 img{
	padding:3rem 7rem;
}

/* weather */
#loading-overlay {
	position: fixed;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background: rgba(255, 255, 255, 0.9);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	z-index: 9999;
	font-family: sans-serif;
}
#loading-overlay svg {
	width: 60px;
	height: 60px;
	margin-bottom: 15px;
}

.weather-section { margin-top: 20px; }
.weather table { border-collapse: collapse; width: 100%; margin-top: 10px; }
.weather table th, td { border: 1px solid #ccc; padding: 5px 10px; text-align: center; }
.weather table th { background: #f0f0f0; }



@media (max-width: 1600px) {
	.contents-title{
		font-size:2.4rem;
	}
	.contents-des {
		font-size: 1.25rem;
	}

	/* about */
	.about .container {
        grid-template-columns: repeat(2, 1fr); 
        grid-template-areas:
            "item1 item2"
            "item3 item4"
            "item-full-width item-full-width";
    }
	.about .item strong {
		font-size:1.4rem;
	}
	.about .item:not(.item-full-width)::before{
		background-size:50%;
	}
	.about .item.item-full-width strong {
		font-size: 1.6rem;
	}
	.about .container .item {
		height:25rem;
	}
	.marquee {
		font-size:8rem;
	}
	.about-logo {
		padding: 80px 0;
		margin: 80px 0
	}

	/* Organizing Committee */
	.branch-sub-group {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px 10px 0 10px;
    }
    .branch-sub-group::after {
        content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 50%;
		height: 2px;
		background: #fff;
    }
	.branch-sub-group::before {
	    content: "";
	    position: absolute;
	    top: 0;
	    left: 0; 
	    width: 2px;
	    height: var(--line-height, 100%); 
	    background: #fff;
	}

	.branch.general .branch-sub-group::before{
	    content: "";
	    position: absolute;
	    top: 0;
	    left: 0; 
	    width: 2px;
	    height: var(--line-height, 100%); 
	    background: #fff;
	}

    .branch-sub-group .person-box::before {
        top: 50%;
        left: -10px;
        transform: translateY(-50%);
        width: 10px;
        height: 2px;
    }

    .branch-sub-group .person-box {
        width: 100%;
        margin:5px 0;
        padding: 1rem 1rem;
        box-sizing: border-box;
    }
	/* Emblem */
	.emblem-img {
		padding-top:80px;
	}
	.emblem-des {
		font-size: 1.25rem;
	}
	.emblem-item.emblem-horizontal2 img {
		padding: 3rem 4rem;
	}
	.emblem-item{
		margin:50px 0;
	}

	
	/* event schedule */
	.event-date > ul > li:nth-child(2){
		font-size:2.5rem;
		width:30%;
	}
	
	/* Event Categories */
	.event-item-txt strong {
		display: block;
		font-size: 1.4rem;
		padding: 1rem 0;
	}
	.event-item-txt strong span {
		font-size: 1.1rem;
	}
	.event-categories {
		height: auto;
	}
	.event-item-inner {
		margin-top: 15rem;
	}
	
}

@media (max-width: 1201px) {
	/* about */
	.about-img{
		padding:0 30px;
		height:25rem;
		margin-bottom:0;
	}
	.about .item:not(.item-full-width)::before{
		background-size:60%;
	}
	.contents-top.flex {
		display: flex	;
		flex-direction: column;
	}
	.contents-title br{
		display:none;
	}
	.contents-des{
		width:100%;
		padding-left:0;
	}
	.contents-title + .contents-des{
		padding-top:2rem;
	}
	/* greeting */
	.greeting-txt .inner {
		padding: 50px 30px 100px 30px;
	}

	/* Organizing Committee */
	.organization-chart-wrap {
		padding-left: 10%;
		padding-right: 10%;
	}
	.person-group {
		flex-direction: column;
	}
	.branch-group {
		flex-direction: column;
	}
    .branch-sub-group {
        align-items: flex-start;
        padding: 20px 10px 0 10px;
    }
	.branch-group .branch::before{
		display:none;
	}
	.level-2 .person-group::before{
		width:50%;
		left:0;
		transform: none;
	}
	.level-2 .person-group::after{
		 display: block;
		  content: '';
		  position: absolute;
		  width: 2px;
		  height: var(--line-height, 100%); /* JS로 제어 */
		  background: #cbcbcb;
		  top: 0;
		  left: -20px;
	}
	.level-2 .person-group .person-box::before {
		content: '';
		position: absolute;
		top:50%;
		left: -20px;
		transform: translateY(-50%);
		width: 20px;
		height: 2px;
		background-color: #cbcbcb;
	}
	.level-2 .person-group::before {
        width: calc(50% + 20px);
        left: -20px;
        transform: none;
    }
	.level-3{
		margin-top:2rem;
	}
	.level-3::before {
		top: -2rem;
	}
	.level-4 .person-group::before {
        width: calc(50% + 20px);
        left: -20px;
        transform: none;
    }
	.level-4 .person-group::after{
		display: block;
		content: '';
		position: absolute;
		width: 2px;
		height: var(--line-height, 100%); 
		background: #cbcbcb;
		top: 0;
		left: -20px;
	}
	.level-4 .person-group .person-box::before {
		content: '';
		position: absolute;
		top:50%;
		left: -20px;
		transform: translateY(-50%);
		width: 20px;
		height: 2px;
		background-color: #cbcbcb;
	}
	.level-5 .branch-group::before{
		display:none;
	}
	.level-5 .branch-group{
		padding-top:0;
	}

	/* emblem */
	.emblem{
		padding-top:2rem;
	}

	/* event schedule */
	.event-date > ul {
	justify-content: space-between;
	}
	.event-date > ul > li:nth-child(1) {
		width:10%;	
	}
	.event-date > ul > li:nth-child(2){
		width:25%;
		font-size:1.8rem;
	}
	.tab-button{
		font-size:1.1rem;
		padding:0.5rem 1rem;
	}
	.event-item-txt > div {
		flex-direction: column;
	}
	.event-item-txt > div > span {
		width: 100%;
	}
	.event-item-txt > div > p, .event-item-txt > div > ul {
		width: 100%;
	}
	.en-event-categories .event-item-txt > div > span {
		width: 100%;
	}
	en-event-categories .event-item-txt > div > p, .en-event-categories .event-item-txt > div > ul {
		width: 100%;
	}
	.event-categories-wrap {
		padding: 0 30px;
	}
	
	
}

@media (max-width: 991px) {
	.contents-title {
        font-size: 2rem;
    }
	.contents-des{
		font-size: 1.1rem;
		line-height:1.4;
	}
	/* about */
	.about-logo {
        padding: 50px 0;
        margin: 50px 0;
    }
	.about .container .item {
        height: 22rem;
    }
	.about .item strong {
        font-size: 1.2rem;
    }
	.about .item.item-full-width strong {
        font-size: 1.4rem;
    }
	.about-logo > div img{
		width:90%;
	}
	.marquee {
        font-size: 5rem;
		bottom:-20px;
    }
	/* greeting */
	.greeting-txt .inner > p {
		font-size: 1.1rem;
		line-height: 1.4;
		padding-bottom: 1.5rem;
	}
	.greeting-box-wrap {
		gap: 1rem;
	}

	/* Organizing Committee */
	.level-1 .joint-chair{
		font-size:1.1rem;
	}
	.name{
		font-size:1.1rem;
	}
	.level-3 .vice-chair{
		font-size:1.1rem;
	}
	.position{
		font-size:1rem;
	}	
	.head-info .name, .head-info .position{
		font-size:1rem;
	}
	.tasks li {
		font-size: 0.9rem;
		line-height:1.3;
	}
	
	/* emblem */
	.emblem-horizontal img{
		padding:3rem 1rem;
	}
	.emblem-item.emblem-horizontal2 img {
        padding: 3rem 1rem;
    }
	.emblem-des {
        font-size: 1.1rem;
        line-height: 1.4;
    }
	.emblem-item p {
		font-size: 1.1rem;
	}
	
	/* event schedule */
	.event-date > ul {
		flex-direction: column;
		gap:1rem;
	}
	.event-date > ul > li:nth-child(1),
	.event-date > ul > li:nth-child(2),
	.event-date > ul > li:nth-child(3),
	.event-date > ul > li:nth-child(4){
		width:100%;	
	}
	.event-date > ul > li:nth-child(1){
		color:#ddd;
		font-size:1rem;
		font-weight:500;
	}
	.event-date > ul > li:nth-child(4){
		display:flex;
	}
	.event-date > ul > li:nth-child(4) span{
		flex:1;
		text-align:center;
		font-size:0.9rem;
	}
	.event-date ul li b {
		font-size:1.1rem;
	}
	.event-date ul li ul li{
		font-size:1rem;
	}
	
	/* guidelines */
	.guidelines{
		padding:0 30px;
	}
	.guidelines .table-wrap {
	  overflow:hidden;
	  position: relative;
	  margin-bottom: 1rem;

	  scroll-snap-type: x mandatory; 
	  scroll-padding: 1rem; 
	}
	.guidelines .table-wrap .table-inner {
	  position: relative;
	  display: block;
	  overflow-x: scroll;
	}
	.guidelines .table-wrap .table-inner::-webkit-scrollbar {
	  display: none; 
	}
	.guidelines .table-wrap table {
	  width: 100%;
	  scroll-snap-align: start; 
	  border-collapse: collapse; 
	}

	.guidelines .table-wrap::after {
	  content: '';
	  display:block;
	  position: absolute;
	  top: 0;
	  right: 0;
	  width: 30px;
	  height: 100%;
	  pointer-events: none;
	  background: linear-gradient(to left, rgba(255,255,255,1), rgba(255,255,255,0));
	  transition: opacity 0.3s ease;
	  opacity: 1;
	}
	.guidelines .table-wrap.hide-shadow::after {
	  opacity: 0;
	}
	.guidelines p{
		font-size:1rem;
		line-height: 1.4;
	}
	.guidelines p b {
		font-size: 1.15rem;
	}
	.guidelines table th, .guidelines table td{
		font-size:0.9rem;
	}
	.guidelines ol li{
		
	}
	.formula{
		display: flex;
		align-items: center;
	}
	.formula .label br{
		display:block;
	}
	

}
@media (max-width: 640px) {
	.about-img {
        height: 15rem;
		padding:0 20px;
	}
	.about-img-bg{
		background:url('../img/about_bg.png') no-repeat center top / 100%;
	}
	.contents-title{
        font-size: 1.5rem;
    }
	.contents-des{
		line-height: 1.3;
        font-size: 1rem;
	}
	.about-logo > div img{
		width:100%;
	}
	.about .container {
		display: grid	;
		gap: 1rem;
		grid-template-columns: 1fr;
		grid-template-areas:
			"item1"
			"item2"
			"item3"
			"item4"
			"item-full-width";
	}
	.about .container .item {
        height: 20rem;
    }
	/* greeting */
	.greeting-txt .inner {
		padding: 50px 20px 100px 20px;
	}
	.greeting-box-wrap {
		gap: 1rem;
		margin-top: 2rem;
		flex-direction: column;
	}
	.greeting-box img{
		max-width:200px;
		width:100%;
		margin:0 auto;
	}
	.greeting-box .greeting-sign {
		width: 100px;
		display: block;
		margin: 0 auto;
	}

	/* Organizing Committee */
	.person-group .person-box, .branch-group .branch{
		width:100%;
	}
	.level-4 .person-box {
		box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.05);
		-moz-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.05);
	}
	.person-box{
		box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.05);
		-moz-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.05);
	}
	.organization-chart-wrap {
        padding-left: 0;
        padding-right: 0;
    }
	
	/* emblem */
	.emblem-des {
        line-height: 1.3;
        font-size: 1rem;
    }
	.emblem-item {
        margin: 40px 0 0 0;
		width: 46%;
    }
	.emblem-item p {
		font-size: 1rem;
	}
	.emblem-item img{
		padding:1.5rem;
	}
	.emblem-img{
		gap:4%;
		padding-top:20px;
	}
	.emblem-horizontal img {
        padding: 1rem 0.5rem;
    }
	.emblem-item.emblem-horizontal2 img {
        padding: 1rem 0;
    }
	.emblem-horizontal img {
        padding: 1rem 0;
    }
	
	/* event schedule */
	.event-schedule-img{
		height:15rem;
	}
	.event-schedule-bg {
		background: url('../img/event_schedule_img.png') no-repeat left center / cover;
	}

	/* guidelines */
	.guidelines{
		padding:0 20px;
	}


	/* Event Categories */
    .event-item-inner {
        margin-top: 1rem;
    }
	.event-categories-wrap .inner{
		padding:0;
	}
	.event-categories-wrap .contents-title{
		padding:2rem;
	}
	.event-item-txt strong span{
		display:block;
	}
	.event-item-inner {
		background: rgba(255,255,255,1);
		border-radius:0;
		padding:1rem 1rem;
	}
	.tab-wrapper {
		padding-top: 40px;
	}
	.tab-container{
		padding:0 1rem;
	}
	.tab-button{
		background:rgba(255,255,255,0.4);
	}
	.event-item-txt > div > img {
		width: 50px;
		border: 1px solid #ddd;
	}
	#event-categories {
		background-size: 180%;
		background-repeat: no-repeat;
		background-position: top center;
	}
	.tab-wrapper {
		padding-top: 180px;
	}
}
