/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&family=Noto+Sans+TC:wght@100;500;700;900&display=swap');

* {	font-family: 'Noto Sans TC', sans-serif;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	transition: 0.8s;
	text-align: center;
	color: #333;
	}

html {
	height: 100%;
	overflow-x:hidden;
	background-color: #7ac943;
	
}

body {
	position: relative;
	margin: 0;
	padding: 0;
	min-height: 100%;
	background-color: #7ac943;
	margin-bottom: 0;
	overflow-x:hidden;
}


/* p {
	font-size: 22px;
	font-weight: 600;
	line-height: 28px;
	text-align: justify;
	text-justify: distribute;
} */

img{
	border: 0;
	max-width: 100%;
	height: auto;
}

a:link, a:checked, a:visited{
	color:#db491d;
	text-decoration: none;}

.cursorPointer {
    cursor: pointer;
}

/*---- Header----*/

header{
	width: 100%;
	height: 80px;
	background: #007c7c;
	position: fixed;
    top: 0;
	z-index: 999;}

.header-wrap{
	display: flex;
	margin: 0 auto;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 100%;
	padding: 15px 2%;
	max-width: 1200px;}

.logo-wrap{
	display: inline-block;
	position: relative;
	width: auto;
	text-align: left;
	height: 55px;
	line-height: 4px;
	z-index: 1;
	color: #fff;
	font-size: 22px;}

.logo-wrap img{
	height: 100%;
	vertical-align: middle}


/*---KV----*/

.container {
	position: relative;
}

.theme-wrap {
	position: relative;
	width: 100%;
	margin: 0 auto;
	background: url(../images/theme_bg.png) bottom center no-repeat;
	background-size: cover;
	margin-top: 80px;
}

.theme_title {
	width: 100%;
	max-width: 664px;
	height: auto;
	display: block;
	margin: 80px auto -10px auto;
	animation: updown 2s linear infinite ; 
}

.theme_bg_R {
	position: absolute;
	width: 60%;
	/* max-width: 631px; */
	top: -32%;
	right: -24%;
}

.theme_bg_Lt {
	position: absolute;
	width: 60%;
	top: -4%;
	left: -22%;
}

.theme_bg_Lb {
	position: absolute;
	width: 60%;
	bottom: 0;
	left: -18%;
}

.theme_deco {
	position: relative;
	display: inline-block;
}

.deco_elder {
	position: absolute;
	width: 22%;
	bottom: 75%;
	left: -13%;
}
.deco_date {
	position: absolute;
	width: 18%;
	bottom: 65%;
	right: -13%;
}
.deco_all {
	width: 100%;
	max-width: 300px;
	margin-bottom: -40px;
}

.hero_study {
	position: relative;
	width: 100%;
	max-width: 732px;
	display: block;
	margin-bottom: -73px;
	z-index: 1;
}

.mt {
	margin-top: 80px;
}

.surveyBN img {
	margin:0 auto;
	width: 100%;
	max-width: 1100px;
	margin-top: -70px;
}

.pic_wrap {
	background-color: #FFF;
	border-radius: 20px;
	max-width: 1100px;
	margin: 40px auto 70px auto;
	padding: 40px;
	text-align: center;
}

.pic_title img{
	width: 100%;
	max-width: 303px;
	margin-bottom: 20px;
}

.pic img {
	margin-top: 50px;
	margin-bottom: 10px;
}

.pic:hover {
	transform: translateY(-10px);
}

.subtitle p {
	font-size: 18px;
	font-weight: 600;
}

.subtitle h3 {
	font-size: 30px;
	font-weight: 800;
	line-height: 45px;
	z-index: 1;
	margin-bottom: 36px;
	display: inline;
	background: linear-gradient(
		transparent 60%, #fff553 60%
	);
}

.banner {
	margin: 80px auto 0 auto;
}




@media screen and (max-width: 1200px) {
	.theme_title {
		margin: 140px auto 0 auto;
	}
}

@media screen and (max-width: 992px) {
	.deco_elder {
		position: relative;
		width: 25%;
		margin-bottom: -70px;
		margin-top: -20px;
		margin-left: -30px;
	}
	.deco_date {
		position: relative;
		width: 20%;
		margin-bottom: -25px;
		margin-top: -20px;
		margin-right: -30px;
	}
}

@media screen and (max-width: 768px) {
	.container {
		max-width: 650px;
	}

	.theme_bg_R {
		top: -25%;
		right: -18%;
	}
	.theme_bg_Lb {
	left: -10%;
	}
	.deco_elder {
		position: relative;
		width: 25%;
		margin-bottom: -50px;
	}
	.deco_date {
		position: relative;
		width: 20%;
		margin-bottom: -15px;
	}
	.hero_study {
	margin-bottom: -65px;
	}
	.mt {
	margin-top: 50px;
	}
	.surveyBN img {
	margin-top: -100px;
	}
	.pic_wrap {
	margin: 20px auto 70px auto;
	}
	.pic img {
		margin-top: 26px;
	}

}


