/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

#mainframe div, #mainframe span, #mainframe applet, #mainframe object, #mainframe iframe,
#mainframe h1, #mainframe h2, #mainframe h3, #mainframe h4, #mainframe h5, #mainframe h6, #mainframe p, #mainframe blockquote, #mainframe pre,
#mainframe a, #mainframe abbr, #mainframe acronym, #mainframe address, #mainframe big, #mainframe cite, #mainframe code,
#mainframe del, #mainframe dfn, #mainframe em, #mainframe img, #mainframe ins, #mainframe kbd, #mainframe q, #mainframe s, #mainframe samp,
#mainframe small, #mainframe strike, #mainframe strong, #mainframe sub, #mainframe sup, #mainframe tt, #mainframe var,
#mainframe b, #mainframe u, #mainframe i, #mainframe center,
#mainframe dl, #mainframe dt, #mainframe dd, #mainframe ol, #mainframe ul, #mainframe li,
#mainframe fieldset, #mainframe form, #mainframe label, #mainframe legend,
#mainframe table, #mainframe caption, #mainframe tbody, #mainframe tfoot, #mainframe thead, #mainframe tr, #mainframe th, #mainframe td,
#mainframe article, #mainframe aside, #mainframe canvas, #mainframe details, #mainframe embed, 
#mainframe figure, #mainframe figcaption, #mainframe hgroup, 
#mainframe menu, #mainframe nav, #mainframe output, #mainframe ruby, #mainframe section, #mainframe summary,
#mainframe time, #mainframe mark, #mainframe audio, #mainframe video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
#mainframe article, #mainframe aside, #mainframe details, #mainframe figcaption, #mainframe figure, 
#mainframe hgroup,#mainframe  menu, #mainframe nav, #mainframe section {
	display: block;
}
#mainframe {
	line-height: 1;
}
#mainframe ol, #mainframe ul {
	list-style: none;
}
#mainframe blockquote, #mainframe q {
	quotes: none;
}
#mainframe blockquote:before, #mainframe blockquote:after,
#mainframe q:before, #mainframe q:after {
	content: '';
	content: none;
}
#mainframe table {
	border-collapse: collapse;
	border-spacing: 0;
}
#mainframe a{
	text-decoration: none;
	color: inherit;
}

#mainframe{
	font-family: 'Noto Sans TC', 'Microsoft JhengHei', '微軟正黑體', Arial, Helvetica, sans-serif;
	/*overflow-x: hidden;*/
	color:#333;
}

/* Page Loader */

#fade{
    display:none;
    width:100%;
    height:100%;
    background: #FFF;
    position: fixed;
    top:0px;
    left:0px;
    z-index:99;
}
#fade .load_img{
    display: block;
    margin: auto;
    padding-top: 40vh;
}
#fade .load_img img{
	display: block;
	height: auto;
	width: 150px;
	background:transparent;
	/*animation: flash 3s linear infinite;*/
	margin: auto;
}
@-webkit-keyframes flash{
	0%,50%,to{opacity:1}25%,75%{opacity:0}}
@keyframes flash{0
	%,50%,to{opacity:1}25%,75%{opacity:0}}

#mainframe img{
	max-width: 100%;
	vertical-align:middle;
}
#mainframe .sp{display: none!important;}


#mainframe .wrapper{
	display: flex;
	min-height: 100vh;
}

