@font-face {
  font-family: "GenJyuuGothicX";
  src: url("fonts/GenJyuuGothicX-Bold.ttf");
	font-weight: bold;
}
@font-face {
    font-family: "GenJyuuGothicX";
    src: url("fonts/GenJyuuGothicX-Medium.ttf");
    font-weight: medium;
}
html, body {
	overflow-x: hidden;
}
body {
	font-family: 'Noto Sans TC', 'Arial', 'Noto Sans CJK TC', 'PingFang TC', 'Heiti TC', 'Noto Sans TC', source-han-sans-traditional, 'Microsoft JhengHei', sans-serif;
	font-display: block;
	color: #1a1a1a;
	font-size: 1.125rem;
	font-weight: 400;
	background-color: #f4f4f4;
}
body.loaded .gen-jyuu {
	font-family: 'GenJyuuGothicX', 'Arial', 'Noto Sans CJK TC', 'PingFang TC', 'Heiti TC', 'Noto Sans TC', source-han-sans-traditional, 'Microsoft JhengHei', sans-serif;
}
p {
	line-height: 1.8;
	font-weight: 400;
}

a {
	text-decoration: none;
	color: inherit;
	-webkit-tap-highlight-color: transparent;
}
a, button, input[type="submit"], input[type="button"] {
	cursor: pointer;
}
input, select, textarea, button {
	font-family: 'Noto Sans TC', 'Arial', 'Noto Sans CJK TC', 'PingFang TC', 'Heiti TC', 'Noto Sans TC', source-han-sans-traditional, 'Microsoft JhengHei', sans-serif;
	font-size: 1.125rem;
	font-weight: 400;
}
img {
	max-width: 100%;
	width: auto;
	height: auto;
}

/* Preloader */
#preloader {
	position: fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background-color: #fff7ec; /* change if the mask should have another color then white */
	z-index:100; /* makes sure it stays on top */
	display: flex;
	align-items: center;
	justify-content: center;
}
#status {
    width: 50px;
    height: 50px;
    animation: shinning 4s ease-in-out infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
@keyframes shinning {
    0% { opacity: 0.1; }
	50% { opacity: 1; }
    100% { opacity: 0.1; }
}

/* layout */
.container {
	padding: 5em 2em 5em;
	max-width: 960px;
	width: 100%;
	margin: 0 auto;
}
.container.wide {
	max-width: 1480px;
}
.container.mid-wide {
	max-width: 1280px;
}
footer .container {
	padding: 1em 2em;
}
.max-w8 {max-width: 840px;}
.max-w7 {max-width: 720px;}
.max-w6 {max-width: 600px;}
.max-w5 {max-width: 500px;}
.max-w4 {max-width: 400px;}
.max-w3 {max-width: 340px;}

.col {
	display: inline-block;
}
.d-none {
	display: none;
}
.block {
	display: block;
}
.flex {
	display: flex;
}

.mx-auto {
	margin-left: auto;
	margin-right: auto;
}
.w100 {
	width: 100%;
}
.w50 {
	width: 50%;
}
.d-table {
	display: table;
}
.d-row {
	display: table-row;
}
.d-cell {
	display: table-cell;
}
.mt-s {	margin-top: 4px; }
.mt-1 {	margin-top: 0.8em; }
.mt-2 {	margin-top: 1.4em; }
.mt-3 {	margin-top: 3.5em; }
.mb-s {	margin-bottom: 4px; }
.mb-1 {	margin-bottom: 0.8em; }
.mb-2 {	margin-bottom: 1.4em; }
.mb-3 {	margin-bottom: 2em; }
.mb-4 {	margin-bottom: 4em; }
.mb-5 {	margin-bottom: 6em; }
.ml-s { margin-left: 4px; }
.ml-1 { margin-left: 0.8em; }
.ml-2 { margin-left: 1.8em; }
.mr-s { margin-right: 4px; }
.mr-0\.5 { margin-right: 0.5em; }
.mr-1 { margin-right: 1em; }
.mr-2 { margin-right: 2em; }

.my-1 { margin-top: 0.5em; margin-bottom: 0.5em;}
.my-4 { margin-top: 2em; margin-bottom: 2em;}
.my-6 { margin-top: 3em; margin-bottom: 3em;}

.pt-s { padding-top: 4px; }
.pt-1 { padding-top: 0.8em; }
.pt-2 { padding-top: 1.4em; }
.pt-3 { padding-top: 2.5em; }
.pt-4 { padding-top: 4em; }
.pb-1 { padding-bottom: 1em; }
.pb-2 { padding-bottom: 1.4em; }
.pb-4 { padding-bottom: 4em; }
.px-1 { padding-left: 0.8em; padding-right: 0.8em; }
.pr-2 { padding-right: 2em; }

.gap-3 { gap: 2em; }

