@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.jpg") repeat;
	scroll-behavior: smooth;
}
	@media screen and ( max-width: 640px) {
		html{ padding-bottom: 10vw;}
	}

/* Public Version 公版顏色設定 */
:root {
	--PV-eslite: #a82130; /* 誠品線上標準色 */
}

/* pc */
.WRAPPER{ position:relative; max-width:1920px; min-width:1200px; margin:0 auto; overflow:hidden;}
 	@media screen and ( max-width: 640px ){
		.WRAPPER{ width:100%; min-width:100%; max-width:100%; }
	}
.container { overflow: hidden; margin:0 auto; }
.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; }

.kv-sp{ position:absolute; top: 436px; right: 47px;}
.kv-title{ position:absolute; top:-4px; left:438px;}
.kv-decoTxt{ position:absolute; top:146px; left:36px;}
.kv-decoJet{ position:absolute; top: 25px; right: 138px; animation:float 12s ease-in-out 0s infinite alternate; }
	@keyframes float {
		0% { transform: translate(0px ,-5px);}
		20% { transform: translate(-2px ,5px);}
		40% { transform: translate(0px ,-12px);}
		60% { transform: translate(0px ,5px);}
		80% { transform: translate(2px ,-5px);}
		100% {transform: translate(0px ,5px);}
	}

.kv-book { position:absolute; z-index:999; right:0; left:0; width:1200px; margin:0 auto; display:grid; justify-items:right; }
.kv-book img{ display:block; width:170px; height:auto; margin:5px 10px; }
	@media screen and ( max-width: 640px ){
		.kv-book{ background:rgba(255,255,255,0.3); position:initial; width:100%; margin:4vw auto 0 auto; padding:2vw; display:flex; justify-items:center; align-items: center; }
		.kv-book img{ width:18vw !important; height:auto; margin:0 2vw 0 1vw; }
	}

/* m */
@media screen and ( max-width: 640px ){
	.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; }
}


 /* ----------------------CUSTOMERIZATION---------------------- */
