/* bootstrap 5 fix */
@media (prefers-reduced-motion: no-preference) {
	:root {
		scroll-behavior: auto;
	}
}
:root{
	--font1: 'Noto Serif TC', serif;
	--font2: 'Noto Sans TC', sans-serif;
	--size2: 16px;
	--font_w1: normal;
}
*{
	position: relative;
	box-sizing: border-box;
}
body{
	margin: 0;
	font-family: 'Bellota Text', 'Noto Sans TC', sans-serif;
	padding-top: 70px;
	color: #0E203C;
}
.notp{
	padding-top: 0;
}
img{
	position: relative;
	display: block;
	max-width: 100%;
}
a{
	display: inline-block;
}
a, a:hover, a:focus{
	text-decoration: none;
}
a:focus{
	outline: none;
}
section{
	position: relative;
	overflow: hidden;
}
.flex{
	display: flex;
	flex-wrap: wrap;
}
.flex-1{
	flex: 1;
}
.center{
	margin-left: auto;
	margin-right: auto;
}
.t-center{
	text-align: center;
}
.t-right{
	text-align: right;
}
.v-center{
	top: 50%;
	transform: translateY(-50%);
}
.flex-center{
	justify-content: center;
}
.flex-v-center{
	align-items: center;
}
.show-xl, .show-lg, .show-md, .show-sm, .hide{
	display: none;
}
.container, .container-fluid, .container-xxl{
	padding-left: 15px;
	padding-right: 15px;
}
body.nopt{
	padding-top: 0;
}
.wow{
	visibility: hidden;
	animation-duration: 1.5s;
}