/* position */
.relative {
	position: relative;
}
.absolute {
	position: absolute;
}
.sticky {
	position: sticky;
}
.ab-center {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
.fixed-right {
	position: fixed;
	right: 20px;
	top: 150px;
	z-index: 90;
}
.flex-wrap {
	flex-wrap: wrap;
}
.flex-column {
	flex-direction: column;
}
.flex-middle {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}
.flex-space {
	display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.flex-right {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
}
.flex-left {
	display: -webkit-flex;
    display: flex;
	-webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}
.flex-align-start {
	-webkit-align-items: flex-start;
    align-items: flex-start;
}
.flex-align-stretch {
	-webkit-align-items: flex-stretch;
    align-items: flex-stretch;
}
.flex-grow-1 {
	flex-grow: 1;
}
.flex-nowrap {
	flex-wrap: nowrap;
}
.zindex-1 {
	z-index: 1;
}
.zindex-2 {
	z-index: 2;
}

.no-pe {
	pointer-events: none;
}

/* color */
:root {
	--green-300: #d0e18a;
	--green-300-op-50: #B5EB8380;
	--green-400: #90A955;
	--green-500: #abcd77;
	--green-600: #4ca263;
	--green-700: #62b649;
	--green-800: #008d6a;
	--green-900: #132C18;
	--green: #62b649;
	
	--purple-200: #FF91A8;
	--purple-300: #FD89A0;
	--purple-400: #c58de2;
	--purple-500: #985277;
	--purple-op-60: #98527799;
	--purple-600: #5C374C;
	--purple: var(--purple-500);

	--yellow: #FFBB26;
	--yellow-600: #F5A32B;
	--orange: #FF8C61;
	--orange-500: #eb6816;
	--pink-100: #FFF0F1;
	--pink-200: #FFD3D9;
	--pink-300: #FABEB9;
	--pink-500: #fa897b;
	--pink: var(--pink-500);

	--brown: #73574D;
	--brown-light: #996E65;

	--red: #c1272d;
	--light: #F2F2F2;
}
.bg-no { background: transparent; }
.bg-light { background-color: var(--light); }
.bg-light-gray { background-color: #f2f2f2; }
.bg-gray { background-color: #666; }
.bg-dark { background-color: #1a1a1a; }
.bg-green { background-color: var(--green); }
.bg-green-500 { background-color: var(--green-500); }
.bg-green-600 { background-color: var(--green-600); }
.bg-green-800 { background-color: var(--green-800); }
.bg-green-900 { background-color: var(--green-900); }
.bg-pink-100 { background-color: var(--pink-100); }
.bg-purple-500 { background-color: var(--purple-500); }

.black { color: #1a1a1a; }
.white { color: #fff; }
.deep-gray {  color: #333333;}
.gray { color: #4d4d4d; }
.gray2 { color: #ccc; }
.light { color: var(--light); }
.yellow { color: var(--yellow); }
.yellow-600 { color: var(--yellow-600); }
.red { color: var(--red); }
.green { color: var(--green); }
.green-400 { color: var(--green-400); }

.green-800 { color: var(--green-800); }
.purple-200 { color: var(--purple-200); }
.purple-300 { color: var(--purple-300); }
.purple-400 { color: var(--purple-400); }
.purple-500 { color: var(--purple-500); }
.purple-600 { color: var(--purple-600); }
.purple-op-60 { color: var(--purple-op-60); }
.pink-300 { color: var(--pink-300) }
.pink-500 { color: var(--pink-500) }
.orange { color: var(--orange) }
.orange-500 { color: var(--orange-500) }
.brown { color: var(--brown) }

.opacity3 { opacity: 0.3; }
.opacity6 { opacity: 0.6; }

.border-gray { border: 1px solid #999; }

.box-shadow { 
	box-shadow: 0px 4px 8px rgba(255, 133, 133, 0.3);
}

.text-border span {
	position: relative;
	z-index: 1;
}
.text-border::before {
	content: attr(data-text);
	color: #fff;
	position: absolute;
	z-index: 0;
	-webkit-text-stroke: 6px #fff;
	text-stroke: 6px #fff;
}

/* text */
.t-xxxlarge { font-size: 60px; }
.t-xxlarge { font-size: 46px; /* 30px */ }
.t-xlarge { font-size: 2.2em; /* 30px */ }
.t-large { font-size: 1.88889em; /* 26px */ }
.t-midlarge { font-size: 1.45em; /* 22px */ }
.t-mid2 { font-size: 1.25em; }
.t-mid { font-size: 1.125em; /* 18px */ }
.t-small { font-size: 0.866em; /* 16px */ }
.t-xsmall { font-size: 0.625em; /* 14px */ }
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-justify { text-align: justify; }
.font-w9 { font-weight: 900; }
.bold { font-weight: 700; }
.font-w4 { font-weight: 400; }
.font-w5 { font-weight: 500; }
.lh-13 { line-height: 1.3; }
.lh-15 { line-height: 1.5; }
.lh-20 { line-height: 2; }
.ls-1 { letter-spacing: 3px; }
.show-sm, .show-mid { display: none; }

hr {
	border: 0;
	height: 1px;
	border-radius: 1px;
}

/* link */
.link {
	text-decoration: underline;
	text-underline-offset: 6px;
}
.link:hover {
	opacity: 0.9;
}

/* button */
.main-btn {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-family: 'Noto Sans CJK TC';
	font-weight: bold;
	font-size: 24px;
	width: 160px;
	height: 50px;
	background: var(--green-300);
	color: var(--green-700);
	transition: all 0.16s ease;
	border-radius: 50px;
	border: 3px solid var(--light);
	padding: 0px 24px;
}
.main-btn-dot {
	margin-top: -3px;
}
.sub-btn {
	position: relative;
	display: inline-block;
	text-align: center;
	font-weight: bold;
	font-size: 18px;
	width: 104px;
	height: 40px;
	line-height: 40px;
	background: var(--pink-200);
	color: var(--purple-500);
	transition: all 0.16s ease;
	border-radius: 50px;
}
.sub-btn.yellow {
	border-color: var(--yellow);
}
.sub-btn.light-green {
	border-color: var(--light-green);
}

.green-btn {
	position: relative;
	font-weight: bold;
	background: #3cb05a;
	color: white;
	padding: 0.4em 2.5em;
	border-radius: 999px;
	border: none;
	outline: none;
}
.green-btn + img {
	position: absolute;
	height: 70%;
	top: 15%;
	right: 0;
	transform: translate(-20%, 0);
	pointer-events: none;
}

.tab-btns {
	border-bottom: 1px solid #ccc;
}
.tab-btns .main-btn {
	border: 0;
	background: transparent;
	font-weight: 400;
	color: #898989;
	border-radius: 0;
	margin-bottom: -2px;
}
.tab-btns .main-btn.active {
	border-bottom: 2px solid #264428;
	font-weight: 700;
	color: #264428;
}

.long-btn {
	background: #fff;
	font-family: 'Noto Sans CJK TC' !important;
	border-radius: 30px;
	color: #ea5e3b;
	border: solid 2px #ea5e3b;
	text-align: center;
	min-height: 160px;
	writing-mode: vertical-rl;
	text-orientation: upright;
	padding: 30px 14px 30px 10px;
	font-size: 27px;
	font-weight: 700;
	box-shadow: 0px 5px 8px rgba(0, 0, 0, .4);
}
.main-btn:hover {
	transform: scale(0.95);
}
.sub-btn:hover {
	transform: scale(0.95);
}
.tab-btns .main-btn:hover {
	background: #ccc;
	transform: none;
}
.top-btn {
	width: 70px;
	height: 70px;
	display: block;
	margin-top: 10px;
}
.tag {
	color: #ffdd94;
	background: #ea5e3b;
	padding: 0.4rem 1rem;
	border-radius: 0.3em;
	line-height: 1.1;
}

/* header */
.header {
	position: fixed;
	width: 100%;
	z-index: 99;
    transition: transform 0.4s ease, background-color 0.2s ease, height 0.2s ease-in-out;
    background-color: transparent;
}
.navbar {
	position: relative;
    padding: 0;
    width: auto;
    display: flex;
    font-weight: 500;
    color: var(--brown-light);
	gap: 16px;
	padding-top: 6px;
	transition: all 0.4s ease;
}
.navbar li {
    position: relative;
}
.navbar a {
	display: block;
	padding: 20px 8px 16px 16px;
	transition: color 0.12s ease;
	color: var(--green-800);
	font-weight: bold;
}
.navbar a:hover, .navbar a.active {
	color: var(--pink-500);
}

.navbar a.link-leaf {
	color: var(--green-700);
	background-image: url('../img/link-bg-green-02.svg');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	margin-left: 16px;
}
.navbar a.link-leaf:hover {
	color: var(--pink-500);
}

.nav-coin {
	position: absolute;
	background: var(--light);
	border-radius: 50%;
	padding: 0;
	width: 90px;
	height: 90px;
	right: -45px;
	top: 0;
}
.nav-hbg {
	display: none;
	position: absolute;
	background: var(--light);
	border-radius: 12px;
	right: 0;
	top: 0;
	box-shadow: 7px 7px 8px rgba(16, 86, 21, 0.3);;
}
.active .nav-hbg {
}
.navbar-footer {
	padding-top: 5px;
	padding-bottom: 10px;
	background: var(--gray-green);
	border-bottom-right-radius: 40px;
}
.navbar-footer li a {
	color: var(--light);
}
.navbar-footer li + li {
	border-color: #617761;
}
.openlater {
	color: #666;
}
a.openlater:hover {
	color: #666;
}
.navbar a.openlater:hover::after, .navbar a.openlater.active::after {
	opacity: 0;
}
a.openlater span {
	display: block;
	position: absolute;
	background-color: #999;
	color: #fff;
	top: auto;
	bottom: -25px;
	left: 0;
	right: 0;
	margin: auto;
	width: auto;
	text-align: center;
	height: auto;
	border-radius: 20px;
	font-size: 13px;
	padding: 4px 10px;
	opacity: 0;
	transition: opacity 0.2s ease-in-out;
	width: 75px;
}
a.openlater span::after {
	content: '';
	border-style: solid;
	border-color: transparent transparent #999 transparent;
	position: absolute;
	border-width: 0 3px 7px 3px;
    top: -6px;
    left: 0;
    right: 0;
    width: 0;
    margin: auto;
}
.navbar a.openlater:hover span, .navbar a.openlater.active span {
	opacity: 0.6;
}
.header.detachedHide {
}
.header.detached {
	background-color: #fff7ec;
}
.header.detached .navbar {
	padding-top: 0;
}
.header.detached.show {
}

/* navbar toggle */
.hbg-btn {
	border: 0;
	padding: 0;
	height: 50px;
	width: 50px;
	border-radius: 5px;
	vertical-align: top;
	transition: all 0.2s ease;
	position: absolute;
	top: 0px;
	right: 8px;
	text-align: center;
}
.icon-hbg,
.icon-hbg::before,
.icon-hbg::after {
	content: "";
	display: block;
	margin: 0 auto;
	width: 30px;
	height: 4px;
	background-color: var(--pink-500);
	border-radius: 2px;
	position: absolute;
	transform-origin: center center;
	left: -15px;
	right: -15px;
}
.icon-hbg::before {
	position: absolute;
	top: -10px;
}
.icon-hbg::after {
	position: absolute;
	bottom: -10px;
}
.active .icon-hbg {
	width: 0;
}
.active .icon-hbg::before {
	top: 0;
	transform: rotate(45deg);
}
.active .icon-hbg::after {
	bottom: 0;
	transform: rotate(-45deg);
}

.icon-svg {
	height: 1em;
	width: auto;
	vertical-align: middle;
    margin-top: -4px;
}
/* main */
main {
	background-color: #fff7ec;
}

/* section */
section {
	position: relative;
}
.sec-prev-dec {
    position: absolute;
		top: 0;
		left: 0;
    width: 100%;
    transform: translate(0px, -70%);
}
.sec-prev-dec svg {
	width: 100%;
	object-fit: contain;
}
/* .title-leaf {
	background: url('../img/title-bg-green.svg') no-repeat;
	background-size: auto 100%;
	display: inline-block;
	padding: 0.75em 1em 0.5em 1em;
}
.title-leaf.leaf-wide {
	background-size: 97.5% 100%;
	padding: 1em 1.5em 0.75em 1.5em;
} */
.title-flower {
	position: relative;
	color: var(--purple-500);
	display: inline-block;
	padding: 0.75em 1.65em 0 1.65em;
	background-repeat: no-repeat;
	background-image: url('../img/dec-heart-left.svg'), url('../img/dec-heart-right.svg');
	background-position: 0.5em center, right center;
	background-size: contain;
}
.title-flower::before {
	-webkit-text-stroke: 4px #fff;
	text-stroke: 4px #fff;
	text-shadow: 4px 4px 8px rgba(255, 178, 184, 1);
}
/* .title-butter {
	background-image: 
	 	url('../img/dec-butterfly-left.svg'),
		url('../img/dec-butterfly-right.svg'),
		url('../img/title-bg-yellow.svg');
	background-repeat: no-repeat, no-repeat, no-repeat;
	background-size: 48px auto, 35px auto, calc(100% - 5em) 100%;
	background-position: left top, 93% bottom, center center;
	display: inline-block;
	padding: 0.5em 3.25em 0.5em 3.25em;
	color: var(--brown);
	position: relative;
	z-index: 1;
} */
.subtitle {
	display: flex;
	justify-content: center;
	color: white;
	font-weight: bold;
}
.subtitle span {
	padding: 0 2rem;
	min-width: 250px;
	line-height: 60px;
	background: var(--pink-500);
}
.subtitle::before, .subtitle::after {
	content: '';
	width: 120px;
	height: 60px;
}
.subtitle::before {
	background-image: url('../images/subtitle-left.png');
}
.subtitle::after {
	background-image: url('../images/subtitle-right.png');
}

.subtitle.t-midlarge::before {
	background-image: url('../images/subtitle-left2.png');
}
.subtitle.t-midlarge::after {
	background-image: url('../images/subtitle-right2.png');
}
.subtitle.t-midlarge span {
	padding: 0;
	background: #ffdd94;
	min-width: 100px;
}
/* topsec */
.topsec {
	min-height: 100vh;
	padding-bottom: 200px;
}
.top-title {
	position: relative;
	margin: auto;
	max-width: 800px;
	padding-top: 80px;
}
.top-title .main-title {
	max-width: 100%;
	position: relative;
	z-index: 1;
	padding-top: 40px;
	max-width: 800px;
}
/* butterfly */
.flying {
	position: absolute;
	display: block;
	top: 10%;
	left: 50%;
	transform-style: preserve-3d;
	transform: rotateX(50deg) rotateY(30deg) rotateZ(-60deg);
	animation-name: flyingAnimation;
	animation-duration: 5s;
	animation-iteration-count: infinite;
	animation-timing-function: ease-in-out;
	transform-origin: 100%;
}
.wing {
	animation-duration: 0.6s;
}
.wingLeft, .wingRight {
	position: absolute;
	display: block;
}
.wingLeft {
	animation-name: moveLeft;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	left: -4px;
}
.wingRight {
	animation-name: moveRight;
	animation-iteration-count: infinite;
	animation-direction: alternate;
}
.wing::before, .wing::after {
	content: '';
	background: #f8c753;
	transform-origin: 100% 70%;
	overflow: hidden;
	position: absolute;
	display: block;
	border-radius: 50% 50% 40% 40%;
	right: 0;
	top: 0;
}
.wing::before {
	height: 35px;
	text-align: center;
	transform: translate(-7px, 0px) rotateZ(44deg);
	width: 50px;
}
.wing::after {
	height: 23px;
	transform: rotateZ(-45deg);
	width: 27px;
	top: 3px;
}
.flyBody {
	position: absolute;
	width: 10px;
	height: 45px;
	top: 0;
	left: 0;
	background-color: #72564c;
	border-radius: 100%;
	transform: translate(-5px, -5px);
}

@keyframes moveLeft {
	0% {
		transform: translate(-2px, 0px) rotateY(-60deg);
	}
	100% {
		transform: translate(-2px, 0px) rotateY(60deg);
	}
}

@keyframes moveRight {
	0% {
		transform: translate(5px, 2px) rotateY(170deg);
	}
	100% {
		transform: translate(5px, 2px) rotateY(70deg);
	}
}

@keyframes flyingAnimation {
	0% {
		left: 0;
		top: 0px;
	}
	25% {
		left: 0;
		top: 100px;
	}
	50% {
		left: 0;
		top: 50px;
	}
	100% {
		left: 0;
		top: 0px;
	}
}
.butterfly {
	z-index: 2;
	position: absolute;
}
#butterfly-l-t {
	top: 15%;
	left: -8%;
	transform: translate(0px, 0px) rotate(30deg) scale(0.6);
}
#butterfly-l-m {
	top: 40%;
	left: -38%;
	transform: translate(0px, 0px) scaleX(-1) rotate(22deg) scale(0.4);
}
#butterfly-l-m .wing,
#butterfly-r-b .wing {
	animation-duration: 0.2s;
}
#butterfly-l-m .flying,
#butterfly-r-t .flying {
	animation-duration: 10s;
}
#butterfly-l-b {
	top: 58%;
	left: -20%;
	transform: translate(0px, 0px) scale(0.8);
}
#butterfly-l-b .wing,
#butterfly-r-m .wing {
	animation-duration: 0.3s;
}
#butterfly-l-b .flying,
#butterfly-r-b .flying {
	animation-duration: 8s;
}
#butterfly-r-t {
	top: 18%;
	right: -10%;
	transform: translate(0px, 0px) rotate(-10deg) scale(0.8);
}
#butterfly-r-m {
	top: 75%;
	right: -18%;
	transform: translate(0px, 0px) scaleX(-1) scale(0.65);
}
#butterfly-r-b {
	top: 100%;
	right: -5%;
	transform: translate(0px, 0px) scale(0.4);
}

/* .hint-flower {
	position: absolute;
	left: 66%;
	top: 46%;
	background: url('../img/shape-flower.png') no-repeat;
	background-size: contain;
	background-position: center;
	padding: 120px 50px 100px 60px;
	color: var(--pink-500);
	white-space: nowrap;
}
.hint-flower span {
	display: block;
	transform: rotate(12deg);
} */

/* mainbg */
.sec-bg {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}
.sec-bg img {
	position: absolute;
	max-width: none;
}
.bg-cloud {
	width: 100%;
	left: 0;
	top: 0;
	transform: translate(0, -100%);
}
.bg-cloud2 {
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: url('../images/cloud-bg.png');
	background-size: 100% auto;
	background-repeat: no-repeat;
}
.bg-tree-left {
	left: 0;
	top: -8vw;
	transform: translate(0px, -100%);
}
.bg-tree-right {
	right: 0;
	top: -13vw;
	transform: translate(0px, -100%);
}
#top-sec .bg-butterfly-01 {
	left: 8%;
	top: auto;
	bottom: 7%;
	margin: auto;
}
#top-sec .bg-butterfly-02 {
	right: 0%;
	top: 0%;
	bottom: 0;
	margin: auto;
}
/* canvas leaf */
#canvas_leaf {
	z-index: 0;
}
/* about sec */
.about {
	padding: 40px 90px;
	background-image: url('../images/about-bg.png');
	background-size: 100% 100%;
	color: #555555;
	margin: 4rem 0;
}
.bg-grass {
	top: 0;
	transform: translate(0, -90%);
	width: 100%;
}
#about-sec.bg-grass-repeat {
	background-image: url('../img/bg-grass.png');
	background-repeat: repeat;
	background-position: center 140%;
	padding-bottom: 2em;
}
.bg-grass-repeat {
	background-image: url('../img/bg-grass-30.png');
	background-repeat: repeat;
	background-position: center -50%;
	padding-bottom: 8em;
}
#coin-sec {
	padding: 4em 0;
}
#coin-sec .container {
	background: linear-gradient(#fff7ec, #fcead4 100%);
	border-radius: 1.5em;
	padding: 2em;
}
.event-msg {
	display: flex;
	justify-content: center;
	margin-bottom: 2em;
}
.event-msg-img {
	width: 30%;
	margin-right: 4%;
}
.event-msg-con {
	width: 66%;
	max-width: 530px;
}
.event-msg-con ol {
	list-style: disc;
	padding-left: 1em;
}
.bg-people {
	left: 0;
	right: 0;
	margin: auto;
	top: 34px;
	transform: translateY(-100%);
}
.bg-tree-s-right {
	left: calc(50% + 440px);
	top: -160px;
}
.bg-flowers {
	left: -1200px;
	right: -1200px;
	margin: auto;
	bottom: 0;
	width: 100%;
}
#coin-sec .bg-flowers {
	left: -1200px;
	right: -1200px;
	bottom: auto;
	top: -200px;
}
.green-card {
	background-color: var(--green-300-op-50);
	padding: 50px 40px 40px 40px;
	border-radius: 20px;
	margin-top: -40px;
}
/* sec sai */
#sec-sai {
	background: linear-gradient(#fff7ec, #fff7ec 5%, #fcead4 100%);
}
/* #sec-sai .bg-cloud:nth-of-type(1) {
	top: -100px;
}
#sec-sai .bg-cloud:nth-of-type(2) {
	top: 35%;
} */
.bg-petal-01 {
	left: 0px;
	top: 40px;
}
.bg-petal-02 {
	right: 60px;
	top: 50%;
}
#sec-sai .bg-petal-01 {
	top: -240px;
}
#sec-sai .bg-petal-02 {
	top: 8%;
}
.bg-petal-01:nth-of-type(2) {
	top: 28%;
}
.bg-petal-02:nth-of-type(2) {
	top: 42%;
}