@media screen and (max-width: 576px) {
	.theme_title {
		width: 100%;
		max-width: 300px;
		margin: 50px auto 20px auto;
	}
	.deco_all {
	margin-top: -20px;
	margin-bottom: -20px;
	}
	.theme_bg_R {
		top: -15%;
		right: -20%;
	}
	.theme_bg_Lt {
		top: -3%;
		left: -20%;
	}
	.hero_study {
	margin-bottom: -30px;
	}
	.banner {
		margin: 50px auto 0 auto;
	}
	.surveyBN img {
		margin-top: -30px;
	}
	.pic_wrap {
		margin: 20px auto 70px auto;
		padding: 20px 15px;
	}

}

@media screen and (max-width: 280px) {
	.hero_study {
		margin-bottom: -20px;
		}
	.surveyBN img {
	margin-top: -60px;
	}
}


/*----main content----*/

/* section*/

/*----tab ------*/

.tab-section {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px 70px;
}
.nav-tabs {
	border: 0;
}

/*----tab pc ------*/

.desktop-tabs {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	/* 四個按鈕固定左右間距 */
	gap: 20px;
	width: 100%;
	margin-bottom: 30px;
}

.desktop-tabs .tab-btn {
	display: block;
	flex: 1 1 0;
	max-width: 230px;
	padding: 0;
	border: 0;
	background: none;
	outline: none;
	box-shadow: none;
	cursor: pointer;
	position: relative;
	transition: transform 0.25s ease;
}

.desktop-tabs .tab-btn img {
	display: block;
	width: 100%;
	height: auto;
	margin-top: 40px;
}

.desktop-tabs .tab-btn.active {
	color: inherit;
	background: none;
	border: 0;
	outline: none;
	box-shadow: none;
	transform: translateY(-15px);
}

.desktop-tabs .tab-btn:focus,
.desktop-tabs .tab-btn:focus-visible {
	outline: none !important;
	box-shadow: none !important;
}

/*----tab content ------*/

.tab-content-area {
	background: #fff;
	padding: 40px;
	min-height: 250px;
	border-radius: 20px;
}

.tab-pane {
	color: #333;
	line-height: 1.8;
}

.mobile-tabs {
	display: none;
}

@media (max-width: 768px) {
	.desktop-tabs {
		gap: 8px;
	}
}

@media (max-width: 576px) {
	.tab-section {
		padding: 30px 15px 60px;
	}
	.desktop-tabs {
		display: none;
	}

/*----tab mobile ------*/

.mobile-tabs {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	background: #fff;
	padding: 20px 10px 10px;
	box-shadow: 0 -3px 12px rgba(0, 0, 0, 0.08);
}


.mobile-tabs .tab-btn {
	flex: 1;

	max-width: 98px;

	padding: 0;
	margin: 0;

	border: 0;
	background: transparent;

	outline: none;
	box-shadow: none;

	cursor: pointer;

	position: relative;

	transition: transform 0.25s ease;
}


.mobile-tabs .tab-btn img {
	display: block;

	width: 100%;
	max-width: 80px;

	height: auto;

	margin: 0 auto;
}

.mobile-tabs .tab-btn.active {
	background: transparent !important;
	border: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	transform: translateY(-8px);
}


.mobile-tabs .tab-btn:focus,
.mobile-tabs .tab-btn:focus-visible {
	outline: none !important;
	box-shadow: none !important;
}

/* tab content*/
.tab-content-area {
		padding: 25px 20px;
		min-height: 400px;
	}

}

@media (max-width: 480px) {

	.mobile-tabs {
		padding-left: 5px;
		padding-right: 5px;
	}

	.mobile-tabs .tab-btn {
		max-width: 78px;
	}

	.mobile-tabs .tab-btn img {
		max-width: 70px;
	}

	.tab-content-area {
		padding: 20px 15px;
	}
}



/* table */
.table{
	border-radius: 15px 15px 0 0;
	overflow: hidden;
}

table td{
	vertical-align: middle !important; 
	font-size: 18px;
	font-weight: 600;
}

tr:nth-child(1) {
	background-color: #007d7d;
	font-size: 1.2rem;
}

.table-title {
	font-size: 21px;
}
.table-bg {
	background-color:#e7f2fa;
}


/*---Footer----*/

.footer {
	background-color: #fff;
	padding-bottom: 1px;

}

.green_line {
	background-color: #007c7c;
	height: 20px;	
}

.footer p {
	font-size: 16px;
	text-align: center;
	padding: 15px 30px 0px 30px;
}


/*-- 活動辦法 --*/


