@charset "utf-8";
/* CSS Document */
body {
	Font-family:微軟正黑體,Arial;
  	margin:0 auto;
  	padding:0;
	overflow-x:hidden;
	background: url(images/bg.jpg) center center fixed,#40333F;

	}
	@keyframes bg {
		0%{}
		100%{ background-position:2000px top;}
	}
	
a{text-decoration:none}
.gp{display:inline-block}
/*東立選單*/	

.btn{
	position:fixed;
	top:0;
	width:100%;
	z-index:999;
	width:100%;
	background: rgba(51,51,102,.8);
	margin:0 auto;
	opacity: 0.9;
	text-align:center;
	vertical-align:middle;
	padding:0.1em 0;
	}
.btn a{ font-size:1em; font-weight:bold; color:#FFF; margin:0 auto; margin-left:1em; margin-right:1em; letter-spacing:0.5em;}
@media (max-width:600px){.btn a{ font-size:1em;margin-left:0.5em; margin-right:0.5em;letter-spacing:0.1em; }}
#nav{ min-height:5vh; text-align:center; margin-bottom:0;z-index:9999;}
#nav a:hover{color:#0CC;animation: 1s linear 0s normal none infinite jello-horizontal;}

#nav a{ margin:2%;font-size:1.1em; display:inline-block;text-decoration:none}
@-webkit-keyframes jello-horizontal {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
            transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
            transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
            transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
            transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
            transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}
/*東立選單結束*/

/*主視覺*/
.pc{ display:block}
.mobi{ display:none}

#cover{position:relative; width:100%; margin:0 auto; text-align:center; vertical-align:bottom; background:url(images/cover.jpg) center top fixed ; background-size:contain; box-shadow:inset #000 0 0 15px}
#cover img{ width:36%}	
@media (max-width:800px){#cover img{ width:50%}	}

.sp_title{color:#FFF; font-size:.8em; letter-spacing:.5em; background:linear-gradient(to right ,rgba(255,0,51,0), rgba(255,0,51,1), rgba(255,0,51,1),rgba(255,0,51,0));  text-shadow: #F33 0 0 5px,#39F 0 0 15px; padding:0.2em 2em; width:33em; text-align:center; margin:0 auto}
.topinfo{  padding-top:2em}
.topinfo h3{color:#FFF; letter-spacing:0.5em; text-shadow:#69C 0 0 10px;}
.topinfo h4{color:#6CF}
.gift{width:55%; float:left; margin-right:2%; }


/*主視覺結束*/




/*各內容區塊樣式*/
.block {
  /* Setting a valid hue (any unitless number) will auto-set all the other values */
  --bg-hue: unset;
  
  /* Adjust the base saturation and lightness as desired */
  --bg-saturation: 50%;
  --bg-lightness: 40%;
  
  /* set angles for the tint and shade gradients */
  --bg-tint-angle: -20deg;
  --bg-shade-angle: -110deg;

  /* set amounts for default tint & shade */
  --bg-tint-amount: 20%;
  --bg-shade-amount: 20%;
  
  /* set indiviidual hues for the tint and shade */
  /* defaults are set by higher-level arguments…
     which alows for both simpler & more customized uses*/
  --bg-tint-hue: var(--bg-hue);
  --bg-shade-hue: var(--bg-hue);
  
  /* set the gradient positions all at once */
  --bg-gradient-stops: 30%;
  
  /* override tint/shade gradients directly */
  --bg-tint-start: var(--bg-gradient-stops);
  --bg-tint-end: var(--bg-tint-start);
  --bg-shade-start: var(--bg-gradient-stops);
  --bg-shade-end: var(--bg-shade-start);

  /* override tint/shade saturation & lightness directly */
  --bg-tint-saturation: var(--bg-saturation);
  --bg-tint-lightness: calc(var(--bg-lightness) + var(--bg-tint-amount));
  --bg-shade-saturation: var(--bg-saturation);
  --bg-shade-lightness: calc(var(--bg-lightness) - var(--bg-shade-amount));

  /* or override any individual color directly */
  --bg-color: hsl(var(--bg-hue), var(--bg-saturation), var(--bg-lightness));
  --bg-tint: hsla(var(--bg-tint-hue), var(--bg-tint-saturation), var(--bg-tint-lightness), 0.25);
  --bg-shade: hsla(var(--bg-shade-hue), var(--bg-shade-saturation), var(--bg-shade-lightness), 0.25);

  
  /* this is the internal logic that creates your angled tint/shade background */
  --bg-image: 
    linear-gradient(
      var(--bg-tint-angle),
      var(--bg-tint) var(--bg-tint-start),
      transparent var(--bg-tint-end)
    ),
    linear-gradient(
      var(--bg-shade-angle),
      var(--bg-shade) var(--bg-shade-start),
      transparent var(--bg-shade-end)
    )
  ;
  
  /* Creating a final "output" variable acts like a function return */
  --bg: var(--bg-image) var(--bg-color);
  
  /* Applying that value to a property creates a mixin */
  /* Since the initial return is invalid, nothing happens unless we set a --bg-hue */
  background: var(--bg);
}
.block{
	position:relative;
	margin:0 auto; 
	line-height:2em;
	text-align:center;
	width:100%;
	display:block;
	margin-bottom:5em;
	--bg-color: rgba(51,153,204,.8);
 	--bg-tint:  rgba(255,51,102,.5);
  	--bg-shade: rgba(51,204,204,.5);
	box-shadow:#000 0 0 15px;
	color:#FFF
	}
.b_top{background:url(images/Lace.svg) top repeat-x; background-size:contain; height:5em; width:100%; margin:0 auto; display:block }	
.b_inside{  margin:0 auto; padding-top:2em; padding-bottom:2em; display:block;}	
.b_bottom{background:url(images/Lace2.svg) top repeat-x; background-size:contain; height:5em; width:100%; margin:0 auto; display:block}	
.boxtitle{ color: #FFf; font-weight:bold;text-align:center; margin:2vh auto;text-shadow: #09F 2px 2px 0px, #09F 3px 3px 0px, #66C -2px -2px 0px, #66C -3px -3px 0px, #000 0 0 15px ; letter-spacing:0.1em;}
.boxtitle2{ color: #FFf; font-weight:bold;text-align:center; margin:2vh auto;text-shadow: #F69 2px 2px 0px, #F69 1px 1px 0px, #906 -2px -2px 0px, #906 -1px -1px 0px, #000 0 0 15px ; letter-spacing:0.1em;}
.tleft{text-align:left}
.boximg{width:100%; min-width:300px; max-width:800px; height:auto; margin:0 auto}

/*書籍介紹*/
.bookcover {
	width:40%;
	max-width:300px;
	margin:2em auto;
	display:inline-block; 
	text-align:center;}
.bookcover img{
	width:90%; box-shadow:#000 0 5px 15px }
.storyinfo{
	width:40%;
	max-width:700px;
	padding:2% 2%;
	font-weight:bold;
	display:inline-block;
	vertical-align:top;
	text-align:left;}
#cast .storyinfo h3{ width:10em; border-bottom: #FCC 2px dashed; padding-bottom:0.2em; letter-spacing:0.2em; color:#666; font-size:2em; color:#F9C}
#event .storyinfo h3{ border-bottom: #FCC 2px dashed; padding-bottom:0.2em;}
#event .bookcover{width:50%;max-width:500px;}
#cast .storyinfo h3 span{color:#999; font-size:0.8em}	
.storyinfo h4{ font-weight:bold; text-align:center}	
.storyinfo p{text-indent:2em;line-height:2.2em;}
@media (max-width:800px){
.storyinfo{display:block;margin:0 auto; text-align:center; width:90%}
.bookcover{display:block; text-align:center;width:80%;margin:0 auto;}
}

#other h4{color: #0C9}
/*按鈕效果*/
.readlink{
    color:#600;
	display:inline-block;
	margin:1em auto;
	font-weight:bold;
    font-size: 1.5em;
    text-transform: uppercase;
    border:1px solid #600;
    padding:1% 5%;
    border-radius: 20px 0;
    position: relative;
    z-index: 1;
    transition: all 0.3s ease 0.1s;
}
.readlink:hover{
    color: #fff;
    background: #C00;
    border-radius: 0;
	text-shadow:none;
}
.readlink:before,
.readlink:after,
.readlink span:before,
.readlink span:after{
    content: "";
    background-color: #C00;
    width: 0;
    height: 2px;
    position: absolute;
    top: -2px;
    right: 0;
    transition: all 0.3s ease;
}
.readlink:after,
.readlink span:after{
    width: 2px;
    height: 0;
    right: -2px;
    transition: 0.45s ease;
}
.readlink span:before{
    width: 0;
    top: auto;
    bottom: -2px;
    right: auto;
    left: 0;
}
.readlink span:after{
    right: auto;
    left: -2px;
    bottom: -2px;
    top: auto;
}
.readlink:hover:before,
.readlink:hover span:before{
    width: 100%;
}
.readlink:hover:after,
.readlink:hover span:after{
    height: 108%;
}


#sppic{
	background:#FFF;
	box-shadow:#000 0 0 30px;
	border:#C96 2px solid;
	width:90%;
	margin:1% auto;
	text-align:center;
	cursor:pointer;
	}
#sppic:hover{transform:scale(1.1)}	
#sppic img:nth-child(1){ width:30%}
#sppic img:nth-child(2){ width:60%}	

	
/*商店連結（如果有的話）*/
.shop{width:100%; display:block; margin:1em auto; text-align:center}
.shopbn{ 
	width:3.5em;
	font-size:1em; 
	border: #6CC 2px solid;
	text-align:center; 
	display:inline-block; 
	margin:0 auto;
	margin-left:1%;
	margin-right:1%;
	color:#6CC; 
	padding:0.2em;
    text-transform: capitalize;/*翻頁效果*/
    display: inline-block;
    backface-visibility: hidden;
    transform-style: preserve-3d;
    transform-origin: 50% 50% -0.6em;
    position: relative;
    transition: transform 0.3s ease;

}
.shopbn:hover{
    transform: rotateX(90deg);
}
.shopbn:before{/*翻頁效果*/
    content: attr(data-hover);
    color: #fff;
	font-weight:bold;
	padding:0.2em;
	text-align:center; 
    background: #6CC; 
	border: #6CC 2px solid;
    transform-origin: 50% 0;
    transform: rotateX(-90deg);
    position: absolute;
    top: 100%;
    left: -2px;
	width:3.5em;
	text-shadow: #6CC 0 0 5px;

}
.page{/*翻頁效果*/
	width:50vw;
	display:block;
	margin:0 auto;
}
.page:before{/*翻頁效果*/
	width:50vw;
	background:rgba(0,0,0,.5);
	border: #A9E7E7 2px solid;
	display:block;
	margin:0 auto;
}
	/*瀏覽器尺寸最大為900px時*/


@media (max-width:700px){
	#sppic img:nth-child(1){ width:100%}
	#sppic img:nth-child(2){ width:100%}	

}
@media (max-width:600px){
	
	.mobi{ display:block}
	.pc{ display:none}
	.topinfo{ width:100%; text-align:center}
	.sp_title{font-size:.8em; letter-spacing:normal; padding:0.2em 1em; width:100%;}
	.tleft{text-align:center}
	

}	


/*3D旋轉*/

#cover {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
	margin:0 auto;
	box-sizing: border-box;
	width:100%;
	height:auto;
}
.carousel{
    position: relative;
    height:auto;
	width:100%;
	margin:0 auto;
    perspective: 1200px;
	display: flex;
	box-sizing: border-box;
	justify-content: center;
	align-items: center;
	transform:translate(0,-8vh)
	
}
.carousel .carousel-item
{
    width: 100%;
}
.carousel .carousel-item img
{
    height: 300px;
    width:198px;
}

.coming{position:absolute; z-index:99; top:0; left:0; width:100%; text-align:center; color:#FFF; background:rgba(0,0,0,.8)}

.mobile{
    width: 70%;
	max-width:240px;
    height: auto;
	min-height:250px;
    position: absolute;
	top: 35%;
    left: 50%;
    z-index: 10000;
	box-sizing: border-box;
}

