.animate__tada {
	animation: tada 2s linear infinite;
}

.animate__tada2 {
	animation: tada2 2s linear infinite;
}

.animate__shake {
	animation: shake 2s linear infinite;
}

.animate__heartBeat {
	animation: heartBeat 3s ease-in-out infinite;
}

.animate__swing {
	animation: swing 2s ease-in-out infinite;
}

.animate__shakeX {
	animation: shakeX 2s ease-in-out infinite;
}

.animate__shakeY {
	animation: shakeY 2s ease-in-out infinite;
}

.animate__shakeY2 {
	animation: shakeY2 2s ease-in-out infinite;
}

.animate__jump {
	animation: jump 1.5s ease-in-out infinite;
}

.animate__pulse {
	animation: pulse 1s ease-in-out infinite;
}

.ency-loading {
	background: #fff url("../images/top/bg_overlay.webp") no-repeat center/cover;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 10000;
}

.ency-loading__main {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 261.5px;
	transform: translate(-50%, -50%);
}

.ency-loading__main img {
	width: 100%;
}

.ency-loading__icon {
	position: absolute;
	z-index: 1;
}

.ency-loading .per01 {
	left: 52px;
	top: 66px;
	width: 17px;
}

.ency-loading .per02 {
	animation-duration: 3s;
	right: 87.5px;
	top: 35px;
	width: 17px;
}

.ency-loading .per03 {
	bottom: 77px;
	left: 110.5px;
	width: 17px;
}

.ency-loading .per04 {
	right: 52.5px;
	top: 100.5px;
	width: 17px;
}

.ency-top {
	position: relative;
}

.ency-top > * {
	opacity: 0;
	transition: 0.3s ease;
}

.ency-top.is-loaded > * {
	opacity: 1;
}

.ency-top__head {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 28px;
	position: absolute;
	left: 0;
	right: 0;
	top: 25px;
	z-index: 1;
}

.ency-top__head-img {
	width: 125px;
}

.ency-top__head-txt {
	color: #004f00;
	font-size: 15px;
	font-weight: bold;
}

.ency-top .custom-scrollbar {
	position: sticky;
	bottom: 0;
	left: 0;
	right: 0;
	height: 12px;
	background: rgba(0, 0, 0, 0.1);
	border-radius: 6px;
	z-index: 2;
}

.ency-top .scrollbar-thumb {
	position: absolute;
	top: 2px;
	bottom: 2px;
	background: rgba(0, 0, 0, 0.5);
	border-radius: 4px;
	cursor: pointer;
	min-width: 30px;
	transition: background 0.2s ease;
}

.ency-top .scrollbar-thumb:hover {
	background: rgba(0, 0, 0, 0.7);
}

.ency-top__wrap {
	cursor: grab;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	-ms-overflow-style: none;
	scrollbar-width: none;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	display: flex;
	padding-block: 165px 20px;
}

.ency-top__wrap::-webkit-scrollbar {
	display: none;
}

.ency-top__wrap:active {
	cursor: grabbing;
}

.ency-top__wrap.is-active .scroll-hint-icon {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}

.ency-top__wrap .scroll-hint-icon {
	pointer-events: none;
	position: absolute;
	top: calc(50% - 25px);
	left: calc(50% - 120px);
	box-sizing: border-box;
	width: 240px;
	height: auto;
	border-radius: 5px;
	transition: opacity 0.3s;
	background: rgba(0, 0, 0, 0.7);
	text-align: center;
	padding: 40px 20px 20px;
	z-index: 4;
}

