@charset "utf-8";
/* CSS Document */
/* ---reset.css--- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

html{ background:url("../images/bg_fixed.png") bottom no-repeat fixed,url("../images/bg_color1.jpg") top center repeat;   scroll-behavior: smooth;}
header { position: absolute; top: 0; left: 0; z-index: 1;}




/* PC */
.WRAPPER{ position:relative; width:100%; min-width:1200px; margin:0 auto; overflow:hidden;}
 	@media screen and ( max-width: 991px ){
		.WRAPPER{ min-width:100%;}
	}
.container { overflow: hidden; }
.topbox { position: relative; width: 1200px; margin: auto;}
.kv_pc {width: 100%;  position: relative; text-align:center; display: flex;justify-content: center;max-width: 1920px; margin: auto;flex-wrap: wrap-reverse;}
.kv_pc img { display: block; text-align: center; }
.kv_m { display: none; }
.kv_m img { display: block; }
.kv_m a {font-size: 0; display: block; }
.for_pc{ display: block; }
.for_m { display: none; }

/* m */
@media screen and ( max-width: 991px ){
	.kv_m { display: block; width: 100%; }
	.kv_m img {  width: 100%; }
	.kv_pc { display: none; }
	.container {width: 100%; min-width: auto; }
	.for_pc{ display: none; }
	.for_m { display: block; }
}


/* ------------------   共通設定  ------------------ */
/* 元件調整 */
.hightlight li {border-radius: 1em; overflow: hidden;}
.crosswise_3p li {border-radius: 1em;}


/* 區塊調整 */
.crosswise_3p {margin:20px auto 20px;}
section.sp {margin:80px auto;}
@media screen and ( max-width: 991px ){
	section.sp {margin:6vw auto 15vw;}
	.block_6 section{margin: 0vw auto 15vw;}
}

/* 版面微調 */
.brand {margin: 20px auto 20px;}
.hightlight .font p{margin:0px 0px 10px 0px;}
.boxmix-forbn .box-mix ul.hightlight li img {width:180px !important;} 
.hightlight img{object-fit: contain;}
@media screen and ( max-width: 991px ){
	.boxmix-forbn .box-mix ul.hightlight {width: 100% !important;}
	.boxmix-forbn .box-mix ul.hightlight li img {width:100% !important;} 
	.hightlight .font p{margin:auto;}	
}


/* color */
.hightlight .font h4 {background: url("../images/bg_color1.jpg");}

