@charset "UTF-8";


/* ----------電腦版型--------------------------- */



.TOP .WRAPPER,
.TEXT .WRAPPER,
.AWARD ul {
	margin: 0 auto;
	width: 95%;
	height: 100%;
	max-width: 850px;
}


.h1_word {
	display: flex;
	position: absolute;
	top: 28%;
	left: 24%;
	padding-top: 0%;
	padding-left: 0%;
	z-index: 10;
	align-items: flex-end;
}

.h2_word {
	display: flex;
	position: absolute;
	top: 50%;
	left: 24%;
	padding-top: 0%;
	padding-left: 0%;
	z-index: 5;
}




.title {
	width: 100%;
	text-align: center;
}


.title img {
	width: 50%;

}




/* ==================== */

.mainCoverBox_1 .container {
	max-width: 1280px !important;
}

.mainCoverBox_1 {

	overflow: hidden;
	object-fit: cover;
	width: 100%;
	position: relative;

}



.mainCoverContainer_1 img {
	width: 100%;
	position: relative;
	vertical-align: middle;
}


.mainCoverContainer_1 {
	width: 100%;
	position: relative;
}




.balloon_1 {
	position: absolute;
	top: 1%;
	left: 8%;
	padding-top: 0%;
	padding-left: 0%;
	z-index: 3;
	display: inline;

}

.balloon_1 img {
	width: 8vw;
	animation: move 4s infinite;
}


.balloon_2 {
	position: absolute;
	top: 1%;
	right: 10%;
	padding-top: 0%;
	padding-left: 0%;
	z-index: 3;
	display: inline;

}

.balloon_2 img {
	width: 8vw;
	animation: move 5s infinite;
}



.web_1 {
	position: absolute;
	top: 6%;
	left: 19%;
	padding-top: 0%;
	padding-left: 0%;
	z-index: 3;
	display: none;

}

.web_1 img {
	width: 60vw;
}



.girl {
	position: absolute;
	top: 22%;
	left: 15%;
	padding-top: 0%;
	padding-right: 0%;
	z-index: 3;

}

.girl img {
	width: 19vw;
}


.boy {
	position: absolute;
	top: 34%;
	right: 17%;
	padding-top: 0;
	padding-left: 0;
	z-index: 3;

}

.boy img {
	width: 17vw;
}


.big_title {
	position: absolute;
	top: 8%;
	left: 36.5%;
	padding-top: 0;
	padding-left: 0;
	z-index: 3;

}

.big_title img {
	width: 27vw;
}


.big_title_pass {
    position: absolute;
    top: 6%;
    left: 31.5%;
    padding-top: 0;
    padding-left: 0;
    z-index: 3;
}


.big_title_pass img {
    width: 38vw;
}


.small_title {
	position: absolute;
	top: 46%;
	left: 38%;
	padding-top: 0;
	padding-left: 0;
	z-index: 3;

}

.small_title img {
	width: 25vw;
}



.gift {

	position: absolute;
	top: 62%;
	right: 17%;
	width: 100%;
	z-index: 13;


}


.gift img {
	width: 9vw;
}


.cta .btn:focus {
	outline: none !important;
	border: none !important;
}


.cta {
	position: absolute;
	top: 61%;
	left: 41.5%;
	padding-top: 0;
	padding-left: 0;
	z-index: 13;


}

.cta img {
	width: 15vw;
}

.w360 {
	position: absolute;
	top: 1%;
	left: 33%;
	padding-top: 0;
	padding-left: 0;
	z-index: 3;

}

.w360 img {
	width: 9vw;
}

.content_box {
	background-color: #fff;
	border-radius: 30px;
	border-left: solid 1px #6c9e7a;
	border-right: solid 1px #6c9e7a;
	border-bottom: solid 1px #6c9e7a;
	border-top: solid 1px #6c9e7a;
	display: flex;
	width: 80%;
	max-width: 1400px;
	min-width: 365px;
	flex-direction: column;
	align-items: center;
	box-shadow: 10px 10px 0 #faf7eb;
	position: relative;


}


.content_box::after {
	content: "";
	position: absolute;
	top: 20%;
	left: -8%;
	width: 140px;
	height: 140px;
	background-image: url(../images/pen.png);
	background-size: cover;
	transform: rotateZ(287deg);
}

.content_box::before {
	content: "";
	position: absolute;
	top: 4%;
	right: -6%;
	width: 100px;
	height: 120px;
	background-image: url(../images/note.png);
	background-size: cover;

}


.content_word_box{
background-color: #6c9e7a;
padding: 20px 15px;
width: 100%;
	border-radius: 23px 23px 0 0;	
	text-align: center;
}

.content_word_box br{
	display: none;
}