#sec-sai .bg-tree-left {
	bottom: 180px;
}
#sec-sai .bg-tree-right {
	bottom: 180px;
}
/* sec coin */
.bg-butterfly-01 {
	left: -5%;
	top: 0%;
	bottom: 0;
	margin: auto;
}
.bg-butterfly-02 {
	right: -7%;
	top: 30%;
	bottom: 0;
	margin: auto;
}
#sec-coin .bg-butterfly-01 {
	top: -440%;
}
#sec-coin .bg-butterfly-02 {
	top: -280%;
}
/* sec signup */
#signup-sec {
	background: linear-gradient(#fff7ec, #fff7ec 5%, #fcead4 100%);
}
/* #signup-sec .bg-cloud:nth-of-type(1) {
	top: -40px;
}
#signup-sec .bg-cloud:nth-of-type(2) {
	top: 53%;
} */
#hint-sec .bg-petal-01 {
	left: -60px;
	top: -40px;
	bottom: auto;
}
#hint-sec .bg-petal-02 {
	top: auto;
	right: -60px;
	bottom: -80px;
}
/* speaker */
/* .news-slick , .speaker-slick {
	padding-top: 2em;
	position: relative;
	overflow: hidden;
}
.slick-track {
	margin: 0 auto;
}
.slick-dots button[aria-label="1 of 1"] {
	display: none;
}
.speaker-slick .speaker {
	margin: 0 2em;
} */
.speaker-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 80px 5px;
}
.speaker {
	display: inline-flex;
	align-items: flex-end;
	position: relative;
	vertical-align: bottom;
}
.speaker:hover,
.speaker:focus,
.speaker:active {
	outline: none;
}

