@charset "utf-8";
/* CSS Document */
body {
  Font-family:微軟正黑體,Arial;
  margin:0 auto;
  padding:0;
  background: url(images/bg.jpg)top left fixed no-repeat,#fff;
  background-size: contain; 
  overflow-x:hidden;
 /*animation:bgani 100s infinite linear;*/

}

@keyframes bgani {
		0% { background-position:0 0}
		100% { background-position:-500px 2000px}
	}

	
a {text-decoration:none;}

main{ 
	width:100%; 
	margin:0 auto;
	text-align:center; 
	position:relative;
	overflow-x:hidden;
}

p{line-height:2.5em;margin:0%;text-align:center; color:#3c1717; font-weight:bolder; text-shadow:#FFF 0 0 2px,#FFF 0 0 5px,#FFF 0 0 8px}
p a{text-decoration:none;}

.block{
	display:block;
	position:relative;
	margin:0;
	padding:1%;
	width:58%;
	text-align:center;
	background:;
	z-index:3;

	}
.block3{
	display:block;
	position:relative;
	color:#FFF;
	margin:2% auto;
	padding:2% auto;
	width:100%;
	background:;
	font-weight:700;
	text-align:center;
	letter-spacing:.1em;
	z-index:0;
	}
h1{line-height:1.3em; font-size:25px; margin-top:5%; color:#77488d; text-shadow:#FFF 0 0 5px,#FFF 0 0 8px,#FFF 0 0 10px}
h1 span{color:#425c7d; font-size:.7em; text-shadow:none}
.visual{
	width:40%;
	display:block;
	position: fixed;
	text-align:center;
	margin:0% auto;
	right:0;
	z-index:99;
	box-shadow:#FFF 0 10px 20px
	}
.visual img{
	width:100%;
	max-width:1000px;}

	@keyframes roll {
		0% { transform:rotate(0 )}
		25%{transform:rotate(-3deg)}
		50%{transform:rotate(0 )}
		75%{transform:rotate(3deg)}
		100% {transform:rotate(0 )}
	}
		
.logo{ display:inline-block; z-index:999; width:50%; position: absolute;left:0; top:3%}
.logo img{ width:100%; max-width:800px}
  
.copyright{display:block;
  color:#425c7d;
  font-size:12px;
  margin:2% auto;
  letter-spacing:.1em;
  line-height:3em}
.gift{width:80%;height:auto; max-width:700px; min-width:250px;text-align:center; display:block; margin:2% auto;}
.gift:hover{ animation:big 0.2S ease-in both;}
.gift2{width:43%;height:auto; max-width:600px; min-width:150px;text-align:center; display:block; margin:2% auto; box-shadow:#666 0 0 10px}
.gift2:hover{ animation:big 0.2S ease-in both;}
.price{ text-align:center; margin:1% auto; color:#3c1717; line-height:2em }
.sptitle{width:100%;height:auto; max-width:800px; min-width:250px;text-align: center;  margin:0% auto; position:relative}
.cast{ width:96%; margin:2% auto; display:block; padding:2%}
.castimg{ width:30%; max-width:250px; display:inline-block; vertical-align:top; border-radius:10em}
.casttxt{ width:60%; display:inline-block;}
.casttxt p{text-align:left; text-indent:2em; line-height:2em; color:#425c7d; padding:2% 3%}

.cast{ width:100%; margin:2% auto;  text-align:center; display:block; position:relative; padding:2% auto;}
.cast2{width:30%; height:auto; max-width:500px; min-width:50px;text-align:center; display: inline-block; margin:1% 0;}



@keyframes big {
		0% { transform:none; }
		100% { transform:scale(1.05); }
	}
@keyframes wave {
		0% { transform: rotate(0) }
     	25% { transform: rotate(-10deg) }
		50% { transform: rotate(0) }
		75% { transform: rotate(10deg) }
		100% { transform: rotate(0) }
	}
canvas {
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	display:inline-block;
	position:fixed

}
/*shop*/
.btn{
    font-size:1.2em;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: .8% 2%;
    border: 2px solid #425c7d;
	border-radius:10em;
	background:;
    overflow: hidden;
	margin:3% 1% ;
    position: relative;
	display:inline-block;
	color:#425c7d;
	width:16%;
    z-index:5;
    transition: all 0.5s;
	cursor:pointer;
}
.long{width:25%; margin:5% auto; display:block;}
.btn:hover{
    color: #FFF;
	text-shadow:#425c7d 1px 1px 4px,#425c7d 0px 0px 10px,#425c7d 0px 0px 10px,#425c7d 0px 0px 10px;
    animation: swoosh 0.4s ease-out 0.2s;
	border: 2px solid #FFF;
}
.btn:before,
.btn:after{
    content: "";
    background-color:#425c7d ;
    height: 100%;
    width: 100%;
    opacity:.9;
    position: absolute;
    top: 0;
    left: -100%;
    z-index: -1;
    transition: all 0.4s ease-out 0.1s;
	
}
.btn:after{
    opacity:0;
    transform: scale(0.9,0.7);
	
    left: 0;
    transition: all 0.3s ease-out 0s;
}
.btn:hover:before{ left: 100%; }
.btn:hover:after{
    opacity: .7;
    transform: scale(1);
	
}
@keyframes swoosh{
    0%,100%{ box-shadow: 0 0 0 0 transparent; }
    50%{ box-shadow: 0 0 0 8px rgba(66,92,165,0.5); }
}
/*shop over*/
/*特殊字*/

.gradient1 {
  display:block;
  place-items: center;  
  text-align: center;
  margin:5% auto;
  height:auto;
  font-weight:bolder;
  width:100%;
  -webkit-box-reflect: below -5px linear-gradient(transparent, rgba(0,0,0,.2));
  line-height:1em;
  
}
.gradient1 span {
  position: relative;
  display: inline-block;
  text-transform: uppercase;
  animation: waviy 1s infinite, color-animation 1s linear infinite;
  animation-delay: calc(.1s * var(--i));
}

.title-word-1 {
  --color-1: #FFF;
  --color-2: #F5FF00;
}

.title-word-2 {
  --color-1: #6E00E8;
  --color-2: #E7005A;
}

.title-word-3 {
  --color-1: #E7005A;
  --color-2: #F5FF00;
}

.title-word-4 {
  --color-1: #6E00E8;
  --color-2: #E7005A;
}

.title-word-5 {
  --color-1: #FFF;
  --color-2: #F5FF00;
}

@keyframes color-animation {
  0%    {color: var(--color-1)}
  19%   {color: var(--color-1)}
  20%   {color: var(--color-2)}
  99%   {color: var(--color-2)}
  100%  {color: var(--color-1)}
}
@keyframes waviy {
  0%,40%,100% {
    transform: translateY(0)
  }
  20% {
    transform: translateY(-20px)
  }
}
/**/

/*特殊標題*/	
.ml1 {
  font-weight: bolder;
  font-size:1.8em;
  letter-spacing:.1em;
}

.ml1 .letter {
  display: inline-block;
  line-height:2em;
  color:#425c7d
}

.ml1 .text-wrapper {
  position: relative;
  display: inline-block;
  padding-top: 0.1em;
  padding-right: 0.05em;
  padding-bottom: 0.15em;
}

.ml1 .line {
  opacity: 0;
  position: absolute;
  left: 0;
  height: 3px;
  width: 100%;
  background-color: #425c7d;
  transform-origin: 0 0;
}

.ml1 .line1 { top: 0; }
.ml1 .line2 { bottom: 0; }

.gradient2{ color:#FFF; letter-spacing:0em; line-height:2em; font-size:1.3em; margin:2% auto; font-weight:900;
background:#9dd7f0; width:70%; border-radius:5em}

 
.gradient3{/* background:linear-gradient(90deg,rgba(247,133,183,0) 0%,rgba(247,133,183,1)15%,rgba(247,133,183,1)85%, rgba(247,133,183,0) 100%);*/ color:#425c7d; margin:1% auto; font-size:1.5em; letter-spacing:.1em; font-weight:bold}

.gradient4{color:#FFF;font-size:1.2em; letter-spacing:.1em; font-weight:bolder; margin:1% auto ; line-height:2em; text-align:center; text-shadow:#425c7d 0 0 4px, #425c7d 0 0 7px, #425c7d 0 0 10px, #425c7d 0 0 15px }

.gradient4  span {
  position: relative;
  display: inline-block;
  color:#fffabc;
  -webkit-animation: jump 1s ease infinite;
  }
.gradient4  span:nth-child(2) {
  animation-delay:.14s;
  }
 .gradient4  span:nth-child(3) {
  animation-delay:.28s;
  }
 .gradient4  span:nth-child(4) {
  animation-delay:.42s;
  }
 .gradient4  span:nth-child(5) {
  animation-delay:.56s;
  }
   .gradient4  span:nth-child(6) {
  animation-delay:.7s;
  }
   .gradient4  span:nth-child(7) {
  animation-delay:.84s;
  }
@-webkit-keyframes jump {
  0%{ opacity:0}
   25%{ opacity:1}
  50% {opacity:1}
   75%{ opacity:1}
  100% {opacity:0}}
  
/*特殊標題結束*/	



@media (max-width:600px){
.block{width:100%;}
.btn{
	margin:5% auto;
	display:block;
	text-align:center;
	width:45%;}
.gift{width:90%;}
.visual{
	width:100%;
	display:block;
	position: relative;
	}

}



#nav{ min-height:1vh; text-align:center; margin-bottom:0;z-index:B6DDFE9; margin-top:1em}
#nav a{color:#572A1B;animation: 1s linear 0s normal none infinite jello-horizontal;margin:1%;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);
  }
}