#mainframe #mainVisual {   
	width: 50%; 
	height: 100vh;  
	position: sticky;   
	top: 0;
	overflow: hidden;
} 
#mainframe #mainVisual .mainImg {   
	width: 100%;   
	position: relative;   
	/*background-color: #f3e6d0;  */  
} 
#mainframe #mainVisual .mainImg::before {   
	content: "";   
	display: block;   
	width: 100%;   
	height: 100%;   
	/*background-color: rgba(0, 0, 0, 0.05);*/   
	position: absolute;   
	top: 0;   
	left: 0;   
	z-index: 5; 
}
#mainframe #mainVisual .mainImg .listBox {   
	display: flex;   
	overflow: hidden;   
	height: 20vh;
    width: max-content;
    width: -webkit-max-content;
} 
#mainframe #mainVisual .mainImg .listBox.last-listBox{
	margin-bottom: 0;
}
#mainframe #mainVisual .mainImg .listBox ul {   
	display: flex;   
	height: 100%;
} 
#mainframe #mainVisual .mainImg .listBox ul.leftFlow {   
	-webkit-transform: translate3d(0,0,0);
          transform: translate3d(0,0,0);
	animation: infinity-scroll-left 15s linear infinite;
	-webkit-animation: infinity-scroll-left 15s linear infinite;
} 
#mainframe #mainVisual .mainImg .listBox ul.rightFlow {   
	will-change: transform;
    -webkit-transform: translate3d(0,0,0);
          transform: translate3d(0,0,0);
	animation: infinity-scroll-right 15s linear infinite; 
	-webkit-animation: infinity-scroll-right 15s linear infinite; 
} 
#mainframe #mainVisual .mainImg .listBox ul li {   
	height: 100%; 
	margin: 0;
	flex-shrink: 0;/* 用 flex 特性讓圖片原尺寸撐開 */
} 
#mainframe #mainVisual .mainImg .listBox ul li img{
	width: auto;
	height: 100%;
	display: block;
	aspect-ratio: auto;/* 行動端 Safari 救星：
       強制瀏覽器在圖片加載完成前就保留渲染位置，避免寬度被算成 0 */
}
/*⬇︎mainVisual(animation) setting⬇︎*/
@-webkit-keyframes infinity-scroll-left {   
  from { -webkit-transform: translate3d(0, 0, 0); }   
  to   { -webkit-transform: translate3d(-100%, 0, 0); } 
}

@keyframes infinity-scroll-left {   
  from { transform: translate3d(0, 0, 0); }   
  to   { transform: translate3d(-100%, 0, 0); } 
}

@-webkit-keyframes infinity-scroll-right {   
  from { -webkit-transform: translate3d(-100%, 0, 0); }   
  to   { -webkit-transform: translate3d(0, 0, 0); } 
}

@keyframes infinity-scroll-right {   
  from { transform: translate3d(-100%, 0, 0); }   
  to   { transform: translate3d(0, 0, 0); } 
}

#mainframe #mainVisual .ttl{
	width: 55%;
	position: absolute;
	margin: auto;
	top: 36%;
	left: 0;
	right: 0;
	z-index: 6;
}
/*mainVisual setting END*/

#mainframe .layoutRight{
	-webkit-box-flex: 1;
    -webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	width: 50%;
	min-height: 100vh;
}
#mainframe .intro{
	background: url(../images/bg_checker.png);
	padding: 6em 0;
}
#mainframe .intro h2{
	font-family: "Montserrat", sans-serif;
	font-weight: 500;
	font-size: 11pt;
	text-align: center;
	margin-bottom: 15px;
}
#mainframe .intro p{
	width: 76%;
	margin: auto;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 230%;
	white-space: pre-line;
	text-align: justify;
	padding: 3em;
	background: #FFF;
	border-radius: 30px;
}

