@charset "utf-8";


/**/
html,body {
	margin: 0;
	padding: 0;
	border: 0;
}

body{
	position: relative;
	font-family: "Noto Sans TC", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.125rem;
	-webkit-text-size-adjust: 100%;
}

section{
	position: relative;
	display: block;
}
  

h1,h2,h3,h4,p,ul,li,blockquote,a {
	margin: 0;
	padding: 0;
	list-style: none;
	font-weight: normal;
}

a {
	text-decoration: none;
}

a:hover {
	opacity: .85;
}
a img {
	border: none;
}

p {
	color: #333;
	line-height: 1.5;
	font-size: 14px;
}

img {
	display: block;
	height: 100%;
}

::selection {
	background: #0e0b0c;
	color: #fff;
}
::-moz-selection {
	background: #0e0b0c;
	color: #fff;
}


header{
	position: fixed;
	top: 0;
	z-index: 10;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 80px;
	padding: 0 0 20px;
	background: #1c1819;
	box-shadow: 0px 5px 5px #0e0b0c;
}

header .logo{
	margin-left: 10%;
}

header .logo a img{
	height: 80px;
}

nav{
	margin: 1.5% 10% 0 0;
}

nav ul{
	display: flex;
	justify-content: space-between;
	justify-content: flex-end;
    align-items: center;
	width: 400px;
	z-index: 1;
}

nav ul li{
	padding: 0 1%;
	width: 32%;
	border-left: 1px #fff solid;
	text-align: center;
}

nav ul li:last-child{
	border-right: 1px #fff solid;
}

nav ul li a{
	font-family: "Noto Serif TC", serif;
	font-size: 1.15rem;
	font-weight: 600;
	letter-spacing: 2px;
	color: #fff;
}

nav ul li a:hover{
	border-bottom: 1.5px #fff solid;
}

nav #check {
	display: none;
}

nav .checkbtn {
	position: fixed;
	top: 5%;
	right: 5%;
	cursor: pointer;
	display: none;
	z-index: 99;
}

nav .checkbtn .hamburger{
	position: relative;
	width: 30px;
	height: 2px;
	border-radius: 5px;
	margin: 5px 0;
	background: #fff;
	transition: all 0.5s;
}

.nav-open .checkbtn .hamburger:first-child{
	top: 7px;
	transform: rotate(45deg);
    transition: all 0.5s;
}

.nav-open .checkbtn .hamburger:nth-child(2){
	opacity: 0;
}

.nav-open .checkbtn .hamburger:last-child{
	top: -7px;
	transform: rotate(-45deg);
    transition: all 0.5s;
}



.fadein-move { 
	opacity: 0;
	transform: translate(0, 10vh);
	transition: all 1s;
}
  
.visible {
	opacity: 1;
	transform: translate(0, 0);
}

.pc_cont{display: block;}
.sp_cont{display: none;}



main {
	position: relative;
	margin-top: 105px;
}


.error{
	color: #ff0000;
}


.show{
	bottom: 5%;
	transition: all 0.5s;
}

.footer{
	position: relative;
	z-index: 1;
	background-color:#191416;
}

.footer-top{
	padding:70px 0;
	border-bottom:none;
	margin-bottom:0
}

.footer-img{
	margin-bottom:21px;
}

.footer-img img{
	display:inline-block;
	max-width:60%;
}

.footer .footer-body p {
    font-family: 'Noto Serif TC', 'Noto Sans TC', 'Microsoft JhengHei', sans-serif !important;
    line-height: 1.8;
}

.footer .footer-body{
	text-align:center;
	padding:5px 0 35px;
}

.footer .footer-body h3{
	font-size:18px;
	color:#fff;
	text-transform:uppercase;
}
.footer .footer-body p{
	font-size:18px;
	color:#d7d7d7;
	line-height:1.5
}


.footer .ft_logo{
	max-width:250px;
}
.footer .ft_logo img{
	display:inline-block;
	max-width:100%;
	width: 250px;
}

.footer .footer-body .ft_right{
	width: 90%;
	margin: 0 auto;
	text-align:right;
}

.footer .cpyright{
	position: relative;
	width: 90%;
    margin: 0 auto;
	padding:25px 0;
	border-top:1px solid #a39baa;
}
.footer .cpyright p{
	font-size:16px;
	color:#dadadb;
	padding: 1% 0;
	text-align: center;
}

.fix_right{
	position: fixed;
	/* display: none; */
	top: 75%;
	right: 2%;
	transform: translateY(-50%);
	z-index: 999;
}

.fix_right #movie{
	display: block;
	margin: 0;
}

.fix_right #movie .video-yu {
    position: relative;
	min-height: 240px;
    display: inline-block;
}

