@charset "utf-8";

body{ 
	overflow-x:hidden;
}
.footer{
	color:#fff;
	background-color:#131018;
	text-align:center;
	padding:18px 15px;
	margin-bottom:67px;
}
.footer a{ color:#ffd95a;}
@media (min-width:992px){ .footer{margin-bottom:0;}}

.share{margin:8px 0;}
.share img{margin:0 2px;}

.backtop{
	position:fixed;
	z-index:99;
	width:48px;
	height:48px;
	left:100%;
	top:100%;
	margin-top:-130px;
	margin-left:-70px;
	padding:7px ;
	background-color:#67a4b7;
	text-align:center;
	color:#fff;
	font-size:1.3rem;
	border-radius:50%;
	cursor:pointer;
	-webkit-transition: background 0.3s; /* Safari */ 
	transition: background 0.3s;
	box-shadow:1px 1px 4px #333;
}
.backtop:hover{ background-color:#386c7c;}

@media (min-width:992px){
	.backtop{margin-top:-145px;}
}


/*==========header css==========*/

.fadeInRight{
  -webkit-animation: fadeInRight 0.4s; /* Safari 4+ */
  -moz-animation:    fadeInRight 0.4s; /* Fx 5+ */
  -o-animation:      fadeInRight 0.4s; /* Opera 12+ */
  animation:         fadeInRight 0.4s; /* IE 10+, Fx 29+ */
}

.social_content{ position:fixed; z-index:99; top:100%; left:0; margin-top:-68px; height:68px; width:100%; background-color:#443e89; text-align:center;}
.social_content .social_item{ float:left; width:25%; margin:8px 0;}
.social_content .social_item a{ color:#fff; font-size:1.3rem; text-decoration:none;}
.social_content .social_item a:hover{ color:#7a75b8;}

.social_content .social_item a span{ font-size:0.8rem; display: block;}

@media (min-width:992px){
	.social_content{ position:fixed; z-index:99; top:33%; left:100%; /*margin-top:-350px;*/ margin-left:-90px; width:330px; padding:15px; border-radius:30px; background-color:transparent; text-align:center;}
	.social_content .social_item{ float:none; text-align:center; border-bottom:1px solid #443e89; padding:15px 8px;}
	.social_content .social_item:last-child{ border-bottom:none;}
	.social_content .social_item a{ color:#443e89;}
	.social_item_fb{ padding-left:3px;}
}
@media (min-width:1920px){
	.social_content{ top:30%;}
}

/*========================================================
                     main css
=========================================================*/
.view_lg{ display:none;}
@media (min-width:992px){
	.view_sm{ display:none;}
	.view_lg{ display:block;}
}

/*.container-fluid{ max-width:1280px; padding:10px 20px;}
@media (min-width:1920px){.container-fluid{ max-width:1500px; padding:10px 90px;}}*/

/*.prev-alt{ background-color:transparent; color:#fff; text-shadow: 0px 0px 5px #000, 0px 0px 10px #333, 0px 0px 15px #555; position:absolute; z-index:555; cursor:pointer; top:50%; left:0%; padding:14px 15px 16px 15px; transform:translate(0,-50%); opacity:0.75;}
.prev-alt:hover{ opacity:1;}
.next-alt{ background-color:transparent; color:#fff; text-shadow: 0px 0px 5px #000, 0px 0px 10px #333, 0px 0px 15px #555; position:absolute; z-index:555; cursor:pointer; top:50%; left:100%; padding:14px 15px 16px 15px; transform:translate(-100%,-50%); opacity:0.75;}
.next-alt:hover{ opacity:1;}*/

/*========================================================
                     top_banner
=========================================================*/
.top_banner_block{ 
	background:url(../img/top_banner_bg.jpg) top center no-repeat; 
	background-size:cover;
	padding:40% 0 50% 0;
	position:relative;
}
.top_banner_block .logo img{ display:block; margin:0 auto; max-width:60%;}
.top_banner_block .text{ padding-top:8%;}
.top_banner_block .text img{ display:block; margin:0 auto; max-width:80%;}
.top_banner_block .flower{ position:absolute; bottom:0; left:0; width:100%;}

.banner_petal1{
	position: absolute; 
	width: 30px;
	opacity: 0;
	animation-name:leaf1;
	animation-duration:5s;
	animation-iteration-count: infinite;
}

.banner_petal2{
	position: absolute; 
	width: 25px;
	opacity: 0;
	animation-name:leaf2;
	animation-duration:5s;
	animation-iteration-count: infinite;
	animation-delay:1s;
}

.banner_petal3{
	position: absolute; 
	width: 20px;
	opacity: 0;
	animation-name:leaf3;
	animation-duration:5s;
	animation-iteration-count: infinite;
}
.banner_petal1 img,
.banner_petal2 img,
.banner_petal3 img{ width:100%; height:auto; }

@media (min-width:768px){
	.top_banner_block{ padding:7% 0 15% 0;}
	.banner_petal1{width: 50px;}
	.banner_petal2{width: 35px;}
	.banner_petal3{width: 40px;}
}
@media (min-width:1920px){
	.top_banner_block{ padding:8% 0 17% 0;}
}

@keyframes leaf1
{
  0% { left: 10vw;top: 3vh; opacity:0;}
  10%{ opacity:1; }
  50%{ left: 24vw;top: 30vh;-webkit-transform: rotate(180deg);}
  90%{ opacity:1; }
  100%{ left: 12vw;top: 60vh; opacity:0;}
}

@keyframes leaf2
{
  0% { left: 32vw;top: 3vh; opacity:0;}
  10%{ opacity:1; }
  50%{ left: 16vw;top: 20vh;-webkit-transform: rotate(90deg);}
  90%{ opacity:1; }
  100%{ left: 32vw;top: 56vh; opacity:0;}
}

@keyframes leaf3
{
  0% { left: 75vw;top: 20vh; opacity:0;}
  10%{ opacity:1; }
  50%{left: 65vw;top: 45vh;-webkit-transform: rotate(90deg);}
  90%{ opacity:1; }
  100%{ left: 80vw;top: 70vh; opacity:0;}
}


/*========================================================
                     內頁設定
=========================================================*/
.top_block{}
.top_block img{ width:100%;}
.top_block .container-fluid{ padding:40px 20px;}
@media (min-width:1024px){ .top_block .container-fluid{ padding:80px 100px;}}
@media (min-width:1440px){ .top_block .container-fluid{ padding:80px 190px;}}

/*.block1{ background:url(../img/block1_bg.jpg) top center no-repeat; background-size:cover; position:relative;}
.block1 .title_block{ padding-bottom:40px;}
.block1 .title_block .logo{ display:inline-block; max-width:50px;}
.block1 .title_block .text{ display:inline-block; padding-left:10px; vertical-align:middle;}
.block1 .title_block .text h2{ font-size:1.3rem;}
.block1 .title_block .text h2 span{ padding-left:20px; font-size:0.8rem;}
.block1 .pic{ position:absolute; right:5%; top:22%; max-width:15%; z-index:10;}

@media (min-width:768px){
	.block1 .title_block .logo{ max-width:70px;}
	.block1 .title_block .text{ padding-left:20px;}
	.block1 .title_block .text h2{ font-size:2rem;}
	.block1 .title_block .text h2 span{ font-size:1.5rem;}
	.block1 .pic{ top:4%;}
}*/
.block1{ position:relative;}
.block1 .picbox{ position:relative;}
.block1 .picbox .pictext{ position:absolute; left:14px; bottom:5px; color:#fff; z-index:5; margin-bottom:0;}
@media (min-width:768px){
	.block1 .pic1{ max-width:75%;}
	.block1 .pic1 .text_block{ position:absolute; top:6%; text-align:center; padding:0 14%;}
	.block1 .pic2{ position:absolute; max-width:35%; right:5%; bottom:10%;}
	.block1 .pic2 .pictext{ left:auto; right:7px;}
}

.top_block .text_block{ color:#fff; padding-bottom:20px;}
.top_block .text_block h2{ font-size:1.5rem; font-weight:bold;}
.top_block .text_block p{ font-size:1rem; line-height:1.6; font-family:"華康中明體(P)", Geneva, sans-serif;}
.top_block .text_block p span{ font-size:1.2rem; letter-spacing:2px;}
@media (min-width:768px){
	.top_block .text_block h2{ font-size:2.2rem;}
	.top_block .text_block p{ font-size:1.1rem;}
	.top_block .text_block p span{ font-size:1.3rem; letter-spacing:3px;}
}


.content{ background:url(../img/bg2.jpg) top center no-repeat; background-size:cover;}
.block2{}
.block2 .pic_block .picbox{ position:relative;}
.block2 .pic_block .picbox.top{ margin-bottom:4%;}
.block2 .pic_block .picbox p{ position:absolute; left:6px; bottom:5px; color:#fff; z-index:10; margin-bottom:0; font-size:0.6rem;}

.block3{  position:relative;}
.block3 .block3_content{ position:relative; z-index:5;}
.block3 .text_block{ padding-left:0;}
.block3 .pic_block{ }
.block3 .picbox{ max-width:23%; position:absolute; text-align:right;}
.block3 .picbox .pictext{ color:#fff; padding-bottom:5px;}
.block3 .picbox.pic1{ top:0; left:0;}
.block3 .picbox.pic2{ bottom:0; right:56%;}
.block3 .picbox.pic3{ bottom:20%; right:28%; text-align:left;}
.block3 .picbox.pic4{ bottom:10%; right:0;}
.block3 .deco_block .deco{ position:absolute; left:0; bottom:0; mix-blend-mode:multiply; max-width:70%;}
.block5 .carousel-item.first{ padding:0;}
.block6 .slide_block{ background-color:#fff; padding:15px;}

@media (min-width:768px){
	.block2 .pic_block .picbox p{ left:10px; font-size:1rem;}
	.block3 .block3_content{ padding-bottom:38%;}
	.block3 .text_block{ padding-left:30%;}
	.block3 .deco_block .deco{ bottom:20px; max-width:50%;}
	
	.block5 .carousel-item.first{ margin:16% 0;}
 	.block5 .carousel-item.fifth{ margin:10% 0;}

}

/*輪播設定*/
.carousel-item{ position:relative;}
.carousel-item .text{ position:absolute; right:10px; bottom:7px; color:#fff; font-size:0.6rem; /*text-shadow:1px 1px 3px #333;*/}
.carousel-item .text.black{ color:#000;}
.carousel-item .picbox{ position:relative;}
.carousel-item .picbox.top{ margin-bottom:20px;}
@media (min-width:768px){
	.carousel-item .text{ font-size:1rem;}
}

	
/*========================================================
                     360
=========================================================*/
.aerial_block .aerial_pic{ position:relative;}
.aerial_block .aerial_pic .text{ position:absolute; top:30px; left:55px; z-index:10; color:#fff;}
.aerial_block .text h2{ font-weight:bold; font-size:1.5rem;}
.aerial_block .text p{ font-size:1rem;}

.aerial_deco{ position:relative; max-width:100%;}
.aerial_deco img{ width:100%;}
.aerial_deco .train{ position:absolute; top:0; left:0; z-index:5;}
.aerial_deco .bg{ mix-blend-mode:screen;}

.panorama_block{ }
.panorama_block .panorama{ height:50vh; position:relative;}
.panorama_block .panorama .panorama_text{ position:absolute; top:7px; left:20px; z-index:10; color:#fff; padding:10px;}

.aerial_block .text_block{ color:#fff; padding:20px;}
.aerial_block .text_block h2{ font-weight:bold; font-size:1.5rem;}
.aerial_block .text p{ font-family: "華康中明體(P)", Geneva, sans-serif;}

@media (min-width:768px) {
	.aerial_block .text h2{ font-size:2.1rem;}
	.aerial_block .text p{ font-size:1.1rem;}
	.aerial_deco{ max-width:80%;}
	.panorama_block .panorama .panorama_text{ top:15px;}
}


/*光束效果*/
.aerial_light_wrapper{ 
	position:absolute; 
	bottom:24%; 
	left:33.5%!important;
	transform:translate(-50%,0); 
	width:1%; 
	height:30%; 
}
.aerial_light_col{
	position:absolute; 
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(255, 251, 177,0.6), rgba(255, 251, 177,0.1));
	border-radius: 0 0 10px 10px;
	animation: flash 2s linear infinite;
}

.aerial_light_content{ position:relative; width:100%; height:100% }
.aerial_light{
	position: absolute;
	top: 100%;
	width: 2px;
	height: 2px;
	background-color: #fffbb1;
	
}
.aerial_light:before {
  content: "";
  position: absolute;
  width: 4px;
  height: 5px;
  border-radius: 50%;
  margin-top: -2px;
  background: rgba(255, 251, 177, 1);
  box-shadow: 0 0 15px 3px #fffbb1,0 0 10px 2px #fffbb1,0 0 15px 3px #fffbb1,0 0 5px 1px #fff,0 0 15px 3px #fff,0 0 10px 2px #fff;
}

.aerial_light1{left:0; animation: light 1.8s linear infinite; animation-delay: -1s;}
.aerial_light2{left:20%; animation: light 3.8s linear infinite; animation-delay: -2s;}
.aerial_light3{left:40%; animation: light 2.8s linear infinite; animation-delay: -3s;}
@keyframes flash {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
  	opacity: 0;
  }
}

@keyframes light {
  0% {
    opacity: 1;
    margin-top: 0%;
  }
  12% {
    opacity: 1;
  }
  85% {
    opacity: 1;
  }
  100% {
  	margin-top: -1500%;
    opacity: 0;
  }
}

@media (min-width:992px){
	.aerial_light_wrapper{ 
		position:absolute; 
		bottom:25%; 
		left:67%!important; 
		transform:translate(-50%,0); 
		width:1.3%; 
		height:30%; 
	}
}


/*========================================================
                         contact
=========================================================*/
.map_block{ line-height:0;}

.contact_block{ background-image:url(../img/contact_bg.jpg); background-size:cover; background-position:center; padding-bottom:50px;}
.contact_block .title_block h2{ color:#67a4b7; font-size:3rem; font-family:Bell MT, Helvetica, sans-serif; font-style:italic; text-align:center; letter-spacing:2px;}



/*表單樣式*/
#form1 .form-control {
    border-radius: 0;
    border: 1px solid #67a4b7;
}

#form1 .btn-send {
    padding:0.375rem 0.75rem;
	text-align:center;
    background-color:#67a4b7;
    color: #fff;
	letter-spacing:6px;
    width: 100%;
    border-radius:0;
}
#form1 .btn-send:hover {
    background-color:#386c7c;
}
#form1 select {
    color: #111;
    width: 100%;
    height: 38px;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    background-color: #fff;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    background-image: url(../img/arrow.png);
    background-repeat: no-repeat;
    background-position: center right;
    background-size: 24px auto;
}
#form1 select option {
    color: #111;
}
#form1 .custom-control-label{ display:inline;}

/*webkit瀏覽器專用*/
#form1 ::-webkit-input-placeholder { color:#000;}
/*Firefox 4-18瀏覽器專用*/
#form1 input::-moz-placeholder { color:#000;}
/*Firefox 19+瀏覽器專用*/
#form1 input::-moz-placeholder{ color:#000;}
/*IE10瀏覽器專用*/
#form1:-ms-input-placeholder{ color:#000;}

/*--google recaptcha 隱藏----*/
.grecaptcha-badge{ 
	visibility:hidden;
}


@media (min-width:768px){
	.contact_block{ padding-bottom:0;}
}


/*------------------cookies--------------------*/

#cookies-box {
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 9999999;
    background-color: rgba(0,0,0,0.9);
    padding: 30px;
    width: 100%;
	font-size: 1rem;
	line-height: 36px;
	color: #fff;
/*	display: none;*/
}
#cookies-box h4 {
    font-size: 1.3rem;
	font-weight: bold;
}
#cookies-box p {
    margin: 0;
}
#cookies-box a {
    color: #fff;
	border-bottom: 2px solid #443e89;
	padding-bottom: 2px;
	margin: 0 3px;
}
#cookies-box .cookies-btn {
	margin-top: 10px;
	text-align: center;
}
#cookies-box .cookies-btn a {
    display: inline-block;
    width: 140px;
    border: 1px solid #fff;
    color: #fff;
    text-decoration: none;
	text-align: center;
}
#cookies-box .cookies-btn a:hover {
    background-color: #67a4b7;
	transition:all .3s;
}

@media (min-width: 992px) {
	#cookies-box {
		padding: 50px;
	}
	#cookies-box .cookies-btn {
		margin-top: -5px;
		margin-left: 50px;
	}  
}


.privacy_block .container-fluid{ max-width:1200px; }
.privacy_block h3{ color:#555; font-weight: 700; border-bottom:1px solid #ccc; padding-bottom:15px; margin-bottom:15px; }

/*========================================================
                  隱私權聲明
=========================================================*/
.fancybox-container {z-index: 9999999;}
.fancybox-content{ padding:20px;}
.modal-body{ overflow-y:auto; /*padding:20px;*/}
.modal-header{ border-bottom:none;}
.modal-body h3{ text-align:center; margin-bottom:20px; font-weight:bold;}
.modal-body p span{ font-weight:bold; font-size:1.1rem;}
.modal-dialog{ margin-bottom:80px;}

@media (min-width:576px){
	/*.modal-body{ padding:20px 40px;}*/
	.modal-dialog{ max-width:1000px;}
}
@media (min-width:1024px){
	.modal-dialog{ max-width:1200px; margin-bottom:0;}
}

/*========================================================
                     選單
=========================================================*/
.icon_Community a.js-btn-icon_Community {
    text-align: center;
    width: 50px;
    line-height: 47px;
    border-radius: 100px;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 0;
    cursor: pointer;
    color: #fff;
    background: #000;
    font-size: 22px;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.5);
    height: 50px;
    pointer-events: auto;
	overflow: hidden;
    font-family: "微軟正黑體", Arial, Verdana, Helvetica, sans-serif;
}

.js-btn-icon_Community:hover,
.js-btn-icon_Community:focus {
    color: #fff;
    background-color: #276850;
    border-color: #276850;
}

.js-icon_Community .icon_li {
    position: relative;
    left: -100px;
    
}
.icon_li_img {
        max-width: 50px;
        width: 100%;
        height: auto;
        display: block;
        position: absolute;
        left: 0;
        z-index: 1;
    }
.js-icon_Community.active .icon_li {
    left: 0;
    pointer-events: auto;
}

.js-icon_Community .icon_li:nth-child(1) {
    transition: all 0.1s ease-out;
    -moz-transition: all 0.1s ease-out;
    -o-transition: all 0.1s ease-out;
    -webkit-transition: all 0.1s ease-out;
}

.js-icon_Community .icon_li:nth-child(2) {
    transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    -webkit-transition: all 0.3s ease-out;
}

.js-icon_Community .icon_li:nth-child(3) {
    transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out;
    -webkit-transition: all 0.5s ease-out;
}


.icon_li a:hover .icon{
 animation: go 3s linear infinite;
}
@keyframes go {
  10% {
    transform: rotate(15deg);
  }
  20% {
    transform: rotate(-10deg);
  }
  30% {
    transform: rotate(5deg);
  }
  40% {
    transform: rotate(-5deg);
  }
  50%,100% {
    transform: rotate(0deg);
  }
}  

@media (max-width: 991.98px){
    .icon_Community {
        width: 100%;
        position: fixed;
        left: auto;
        bottom: 0;
        z-index: 999998;
        pointer-events: none;
    }
    .icon_Community_ul {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
    }
    .icon_Community_ul .icon_li {
        width: 33.33%;
        border-right: 1px solid #fff;
    }
    .icon_Community_ul .icon_li:last-child {
        border-right: none;
    }
	 .icon_Community_ul .icon_name {
        font-size: 0.8rem;
  		padding-top: 5px;
    }
    .icon_img {
        display: block;
        background-color: #67a4b7;
        overflow: hidden;
        text-align: center;
        color: #fff;
        position: relative;
        padding: 10px 10px;
        text-decoration: none;
		transition:all .3s;
    }
 .icon_Community a{
	  color: #fff;
	  text-decoration:none;
 }
 .icon_Community a img{
	  display: block;
	  margin: 0 auto;
	  width: 22px;
 }
 .icon_Community a:hover{
	  background-color: #386c7c;
 }
 .icon_Community a:hover img{
	  animation: go 3s linear infinite;
 }
}

@media (min-width: 992px){
    .icon_Community {
        position: fixed;
        right: 20px;
        bottom: 92px;
        z-index: 9998;
        pointer-events: none;
    }
    .icon_Community_ul {
        list-style: none;
        padding: 0;
        flex-direction: column;
        align-items: flex-end;
        display: flex;
        margin-bottom: 59px;
    }
    .icon_img {
        background-color:#67a4b7;
		box-shadow:1px 1px 4px #333;
        border: none;
        overflow: hidden;
        text-align: center;
        margin-bottom: 6px;
        width: 50px;
        text-decoration: none;
        border-radius: 100px;
        color: #fff;
        transition: all 0.3s ease;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .icon_img.active {
        width: 142px;
    }
    .icon_img.active .icon_name {
        text-indent: 0;
        opacity: 1;
    }
    .icon_img:hover {
        text-decoration: none;
        width: 142px;
		background-color:#386c7c;
    }
    .icon_img:before {
        opacity: 0;

    }
    .icon_img .icon {
        color: #fff;
        font-size: 22px;
        width: 50px;
        line-height: 50px;
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        right: 0;
        z-index: 1;
    }
    .icon_img:hover .icon {
        text-decoration: none;
    }
    .icon_img:hover .icon_name {
        opacity: 1;
        text-indent: 0;
    }
    .icon_name {
        position: relative;
        line-height: 50px;
        padding-left: 15px;
        padding-right: 50px;
        transition: all 0.3s ease;
        opacity: 0;
        text-decoration: none;
        color: #fff;
        white-space: nowrap;
        border-radius: 100px;
        overflow: hidden;
        font-family: Arial, "Microsoft JhengHei", sans-serif;
    }
}

