@charset "utf-8";
html * { -webkit-text-size-adjust: 100%; }
/*
* { margin: 0px; padding: 0px; box-sizing: border-box; }
*/
a, a:link, a:visited, a:hover, a:active { text-decoration: none; }
img { border: 0px none; }

body {
    position: relative;
	width: 100%; 
	height: 100%;
	font-family: 'Microsoft JhengHei','Microsoft YaHei',Arial, Helvetica, sans-serif;
	color: #000000;
	margin: 0 auto;
	background: #ffffff;
	cursor: default;
}

@media only screen and (max-width: 480px) {
body { 
    font-size: 16px; 
	}
}

/************************
TOTAL
************************/
.page-container, .page-wrapper {	
	position: relative;
	display: inline-block;
	padding: 0px; 
	margin: 0px auto; 
	word-wrap: break-word; 
	word-break: normal;
	width: 100%;
	max-width: 1200px;
	text-align: left;
	}
@media (min-width:768px){.page-wrapper{ width:100%; } }
@media (min-width:992px) {.page-wrapper { width:100%; } }
@media (min-width:1024px){.page-wrapper{ width:100%; } }
@media (min-width:1280px){.page-wrapper{ width:100%; } }

@media (min-width:768px) { .page-container { width:100%; } }
@media (min-width:992px) { .page-container { width:100%; } }
@media (min-width:1024px){ .page-container{ width:100%; } }

.page-wrapper img, .page-container img { max-width: 100%; }


/************************
BANNER
************************/ 
.btn_group { 
	position: relative;
	display: inline-block;
	width: 100%;
	text-align: center;
	}
/************************/
.btn { 
	position: relative;
	display: inline-block;
	line-height: 1.0em;
	text-align: center;
	margin: 20px 10px;
	padding: 10px 30px;
	}
.btn, 
.btn:hover { 
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;	
	}
a.btn_00, .btn_00 { 
	min-width: 300px;
	font-size: 30px;
	font-weight: 400;
	padding: 20px 20px;
	color: #ffffff; 
	background: #C01323;
	border-radius: 50px;
	}

@media only screen and (max-width: 992px) {
a.btn_00, .btn_00 { 
	min-width: 250px;
	font-size: 25px;
	padding: 20px 20px;
	}
}
@media only screen and (max-width: 480px) {
a.btn_00, .btn_00 { 
	min-width: 200px;
	padding: 20px 20px;
	}
}	
/************************
KEY-VISUAL
************************/
#main_visual .txt,
#main_visual .box_01,
#main_visual img,
#main_visual {
	position: relative;
	display: inline-block;
    width: 100%;
	text-align: center;		
	}
	
#main_visual {	
	float: left;	
	min-height: 800px;	
	background: #000000;
	background-image: url('../images/technology/kv_bg01.jpg'); 
	background-repeat: no-repeat; 	
    background-position: center top;
    background-size: 100% 800px;
	overflow: hidden;
	}
#main_visual .kv_pic {	
	position: absolute;
	top: 0px;
	right: -5%;
	width: 55%;
	height: 800px;
	text-align: right;
	}	
#main_visual .kv_pic img {	
	max-width: 750px;
	}
	
#main_visual .txt {
	float: left;
	width: 50%;
	text-align: left;	
	padding-top: 180px;
	padding-left: 30px;
	}	
#main_visual .txt img {
    width: 100%;
	}
	
#main_visual .box_01 {
	padding-top: 50px;
	}	
#main_visual .icon li,	
#main_visual .tt,
#main_visual .icon {
	position: relative;
	display: inline-block;
	float: left;
	width: 50%;
	}	
#main_visual .icon li {
	width: 33.3%;
	}
#main_visual .icon {
	text-align: center;	
	}	
#main_visual .icon img {
    width: 100%;
	max-width: 220px;	
	}
#main_visual .tt {	
	float: right;	
	}

@media only screen and (max-width: 992px) {
#main_visual {	
	min-height: 600px;	
    background-size: 100% 600px;
	}
#main_visual .kv_pic {	
	right: -5%;
	width: 65%;
	}	
}
	
@media only screen and (max-width: 768px) {
#main_visual {	
	min-height: 500px;	
    background-size: 100% 500px;
	}	
}

@media only screen and (max-width: 480px) {
#main_visual {	
	min-height: 780px;	
    background-size: 100% 750px;
	}
#main_visual .kv_pic {	
	top: 200px;
	right: 0%;
	width: 100%;
	}
#main_visual .txt,	
#main_visual .tt,
#main_visual .icon {
	float: left;
	width: 90%;
	padding: 0px 5%;
	}