.speaker-img {
	position: relative;
	z-index: 2;
	width: 50%;
	max-width: 320px;
	display: flex;
    justify-content: center;
    align-items: flex-end;
    background-size: contain;
    background-position: bottom;
}
.speaker-img img {
	width: 100%;
	height: auto;
	top: 0;
	left: 0;
}
.speaker-info {
	position: relative;
	z-index: 1;
	text-align: justify;
	width: 75%;
	height: 90%;
	margin-left: -25%;
	padding: 30px 30px 20px calc(20px + 23%);
	background-image: url('../images/speaker-bg.png');
	background-size: 100% 100%;
	border-radius: 20px;
}
.speaker-title {
	display: flex;
	align-items: end;
	position: relative;
}
.speaker-title img {
	position: absolute;
	left: 0;
	top: 0;
	transform: translate(-130%, 50%);
}
.speaker-title h5 {
	color: #f29b50;
}
.speaker-info h5,
.speaker-info h6 {
	white-space: nowrap;
	margin-bottom: 10px;
	font-weight: bold;
}
.speaker-info p {
	margin: auto;
	line-height: 1.5;
	text-align: justify;
	width: 100%;
}

#info-sec {
	padding-bottom: 380px;
}
#info-sec .container {
	background-image: url('../images/info-bg.png');
	background-size: 100% 100%;
}