h2 { color:#2d2d2d; margin:10px auto 5px auto; /*font-family: Verdana,'Noto Serif TC','Microsoft JhengHei',sans-serif;*/  }
h2 p{ color:#e9d481; background:#003362; border-radius:35px 0; display:table; margin:5px auto 0 auto; padding:5px 20px; font-size:1.2rem; line-height:2rem; letter-spacing:2px;}
.half h2 { width:100%; margin: 0 auto; }
.titleB { margin:0 auto; padding-top:20px; }
.titleB h2{ width:1160px; background:url("../images/bg_theme.png") no-repeat center 80%/100%; letter-spacing:5px; font-weight:bold; top: 15px; z-index: 2;}
.titleB h2:before, .titleB h2:after{ background-color:unset;}

/*A*/
.rectangle_3p{ margin:0 auto; }
.rectangle_3p li{ width: 358px;}

.rectangle{ margin:0 auto; }
.rectangle li { width: 266px;}
.rectangle .font h4 { color: var(--PV-eslite);}

.keywordA{ padding:10px 30px;}
.keywordA li{ margin: 5px 8px; padding:7px 20px; background:none; box-shadow:4px 4px 0px #000; border-radius:100% / 15%;}
.keywordA li:hover{ background:#fff;} 

/*B*/
.hightlight {  margin: 0 auto; position:relative; padding-top:15px;}
.hightlight .font h4{ background: var(--PV-eslite);}
.hightlight img { object-fit: contain; padding:4%;}
.half ul h3{ border-bottom:1px dashed; padding-bottom:5px;}
.items3 li{ width:350px;} .items3 img { width: 360px; height: 360px; margin:0 auto; }

.crosswise {  margin: 0px auto;}
.crosswise .font { padding: 10px;}
.crosswise .font h4{ color: var(--PV-eslite);}
.crosswise li { margin:6px; width:532px; padding:20px 20px 20px 30px;}
.toptitle {  margin:0px auto;}
.toptitle img { object-fit: contain; padding:4%;}

.recommend_2p { margin: 0 auto;}
.recommend_2p li { background:#fff; margin:6px; width:532px; padding:20px 20px 20px 30px;}
.various {  margin: 0px auto;}
.various .font h4{ top:250px;}

.recommend{ background:none; margin:0 auto; padding:30px 60px;}
.bg_recommend .various { width:1100px; margin:0 auto; padding:10px 0; border-radius: 100% 1% 70% 100% / 0.5% 10% 2% 2%; border:2px dashed #333333; overflow: hidden;}

.crosswise_3p .font h4{ color: var(--PV-eslite);}
.crosswise_3p img{ display:flex; order:2; background:#fff; border-radius:15px; padding:2%;}

	@media screen and (max-width: 640px){
		h2 { font-size:2rem; padding:2vw 0; position:initial; margin:6vw 0 2vw 0; background:none;}
		h2 p{ font-size:1rem; line-height:1.2rem; letter-spacing:1px; }
		.half h2 { margin:2vw;}
		.titleB { margin:0 auto; padding-top:3vw; }
		.titleB h2 { width:100%; background:none; margin:4vw 0 0 0; padding:0; letter-spacing:2px; top:1.5vw; }
		h3{ font-size:1.714285rem;}
		h4{ font-size:1.14286rem}

		/*A*/
		.rectangle_3p li { width: 46vw;}
		.rectangle_3p .font h4{ margin: 0 0 10px 0;}

		.rectangle li { width: 46vw; padding: 2vw;}

		.keywordA{ padding:1vw 4vw;}
		.keywordA li { margin:1.8vw; padding:1vw 3vw;}

		/*B*/
		.hightlight {  padding-top:0px;}
		.hightlight img { padding:1vw;}
		.half ul{ padding:2vw 0 6vw 0;}
		.items3 li:first-child{ width: 94vw;} .items3 li:first-child img { float:left; } .items3 li:first-child .hightlight .font{ float: right; }
		.items3 li{ width: 46vw;} .items3 img { width: 40vw; height: 40vw; }

		.crosswise li { width: 94vw; padding: 3vw; margin: 1vw;}
		.toptitle .font h4{ padding:1.5vw 1vw;}

		.various .font h4{ top:43vw;}

		.recommend{ padding:2vw;}
		.bg_recommend .various { width:98%; padding:2vw 0; border:1px dashed #333333; }

		.crosswise_3p .font { padding:0vw;}
	}




 /* ----------------------BACKGROUND---------------------- */
 .container1200 { max-width:1160px; margin:0px auto; padding:0; position:relative; }
 .container1920 { max-width:1920px; margin:0px auto; padding:5px 0; position:relative; }
	  @media screen and ( max-width: 640px ){
		 .container1200, .container1920{ max-width:100vw; min-width:320px; padding:0; text-align:center; }
	 }

.content{ padding:0;}
.bg_img{ width:1920px; height:10850px; max-width:100%; position:absolute; background:url("../images/bg_deco.png") repeat-y center top; background-size:1920px;}

.bg_bnr{ margin:0 auto; padding:10px 0px;}
	.banner { padding:0px 0; position:relative; }
	.banner li { margin:6px 8px; }

/* setting background color in HTML */

	@media screen and (max-width: 640px){
		header div{ margin:2.5vw 10px 0px 0px !important;}

		.content{ border-radius:0px; padding:0; margin:0 auto; }
		.bg_img{ display: none;}
		
		.bg_bnr{ margin:0 auto; padding:2vw 0;}
		.banner li { margin:1vw 2vw }
			.bg_bnr .banner { margin: 0 auto; padding:2vw 1vw; }

		/*A*/
		.bg1, .bg3{ padding:4vw 0 8vw 0; }
		.bg2, .bg4{ padding:4vw 0 8vw 0; }
		/*B*/
		.bg_recommend{ padding:4vw 0 8vw 0; margin-top:0px;}
		
	}
	@media screen and (max-width: 320px){
		header img{ width:62%;}
	}




 /* ---------------------- OTHERS ---------------------- */


/* hover effect */
li:hover { transform: scale(1);}
.container li, .more {
	-webkit-transition-duration:.3s;
	        transition-duration:.3s;
	-webkit-transition-property:transform;
	        transition-property:transform;}
.container li:active, .container li:focus, .container li:hover,
.more:active, .more:focus, .more:hover{
	-webkit-transition-timing-function:ease-out;
			transition-timing-function:ease-out;
	-webkit-transform:translateY(-6px);
			transform:translateY(-6px);}
.nav li:active, .nav li:focus, .nav li:hover, 
menu li:active, menu li:focus, menu li:hover{
		    transform:none !important;}
	@media screen and ( max-width: 640px ){
		.container li:active, .container li:focus, .container li:hover,
		.more:active, .more:focus, .more:hover{
			-webkit-transform:translateY(0px);
					transform:translateY(0px);}
	}
	
	


/*--goto top--*/
#gotop {display: inline-block;background-color: #000;opacity:0.3;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 {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:50% 20%;}
#gotop:hover {cursor: pointer;background-color: #666;}
#gotop:active {background-color: #666;}
#gotop.show {opacity: 0.4;visibility: visible;}
	@media screen and ( max-width: 640px ){
		#gotop { bottom:15vw;right: 0;margin: 2vw;	}
	}



/*for mobile*/
/*menu{display:none;}*/
menu ul{
	position:fixed;
	z-index: 999;
	top:15%;
	left:1%;
	width:50px;
	display:block;
	writing-mode:vertical-lr;
	list-style: none;
	background:rgba(51, 51, 51, 0.98);
	padding:2% 0 1% 0;;
	display:flex;
	flex-wrap:nowrap;
	border-radius: 25px;
	border-right:3px solid #fff;
	border-bottom:3px solid #fff;
}
menu ul li{
	letter-spacing:3px;
	text-align: center;
	color:#f0d958;
	margin:0 auto;
}
menu ul li a{
	font-size:1.4rem;
	line-height:12px;
}
menu a{
	color:#f0d958 !important;
	text-decoration:none;

}
	@media screen and ( max-width: 640px ){
		menu{ display:block;}
		.deco_arrows{ width:1vw; }

		menu ul{
			top:unset;
			bottom:0;
			left:0;
			width:100%;
			writing-mode:unset;
			padding:3vw 0;
			border-radius:0;
			border-right:unset;
			border-bottom:unset;
		}
		menu ul li a{
			font-size:1.2rem;
			line-height:12px;
		}
	}
