/* 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 capxion, #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 figcapxion, #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 figcapxion, #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 img{
	max-width: 100%;
	vertical-align:middle;
}
/* 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: 25vw;
}
#fade .load_img img{
	display: block;
	height: auto;
	width: 100px;
	/*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{
	font-family: 'Noto Serif TC',serif;
	overflow-x: hidden;
	color:#222;
}

.sp{display: none!important;}

#mainframe .wrapper{
	font-size: 14.5px;
}
#mainframe .mv{
	max-width: 1300px;
	margin: auto;
	padding: 0;
}
@media screen and (min-width: 1300px){
	#mainframe .mv{
		padding: 1.8em 1.5em;
	}
}
#mainframe .intro{
	margin: 5em auto 5.5em auto;
}
#mainframe .intro p{
	margin: auto;
	letter-spacing: 0.1em;
	line-height: 230%;
	white-space: pre-line;
	text-align: center;
}
#mainframe .index, #mainframe .index-sp{
	display: none;
	width: 10%;
	max-width: 130px;
	position: fixed;
	right: .5%;
	top: 5%;
	z-index: 50;
}
#mainframe .index a, #mainframe .index-sp a{
	display: block;
	width: 100%;
	position: relative;
	margin-bottom: 10px;
}
#mainframe .index a img, #mainframe .index-sp a img{
	filter: brightness(0.8);
	transition: linear .3s;
}
#mainframe .index a:hover img{
    filter: brightness(0.9);
}
#mainframe .index a p, #mainframe .index-sp a p{
	font-family: "Gilda Display", serif;
   font-size: 24pt;
   font-weight: 500;
   text-align: center;
   color: #FFF;
   position: absolute;
   top: 40%;
   left: calc((100% - 32px) / 2);
}
#mainframe .content{
	margin: auto;
	padding: 8em 0 8.5em 0;
	position: relative;
}
#mainframe .content:nth-of-type(odd){
	background: #eaf1eb;
}
#mainframe .content h1{
	font-family: "Gilda Display",'Noto Serif TC', serif;
	font-weight: 600;
	font-size: 18px;
	text-align: center;
	white-space: pre-line;
	letter-spacing: 0.08em;
	line-height: 250%;
	margin-bottom: 2em;
	position: relative;
}
#mainframe .content h1 small{
	display: inline-block;
	font-weight: 400;
	letter-spacing: 0.07em;
	transform: translateY(-25%);
	margin-right: 10px;
}
#mainframe .content h1 span{
	font-family: "Be Vietnam Pro", sans-serif;
    font-weight: 600;
    font-size: 48px;
	display: inline-block;
	margin-bottom: 10px;
	letter-spacing: 0;
}
#mainframe .content h1 span em{
	-webkit-text-stroke: 1px #222;
	color: transparent;
}
#mainframe .content h1::before{
	content: '';
	display: block;
	background: #81ba8f;
	width: 130px;
	height: 1px;
	position: absolute;
	top: 55%;
	left: calc((100% - 130px) / 2);
}
#mainframe .inner{
	max-width: 1000px;
	margin: auto;
	margin-bottom: 5em;
}
#mainframe .items{
	max-width: 900px;
	margin: auto;
	position: relative;
}

#mainframe .items::before{
	content: '';
	background: #81ba8f;
	display: block;
	width: 1px;
	height: 30px;
	margin: 0 auto 1em auto;
}
/*===== slider setting =====*/
#mainframe .swiper-container{
	width: 40%;
	height: auto;
	margin: 0 auto;
}
#mainframe .swiper-pagination-bullet{
	display: block;
	margin-bottom: 7px;
}
#mainframe .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet{
	margin: 0 0 8px;
}
#mainframe .swiper-container-horizontal > .swiper-pagination-bullets{
	left: 20px;
}

#mainframe .itemsSwiper{
	width: 85%;
	margin: 0 auto;
	overflow: hidden;
}
#mainframe .itemsSwiper .swiper-pagination-items .swiper-pagination-bullet{
	display: inline-block;
	margin: 0 4px;
}
#mainframe .swiper-pagination.swiper-pagination-items.swiper-pagination-black.swiper-pagination-clickable.swiper-pagination-bullets{
	left: 0;
	bottom: -30px;
}
#mainframe .swiper-button-prev:after, #mainframe .swiper-button-next:after{
	font-size: 20px;
}
#mainframe .swiper-button-prev, #mainframe .swiper-button-next{
	color: #222;
}
#mainframe .swiper-button-prev, #mainframe .swiper-button-next{
	width: calc(var(--swiper-navigation-size) / 20 * 27);
}

#mainframe .swiper-button-next, #mainframe .swiper-container-rtl .swiper-button-prev,
#mainframe .swiper-button-prev, #mainframe .swiper-container-rtl .swiper-button-next{
	background-image: none!important;/*為了官網寫的*/
}

/*===== slider setting END =====*/