.ency-top__wrap .scroll-hint-icon::before {
	content: "";
	animation: scroll-hint-appear 1.2s linear;
	animation-iteration-count: 2;
	display: inline-block;
	width: 80px;
	height: 80px;
	color: #FFF;
	vertical-align: middle;
	text-align: center;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.ency-top__wrap .scroll-hint-icon::after {
	content: "";
	width: 68px;
	height: 28px;
	display: block;
	position: absolute;
	top: 20px;
	left: 50%;
	margin-left: -40px;
	background-repeat: no-repeat;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
	transition-delay: 2.4s;
}

.ency-top__wrap .scroll-hint-text {
	font-size: 20px;
	color: #FFF;
	margin-top: 10px;
}

.ency-top__main {
	position: relative;
}

.ency-top__main::before {
	content: "";
	background: url("../images/common/bg.svg") 0 0 repeat;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -100px;
	top: -500px;
	z-index: -1;
}

.ency-top__main-bg {
	position: absolute;
	width: 100%;
	top: -4px;
	left: 0;
	aspect-ratio: 2010/1046;
	z-index: -1;
	pointer-events: none;
}

.ency-top__main-bg::before,
.ency-top__main-bg::after {
	content: "";
	position: absolute;
	inset: 0;
}

.ency-top__main-bg::before {
	background: url("../images/top/main_img_show.svg") no-repeat center/contain;
	z-index: 1;
}

.ency-top__main-bg::after {
	background: url("../images/top/main_img_show_bg.webp") no-repeat center/contain;
	z-index: -1;
}

.ency-top__main canvas {
	-webkit-tap-highlight-color: transparent;
	image-rendering: -webkit-optimize-contrast;
	image-rendering: -moz-crisp-edges;
	image-rendering: crisp-edges;
	image-rendering: pixelated;
	backface-visibility: hidden;
	-webkit-perspective: 1000;
	aspect-ratio: 2010/1063;
	width: 1202px;
}

.ency-top__main .map-icon {
	pointer-events: none;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
}

.ency-top__main .icon-01 {
	background-image: url("../images/top/icon01.svg");
	aspect-ratio: 91/68;
	width: 45px;
	left: 21%;
	top: 24%;
}

.ency-top__main .icon-02 {
	background-image: url("../images/top/icon02.svg");
	aspect-ratio: 47/64;
	width: 24px;
	left: 26%;
	bottom: 12%;
}

.ency-top__main .icon-03 {
	background-image: url("../images/top/icon03.svg?v2");
	animation-duration: 3s;
	aspect-ratio: 61/82;
	width: 31px;
	left: 40.7%;
	bottom: 39.8%;
}

.ency-top__main .icon-04 {
	background-image: url("../images/top/icon04.svg?v2");
	aspect-ratio: 45/36;
	width: 23px;
	left: 53.7%;
	top: 28%;
}

.ency-top__main .icon-05 {
	background-image: url("../images/top/icon05.svg?v3");
	aspect-ratio: 27/54;
	width: 14px;
	left: 61.3%;
	top: 21.5%;
}

.ency-top__main .icon-06 {
	background-image: url("../images/top/icon06.svg?v3");
	aspect-ratio: 34/75;
	width: 17px;
	right: 10%;
	top: 24.6%;
}

.ency-top__main .icon-07 {
	animation-duration: 5s;
	background-image: url("../images/top/icon07.svg?v2");
	aspect-ratio: 62/61;
	width: 31px;
	right: 10%;
	top: 38%;
	z-index: 2;
}

.ency-top__main .icon-07_1 {
	background-image: url("../images/top/icon07_01.svg");
	aspect-ratio: 257/319;
	width: 129px;
	right: 5.6%;
	top: 33.4%;
	z-index: 1;
}

.ency-top__main .icon-07_2 {
	animation-duration: 5s;
	background-image: url("../images/top/icon07_02.svg");
	aspect-ratio: 26/23;
	width: 12px;
	right: 12%;
	top: 42.4%;
}

.ency-top__main .icon-08 {
	background-image: url("../images/top/icon08.svg?v2");
	aspect-ratio: 21/44;
	width: 11px;
	right: 42%;
	bottom: 27%;
}

.ency-top__main .icon-09 {
	background-image: url("../images/top/icon09.svg");
	aspect-ratio: 34/59;
	width: 18px;
	right: 13.6%;
	bottom: 22%;
}

@media (min-width: 768px) {

.ency-loading__main {
	width: 523px;
}

.ency-loading .per01 {
	left: 104px;
	top: 132px;
	width: 34px;
}

.ency-loading .per02 {
	right: 175px;
	top: 70px;
	width: 34px;
}

.ency-loading .per03 {
	bottom: 154px;
	left: 221px;
	width: 34px;
}

.ency-loading .per04 {
	right: 105px;
	top: 201px;
	width: 34px;
}

.ency-top__head {
	gap: 57px;
	top: 47px;
}

.ency-top__head-img {
	width: 250px;
}

.ency-top__head-txt {
	font-size: 30px;
}

.ency-top__wrap {
	padding-block: 341px 61px;
}

.ency-top__wrap .scroll-hint-icon {
	display: none;
}

.ency-top__main-bg {
	display: none;
}

.ency-top__main canvas {
	width: 2010px;
}

.ency-top__main .icon-01 {
	width: 91px;
}

.ency-top__main .icon-02 {
	width: 47px;
}

.ency-top__main .icon-03 {
	width: 61px;
}

.ency-top__main .icon-04 {
	width: 45px;
}

.ency-top__main .icon-05 {
	width: 27px;
}

.ency-top__main .icon-06 {
	right: 9.9%;
	width: 34px;
}

.ency-top__main .icon-07 {
	width: 62px;
}

.ency-top__main .icon-07_1 {
	width: 257px;
}

.ency-top__main .icon-07_2 {
	width: 26px;
}

.ency-top__main .icon-08 {
	width: 21px;
}

.ency-top__main .icon-09 {
	width: 34px;
}

}

@media (max-width: 767px) {

.ency-top__main canvas {
	image-rendering: -webkit-optimize-contrast;
	image-rendering: high-quality;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: auto;
	opacity: 0;
}

}

@keyframes tada {

0% {
	transform: scaleX(1);
}

10%,20% {
	transform: scale3d(0.9, 0.9, 0.9) rotate(-3deg);
}

30%,50%,70%,90% {
	transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);
}

40%,60%,80% {
	transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);
}