.content_box h1 {
	color: #ffe593;
	font-size: 2.25rem;
	
	text-align: center;
	margin-bottom: 4px;
	width: 100%;
	font-weight: bold;
	

}

.content_box span {
	font-size: 1.875rem;
	color: #fff;
	margin-right: 8px;
}


.content_box h3 {
	font-size: 2.1rem;
	color: #232323;
	text-align: center;
	font-weight: bold;
	margin-bottom: 1.6px;
}

.content_bgc {
	padding: 72px 0 100px 0;
	margin-top: -7vw;
	background: #fffef9 url(../images/decorate.webp) repeat-y top center;
	background-size: 110% auto;
	position: relative;
	z-index: 3;
	border-radius: 70px;
}

.content_bigbox {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}


.web_content {
	overflow-x: hidden;
	width: 100%;
}

.content_cardbox {
	display: flex;
	align-items: center;
	justify-content: space-evenly;
	margin-top: -10px;
	flex-wrap: wrap;
	margin-bottom: 1.1vw;
}

.content_card {
	width: 100%;
	/* background: linear-gradient(to top, white 0%, #6c9e7a17 100%); */
	background-color: #6c9e7a17;
	/* border: solid 2px #6c9e7a; */
	padding: 12px;
	min-height: 260px;
	border-radius: 30px;

}

.content_column {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 31%;



}

.content_icon {
	width: 90px;
	height: 90px;
	padding: 5px;
	border: solid 2px #6c9e7a;
	border-radius: 50px;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	top: 31px;

}

.content_icon img {
	width: 80%;
	padding-bottom: 4px;
}

.content_card h4 {
	color: white;
	font-size: 1.25rem;
	background-color: #6c9e7a;
	padding: 10px 15px;
	border-radius: 50px;
	text-align: center;
	margin: 30px 10px;
	font-weight: bold;
}

.content_card p {
	color: #232323;
	font-size: 0.9375rem;
	text-align: justify;
	line-height: 1.5;
	padding: 0 16px;
}

.content_notice {

width: 100%;
margin: 10px auto 30px auto;
}


.head-img {
	width: 12%;

	margin-right: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}




.head-img img {
	width: 100%;
}

.head-word {
	padding: 12px 12px 12px 12px;
	/* background-color: #fceab7; */
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;

}


.head-word p {
	color: #6c9e7a;
	text-align: justify;
	font-size: 1.3125rem;
	margin: 0;
	line-height: 1.4;
	font-weight: bold;
	width: 83%;

}


.faq {
	margin-top: 72px;
	display: flex;
	justify-content: center;
}

.faq h1 {
	font-size: 2.25rem;
	color: #004b35;
	text-align: center;
	position: relative;
	display: inline-block;
	font-weight: bold;
}


.faq h1::after {
	content: '';
	position: absolute;
	top: 8px;
	left: -44px;
	background-image: url(../images/star.webp);
	background-size: cover;
	width: 26px;
	height: 26px;
}


.faq h1::before {
	content: '';
	position: absolute;
	top: 7px;
	right: -44px;
	background-image: url(../images/star.webp);
	background-size: cover;
	width: 26px;
	height: 26px;
}





/* ------------------faq---------------- */

.faq-section {
	padding: 70px 0 90px;
	position: relative;
}

.faq-head {
	text-align: center;
	margin-bottom: 40px;
}

.faq-head .kicker {
	font-family: "Caveat", cursive;
	font-size: 22px;
	color: var(--blush-deep);
	font-weight: 700;
}

.faq-head h2 {
	font-family: "Noto Serif TC", serif;
	font-size: clamp(26px, 4vw, 36px);
	font-weight: 900;
	margin-top: 4px;
}

.faq-list {
	width: 80%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-top: 24px;
}

.faq-item {
	background: white;
	border: solid 1px #6c9e7a;
	border-radius: 16px;
	overflow: hidden;

}

.faq-q {

	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 20px;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;

}

.faq-q .qmark {
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #6c9e7a;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 900;
	font-size: 15px;
	color: #fff;
}

.faq-q .qtext {
	flex: 1;
	color: #315e48;
	line-height: 1.4;
	font-weight: bold;
	font-size: 1.25rem;
}

.faq-q .chev {
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	transition: transform .25s ease;
}

.faq-item.open .chev {
	transform: rotate(180deg);
}

.faq-a {
	max-height: 0;
	overflow: hidden;
	transition: max-height .3s ease;

}

.faq-a-inner {
	padding: 15px 20px 20px 68px;
	font-size: 1.125rem;
	line-height: 1.85;
	color: #232323;
	background-color: #eff9f2;
}