#main_visual .txt {
	padding-top: 80px;
	padding-bottom: 240px;
    text-align: center;	
	}
#main_visual .txt img {
    width: 90%;
	}	
#main_visual .tt {
	padding-bottom: 30px ;
	}
}	


/************************/
.block .box .dd,
.block .box .dt,
.block .tt,
.block .box ul li,
.block .box ul,
.block .box,
.block {
	position: relative;
	display: inline-block;
	width: 100%;
	font-size: 18px;
	line-height: 1.5em;
	}
.block {	
	text-align: center;	
	}	
.block .title_t img,	
.block .title_t {
	position: relative;
	display: inline-block;
	}	
.block .title_t {
	width: 100%;
	text-align: center;
	z-index: 4; 
	padding: 30px 0px; 
	}
.block .title_t img {
	width: 80%;
	max-width: 740px;
	}
	
.block .pic img,
.block .box img {
	position: relative;
	width: 100%;
	}


@media only screen and (max-width: 768px) {


.block .title_t {
	
	padding: 10px 0px; 
	}


.block .pic img.RWD_768,
.block .box img.RWD_768 {
	position: relative;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	}

}

@media only screen and (max-width: 480px) {

.block .pic img.RWD_768,
.block .box img.RWD_768 {
	position: relative;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	}

}



.block .box .note { 
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4em;
	width: 98%;
	padding: 0px 1%;
	padding-top: 20px;	
	}
.block .box .note .cs01 { 
	font-size: 15px;
	font-weight: 600;
	}
	
.block .bg {	
	position: absolute;
	display: inline-block;
	z-index: 0;
	}