.info-speaker {
	color: #3cb595;
	font-weight: bold;
}

/* info */
.time-row:last-of-type {
	border-bottom: 1px solid var(--pink-500);
}
.time-row {
	border-top: 1px solid var(--pink-500);
	padding: 0.7em 0 0.4em 0em;
    line-height: 1.4;
	display: flex;
	justify-content: start;
	margin: 0 auto;
}
.card-content {
	padding: 20px 40px;
}
.card-content .time-col p {
	font-size: 16px;
	line-height: 26px;
}
.time-col {
	display: inline-block;
	width: 160px;
	text-align: left;
	color: var(--pink);
	font-size: 1rem;
}
.time-col p {
	/* line-height: 1.3; */
	font-weight: bold;
}
.event-col {
	display: inline-block;
	width: 100%;
}
.event-col h6 {
	color: #fffaa9;
}
.event-col h4 + h4 {
	margin-top: 6px;
}
.event-col p {
}
.row-indent {
	margin-left: 2em;
}


/* card */
.card-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.card {
	position: relative;
	width: 23%;
	margin: 0 1% 20px;
}
.card-wide {
	width: 100%;
	max-width: 720px;
	padding: 50px 60px 40px 80px;
	margin-left: auto;
	margin-right: auto;
	background-image: url('../images/about-bg.png');
	background-size: 100% 100%;
	margin-top: -50px;
}
.card-img {
	padding: 30px;
	background-image: url('../images/gift-bg.png');
	background-repeat: no-repeat;
	background-size: 100% 100%;
}
.card .br-img {
	width: 100%;
	display: block;
	margin-bottom: 5px;
}
.card p {
	line-height: 1.5;
}
.card .text-center {
	margin-top: 1em;
}
/* .gift-title {
	position: absolute;
	padding: 20px 20px 15px 15px;
	background-image: url('../img/shape-gift-title.svg');
	background-repeat: no-repeat;
	color: var(--brown);
	left: 16px;
	top: 6px;
} */
#gift-title-sec {
	height: 100px;
}
.gift-people {
	width: 17%;
}