#mainframe .textBox{
	width: 40%;
	margin: auto;
}
#mainframe .textBox p{
	width: 90%;
	margin: 1.3em auto 0 auto;
	line-height: 200%;
	text-align: justify;
	letter-spacing: .07em;
}

#mainframe .mainBtn{
	font-family: "Gilda Display", serif;
	font-size: 100%;
	text-align: center;
	letter-spacing: .05em;
	width: 130px;
	padding: 13px 0;
	margin: 20px auto 0 auto;
	display: block;
	color: #fff;
	background: #222;
	transition: linear .3s;
}

#mainframe .mainBtn:hover{
	opacity: .7;
}
#mainframe .mainBtn .arrow{
	display: inline-block;
	width: 5px;
	height: 5px;
	background: transparent;
	border-top: 1px solid #fff;
	border-right: 1px solid#fff;
	transform: rotate(45deg) translateY(-4px);
}
#mainframe .content h3{
	font-family: "Gilda Display", serif;
	font-weight: 500;
	text-align: center;
	font-size: 22px;
	letter-spacing: .03em;
	line-height: 25px;
	margin-bottom: 30px;
	position: relative;
}
#mainframe .content h3 small{
	display: block;
	font-size: 70%;
	letter-spacing: .08em;
	color: #81ba8f;
}
/*#mainframe .content h3 small::before{
	display: inline-block;
	content: '';
	width: 5px;
	height: 25px;
	background: transparent;
	border-color: #222;
	border-style: solid;
	border-width: 1px 0 1px 1px;
	position: absolute;
	bottom: 0;
	left: calc(50% - 100px);
}
#mainframe .content h3 small::after{
	display: inline-block;
	content: '';
	width: 5px;
	height: 25px;
	background: transparent;
	border-color: #222;
	border-style: solid;
	border-width: 1px 1px 1px 0;
	position: absolute;
	bottom: 0;
	right: calc(50% - 100px);
}*/
#mainframe .moreItems{
	display: flex;
	justify-content: center;
	max-width: 1000px;
	margin: auto;
}
#mainframe .item{
	width: 18%;
	padding: 0 10px;
}
#mainframe .itemName{
	display: block;
	font-size: 90%;
	text-align: center;
	letter-spacing: .03em;
	margin-top: 10px;
	line-height: 140%;
}
#mainframe .more-btn{
	font-family: "Lato", sans-serif;
	display: block;
	font-size: 110%;
	text-align: center;
	letter-spacing: .04em;
	font-weight: 400;
	color: #222;
	border: solid 1px;
	width: fit-content;
	width: -moz-fit-content;
	width: -ms-fit-content;
	width:-webkit-fit-content;
	padding: 1.2em 2.5em;
	-webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
    margin:6em auto 0 auto;
}
#mainframe .more-btn:hover{
	-webkit-transform: translateY(6px);
    transform: translateY(6px);
}
#mainframe .gotop{
	width: 40px;
	position: fixed;
	right: 20px;
   bottom: 4.5em;
   z-index: 99;
}
#mainframe .gotop:hover{
	opacity: 0.6;
}

/*======= mobile setting ======= */

@media screen and (max-width: 640px){
	#mainframe .wrapper{
		/*font-size: 15px;*/
	}
	#fade .load_img{
		padding-top: 75%;
	}
	.pc{display: none!important;}
	.sp{display: block!important;}
	#mainframe .wrapper{
		width: 100%;
		overflow-x: hidden;
		padding-bottom: 0;
	}
	#mainframe .mv{
		width: 100%;
	}
	#mainframe .intro{
		width: 75%;
		margin: 4em auto;
	}
	#mainframe .intro p{
		text-align: justify;
	}
	#mainframe .index-sp{
		position: static;
		display: flex;
		width: 80%;
		max-width: unset;
		margin: auto;
		justify-content: space-around;
		flex-wrap: wrap;
		margin-bottom: 3em;
	}
	#mainframe .index-sp a{
		display: block;
		width: calc((100% - 50px) / 4);
		position: relative;
		margin-bottom: 20px;
	}
	#mainframe .content{
		padding: 5em 0 6.5em 0;
	}
	#mainframe .inner{
		margin-bottom: 3em;
	}
	#mainframe .content h1{
		margin-bottom: 1em;
	}
	#mainframe .swiper-container{
		width: 90%;
	}
	#mainframe .itemsSwiper{
		width: 85%;
	}
	
	#mainframe .textBox{
		width: 90%;
		margin: 10px auto 0 auto;
		padding: 1em 0 0 0;
	}

	#mainframe .swiper-button-prev, #mainframe .swiper-button-next{
		width: calc(var(--swiper-navigation-size) / 48 * 10);
		top: 53%;
	}
	
}

@media(max-width: 480px){
	#mainframe .index-sp{
	}
	#mainframe .index-sp a{
		width: calc((100% - 40px) / 2);
	}
	
}

@media(max-width: 376px){
	
}