.video-title {
    position: absolute;
    top: -21%;
    left: 0;
	width: 90%;
    color: white;
    background: rgba(0, 0, 0, 0.6);
    padding: 5%;
    font-size: .8rem;
    z-index: 10;
}

.video-btn {
    position: absolute;
    background: rgba(0,0,0,0.5);
    border: none;
    color: white;
    font-size: 18px;
    padding: 8px 8px 6px 8px;;
    cursor: pointer;
    z-index: 1000;
}

.playpause-btn {
    left: 10px;
    bottom: 10px;
}

.fullscreen-btn {
    bottom: 10px;
    right: 10px;
}

.exit-fullscreen-btn {
    top: 10px;
    right: 10px;
}

.show-video-btn {
    position: absolute;
    bottom: 22%;
    right: 0;
    font-size: 20px;
    background: rgba(0, 0, 0, 0.5);
    border: none;
	border-radius: 50%;
	padding: 20px;
    color: white;
    cursor: pointer;
    z-index: 1000;
}

.close-video-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 20px;
    background: rgba(0, 0, 0, 0.5);
    border: none;
    color: white;
    cursor: pointer;
    /* display: none; */
}


.fix_right .line_btn{
	display: flex;
    justify-content: end;
}

.fix_right .line_btn a{
	display: block;
	margin: 15% 0 0;
}

.fix_right .line_btn a img{
	width: 70%;
    margin-left: 30%;
}

.steps_btn{
	width: 35%;
    cursor: pointer;
}

.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 999;
    justify-content: center;
    align-items: center; 
}

.modal-content {
    position: relative;
    background-color: #fff;
    padding: 10px;
    max-width: 50%;
    max-height: 80%;
    overflow: auto;
}

.modal-content img {
    max-width: 100%;
    max-height: 100%;
    display: block;
}

.close-button {
    position: absolute;
    top: 2.5%;
    right: 5%;
    background: none;
    border: none;
    font-size: 4rem;
    cursor: pointer;
    color: #fff;
    z-index: 1000;
}





/*------------------------------------------
 *             tablet 、 Mobile
 *------------------------------------------*/




@media screen and (max-width:1200px) {

    main {
        max-width: none;
        width: 100%;
    }


	.steps_btn{
		width: 50%;
	}


	.fix-bottom{
		width: 60%;
	}

}






@media screen and (max-width:850px) {

	.pc_cont{display: none;}
	.sp_cont{display: block;}

	.modal-content {
		max-width: 80vw;
    	max-height: 90%;
	}

	.close-button {
		font-size: 8vw;
	}


	header .logo{
		margin-left: 5%;
	}

	header .logo a img {
        height: auto;
        width: 50%;
    }
	
	nav .checkbtn {
		display: block;
		top: 6%;
	}

	nav .nav-inner {
		position: fixed;
		top: 0;
		right: -100%;
		background: rgb(28,24,25,95%);
		width: 100%;
		height: 100vh;
		z-index: 0;
		transition: all 0.3s;
	}

	nav.nav-open .nav-inner {
		right: 0;
		z-index: 2;
		transition: all 0.3s;
	}

	nav .nav-inner ul{
		position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
		display: none;
		transition: all 0.3s;
		flex-direction: column;
	}

	nav.nav-open .nav-inner ul{
		opacity: 1;
		display: block;
		width: 40%
	}

	nav .nav-inner ul li{
		width: 70%;
        margin: 20% auto;
		padding: 0 10%;
		border-right: 1px #a39aab solid;
	}

	nav .nav-inner ul li a{
		font-size: 3.5vw;
	}

	main{
		margin: 105px 0 0 0;
	}


	.footer-img img {
		max-width: none;
		width: 90%;
	}

	.footer .footer-body p{
		font-size: 2.5vw;
	}
}





@media screen and (max-width:500px) {

	header .logo a img {
        height: auto;
        width: 65%;
    }


	nav .nav-inner ul li{
		width: 90%;
        margin: 25% auto;
	}

	nav .nav-inner ul li a{
		font-size: 4vw;
	}

	#plus_block ul{
		width: 90%;
		margin: 0 auto;
	}

	.steps_btn {
        width: 40%;
    }

	.fix_right .line_btn a img {
		width: 60%;
		margin-left: 40%;
	}

	.close-video-btn {
        display: block;
    }

	.show-video-btn {
		bottom: 65px;
		padding: 15px;
	}

	.show-video-btn {
        display: none; /* 預設隱藏，點關閉影片時才顯示 */
    }

	.footer .footer-body p {
        font-size: 3.5vw;
    }

	.footer .ft_logo img {
		width: 40vw;
	}

	.footer .cpyright{
		width: 95%;
	}

	.footer .cpyright p{
		font-size: 3vw;
	}
}