/* form */
.form-item + .form-item > label:first-of-type {
	padding-top: 1.4em;
	padding-bottom: 0.4em;
}
.form-item .d-cell {
	min-width: 125px;
}
.form-item input,
.form-item .select,
.form-item textarea {
	width: 100%;
	padding: 10px 15px 8px;
	border-radius: 5px;
	border: 1px solid var(--brown-light);
	box-sizing: border-box;
	opacity: 1;
}
.form-item input:focus,
.form-item .select:focus,
.form-item textarea:focus,
.form-item input:hover,
.form-item .select:hover,
.form-item textarea:hover {
	opacity: 1;
}
.form-item .select {
	padding: 0 15px;
	position: relative;
    background: #fff;
}
.form-item:last-child .d-cell {
	padding-top: 1.5em;
}
.form-item > div:first-child {
	padding-right: 0.6em;
}
.select select {
    background: none;
    width: 100%;
    border: none;
    height: 47px;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-indent: 0.01px;
    text-overflow: ”;
    outline: none;
    box-sizing: border-box;
}
.select::after {
	content: "";
	border: 8px solid transparent;
	border-top: 10px solid #666666;
	border-bottom: 0;
	position: absolute;
	right: 15px;
	top: 20px;
}

label.required::after {
	content: "*";
	color: var(--red);
	padding-left: 3px;
}