/* header */
header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 70px;
	z-index: 9999;
}
.header_bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	transition: opacity 0.5s;
}
.menu{
	height: 100%;
	padding-top: 23px;
	padding-left: 230px;
}
.menu_item{
	padding-left: 30px;
	padding-right: 30px;
}
.menu_btn{
	font-family: var(--font1);
	font-size: 16px;
	color: #686868;
	font-weight: var(--font_w1);
	letter-spacing: 1px;
	padding-bottom: 6px;
}
.menu_btn:hover::after{
	position: absolute;
	content: "";
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #E9653F;
}
.menu_right{
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
}
.menu_right_div{
	padding-top: 20px;
	padding-right: 20px;
}
.menur_item{
	padding-left: 13px;
	padding-right: 13px;
}
.menur_btn{
	width: 30px;
	height: 30px;
	overflow: hidden;
}
.menur_btn:hover img{
	top: -30px;
	filter: drop-shadow(0 30px #e9653f);
}
.lang_btn{
	font-size: 18px;
	color: #686868;
	font-weight: bold;
	text-align: center;
	padding-top: 3px;
}
.lang_text{
	display: none;
}
.lang_text.active{
	display: block;
}
.lang_btn:hover{
	color: #e9653f;
}
.menu_res_div{
	height: 100%;
}
.menu_res_btn{
	width: 180px;
	height: 100%;
	font-family: var(--font2);
	font-size: var(--size2);
	color: #fff;
	text-align: center;
	background-color: #E9653F;
	padding-top: 22px;
}
.menu_res_btn:hover{
	background-color: #EC4D1F;
}
.header_logo{
	position: absolute;
	top: 16px;
	left: 30px;
	width: 133px;
	overflow: hidden;
}
.mobile_btn{
	position: absolute;
	top: 17px;
	right: 20px;
	width: 24px;
	height: 24px;
	overflow: hidden;
	cursor: pointer;
	display: none;
}
/* header nobg */
header.type2 .header_bg{
	opacity: 0;
}
header.type2 .header_logo img{
	left: -200px;
	filter: drop-shadow(200px 0 #fff);
}

header.type2 .mobile_btn img{
	top: -30px;
	filter: drop-shadow(0 30px #fff);
}
header.active .header_logo img{
	left: 0;
}
header.active .header_bg{
	opacity: 1;
}

header.active .mobile_btn img{
	top: 0;
}
@media (min-width: 992px){
	header.type2 .menu_btn{
		color: #fff;
	}
	header.type2 .menur_btn img{
		top: -30px;
		filter: drop-shadow(0 30px #fff);
	}
	header.type2 .menur_btn:hover img{
		top: -30px;
		filter: drop-shadow(0 30px #e9653f);
	}
	header.type2 .lang_btn{
		color: #fff;
	}
	header.type2 .lang_btn:hover{
		color: #e9653f;
	}
}

/* index */
.kv{
	height: 900px;
	background-image: url(../img/kv_bg.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.kv_con{
	top: 50%;
	transform: translateY(-50%);
}
.kv_title1{
	font-family: var(--font1);
	font-size: 32px;
	color: #fff;
	text-align: center;
}
.kv_title2{
	font-family: var(--font1);
	font-size: 48px;
	color: #fff;
	font-weight: var(--font_w1);
	text-align: center;
}
.index_sec{
	padding-top: 120px;
	padding-bottom: 120px;
}
.sec_title{
	font-size: 45px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 30px;
}
.award_item{
	margin-bottom: 120px;
}
.award_box{
	display: block;
	height: 100%;
	padding-bottom: 40px;
	border-bottom: 6px solid #E9E7E3;
}
.awardb_img_div{
	width: 146px;
	height: 146px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
	overflow: hidden;
}
.awardb_img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 0.3s;
}
.awardb_title{
	font-family: var(--font1);
	font-size: 18px;
	color: #0E203C;
	font-weight: var(--font_w1);
	text-align: center;
	letter-spacing: 1px;
	margin-bottom: 15px;
}
.awardb_text{
	font-family: var(--font2);
	font-size: var(--size2);
	color: #0E203C;
	text-align: center;
	letter-spacing: 1px;
}
.main_btn{
	min-width: 160px;
	font-size: 18px;
	color: #E9653F;
	font-weight: bold;
	letter-spacing: 1px;
	text-align: center;
	padding: 13px 33px;
	border: 1px solid #E9653F;
}
.main_btn:hover{
	color: #fff;
	background-color: #E9653F;
}
.sec_chef{
	padding-top: 40px;
	padding-bottom: 80px;
	background: linear-gradient(#fff 40%, #0E203C 40%);
}
.chef_img_div{
	padding: 0 50px;
}
.chef_img{
	width: 100%;
	max-width: 1500px;
	margin-left: auto;
	margin-right: auto;
}
.shef_con{
	margin-left: auto;
	margin-right: auto;
	transform: translateY(-45px);
}
.sec_sub2{
	font-size: 18px;
	font-weight: bold;
}
.sec_title2{
	font-family: var(--font1);
	font-size: 45px;
	font-weight: var(--font_w1);
	margin-bottom: 30px;
}
.sec_hr2{
	width: 50px;
	height: 6px;
	background-color: #E9653F;
	margin-bottom: 50px;
}
.shef_con_div{
	width: 50%;
}
.shef_text{
	width: 540px;
	left: 50%;
	font-family: var(--font2);
	font-size: var(--size2);
	color: #fff;
	letter-spacing: 1px;
	line-height: 2em;
}
.shef_text p{
	margin-bottom: 25px;
}
.chef_sp{
	position: absolute;
	bottom: 0;
	left: 0;
}
.exhibit_slick img{
	width: 100%;
	height: 700px;
	max-width: none;
	object-fit: cover;
}
.exhs_title{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	font-size: 22px;
	color: #fff;
	font-weight: bold;
	text-align: center;
	letter-spacing: 1px;
	padding-left: 15px;
	padding-right: 15px;
	padding-bottom: 20px;
}
.w720{
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}
.menu_text{
	font-family: var(--font2);
	font-size: var(--size2);
	text-align: center;
	letter-spacing: 1px;
	line-height: 2em;
	margin-bottom: 60px;
}
.menu_row_div{
	margin-bottom: 100px;
}
.menur_title{
	width: 50%;
	font-family: var(--font1);
	font-size: 18px;
	color: #111111;
	font-weight: var(--font_w1);
	letter-spacing: 1px;
	text-align: right;
	padding-right: 30px;
	padding-bottom: 15px;
}
.menur_sp{
	width: 1px;
	background-color: #E9653F;
}
.menur_text{
	flex: 1;
	font-family: var(--font2);
	font-size: var(--size2);
	letter-spacing: 1px;
	padding-left: 35px;
	padding-bottom: 15px;
}
.menu_row:last-child .menur_title{
	padding-bottom: 0;
}
.menu_row:last-child .menur_text{
	padding-bottom: 0;
}
.sec_rest{
	background: linear-gradient(#E9E7E3 75%, #fff 75%);
	padding-top: 150px;
	padding-bottom: 150px;
}
.rest_img{
	width: 50%;
}
.rest_img img{
	width: 100%;
	max-width: none;
}
.rest_con{
	width: 50%;
	padding-left: 120px;
}
.rest_text{
	max-width: 550px;
	font-family: var(--font2);
	font-size: var(--size2);
	letter-spacing: 1px;
	line-height: 2em;
	padding-top: 100px;
}

/* footer */
.footer_div{
	height: 500px;
	padding-top: 150px;
	background-color: #0E1217;
}
.footer_sp{
	position: absolute;
	bottom: 0;
	right: 0;
}
.footer_logo{
	width: 226px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 80px;
}
.footer_text{
	font-size: 16px;
	color: #fff;
	text-align: center;
	letter-spacing: 1px;
	margin-bottom: 5px;
}
.footer_text_en{
	font-size: 18px;
	color: #fff;
	text-align: center;
	letter-spacing: 1px;
	margin-bottom: 5px;
}
.copyright{
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	padding: 19px 0;
}

/* about */
.page_sec_01{
	padding-top: 100px;
	padding-bottom: 20px;
}
.page_hr{
	width: 50px;
	height: 4px;
	background-color: #E9653F;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 80px;
}
.w960{
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}
.about_text{
	font-family: 'Noto Serif TC', serif;
	font-size: 18px;
	letter-spacing: 1px;
	text-align: center;
	line-height: 2em;
	margin-bottom: 80px;
}
.about_sub{
	font-family: var(--font1);
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 1px;
	text-align: center;
	margin-bottom: 60px;
}

/* menu */
.menu_sec{
	padding-top: 110px;
	padding-bottom: 20px;
}
.menu_main{
	padding-top: 120px;
	padding-bottom: 120px;
	background-color: #3e4d63;
}
.menu_pbtn_div{
	justify-content: center;
	margin-left: -15px;
	margin-right: -15px;
	margin-bottom: 100px;
}
.menu_pbtn{
	display: block;
	width: 180px;
	text-align: center;
	cursor: pointer;
	margin-left: 15px;
	margin-right: 15px;
}
.menu_pbtn_text{
	display: inline-block;
	font-size: 18px;
	color: #fff;
	padding-bottom: 20px;
}
.menu_pbtn:hover .menu_pbtn_text::after, .menu_pbtn.active .menu_pbtn_text::after{
	position: absolute;
	content: "";
	bottom: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: #E9653F;
}
.menu_page{
	display: none;
}
.menu_page.active{
	display: block;
}
.edit_area img{
	width: auto !important;
	height: auto !important;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 40px;
}

/* event */
.event_sec{
	padding-top: 60px;
	padding-bottom: 120px;
}
.event_box .awardb_img_div{
	width: 300px;
	height: 300px;
}
.event_box .awardb_title{
	height: 54px;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.event_box:hover .awardb_img{
	transform: scale(1.05);
}
.event_box:hover .awardb_title{
	color: #E9653F;
}
.event_box:hover .awardb_text{
	color: #E9653F;
}
.w720{
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}
.eventp_sec{
	padding-top: 60px;
	padding-bottom: 120px;
}
.eventp_img{
	margin-bottom: 40px;
}
.eventp_img img{
	margin-left: auto;
	margin-right: auto;
}
.eventp_title{
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 1px;
	margin-bottom: 30px;
}
.eventp_date{
	font-family: var(--font2);
	font-size: 18px;
	letter-spacing: 1px;
	text-align: center;
	margin-bottom: 30px;
}
.eventp_hr{
	height: 6px;
	background-color: #E9E7E3;
	margin-bottom: 35px;
}
.eventp_text{
	font-size: 18px;
	margin-bottom: 30px;
}
.eventp_text img{
	width: auto !important;
	height: auto !important;
	margin-left: auto;
	margin-right: auto;
}
.eventp_btn_div{
	text-align: center;
	padding-top: 100px;
}


/* setting */
.white{color: #fff;}
.mb-10{margin-bottom: 10px;}
.mb-20{margin-bottom: 20px;}
.mb-30{margin-bottom: 30px;}

@media (max-width: 1440px){
	.kv{
		height: 700px;
	}
	.kv_title1{
		font-size: 26px;
	}
	.kv_title2{
		font-size: 42px;
	}
	.rest_con{
		padding-left: 40px;
	}
}

/* xl */
@media (max-width: 1199px){
	.show-xl{
		display: block;
	}
	.hide-xl{
		display: none;
	}
	
	.menu{
		padding-left: 200px;
	}
	.menu_item{
		padding-left: 15px;
		padding-right: 15px;
	}
	.menur_item{
		padding-left: 10px;
		padding-right: 10px;
	}
	.menu_res_btn{
		width: 150px;
	}
	
	.shef_text{
		width: 100%;
		left: 0;
	}
	.rest_con{
		padding-left: 0;
	}
	.rest_text{
		width: 100%;
		padding-top: 0;
	}
}

/* lg */
@media (max-width: 991px){
	.show-lg{
		display: block;
	}
	.hide-lg{
		display: none;
	}
	body{
		padding-top: 60px;
	}
	
	/* header */
	header{
		height: 60px;
	}
	.menu{
		position: absolute;
		top: 60px;
		left: 0;
		width: 100%;
		height: calc(100vh - 60px);
		padding: 20px 0;
		background-color: #fff;
		overflow-y: auto;
		border-top: 1px solid #ddd;
		display: none;
	}
	.menu_item{
		width: 100%;
		padding: 15px;
		text-align: center;
	}
	.menu_right{
		position: relative;
		
		height: auto;
	}
	.menu_right_div{
		width: 100%;
		padding-right: 0;
		padding-bottom: 20px;
	}
	.menu_right_div > .flex{
		justify-content: center;
	}
	.menu_res_div{
		width: 100%;
		height: auto;
		text-align: center;
		padding-top: 20px;
	}
	.menu_res_btn{
		width: 180px;
		height: 60px;
		padding-top: 15px;
	}
	.header_logo{
		width: 100px;
		top: 17px;
		left: 15px;
	}
	.mobile_btn{
		display: block;
	}
	.body_top{
		height: 60px;
	}
}

/* md */
@media (max-width: 767px){
	.show-md{
		display: block;
	}
	.hide-md{
		display: none;
	}
	
	.kv{
		height: 500px;
	}
	.kv_title1{
		font-size: 18px;
		margin-bottom: 15px;
	}
	.kv_title2{
		font-size: 22px;
	}
	.index_sec{
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.sec_title{
		font-size: 28px;
		margin-bottom: 20px;
	}
	.award_item{
		margin-bottom: 80px;
	}
	.sec_chef{
		background: #fff;
		padding-bottom: 0;
	}
	.chef_img_div{
		padding: 0;
	}
	.shef_con{
		transform: translateY(0);
		background-color: #0E203C;
		padding-top: 30px;
		padding-bottom: 50px;
	}
	.sec_title2{
		font-size: 28px;
		margin-bottom: 20px;
	}
	.sec_hr2{
		margin-bottom: 40px;
	}
	.exhibit_slick img{
		height: 300px;
	}
	.exhs_title{
		font-size: 18px;
		padding-bottom: 10px;
	}
	.sec_rest{
		background: #fff;
		padding-top: 50px;
		padding-bottom: 0;
	}
	.menu_row_div{
		margin-bottom: 70px;
	}
	.menur_title{
		width: 40%;
	}
	.rest_img{
		width: 100%;
	}
	.rest_con{
		width: 100%;
		padding-top: 40px;
		padding-bottom: 60px;
		background-color: #E9E7E3;
	}
	.footer_div{
		height: auto;
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.footer_logo{
		width: 160px;
		margin-bottom: 50px;
	}
	.page_sec_01{
		padding-top: 50px;
	}
	.page_hr{
		margin-bottom: 40px;
	}
	.about_text{
		margin-bottom: 40px;
	}
	.about_sub{
		font-size: 20px;
		margin-bottom: 20px;
	}
	.menu_sec{
		padding-top: 50px;
		padding-bottom: 1px;
	}
	.menu_main{
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.menu_pbtn_div{
		margin-bottom: 60px;
	}
	.event_sec{
		padding-top: 30px;
		padding-bottom: 50px;
	}
	.eventp_sec{
		padding-top: 30px;
	}
	.eventp_btn_div{
		padding-top: 70px;
	}
}

/* sm */
@media (max-width: 575px){
	.show-sm{
		display: block;
	}
	.hide-sm{
		display: none;
	}
	.menu_pbtn{
		width: 50%;
		margin-left: 0;
		margin-right: 0;
	}
}