#mainframe .content{
	width: 100%;
	margin: auto;
	padding: 6em 0;
	position: relative;
	background: #e4ecf5;
}
#mainframe .content:nth-of-type(1),
#mainframe .content:nth-of-type(2),
#mainframe .content:nth-of-type(3){
	border-bottom: 2px dotted #FFF;
}
#mainframe .slider{
	width: 50%;
	margin: auto;
}
#mainframe .cyilaboImg{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 5% 0 5% 0;
}
#mainframe .img1{
	width: 40%;
	margin-right: 5%;
}
#mainframe .img2{
	width: 35%;
}
#mainframe .slider img,#mainframe .img1 img,#mainframe .img2 img{
	border-radius: 30px;
}
#mainframe .content h2{
	font-size: 16px;
	font-weight: 600;
	text-align: center;
	letter-spacing: .07em;
}
#mainframe .content h2 span{
	font-family: "Montserrat", sans-serif;
	display: inline-block;
	letter-spacing: .02em;
	margin-right: 5px;
}
#mainframe .btn{
	display: block;
	font-family: "Montserrat", sans-serif;
	letter-spacing: .03em;
	font-weight: 500;
	font-size: 12px;
	width: 100px;
	color: #fff;
	background: #333;
	text-align: center;
	padding: 10px;
	margin: auto;
	margin-top: 1em;
	transition: ease .3s;
}
#mainframe .btn:hover{
	transform: translateY(5px);
}
#mainframe .content:last-of-type{
	background: #d7e3f0;
}
#mainframe .about{
	width: 76%;
	margin: auto;
	border-radius: 30px;
	background: #FFF;
	padding: 3em;
}
#mainframe .aboutIMG{
	width: 200px;
	margin: auto;
}
#mainframe .about h3{
	font-family:"Montserrat", sans-serif;
	color: #036db8;
	text-align: center;
	font-weight: 600;
	font-size: 16px;
	letter-spacing: .04em;
	margin-bottom: 15px;
}
#mainframe .about p{
	font-size: 14px;
	text-align: justify;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 200%;
	white-space: pre-line;
	margin-top: 1.5em;
}
#mainframe .ig{
	display: block;
	text-align: center;
	font-size: 15px;
	font-weight: 500;
	font-family:"Montserrat", sans-serif;
	margin-top: 15px;
	letter-spacing: .03em;
	vertical-align: middle;
	color: #036db8;
	transition: ease .3s;
}
#mainframe .ig i{
	font-size: 18pt;
	margin-right: 6px;
	vertical-align: middle;
}
#mainframe .fa-brands, .fab{
    font-family: "Font Awesome 6 Brands";
}
#mainframe .ig:hover{
	opacity: .6;
}


#mainframe .more-btn{
	font-family: "Montserrat",sans-serif;
	display: block;
	text-align: center;
	letter-spacing: .03em;
	font-size: 14px;
	font-weight: 500;
	color: #FFF;
	background: #036db8;
	width: fit-content;
	width: -moz-fit-content;
	width: -ms-fit-content;
	width:-webkit-fit-content;
	padding: 1.2em 2.5em;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  margin:3em auto 0 auto;
}
#mainframe .more-btn:hover{
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
}

/*======= mobile setting ======= */

@media screen and (max-width: 768px){
	#fade .load_img{
	
	}
	#mainframe .wrapper{
		display: block;
		width: 100%;
		overflow-x: hidden;
		padding-bottom: 0;
	}
	#mainframe .sp{
		display: block!important;
	}
	#mainframe .pc{
		display: none;
	}
	#mainframe #mainVisual .mainImg .listBox.sp{
		display: flex!important;
	} 
	#mainframe #mainVisual{
		width: 100%;
		height: auto;
	}
	#mainframe #mainVisual .ttl{
		width: 85%;
		top: 45%;
	}
	
	#mainframe #mainVisual .mainImg .listBox{   
		height: 12vh;
	} 
	#mainframe .layoutRight{
		width: 100%;
	}
	#mainframe .intro{
		width: 100%;
		margin: auto;
	}
	#mainframe .intro p{
		font-size: 14px;
		padding: 2.5em;
		text-align: justify;
	    line-height: 220%;
	}
	#mainframe .rightBox{
		width: 100%;
		margin: 20px auto 0 auto;
	}
	#mainframe .slider{
		width: 65%;
	}
	#mainframe .about{
		padding: 2.5em;
	}
	#mainframe .aboutIMG{
		width: 170px;
	}
	#mainframe .about h3{
		font-size: 18px;
	}
	#mainframe .about p{
		font-size: 15px;
	}
	#mainframe .ig{
		font-size: 17px;
	}
	
}

@media(max-width: 414px){
	
}

@media(max-width: 376px){
	
}