.form-item input::placeholder {
	opacity: .6;
}
.form-item input[type=radio],
.form-item input[type=checkbox] {
	display: inline;
	width: auto;
	position: absolute;
    opacity: 0;
}
.form-item .radio-label {
	margin-right: 1.2em;
	padding-top: 0.5em;
}

.radio-label {
	display: inline-block;
}
.radio-label span {
	display: inline-block;
	position: relative;	
	border: 1px solid #b3b3b3;
	border-radius: 100%;
	height: 23px;
	width: 23px;
	transition: border .25s linear;
	-webkit-transition: border .25s linear;
	margin-bottom: -4px;
    margin-right: 7px;
    background: #fff;
}
.radio-label.checkbox span {
	border-radius: 5px;
}


input[type=radio]:hover + .radio-label span,
input[type=checkbox]:hover + .radio-label span {
  border: 1px solid #b3b3b3;
}

.radio-label span::before {
	display: block;
	position: absolute;
	content: '';
	border-radius: 100%;
	height: 15px;
	width: 15px;
	top: 3px;
	left: 3px;
	margin: auto;
	transition: background-color 0.25s linear;
	-webkit-transition: background-color 0.25s linear;
}
.radio-label.checkbox span::before {
	border-radius: 3px;
}
input[type=radio]:checked + .radio-label.checkbox span,
input[type=checkbox]:checked + .radio-label span {
	background-color: var(--green);
}

input[type=radio]:checked + .radio-label span::before{
  background: var(--green);
}

