/* =========================
DBDream
========================= */
@font-face{
	font-family:'DBDream';
	src:url('/fonts/DBDreamM.woff2') format('woff2');
	font-weight:500;
	font-style:normal;
	font-display:swap;
}

@font-face{
	font-family:'DBDream';
	src:url('/fonts/DBDreamEB.woff2') format('woff2');
	font-weight:800;
	font-style:normal;
	font-display:swap;
}

/* =========================
DBGothic
========================= */
@font-face{
	font-family:'DBGothic';
	src:url('/fonts/DBGothicL.woff2') format('woff2');
	font-weight:300;
	font-style:normal;
	font-display:swap;
}

@font-face{
	font-family:'DBGothic';
	src:url('/fonts/DBGothicM.woff2') format('woff2');
	font-weight:500;
	font-style:normal;
	font-display:swap;
}

@font-face {
	font-family: 'BMWTypeNext';
	src: url('/fonts/BMWTypeNext-Bold.woff') format('woff');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* ---------------------------
Reset
--------------------------- */

*{
	margin:0;
	padding:0;
	box-sizing:border-box;
}

html,body{
	overflow-x:hidden;
}

body{
	font-family:'DBGothic', sans-serif;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	line-height:1;
}

body.menu_locked{
	overflow:hidden;
}

ul{
	list-style:none;
}

a{
	text-decoration:none;
	color:inherit;
}

img{
	display:block;
	width:100%;
	height:auto;
}

.imagemap {
	position:relative;
	width:100%;
}

.click_logo {
    position: absolute;
    top: 20%;
    height: 60%;
    left: 50%;
    transform: translateX(-50%);
    width: 160px;
}



/* ---------------------------
Common
--------------------------- */

.container{
    max-width: 1170px;
    margin: 0 auto;
    padding: 80px 0px 128px;
    text-align: center;
}



/* ---------------------------
Hero
--------------------------- */

.hero{
	position:relative;
	margin-top:104px;
	height:840px;
	color:#fff;
	overflow:hidden;
}

/* 배경을 viewport 기준으로 확장 */
.hero_bg{
	position:absolute;
	top:0;
	left:50%;
	transform:translateX(-50%);

	width:100vw;
	height:100%;

	background:url("/images/hero_bg.png") center center / cover no-repeat;
}

/* 어두운 오버레이 */
.hero::after{
	content:"";
	position:absolute;
	inset:0;
	background:rgba(0,0,0,0.35);
}

.hero_inner{
	position:relative;
	z-index:2;

	height:100%;

	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	text-align:center;
}

.hero h1{
	font-size:76px;
	font-weight:800; /* 실제 있는 weight */
	margin-bottom:76px;
	font-family:'DBGothic', sans-serif;
}

.hero_line{
	width:70px;
	height:4px;
	background:#fff;
	margin:0 0 58px;
}

.hero_date{
	font-size:22px;
	margin-bottom:15px;
}

.hero_place{
	font-size:22px;
	margin-bottom:75px;
}


/* buttons */

.hero_buttons{
	display:flex;
	gap:30px;
}

.btn{
	border-radius:33px;
	color:#fff;
	text-decoration:none;
	font-size:22px;
	font-weight:600;

	width:190px;
	height:60px;

	display:flex;
	align-items:center;
	justify-content:center;
	transition:all .2s;
}

.btn:hover{
	transform:translateY(-2px);
}

.btn.orange{
	background:#f15a22;
}

.btn.blue{
	background:#0088cb;
}

.btn.green{
	background:#4fb84f;
}



/* ---------------------------
Section 2
--------------------------- */

.section_title{
	font-size: 30px;
    font-weight: 800;
    margin-bottom: 30px;
    color: #1e4437;
	font-family:'DBGothic', sans-serif;
}

.section_line {
    width: 70px;
    height: 4px;
    background: #007d3d;
    margin: 0px auto 30px;	
}

.section_sub{
	margin-bottom: 100px;
    color: #1e4437;
    
    font-size: 22px;
    font-weight: 700;
}

.info_grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:40px;
}