/* font */
@font-face { font-family: barrel; src: url("../font/barrel.ttf");}
	.titleC.btt {background: url("../images/btt.png")top center no-repeat; padding: 168px 0 30px;}
	.titleC h2 { font-family: barrel; font-size: 4rem; color: #013171;}

@media screen and ( max-width: 991px ){
	.titleC.btt {width: 100vw; background-size: 140%; padding: 27vw 0 6vw;}
	.titleC h2{font-size: 2.4rem;}
}









/* ------------------ 安全字 ------------------ */
.notice{ width: 100%; margin: 0 auto; text-align: center; padding:10px 0; font-size: 1rem; line-height: 1.2rem; color: #000; background:url("../images/bg_color3.jpg");}

@media screen and ( max-width: 991px ){
	.notice{ padding: 1vw 0; margin: 0 auto; line-height: 1.5rem;}
}


/* ------------------ BG------------------ */
section {max-width: 1200px; margin: 0px auto 40px; 
    background:url("../images/bg_color5.jpg");
    border: 2px solid #c9a063;
    border-radius: 30px;
    -webkit-box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 991px) {
	section {
		border-radius: 1em;
		margin: 0vw auto 8vw;
		padding: 2vw 0 0;
	}
}


/* ------------------ 版頭動畫 ------------------ */
.kv_title_1 img {position:absolute; top: 99px;  left: 116px; animation: backInLeft 2s ease-in;  animation-fill-mode: forwards;}
.kv_title_2 img {position:absolute; top: 132px; left: 676px; animation: backInRight 2s ease-in; animation-fill-mode: forwards;}
.kv_title_3 img {position:absolute; top: 294px; left: 627px; animation: jello-horizontal 2s linear both; animation-fill-mode: forwards; animation-delay: 1s;}
.kv_date {position:absolute; top: 620px; left: 705px; animation: flipInX 1.5s ease-in;} 
.kv_sale {position:absolute; top: 394px;left: 670px; animation: pulse infinite; animation-fill-mode: forwards;}

.img_1 img {position:absolute; top: 300px; left: 92px;  animation: float 3s infinite; animation-fill-mode: forwards;animation-delay: 1s;}

.img_2 img {position:absolute; top: 442px; left: 457px;  animation: ani 1s -3.2s infinite ease-in-out; transform-origin: bottom center; animation-fill-mode: forwards;animation-delay: 1s;}

@keyframes jello-horizontal{0%{transform:scale3d(1,1,1)}30%{transform:scale3d(1.25,.75,1)}40%{transform:scale3d(.75,1.25,1)}50%{transform:scale3d(1.15,.85,1)}65%{transform:scale3d(.95,1.05,1)}75%{transform:scale3d(1.05,.95,1)}100%{transform:scale3d(1,1,1)}}
@keyframes float {
	0% { transform:translateY(20px);}
	50% {transform:translateY(50px);}
	100% {transform:translateY(20px);}
  }
@keyframes ani{0%{ transform:scaleY(1);} 10%{transform:scaleY(1);} 30%{transform:scaleY(1.02);} 50%{transform:scaleY(0.98);}  70%{transform:scaleY(1);} 100%{transform:scaleY(1);}}
@-webkit-keyframes backInLeft {
    0% {
        opacity: .7;
        -webkit-transform: translateX(-2000px) scale(.7);
        transform: translateX(-2000px) scale(.7)
    }

    80% {
        opacity: .7;
        -webkit-transform: translateX(0) scale(.7);
        transform: translateX(0) scale(.7)
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes backInLeft {
    0% {
        opacity: .7;
        -webkit-transform: translateX(-2000px) scale(.7);
        transform: translateX(-2000px) scale(.7)
    }

    80% {
        opacity: .7;
        -webkit-transform: translateX(0) scale(.7);
        transform: translateX(0) scale(.7)
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.animate__backInLeft {
    -webkit-animation-name: backInLeft;
    animation-name: backInLeft
}

@-webkit-keyframes backInRight {
    0% {
        opacity: .7;
        -webkit-transform: translateX(2000px) scale(.7);
        transform: translateX(2000px) scale(.7)
    }

    80% {
        opacity: .7;
        -webkit-transform: translateX(0) scale(.7);
        transform: translateX(0) scale(.7)
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes backInRight {
    0% {
        opacity: .7;
        -webkit-transform: translateX(2000px) scale(.7);
        transform: translateX(2000px) scale(.7)
    }

    80% {
        opacity: .7;
        -webkit-transform: translateX(0) scale(.7);
        transform: translateX(0) scale(.7)
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.animate__backInRight {
    -webkit-animation-name: backInRight;
    animation-name: backInRight
}









/* ------------------ promotion-版頭行銷資訊 ------------------ */
.block_00 ul {
    width: 1200px;
	padding: 0 0 0 0;
    margin: 40px auto;
    display: flex;
    justify-content: space-evenly;
}

.a1 {animation: bounceInUp; animation-delay: 0s;}
.a2 {animation: bounceInUp; animation-delay:.5s;}
.a3 {animation: bounceInUp; animation-delay: 1s;}
.a4 {animation: bounceInUp; animation-delay: 1.5s;}


@media screen and ( max-width: 991px ){
	.block_00 ul { width:100%;display: flex; flex-wrap: wrap;padding: 0 0 0 0; margin: 5vw auto 2vw; justify-content: center;}
	.block_00 ul li { margin:1vw;}
	.block_00 .kv_m a {margin: 0 10px; padding: 5px 0;}	
    .block_00 img {display: block; width: 46vw;}
	.block_00 .titleC h2 { margin: 0 auto;}
	}



/* ------------------  5品輪播-如何於誠品電子書App 購買商品  ------------------ */
.block_3 {background:url("../images/side_deco_1.png")  center repeat-y,url("../images/bg_color1.jpg");padding:80px 0 0;}
.block_3 .titleC.btt {  padding: 168px 0 30px; margin: 0 auto 0; letter-spacing: -.2rem;}
.block_3 .slick-dots {display: none !important;}

.regular4item-intro li {
	background: transparent !important;
  }
  .regular4item-intro .font {
	height: 110px;
  }
  .regular4item-intro .font h4 {
	font-size: 22px;
	font-weight: 500;
	line-height: 1.2;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	margin: 0 auto;
	border-radius: 100px;
	padding: 0 30px;
	background: #0e7ac0;
    color: #fff;
  }
  .regular4item-intro .font p {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.2;
	height:100px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	color: #fff;
  }
  .regular4item-intro img {
	width: 220px !important;
	height: 504px;
	object-fit: contain !important;
	margin: 10px auto;
  }
  @media screen and (max-width: 991px) {
	.block_3 {padding:8vw 0 0;}
	.block_3 .titleC.btt {width: 100vw; background-size: 180%; padding: 32vw 0 4vw;}
	.block_3 .slick-dots {display: block !important;}
	.block_3 .slick-dots li button:before {font-size: 30px !important; color: #1374a8;}
	.items5 li {
		width: 96vw !important;
		padding: 3vw;
		margin: 1vw;
	}
	.regular4item-intro .font {
	  height: 26vw !important;
	}
	.regular4item-intro img {
	  width: 60vw !important;
	  height: 126vw !important;
	}
	.bg_5 {
	  margin-bottom: 0vw;
	}
	.regular4item-intro .font h4 {
	  font-size: 6vw;
	  padding: 0 6vw;
	  height: 10vw;
	}
	.regular4item-intro .font p {
	  font-size: 4.5vw;
	  height: 16vw;
	}
  }


/* ------------------  立即享受完整體驗  ------------------ */
.icon { width: 960px; margin: 20px auto 0;}
.icon ul{ display: flex; justify-content: space-between; flex-wrap: wrap;}

@media screen and (max-width: 991px) {
	.icon { width: 96%; margin: 1vw auto 0; padding: 0;}
	.icon li img { width: 31vw; margin: 0;}
	}


/* ------------------  關鍵字  ------------------ */
	.keywordA li {
		border: solid 2px #fff;
		background: #013171;
		-webkit-box-shadow: 4px 4px 0px transparent;
				box-shadow: 4px 4px 0px transparent;
		border-radius: 999em;}

	.keywordA li:hover {background-color: #0e7ac0;}
	.keywordA li a {color: #fff;}
.keywordA ul {width: 1200px ;
    padding: 0 200px ;
}

	@media screen and (max-width: 450px) {
		.keywordA li a {font-size: 16px;}
		.keywordA ul {width: auto;
    padding:0 ;
}
	}



/* ------------------  more  ------------------ */
.more {
	display: inline-block;
	font-weight: 800;
	font-size: 20px;
	color: #fff;
	background-color: #013171;
	padding: 0.3em 0.5em;
	border-radius: 999em;
	margin-left: 0.5em;
	font-family: Verdana, 'Noto Sans TC', 'Microsoft JhengHei', sans-serif;
  }
  .subtitle .more a { color: #fff;}

  @media screen and (max-width: 450px) {
	.more {font-size: 16px;}
  }
  .more:hover {
	color: #fff;
	background-color: #f08f6d;
	-webkit-transition: 0.5s;
	transition: 0.5s;
  }



/* ------------------  五品特殊  ------------------ */
.special_5p_1 .hightlight_5p { width: 1160px; margin: 0 auto; padding: 10px 0; background:transparent; border-radius: 15px;}
.special_5p_1 .hightlight_5p ul { align-items: flex-end;}
.special_5p_1 .hightlight_5p ul li { height: auto; margin-top: 0; border-radius: 1em; padding: 0 0 10px;}
.special_5p_1 .hightlight_5p ul li:first-child { width: 240px; height: auto; }
.special_5p_1 .hightlight_5p ul li:first-child img { width: 240px; height: 240px;}

.special_5p_1 .title_AA h3 {
    font-family: barrel;
    color: #013171;
    border-left: none;
    font-size: 2.4rem;
    letter-spacing: 0px;
    padding: 55px 0 60px 0px;
    width: 100%;
    display: flex;
    position: absolute;
    justify-content: center;
    align-items: center;
    left: 130px;
    top: -65px;
    background: url("../images/title_AA.png") top center no-repeat;
}
.special_5p_1 .hightlight_5p ul li h4 {background: url("../images/bg_color1.jpg"); }
.title_AA .more { padding: 8px 20px 8px; top: -8px; right: 100px;}

@media screen and ( max-width: 991px ){
	.special_5p_1 {width: 100vw;}
	.special_5p_1 .hightlight_5p { width: 100vw; margin: 0 auto ; padding: 2vw 0;}
    .special_5p_1 .hightlight_5p ul li:first-child{width:100%;}
	.special_5p_1 .hightlight_5p ul li:first-child img { width: 45vw; height: 45vw;}
	.special_5p_1 .hightlight_5p ul li {padding:0 0 0 0;}
	
	.special_5p_1 .title_AA {
		display: flex;
		flex-direction: column;
		margin: -12vw auto 20vw;
		height: auto;
	}

	.special_5p_1 .title_AA h3 {
		width: 100%;
		left: 0;
		padding: 15vw 0;
		top: -6vw;
		font-size: 2rem;
		background: url("../images/title_AA_m.png")top center no-repeat;
		background-size: 98vw;
	}

	.title_AA .more {
		padding: 1vw 4vw 1vw;
		right: 5vw;
	}

	.title_AA .more a {
		font-size: smaller;
		color: #fff;
	}
}



/*--  錨點微調--*/
.target-fix {position: relative;top: 0px;display: block;height: 0;overflow: hidden;}
@media screen and ( max-width: 991px ) {
.target-fix {top:-30px;}
	}
/*--  錨點微調--*/


/* ------------------ 館別連結 ------------------ */
.go_btn {
	max-width: 800px;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 20px auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	gap: 20px;
  }
  @media screen and (max-width: 450px) {
	.go_btn {
	  -webkit-box-orient: vertical;
	  -webkit-box-direction: normal;
		  -ms-flex-direction: column;
			  flex-direction: column;
	}
  }
  .go_btn a {
    display: block;
    text-align: center;
    font-size: 30px;
    line-height: 1.2;
    color: #fff;
    padding: 0.4em 1em;
    background: url("../images/bg_color2.jpg");
    border-radius: 999em;
}
  @media screen and (max-width: 991px) {
	.go_btn a {
	  font-size: 24px;
	}
  }


/*--  nav 選單 固定側邊--*/
@media only screen and (min-width: 992px) {
	.menustyle2 {
		width: 140px;
		display: flex;
		flex-wrap: wrap;
		z-index: 999;
		height: auto;
		position: fixed;
		top:160px;
		right: 10px;
		border-radius: 99em;
		background:url("../images/bg_color5.jpg");
		border: 1px solid #fff;
	}
	.menustyle2 ul {
	  margin: 0 auto;
	  display: flex;
	  flex-direction: column;
	  padding: 40px 5px;
	  flex-wrap: wrap;
	}
	.menustyle2 ul li {
	  width: 100%;
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  border-bottom: .5px dotted #013171;
	}

	.menustyle2 ul li:nth-last-child(1){border-bottom: none;}


	.menustyle2 ul li a {
	  margin: 0 auto;
	  text-decoration: none;
	  font-size: .92rem;
	  color:#013171;
	  display: flex;
	  width: fit-content;
	  justify-content: center;
	  align-items: center;
	  padding: 8px 8px;
	  flex-direction: column;
	  line-height: 1.1rem;
	  border-radius: 999em;
	  text-align: center;
	}
	.menustyle2 ul li a:hover {
	  color:  #00a5c7 !important;
	  /* background: #fff;
	  transform: scale(1);
	  border-radius: 999em; */
	}
	.menustyle2 ul .active {
	  color:  #0009bb !important;
	  background: #fff;
	  border-radius: 999em;
	}
  }
  @media screen and (max-width: 991px) {
	.menustyle2::-webkit-scrollbar {
	  display: none;
	}
	.menustyle2 {
	  width: 100%;
	  z-index: 999;
	  padding: 2vw 1vw;
	  display: block;
	  background: #013171;
	  flex-direction: column;
	  flex-wrap: wrap;
	  position: absolute;
	  overflow-x: auto;
	  justify-content: center;
	  white-space: nowrap;
	  webkit-overflow-scrolling: touch;
	  -ms-overflow-style: -ms-autohiding-scrollbar;
	  height: auto;
	  border-bottom: 1px solid #fff;
	}
	.menustyle2 ul {
	  width: 100%;
	  margin: 0 auto;
	  flex-wrap: nowrap;
	  display: flex;
	}
	.menustyle2 ul li {
	  width: fit-content;
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  box-sizing: border-box;
	}
	.menustyle2 ul li a {
	  font-size: 1rem;
	  letter-spacing: 0px;
	  color: #fff;
	  box-sizing: border-box;
	  padding: 1.5vw 2.5vw;
	  font-weight: 700;
	  border-right: 1px solid #fff;
	}
	.menustyle2 ul li a:hover {
	  color: #00a5c7 !important;
	  background: #fff;
	  width: 100%;
	  justify-content: center;
	  align-items: center;
	  text-align: center;
	  border-radius: 99em;
	}
	.menustyle2 ul .active {
	  color: #003e80 !important;
	  background: #fff;
	  width: 100%;
	  justify-content: center;
	  align-items: center;
	  text-align: center;
	  border-radius: 99em;
	}
	.sticky {
	  position: fixed;
	  top: 0;
	}
  }
  

  .menustyle2:after {
    content: "";
    display: inline-block;
    width: 127px;
    padding-bottom: 135px;
    background-size: contain;
    background: url("../images/menu_deco.png")top center no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: translate(18%, -60%);
    transform: translate(4%, -63%);
}




  
  /*手機版選單下滑出現*/
  @media screen and (max-width: 991px) {
	.menustyle2:after {background: none;}
	#TopMenu2 {
	  transition: background-color 1s, opacity 1s, visibility 1s;
	  opacity: 0;
	  visibility: hidden;
	  z-index: 999;
	  position: absolute;
	  top: 0;
	}
	#TopMenu2.show {
	  opacity: 1;
	  visibility: visible;
	  position: fixed;
	  top: 0;
	}
  }


 /*--goto top--*/          
 #gotop {display: inline-block;background-color: #000; width: 40px;height: 40px;text-align: center;border-radius: 100%;position: fixed;bottom: 0px;right: 0px;transition: background-color .3s, opacity .5s, visibility .5s;opacity: 0;visibility: hidden;z-index: 1000;margin: 30px;}          
 #gotop::after {position: absolute;display: block;font-family: FontAwesome;content: '　';font-weight: normal;font-style: normal;font-size: 2em; line-height: 50px;color: #fff;opacity: 0.5;background: url("../images/top.png") center no-repeat;background-size: 50%;background-position: 85% 35%;}         
 #gotop:hover {cursor: pointer;background-color: #666;}          
 #gotop:active {background-color: #ccc;}          
 #gotop.show {opacity: 0.4;visibility: visible;}          
 @media screen and ( max-width: 991px ){          
 #gotop {bottom: 70px;right: 0;margin: 2vw;}
 }         
 /* share url */          
 #share{display: inline-block;background-color: #000;opacity:0.4;width: 40px;height: 40px;text-align: center;border-radius: 100%;position: fixed;bottom: 50px;right: 0px;transition: background-color .3s, opacity .5s, visibility .5s;z-index: 1000;margin: 30px;}
 #share::after{position: absolute;display: block;font-family: FontAwesome;content: '　';font-weight: normal;font-style: normal;font-size: 2em; line-height: 50px;color: #fff;opacity: 0.5;background: url("../images/share.png") center no-repeat;background-size: 50%;background-position: 80% 35%;}
 #share:hover{cursor: pointer;background-color: #666;}
 #share:active{background-color: #666;}
 @media screen and ( max-width: 991px ){
 #share{bottom:115px;right: 0;margin: 2vw;}
 }                    
 @media screen and ( max-width: 991px ){          
 html{padding-bottom: 80px;}          
 } 