input[type=checkbox]:checked + .radio-label span::before,
input[type=radio]:checked + .radio-label.checkbox span::before {
  content: '';
    background: transparent;
    border-color: #fff;
    border-style: solid;
    border-width: 0px 3px 3px 0;
    width: 5px;
    height: 10px;
    border-radius: 0;
    transform: rotate(45deg);
    left: 7px;
    top: 3px;
}
.linkafter + .form-item {
	display: none;
}
.linkafter.showafter + .form-item {
	display: table-row;
}
.linkafter + .form-item label:first-of-type {
	padding-top: .4em;
	padding-bottom: .8em;
}

/* stop sign in */
.stop-signin-block {
	background: rgba(255, 255, 255, 0.5);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
	display: none;
	pointer-events: none;
}
.stop-signin-block.active {
	display: flex;
	pointer-events: auto;
}
#signup-sec {
	position: relative;
}
.stop-signin-block .card-block {
	border-radius: 5px;
	max-width: 400px;
	background-color: var(--green-600);
}

/* list */
.num-list {
	list-style: decimal;
	padding-left: 1em;
}
.num-list li {
	margin-bottom: 0.5em;
}
.num-list li:last-child {
	margin-bottom: 0;
}
/* .num-list {
	padding-left: 1.1em;
	text-indent: -1.1em;
	padding-bottom: 4em;
}
.num-list.tc {
	padding-left: 2em;
	text-indent: -2em;
}
.num-list li + li {
	margin-top: 0.4em;
}
.num-list h5 {
	text-indent: -1.9em;
}
.line-indent {
	padding-left: 1em;
	text-indent: -1em;
} */

#traffic-sec .icon-svg {
	height: 0.8em;
	margin-right: 2px;
}

/* review */
#review li div {
	position: relative;
	padding-bottom: 56.25%;
	margin: 0 1em;
}
#review li iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
#review .slick-prev {
	left: -35px;
}
#review .slick-next {
	right: -35px;
}
#review .slick-prev, #review .slick-next {
	width: 30px;
	height: 60px;
}
#review .slick-prev:before, #review .slick-next:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	background-image: url('../images/slick-arrow.png');
}
#review .slick-prev:before {
	transform: rotate(180deg);
}

/* footer */
.logolinks {
	display: flex;
	justify-content: center;
	gap: 4em;
}
.logolinks li {
	margin: 2em 0 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.logolinks img {
	height: 60px;
}
footer .container {
	padding: 1em 2em;
}

/* right btns */
.hideontop {
	opacity: 0;
	pointer-events: none;
	transition: all 0.6s ease;
	display: flex;
	flex-direction: column;
	justify-items: center;
	align-items: center;
}
.hideontop.show {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(50px);
}
.hideontop.show:hover {
	opacity: 1;
}

/* fadein */
.fadein {
	opacity: 0;
	transform: translateY(-6px);
	transition: opacity 1s ease, transform 1s ease;
}
.fadein.show {
	opacity: 1;
	transform: translateY(0);
}
.fadein.nav-scrollspy {
	transition-delay: 0.4s;
}

/* font */
.material-icons {
	vertical-align: text-bottom;
}

/* map */
.google-map {
	border: 1px solid #ccc;
	padding-bottom: 55%;
	position: relative;
}
.google-map iframe {
	position: absolute;
	width: 100%;
	height: 100%;
}

/* popup */
.popup-container {
	display: flex;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.75);
	z-index: 999;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
	padding: 30px 0;
	overflow: auto;
}
.popup-block {
	width: 90%;
	max-width: 500px;
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.16);
	position: relative;
	opacity: 0;
	transform: translateY(30px);
	transition: transform 0.5s ease, opacity 0.2s ease;
	transition-delay: 0.3s, 0.3s;
}
.popup-container.active {
	opacity: 1;
	pointer-events: auto;
}
.popup-block.active {
	transform: translateY(0px);
	opacity: 1;
}
.popup-header {
	padding: 10px 10px;
	background-color: #fff;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	line-height: 1.5;
}
.popup-body {
	padding: 20px 30px 30px;
	background-color: #fff;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	line-height: 1.5;
}
.popup-close {
	width: 40px;
	height: 40px;
	border: 0;
	position: absolute;
	top: -15px;
	right: -15px;
	background-color: #eee;
	color: #1a1a1a;
	padding: 4px;
	font-size: 24px;
	border-radius: 50%;
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.16);
}

/* video */
.video-wrap {
	width: 100%;
	padding-top: 56.3%;
	position: relative;
	overflow: hidden;
	border-radius: 12px;
}
.video-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* post */
.btn-readmore {
	position: absolute;
	right: 0;
	bottom: 0;
}
.post-img-wrap {
	display: block;
	width: 100%;
	padding-top: 56.3%;
	position: relative;
	overflow: hidden;
	border-radius: 12px;
}
.post-img-wrap img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* card */
.card-group {
	position: relative;
}
.card-block {
	margin-bottom: 1em;
	top: 0;
	left: 0;
	width: 100%;
}
.card-block.active {
}

.card-header {
	border-bottom: 1px solid #93918d;
	padding: 10px 30px 10px 30px;
}
.card-content {
	padding: 30px;
}