.info_item img{
	width: 70px;
    margin: 0px auto 10px;
    margin-bottom: 10px;
}

.info_item h3{
	font-size: 14px;
    margin-bottom: 20px;
    color: #285a65;
}

.info_item p{
	font-size:16px;
	font-weight:700;
	color:#1e4437;
}



/* ---------------------------
Section 3
--------------------------- */

.sponsor{
	background:#f4f4f4;
}

.sponsor_item{
	margin-bottom:40px;
}

.sponsor_item:last-child {
    margin-bottom: 0;
}

.sponsor_title{
	font-size: 20px;
    color: #1e4437;
    font-weight: 700;
    margin-bottom: 18px;
}

.sponsor_item img{
	width: 206px;
    margin: 0 auto;
}



/* ---------------------------
Footer
--------------------------- */

.footer{
	background:#222;
	color:#aaa;
}

.footer_inner{
	max-width:1200px;
	margin:0 auto;
	padding:40px 20px;
	text-align:center;
}

.footer_address{
	font-size:13px;
	margin-bottom:8px;
	color:#bbb;
}

.footer_copy{
	font-size:12px;
	color:#888;
}


.pc {display:block;}
.mobile {display:none;}

/* ---------------------------
Responsive
--------------------------- */

@media (max-width:768px){

.pc {display:none;}
.mobile {display:block;}

.logo {
	margin-left:5%;
 }

.hero{
	height:500px;
}

.hero_bg{
	height:100%;
	width:100vw;
	background-position:center;
	background-size:cover;
}


.hero h1{
	font-size:30px;
}

.info_grid{
	grid-template-columns:1fr 1fr;
	gap:30px;
}

}

@media (max-width:768px){

	.logo {
		margin-left:5%;
		width:200px;
	 }
	 
	 .hero h1 {
		margin-bottom: 38px;
	}

	.hero_line {
		margin: 0px 0 29px;
	}

	.hero_date {
		font-size: 16px;
		margin-bottom: 8px;
	}

	.hero_place {
		font-size: 16px;
		margin-bottom: 36px;
	}

	.hero_buttons {
		gap: 15px;
	}

	.btn {
		border-radius: 22px;
		font-size: 16px;
		width: 88px;
		height: 36px;
	}

	.container {
		width: 100%;
		margin: 0 auto;
		padding: 80px 10px 128px;
	}

	.section_title {
		font-size: 25px;
	}

	.section_sub {
		margin-bottom: 100px;
		color: #1e4437;
		font-size: 16px;
		font-weight: 700;
	}

	.info_item img {
		width: 56px;
	}

	.info_item p {
		font-size: 10px;

	}

}

@media (max-width:480px){

	.header_inner {
		height: 60px !important;
	}

	.hero {
		margin-top: 64px;
		height:640px;
	}
	 
	.hero h1 {
		margin-bottom: 38px;
		width: 74%;
		line-height:1.2;
		font-size: 38px;
	}

	.hero_line {
		width: 40px;
		height: 2px;
	}
    .hero_date{
        font-size: 14px;
        margin-bottom: 10px;
    }
    .hero_place {
        font-size: 14px;
        margin-bottom: 55px;
    }
	
	.hero_buttons {
		display: block;
	}
	
    .btn {
        font-size: 18px;
        width: 186px;
        height: 48px;
		margin-bottom:16px;
    }

    .container {
        width: 100%;
        margin: 0 auto;
        padding: 70px 10px 128px;
    }

    .section_title {
		font-size:26px;
        width: 80%;
        margin: 0 auto 34px;
    }
	
	.section_line {
		width: 40px;
		height: 2px;
		margin: 0px auto 24px;
	}

	.section_sub {
        margin-bottom: 50px;
    }
	
	.info_grid {
		grid-template-columns: 1fr; /* 한 줄에 하나 */
		gap: 55px;
	}
	
	.info_item img {
        width: 74px;
    }
	
	.info_item h3 {
		font-size: 16px;
	}
	
    .info_item p {
        font-size: 18px;
    }

	.footer_address {
		margin-bottom: 22px;
	}
	
	.btn {
		line-height:0.1;
    }

}