@media only screen and (max-width: 992px) {

}
@media only screen and (max-width: 768px) {

}
@media only screen and (max-width: 480px) {

}
/************************/	
.block_01 {
	width: 100%;
	padding-top: 0px; 
	padding-bottom: 0px; 
	background: linear-gradient(to bottom,  #000000 0%,#a77d53 80%);
	}
.block_01 .layer_02,
.block_01 .layer_01 {
	position: relative;
	display: inline-block;
	width: 100%;
	}
.block_01 .layer_01 {
	background-image: url('../images/technology/bg_b101.png'); 
	background-repeat: no-repeat; 	
    background-position: center top;
    background-size: 100% 600px;
	}
	
.block_01 .layer_02 {
	background-image: url('../images/technology/bg_b102.png'); 
	background-repeat: repeat-y; 	
    background-position: center top;
    background-size: 100% auto;
	}	
.block .box {
	width: 80%;
	margin: 0px 5%;
	padding: 0px 5%; 
	}
	
.block .box .dt {
	width: 100%;
	text-align: center;
	font-size: 22px;
	font-weight: 400;
	margin-bottom: 20px;
	}
.block .box .dt-xl {
	font-size: 28px;
	}	
.block_01 .box_01 {
	padding: 30px 5%;
	padding-bottom: 80px;
	}
	
.block_01 .box_01 .note,
.block_01 .box_01 .dt {
	color: #ffffff;
	}
	
.block_01 .box_01 .pic {
	display: inline-block;
	padding: 30px 5%;
	padding-bottom: 30px; 
	}
.block_01 .box_01 li {
	display: inline-block;
	float: left;
	width: 33.3%;
	}
	
.block .box_02 {
	padding: 40px 5% 60px 5%; 
	background-color: #f7f2e7;
	background-repeat: no-repeat; 	
    background-position: right top;
    background-size: 170px auto;
	overflow: hidden;
	}
.block_01 .box_02 {
	background-image: url('../images/technology/box_b1.png'); 
	}	
.block_02 .box_02 {
	background-image: url('../images/technology/box_b2.png'); 
	}	
.block .box_03 {
	padding: 30px 5%; 
	}
	
@media only screen and (max-width: 768px) {
.block_01 .box_01 li {
	width: 100%;
	}
.block .box .dt-xl {
	font-size: 24px;
	}
.block .box .dt {
	font-size: 20px;
	}
}
@media only screen and (max-width: 480px) {
.block .box {
	width: 86%;
	margin: 0px 2%;
	padding: 20px 5%; 
	}
.block .box .dt {
	font-size: 18px;
	}
}	

/************************/
.block_02 {
	float: left;
	width: 100%;
	color: #000000;
	background: linear-gradient(to bottom, #c3a376 0%, #f7eaba 40%, #dec29a 60%);
	}
.block_02 .bk02 {
	width: 100%;
	padding-bottom: 150px; 
	background-image: url('../images/technology/bg_301.jpg'); 
	background-repeat: no-repeat; 	
    background-position: center bottom;
    background-size: 100% 150px;
	overflow: hidden;
	}


@media only screen and (max-width: 992px) {

}	
@media only screen and (max-width: 768px) {

}	
@media only screen and (max-width: 480px) {
.block_02 .bk02 {
	padding-bottom: 150px; 
    background-size: 100% 300px;
	}
}



/************************/
.block_03 {
	width: 100%;
	color: #000000;
	background: linear-gradient(to bottom, #fdfaea 0%, #fff9da 40%, #ffffff 50%);
	}
.block_03 .dt.dt-xl {
	padding-top: 80px; 
	padding-bottom: 20px; 
	}

	
@media only screen and (max-width: 992px) {

}	
@media only screen and (max-width: 768px) {

}	
@media only screen and (max-width: 480px) {

}

/************************/
.block_05 {
	width: 100%;
	padding-top: 50px; 
	padding-bottom: 100px; 
	color: #000000;
	background: linear-gradient(to bottom, #ffffff 80%, #fff1dc 100%);
	}
	

.block_05 .box_04 .btn_group {
	position: relative;
	display: inline-block;
	width: 90%;
	padding: 0px 5%; 
	}
.block_05 .box_04 li {
	position: relative;
	display: inline-block;
	width: 30.3%;
	padding: 0px 1%; 
	text-align: center;
	}
.block_05 .box_04 li img.icon {
	display: inline-block;
	width: 50%;
	max-width: 70px;
	padding: 0px 5%; 
	}	
@media only screen and (max-width: 992px) {
.block_05 .box_04 li img.icon {
	max-width: 60px;
	}
}	
@media only screen and (max-width: 768px) {
.block_05 .box_04 li {
	width: 48%;
	margin: 10px 0px; 
	}
.block_05 .box_04 li:last-child {
	width: 100%;
	}
.block_05 .box_04 li img.icon {
	max-width: 50px;
	}
}
/************************/
table {
	width: 100%;
	font-size: 18px;
	border-collapse: separate;
	border-radius: 10px 10px 0 0;
	overflow: hidden; 
	margin: 10px 0px; 
}
table.ts01  {
	background: #C01323;
}
table.ts02  {
	background: #b08208;
}
table thead th {
	color: #ffffff;
	font-size: 18px;
	font-weight: 700;
	text-align: center;
	padding: 5px 0px;
}
table tbody {
	background: #ffffff;
}
table tbody td {
    min-height: 40px;	
	padding: 5px 5px;
}
table tbody tr:nth-child(even) {
	background-color: #efefef;
}

@media only screen and (max-width: 768px) {
	table {
	font-size: 16px;
	line-height: 1.3em;
	}
table thead th {

	line-height: 1.3em;
	padding: 10px 20px;
}



}





/************************/
.btn_group .btn_li {
	width: -moz-fit-content;
	width: fit-content;
}
.btn_group .btn_li a {
	position: relative;
	display: inline-block;
	width: 330px;
	justify-content: center;
	align-items: center;
	padding: 30px 0px;
	border-radius: 50px;
	background: #C01323;
	font-size: 30px;
	font-weight: 700;
	color: #ffffff;
	}
/************************/	
	
.for_sub_popup .tab_list,
.startShow .txt_13 {	
	font-size: 18px;
	}
.part_notice_content {	
	font-size: 18px;
	font-weight: 700;
	}

	
/************************/

.cs01 { color: #e30021; }
.cs02 { color: #e30021; font-size: 14px; margin-top: -5px;  }
.cs03 { color: #ffaa00; }

.font_14 { font-size: 14px; font-weight: 400; }
.font_16 { font-size: 16px; }
.font_18 { font-size: 18px; }

.pc_992, .pc_768, .pc_480 { display: block; }
.mo_992, .mo_768, .mo_480 { display: none; }	

@media only screen and (max-width: 992px) {
.pc_992 { display: none; }
.mo_992 { display: block; }
}
@media only screen and (max-width: 768px) {
.pc_768 { display: none; }
.mo_768 { display: block; }
}
@media only screen and (max-width: 480px) {
.pc_480 { display: none; }
.mo_480 { display: block; }
}

.container {
  display: grid;
}

.container_pc {
display: grid;
}

.container_mo {
display:none;
}

@media only screen and (max-width: 768px) {


.container_pc {
display:none;
}

.container_mo {
display: grid;
}

}

.container span  {
  /* 將圖片全部放在第 1 行、第 1 列 */
  grid-column: 1 / 1;
  grid-row: 1 / 1;
  
  /* 確保圖片寬度符合容器 */
  width: 100%;
  display: block;
}