.faq-a-inner strong {
	color: var(--sage-deep);
	font-size: 1.125rem;
}

.pass-a-inner ul{
	    padding-left: 2rem!important;
}

/* bottom CTA */
.bottom-cta {
	text-align: center;
	margin-top: 54px;
}

.bottom-cta p {
	font-family: "Caveat", cursive;
	font-size: 22px;
	font-weight: 700;
	color: var(--plum-soft);
	margin-bottom: 16px;
}



.modal-content {
	width: 60%;
	max-width: 930px;
	margin: 0 auto;
}

.modal-content img {
	width: 100%;
}

.modal-dialog {
	max-width: 80% !important;
}

.btn-close {
	position: absolute;
	right: 7px;
	top: 6px;
	width: 2em;
	height: 2em;
	border-radius: 10.25rem;
	opacity: 1;
	background-color: white;

}


.btn_2 {
	padding: 0;
	height: 100%;
	display: flex;
	border: none !important;
}

.btn:focus {}


.btn_pc {}


.btn_ph {
	display: none;
}




/* .modal-content button.btn {
      width: 34%;
    height: 50px;
    margin: 0 auto;
    position: absolute;
    bottom: 18%;
    left: 50%;
    transform: translate(-50%, 0%);
    background-color: #f9c110;
    color: white;
    font-size: 23px;
    border: none;
    border-radius: 51px;
    font-weight: bold;
} */