.mb {
	margin-bottom: 30px;
}

.btn_green {
	display: inline;
	background-color: #1f7d7d; 
	color: #FFF; 
	font-size: 16px; 
	border-radius: 20px;
	padding: 3px 25px;
	white-space: nowrap;
}

.btn_green:hover {
	background-color: #ff5722; 
}

.rule h3{
	display: inline;
	background: linear-gradient(
		transparent 60%, #f3c02a 60%);
	font-size: 36px;
	font-weight: 800;
	z-index: 1;
	margin-bottom: 36px;
}

.rule ol {
	padding-left: 30px;
    padding-right: 10px;}

.rule p {
	font-size: 15px;
	line-height: 22px;
	font-weight: 500;
	text-align: left;
	margin-bottom: 5px;
}

.rule > ol > li{
	color: #333;
	font-size: 18px;}

.rule ol li{
	font-weight: 600;
	text-align: left;
	line-height: 30px;
	margin-bottom: 10px;}

.rule ol li span{
	color: #eb4c06;}

.rule ol li h3{
	margin: 10px 0;
	text-align: left;
	font-size: 17px;
	white-space: pre-line;
	color: #f44336;}
	
.rule ol li ul{
	background: #efefef;
	padding: 10px;
	padding-left: 30px;
	margin-top: 10px;}

.rule ol li ul li{
	list-style: none;
	font-weight: 500;
	font-size: 16px;
	margin-bottom: 5px;}

.rule ol li ul li span{color: #ff5722;}

.rule ol li ol{padding-left: 5px;}
.rule ol li ol li{
	list-style: inherit;
    margin-bottom: 0;
    font-size: 16px;
    margin-left: 10px;} 

.sub-list {
	list-style: none;
	counter-reset: sub;
}
.sub-list > li {
	counter-increment: sub;
}
.sub-list > li::before {
	content: "("counter(sub)")";
}
.direct-sub {
	list-style: none;
	counter-reset: direct;
	padding-left: 0;
}
.direct-sub > li {
	counter-increment: direct;
}
.direct-sub > li::before {
	content: "("counter(direct)")";
	margin-left: 0;
	margin-bottom: 0;
}

/*----BTN TO TOP ------*/

.section-btnTop {
    display: inline-block;
    position: fixed;
    width: 100%;
    max-width: 1200px;
    height: 1px;
    margin: 0 auto;
    bottom: 15%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: right;
    z-index: 999;
}

.btnTop-Wrap {
    display: inline-block;
    top: 50%;
    right: -100px;
    transform: translateY(-50%);
    width: 0px;
}

.btnTop {
    position: relative;
    display: inline-block;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 60px;
    border-radius: 30px;
    font-weight: 600;
    padding: 5px;
    background: #00a3fa;
    line-height: 50px;
    color: #fff;
    font-size: 1.2em;
    cursor: pointer;
    transition: 0.5s;
    box-shadow: 0 6px 16px -9px rgba(00, 00, 00, 0.8);
}

.btnTop:active,
.btnTop:hover{
	color: #fff;
	background: #489314;
	box-shadow: 0 6px 16px -9px rgba(00, 00, 00, 0);} 

.rightBN-wrap {
    display: inline-block;
    position: absolute;
    width: 127px;
    height: 100px;
    top: -150px;
    left: 50%;
    transform: translateX(-50%);
}

.rightBN {
    display: inline-block;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 127px;
    height: 100px;
    cursor: pointer;
}

.rightBN img {
	width: 100%;
	max-width: 127px;
}

	
.cno{
	display: block;
	text-align: right;
	width: 100%;
	background: #007c7c;
	color: #fff;
	font-weight: 900;
	padding: 5px 2%;
	z-index: -1;}

footer{
	padding: 10px 2%;
	font-size: 15px;
	z-index: 1;
	background-color: #fff;
}

@media screen and (max-width: 1330px) {
	.section-btnTop {
    transform: translate(-58%, -50%);
}
}

@media screen and (max-width: 768px) {
	.section-btnTop {
    transform: translate(-60%, -50%);
}
}

@media screen and (max-width: 576px) {
	.section-btnTop {
    transform: translate(-64%, -50%);
	bottom: 26%;
}
	footer{
	margin-bottom: 100px;
}

@media screen and (max-width: 460px) {
	.section-btnTop {
    transform: translate(-68%, -50%);
	}
}

@media screen and (max-width: 280px) {
	.section-btnTop {
    transform: translate(-75%, -50%);
}
}	
	
}

/*---KV動畫----*/

@keyframes updown { 
	0%{ transform: translateX(0);
		-webkit-transform: translateY(0);}	
	50%{ transform: translateX(8px);
		 -webkit-transform: translateY(8px);}		
	100%{ transform: translateY(0px);
		  -webkit-transform: translateY(0px);}
	}