to {
	transform: scaleX(1);
}

}

@keyframes tada2 {

0% {
	transform: scaleX(1);
}

10%,20% {
	transform: rotate(-3deg);
}

30%,50%,70%,90% {
	transform: rotate(3deg);
}

40%,60%,80% {
	transform: rotate(-3deg);
}

to {
	transform: scaleX(1);
}

}

@keyframes shake {

0%,80%,90% {
	transform: scaleX(1);
}

10%,20% {
	transform: rotate(-3deg);
}

30%,50%,70% {
	transform: rotate(3deg);
}

40%,60% {
	transform: rotate(-3deg);
}

to {
	transform: scaleX(1);
}

}

@keyframes heartBeat {

0% {
	transform: scale(1);
}

14% {
	transform: scale(1.3);
}

28% {
	transform: scale(1);
}

42% {
	transform: scale(1.3);
}

70% {
	transform: scale(1);
}

}

@keyframes swing {

20% {
	transform: rotate(15deg);
}

40% {
	transform: rotate(-10deg);
}

60% {
	transform: rotate(5deg);
}

80% {
	transform: rotate(-5deg);
}

to {
	transform: rotate(0deg);
}

}

@keyframes shakeX {

0%,to {
	transform: translateZ(0);
}

10%,30%,50%,70%,90% {
	transform: translate3d(-5px, 0, 0);
}

20%,40%,60%,80% {
	transform: translate3d(5px, 0, 0);
}

}

@keyframes shakeY {

0%,80%,90%,to {
	transform: translateZ(0);
}

10%,30%,50%,70% {
	transform: translate3d(0, -2px, 0);
}

20%,40%,60% {
	transform: translate3d(0, 2px, 0);
}

}

@keyframes shakeY2 {

0%,80%,90%,to {
	transform: translateZ(0);
}

10%,50%,70% {
	transform: translate3d(0, -5px, 0);
}

20%,40%,60% {
	transform: translate3d(0, 2px, 0);
}

}

@keyframes pulse {

0% {
	transform: scaleX(1);
}

50% {
	transform: scale3d(1.1, 1.1, 1.1);
}

to {
	transform: scaleX(1);
}

}

@keyframes jump {

0%,to {
	transform: translateZ(0);
}

10%,50% {
	transform: translate3d(0, -5px, 0);
}

20%,60% {
	transform: translate3d(0, 2px, 0);
}

}

@keyframes scroll-hint-appear {

0% {
	transform: translateX(40px);
	opacity: 0;
}

10% {
	opacity: 1;
}

50%,100% {
	transform: translateX(-40px);
	opacity: 0;
}

}