@media (max-width:600px) {
	.hero {
		padding: 40px 0 30px;
	}

	.note-strip {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
}

/* -----------------faq-------------------- */

.pass_page {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.pass_page h1 {
	font-size: 32px;

	color: #004b35;
	text-align: center;
	position: relative;
	display: inline-block;
	font-weight: bold;
}


.pass_page p {
	font-size: 1.6875rem;

	color: #004b35;
	text-align: center;
	position: relative;
	display: block;
	font-weight: bold;
}


.pass-q {
height: 54px!important;
}


.pass-a-inner li {
	list-style: auto;
	text-align: justify;
	    font-size: 1.125rem;
}

.pass-a-inner {
	padding: 15px 15px !important;
}

.pass-a-inner a {
	text-decoration: underline;
	color: #004b35;
	    font-size: 1.125rem;
}

.pass-a-inner a:hover {
	color: #004b35;
	text-decoration: underline;
}


.btn-close{
	
    font-size: 1.8rem!important;
}

.btn-go{

	margin: 30px auto 0 auto;
}


.btn-go a{
    font-size: 1.5rem;
    color: white;
    background-color: #ffc100;
    padding: 8px 15px;
    font-weight: bold;
    border-radius: 43px;
    display: block;
    width: 300px;
    text-align: center;
    letter-spacing: 2px;

}

.btn-go a:hover{
    color: white;
}

.btn-go a:focus{
    outline: none;
}



/* ----------------cta---------------*/

.btn-check:focus+.btn,
.btn:focus {
	outline: none !important;
	box-shadow: none !important;
}


/* --------Go---------- */




.pass_btn {
	width: 60%;
	padding: 12px 0;
	background-color: #a3a3a3;
	border-radius: 51px;
	margin: 20px auto 10px auto;
	outline: none;
	border: none;
    font-weight: bold;
    letter-spacing: 2px;
	cursor: not-allowed;
}

.pass_btn.active {
	background-color: #ffc100;
	cursor: pointer;

}




.pass_btn p {
	margin: 0;
	font-size: 1.25rem;
	color: white;

}

.pass-list {
	margin-top: 10px !important;
	gap: 27px !important;
}

/* Checkbox 外層 */
.custom-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	user-select: none;
	justify-content: center;
	margin-top: 10px;
}

/* 隱藏原本的 checkbox */
.custom-checkbox input {
	display: none;
}

/* 自訂 Checkbox */
.checkmark {
	width: 20px;
	height: 20px;
	border: 2px solid #D5D5D5;
	border-radius: 5px;
	background: #fff;
	position: relative;
	transition: all 0.2s ease;
	box-sizing: border-box;
}

/* Hover */
.custom-checkbox:hover .checkmark {
	border-color: #004b35;
}

/* 勾選後 */
.custom-checkbox input:checked+.checkmark {
	background: #004b35;
	border-color: #004b35;
}

/* 白色勾勾 */
.custom-checkbox input:checked+.checkmark::after {
	content: "";
	position: absolute;
	left: 5px;
	top: 1px;
	width: 6px;
	height: 11px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

/* 文字 */
.label-text {
	font-size: 17px;
	color: #333;
}




/* ------------------- */


@keyframes move {

	0% {
		transform: translate3d(0, 0%, 0);
	}

	50% {
		transform: translate3d(0, -5%, 0);
	}

	100% {
		transform: translate3d(0, 0%, 0);
	}

}




@media screen and (min-width:1200px) {
	.content_notice {
		width: 100%;
		min-width: 60%;
	}

	.content_card {
		min-height: 230px;


	}


	.content_box h1 {
  
font-size: 2.25rem;
}

.content_box span {
    font-size: 1.875rem;
}


}


@media screen and (max-width:1199px) {
	.modal-content {
		width: 90%;
		max-width: 930px;
		margin: 0 auto;
	}


	    .content_box h1 {
        font-size: 2.7rem;
    }

	    .content_box span {
        font-size: 2.4rem;
    }


}

@media screen and (min-width:768px) and (max-width:991px) {

	.content_box h1{
	    font-size: 2.7rem;	
	}

	.head-word p{
	    font-size: 2.1rem;	
	}

	.content_box span {
    font-size: 2.4rem;
}


	.faq-list {
		width: 100%;
	}

	.content_notice {
		width: 100%;
	}

	.content_box::before {
		top: 4%;
		right: -6%;
		width: 65px;
		height: 80px;

	}


	.content_box::after {
		top: 30%;
		left: -10%;
		width: 100px;
		height: 91px;

	}

	.content_box {
		width: 100%;

	}

	.content_column {
		width: 50%;
	}

	.content_card {
		min-height: 260px;

	}


	.content_card h4 {
		line-height: 1.4;
	}

	.content_column {
		width: 31.3%;
	}

}


@media screen and (max-width:800px) {




	.content_bgc {

		margin-top: -26vw;

	}


	.faq-item {
		width: 100%;
		margin: 0 auto;
	}



	.pass_page p {
		font-size: 2.1rem;
	}

	.pass_page {
		margin-top: 50px;
	}

	.gift img {
		width: 18vw;
	}


	.gift {
		top: 76%;
		right: 8%;

	}


	.big_title {
		top: 6%;
		left: 7%;

	}


	.big_title img {
		width: 86vw;
	}


		.big_title_pass {
	        top: 10%;
        left: 4%;

	}


	.big_title_pass img {
		width:97vw;
	}



	.small_title {
		top: 32%;
		left: 11%;
	}

	.small_title img {
		width: 80vw;
	}

	.cta img {
		width: 52vw;
	}


	.cta {

		top: 42%;
		left: 23%;
	}

	.girl img {
		width: 52vw;
	}

	.girl {
		top: 52%;
		left: -3%;
	}

	.boy img {
		width: 43vw;
	}


	.boy {
		position: absolute;
		right: 2%;
		top: 60%;
	}

	.w360 img {
		width: 30vw;
	}


	.w360 {
		position: absolute;
		top: 7%;
		left: 5%;
	}

	.balloon_2 {
		position: absolute;
		top: 39%;
		right: 4%;
	}

	.balloon_2 img {
		width: 15vw;
	}

	.balloon_1 {
		position: absolute;
		top: 44%;
		left: 5%;
	}

	.balloon_1 img {
		width: 13vw;
	}

	.content_notice {
		width: 100%;
		min-width: 70%;
	}

	.btn_pc {

		display: none;
	}


	.btn_ph {
		display: block;
	}



}

@media screen and (max-width:767px) {

.content_word_box br{
	display: inline;
}

	.content_card {
		min-height: auto;
	}

	.content_box::before {
		top: 4%;
		right: -6%;
		width: 65px;
		height: 80px;

	}


	.content_box::after {
		top: 30%;
		left: -10%;
		width: 80px;
		height: 81px;

	}

.content_box h1{
	    font-size: 3.0rem;
		line-height: 1.3;
}


	.content_box span {
		display: block;
		margin-bottom: 8px;
		    font-size: 1.3125rem;
	}

	.modal-dialog {
		max-width: 100% !important;
	}


.head-word p{
	    font-size: 1.125rem;
		    width: 73%;
}



	.head-img {
        width: 18%;
		min-width: 90px;
	}


	.content_bgc {
		background-size: 110% auto;
		border-radius: 40px;
		padding: 60px 0 100px 0;


	}


	.content_column {
		width: 80%;
	}

	.content_box {
		width: 100%;
	}



	.content_cardbox {

	}


	.faq-list {
		width: 100%;
	}

}

@media screen and (max-width:600px) {

	/* */

	.content_box h1 {
font-size: 1.5rem;
		margin-bottom: 9px;
	}



	.content_box h3 {

		margin-top: 8px;
	}




}

@media screen and (max-width:576px) {

	.content_box {
		width: 90%;
	}

	.faq-list {
		width: 90%;
	}

	.content_notice {
		width: 90%;
	}


}