﻿
/************************************************************************************
RESET
*************************************************************************************/
html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td, figure, mark ,main {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    background: transparent;
}
body {line-height: 1; -webkit-text-size-adjust: none;}
ol, ul { list-style: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after,q:before, q:after {content: ''; content: none;}
/* remember to define focus styles! */
:focus {outline: 0;}
/* remember to highlight inserts somehow! */
ins {text-decoration: none;}
del {text-decoration: line-through;}
a img {border: none;}
img {max-width: 100%;image-rendering: -webkit-optimize-contrast;}
.clean { clear:both;}
a {color: #333333; text-decoration: none; blr:expression(this.onFocus=this.blur()); outline: none; /* for Firefox */hlbr:expression(this.onFocus=this.blur());}
a:hover {text-decoration:none;}
a:focus{ -moz-outline-style: none;}

h1, h2, h3, h4, h5 {
	text-decoration: inherit;
	font: inherit;
	font-weight: inherit;
}

body {
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	background: url(../images/main_block_bk.webp) no-repeat center 38px;
}

* {
	box-sizing: border-box;
}

header h1 {
    text-indent: 101%;
    overflow: hidden;
    white-space: nowrap;
    position: absolute;
}

/*基本變數*/
:root {
	/*基本*/
	--white-color:#ffffff;
	--black-color:#333333;
	--gray-color:#cccccc;
	--family-basic:"Huninn",Verdana;
	--family-maru:"Zen Maru Gothic",Verdana;
	--family-nyonya:"UoqMunThenKhung",Verdana;
	--logo-shadow:drop-shadow(0px 0px 15px rgba(0, 126, 172, 0.8));
	--transition-speed:all 0.3s;
	--blur-grasses:blur(5px);

	/*grid-template-columns 設定*/
	--grid-box-400:repeat(auto-fit, minmax(400px, 1fr));
	--grid-box-phone:repeat(auto-fit, minmax(280px, 1fr));

	/*配色*/
	--main-blue:#0070a1;
	--menu-blue:rgb(0 104 164 / 80%);
	--menu-white-inside:inset 0px 0px 8px 8px rgb(255 255 255 / 25%);
	--happy-basic-bk:#d2eef9;
	--happy-nyonya-pink:#dd3e78;
	--happy-nyonya-line-pink:#ffe4ed;	
	--happy-nyonya-light-pink:#fff6f9;
	--happy-nyonya-green:#0dba9b;
	--happy-nyonya-yellow:#f1c52b;
	--happy-nyonya-blue:#0f6bae;
	--official-green:#20a2b0;
	--official-line-green:#29b0bf;
	--official-basic-yellow:#ffe84a;
	--official-dark-yellow:#ffd900;
	--tour-basic-bk:#dcf0e7;
	--tour-dark-bk:#ebf6f1;
	--tour-type-but:#ffa351;
	--tour-list-color:#ff7800;
	--tour-product-hover:#fff3e9;
	--tour-product-text-border:#12a565;
	--tour-product-text-bk:#f2fff9;
	--tour-product-price:#d6001c;
	--explore-pic-shadow:6px 6px 0px rgb(251 197 195 / 50%);
	--explore-pink:#fd85a1;
}


/*PC
-----------------------------------------------------------------*/


/*通用框架*/
.container {
	width:100%;
	margin: auto;
	font-family: var(--family-basic);
}

.block-center {
	width: 100%;
	clear: both;
	max-width: 1500px;
	margin: 0 auto;
}

.block-normal {
	width: 100%;
	clear: both;
	padding: 70px 10px;
	position: relative;
}

.normal-big-title {
	width: 100%;
	text-align: center;
	position: relative;
	max-width: 554px;
	margin: 0 auto 30px auto;
	height:147px;
}

.normal-big-title h2 {
	position: absolute;
    left: 125px;
    top: -3px;
    text-align: center;
    width: 141px;
	height:57px;
}

.normal-big-title span {
	display: inline-block;
	transform: rotate(353deg);
	color: var(--white-color);
    font-size: 20px;
    font-family: var(--family-maru);
	line-height: 46px;
    font-weight:800;
	width: 130px;
	font-style: italic;
}

/*主視覺*/
.block-main {
	width: 100%;
	min-height: 699px;
	margin: 40px auto 0 auto;
	border-bottom: 1px solid var(--main-blue);
	position: relative;
}

.main-ipad-title ,.main-phone-title {
	display: none;
}

.main-logo {
	position: absolute;
	z-index: 1;
	right: 20px;
	top: 20px;
	width: 100%;
	max-width: 170px;
	-webkit-filter: var(--logo-shadow);
  	filter: var(--logo-shadow);
}

.main-big-title {
	display: inline-block;
	width: 100%;
	text-align: left;
	padding:5% 0 0 6%;
}

.main-big-title img {
	display: inline-block;
}

/*導覽列*/
.block-menu {
	backdrop-filter: var(--blur-grasses);
    -webkit-backdrop-filter: var(--blur-grasses);
	width: 100%;
	position: sticky;
	top: 40px;
	z-index: 3;
}

#mainNav {
	width: 100%;
	background: var(--menu-blue);
	display: inline-block;
	text-align: center;
	padding: 26px 2px;
}

.nav-link {
	display: inline-block;
	text-align: center;
	border: 1px solid var(--white-color);
	padding: 10px 40px;
	border-radius: 100px;
	color: var(--white-color);
	font-size: 23px;
	line-height: 26px;
	box-shadow: var(--menu-white-inside);
	margin: 0 10px;
}

.nav-link:hover ,.nav-link.active {
	background: #CCFFAE;
	background: linear-gradient(90deg, rgba(204, 255, 174, 1) 0%, rgba(255, 244, 149, 1) 100%);
	color: var(--main-blue);
	transition:var(--transition-speed);
}

/*尋找快樂*/
.happy-bottom-bk {
	background: url(../images/happy_block_bk.webp) no-repeat center bottom;
	width: 100%;
	position: absolute;
	bottom: -9%;
	left: 0px;
	height: 530px;
	z-index: 1;
}
#experiences.block-normal {
	background: url(../images/happy_block_bk.webp) no-repeat center top var(--happy-basic-bk);
	overflow: hidden;
}

#experiences .normal-big-title {
	background-repeat: no-repeat;
	background-image: url(../images/type_title_happy.webp);
	background-position: center top;
}

#experiences .normal-big-title h2 {
	background: url(../images/type_title_happy_eng.webp) no-repeat center;
}

.happy-big-space {
	width: 100%;
	max-width: 1800px;
	margin: 0 auto 40px auto;
	border-radius: 100px 20px 100px 20px;
	overflow: hidden;
	padding: 60px 150px;
	text-align: center;
	position: relative;
	z-index: 2;
}

#nyonya.happy-big-space {
	background: url(../images/happy_box_bk1.webp) repeat-y center -130px;
}

#official.happy-big-space {
	background: url(../images/happy_box_bk2.webp) no-repeat center top var(--official-green);
}

.nyonya-top-title-big {
	display:inline-flex;
	margin: 0 auto 20px auto;
	width: 602px;
	background-image: url(../images/happy_act1_title_bk1-1.webp);
	background-repeat: no-repeat;
	background-size:auto;
	color: var(--white-color);
	font-size: 40px;
	height: 95px;
	font-family: var(--family-nyonya);
	align-items: center;
    justify-content: center;
	gap: 45px;
}

.nyonya-top-title-big i {
	display: none;
}

.nyonya-top-title-name {
	font-family: var(--family-nyonya);
	background-image: url(../images/happy_act1_title_bk2-1.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size:auto;
	text-align: center;
	font-size: 30px;
	line-height: 60px;
	color: var(--happy-nyonya-pink);
	display: inline-block;
	margin: 0 auto;
	height: 60px;
	width: 100%;
}

.nyonya-top-title-name span {
	display: inline-block;
}

.nyonya-infor-space {
	width: 100%;
	margin: 20px auto 0 auto;
	display: inline-flex;
	align-items: center;
    justify-content: center;
	max-width: 1250px;
    gap: 40px;
}

.nyonya-infor-pic {
	flex: 1;
}

.nyonya-infor-text {
	flex: 2;
	text-align: left;
	font-size: 25px;
	line-height: 35px;
	color: var(--white-color);
}

.nyonya-infor-text p {
	margin: 0 0 20px 0;
}

.nyonya-ig-all {
	width: 100%;
	position: relative;
	display: inline-block;
}

.nyonya-ig-space {
	width: 100%;
	border-radius: 20px;
	border: 5px solid var(--happy-nyonya-yellow);
	position: relative;
	overflow: hidden;
	background: var(--happy-nyonya-light-pink);
	display: inline-block;
	padding: 80px 20px 30px 20px;
}

.nyonya-ig-left-bk {
	position: absolute;
	height: 100%;
	background: url(../images/happy_act1_ig_bk1.webp) repeat-y top center;
	width: 125px;
	left: -2px;
	top: -2px;
}

.nyonya-ig-right-bk {
	position: absolute;
	height: 100%;
	background: url(../images/happy_act1_ig_bk2.webp) repeat-y top center;
	width: 125px;
	right: -2px;
	top: -2px;
}

.nyonya-ig-title {
	background: url(../images/happy_act1_title_bk1-2.webp) no-repeat top center;
	width: 350px;
	position: relative;
	margin: 0 auto;
	top: 40px;
    z-index: 2;
	color: var(--white-color);
    font-size: 40px;
    height: 95px;
	font-family: var(--family-nyonya);
    align-items: center;
    justify-content: center;
    gap: 45px;
	display: inline-flex;
}

.nyonya-ig-infor {
	width:calc(100% - 280px);
	max-width: 960px;
	margin: 0 auto;
}

.nyonya-ig-infor-box {
	width: 100%;
	display:inline-block;
	margin: 0 auto;
}

.nyonya-ig-infor-pic {
	position: relative;
	background:var(--white-color);
	border-radius: 5px;
	border: 2px solid var(--happy-nyonya-line-pink);
	width: 420px;
	padding: 15px 15px 50px 15px;
	display: inline-block;
}

.nyonya-ig-infor-pic img ~ figure {
	position: absolute;
	bottom: 15px;
}

.nyonya-ig-pic-icon1 {
	left: 20px;
}

.nyonya-ig-pic-icon2 {
	left: 55px;
}

.nyonya-ig-pic-icon3 {
	left: 85px;
}

.nyonya-ig-pic-icon4 {
	right: 20px;
}

.nyonya-ig-infor-inside {
	width: calc(100% - 440px);
	display: inline-block;
	text-align: left;
}

.nyonya-ig-space .slick-initialized .slick-slide {
	display: flex;
	align-items: center;
    justify-content: center;
    gap: 20px;
}

.nyonya-ig-inside-title {
	width: 100%;
	text-align: left;
	font-size: 40px;
	line-height: 45px;
	font-family: var(--family-nyonya);
	color: var(--happy-nyonya-pink);
	display: inline-block;
	margin: 0 0 20px 0;
}

.nyonya-ig-inside-text {
	font-size: 20px;
	line-height: 30px;
	margin: 0 0 20px 0;
	text-align: left;
	width: 100%;
	display: inline-block;
}

.nyonya-ig-inside-text:last-child {
	margin: 0;
}

.nyonya-ig-infor .slick-dots {
	margin: 20px 0 0 0;
}

.nyonya-ig-infor .slick-dots li {
	display: inline-block;
	margin: 0 3px;
}

.nyonya-ig-infor .slick-dots button {
	background: var(--white-color);
	border-radius: 50%;
	border: 4px solid var(--happy-nyonya-yellow);
	text-indent: -9999px;
	width: 15px;
	height:20px;
	line-height: 0;
}

.nyonya-ig-infor .slick-dots button:hover {
	cursor: pointer;
}

.nyonya-ig-infor .slick-dots li.slick-active button ,.nyonya-ig-infor .slick-dots li:hover button {
	background: var(--happy-nyonya-pink);
}

.nyonya-ig-infor .slick-arrow {
	z-index: 2;
	position: absolute;
	top: 15vh;
	background-image: url(../images/arrow_set.webp);
	width: 92px;
	height: 92px;
	background-repeat: no-repeat;
	text-indent: -9999px;
	border: 0px;
	background-color: transparent;
}

.nyonya-ig-infor .slick-arrow:hover {
	cursor: pointer;
}

.nyonya-ig-infor  .slick-prev {
	left: -12vh;
	background-position: 0px 0px;
}

.nyonya-ig-infor  .slick-prev:hover {
	background-position: 0px -94px;
}

.nyonya-ig-infor  .slick-next {
	right: -12vh;
	background-position: -92px 0px;
}

.nyonya-ig-infor  .slick-next:hover {
	background-position: -92px -94px;
}

.official-top-title-big {
	width: 100%;
	text-align: center;
	margin: 0 0 40px 0;
}

.official-top-title-big img {
	display: inline-block;
	max-width: 420px;
	width: 100%;
}

.official-top-text {
	display: inline-block;
	text-align: left;
	color: var(--white-color);
	font-size: 25px;
	line-height: 35px;
	width: 100%;
	max-width: 870px;
	margin: 0 auto 370px auto;
	text-shadow: 0px 0px 20px var(--main-blue);
}

.official-top-text p {
	margin: 0 0 30px 0;
}

.official-ticket-space {
	margin: 0 0 60px 0;
	background: var(--white-color);
	border-radius: 20px;
	width: 100%;
	padding: 20px;
	display: inline-flex;
	gap: 40px;
}

.official-ticket-pic {
	flex:1;
}

.official-ticket-pic img {
	border-radius: 20px;
}

.official-ticket-infor {
	flex: 2;
	display: flex;
	text-align: left;
	flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
	align-content: center;
	gap: 20px;
}

.official-ticket-infor-name {
	color: var(--official-green);
	font-size: 40px;
	line-height: 50px;
	font-family: var(--family-maru);
	font-weight: 700;
}

.official-ticket-infor-text {
	color: var(--black-color);
	font-size: 20px;
	line-height: 28px;
}

.official-ticket-infor-buy {
	width: 100%;
	text-align: right;
}

.official-ticket-infor-buy a {
	display: inline-block;
	padding: 10px 40px;
	text-align: center;
	color: var(--black-color);
	font-size: 25px;
	line-height: 30px;
	border-radius: 100px;
	background: var(--official-basic-yellow);
	transition: var(--transition-speed);
}

.official-ticket-infor-buy a:hover {
	background: var(--official-dark-yellow);
}

.official-ticket-play-space {
	width: 100%;
	position: relative;
	border-radius: 20px;
	border: 5px solid var(--official-line-green);
	padding: 0 20px 30px 20px;
	background: var(--official-green);
}

.official-ticket-play-title {
	font-size: 40px;
	font-family: var(--family-maru);
	font-weight: 700;
	text-align: center;
	margin: 0 auto;
	top: -3.8vh;
	color: var(--white-color);
	display: inline-block;
	background: var(--official-green);
	padding: 10px 15px;
	position: relative;
	border-radius: 50px;
}

.official-ticket-play-slide {
	width: 88%;
	clear: both;
	margin: 0 auto;
}

.official-ticket-play-space .slick-arrow {
	z-index: 2;
	position: absolute;
	top: 18vh;
	background-image: url(../images/arrow_set.webp);
	width: 92px;
	height: 92px;
	background-repeat: no-repeat;
	text-indent: -9999px;
	border: 0px;
	background-color: transparent;
}

.official-ticket-play-space .slick-arrow:hover {
	cursor: pointer;
}

.official-ticket-play-space  .slick-prev {
	left: -10vh;
	background-position: 0px -188px;
}

.official-ticket-play-space  .slick-prev:hover {
	background-position: 0px -282px;
}

.official-ticket-play-space  .slick-next {
	right: -10vh;
    background-position: -92px -188px;
}

.official-ticket-play-space  .slick-next:hover {
	background-position: -92px -282px;
}

.official-ticket-play-box {
	padding: 0 10px;
}

.official-ticket-play-box:nth-child(odd) {
	padding: 20px 10px 0 10px;
}

.official-ticket-play-pic {
	width: 100%;
	text-align: center;
	position: relative;
	margin: 0 0 35px 0;
}

.official-ticket-play-pic img {
	border: 1px solid var(--white-color);
	border-radius: 150px;
	display: inline-block;
}

.official-ticket-play-pic h3 {
	display: inline-block;
	width: 100%;
	position: absolute;
	z-index: 1;
	text-align: center;
	left: 0px;
	bottom: -20px;
}

.official-ticket-play-pic h3 span {
	display: inline-block;
	border-radius: 100px;
	border: 1px solid var(--white-color);
	text-align: center;
	color: var(--black-color);
	padding: 10px 20px;
	background: #AEFFE9;
	background: linear-gradient(90deg, rgba(174, 255, 233, 1) 0%, rgba(149, 229, 255, 1) 100%);
	box-shadow: var(--menu-white-inside);
	font-size: 24px;
	font-family: var(--family-maru);
	font-weight: 700;
}

.official-ticket-play-text {
	width: 100%;
	color: var(--white-color);
	font-size: 16px;
	line-height: 25px;
	text-align: center;
	padding: 0 10px;
}


/*尋找住宿*/
#hotels.block-normal {
	background: url(../images/hotel_block_bk.webp) repeat-y center top;
}

#hotels .normal-big-title {
	background-repeat: no-repeat;
	background-image: url(../images/type_title_hotel.webp);
	background-position: center top;
}

#hotels .normal-big-title h2 {
	background: url(../images/type_title_hotel_eng.webp) no-repeat center;
}

.hotel-big-space {
	width: 100%;
	clear: both;
	display: grid;
	grid-template-columns: var(--grid-box-400);
	gap: 20px;
}

.hotel-box {
	position: relative;
	width: 100%;
	min-height: 400px;
	display: inline-block;
	transition: var(--transition-speed);
}

.hotel-product-bk {
	min-height: 336px;
	width: 100%;
	position: absolute;
	top: 0px;
	border-radius: 20px;
	background-position: center -120px;
	background-repeat: no-repeat;
	z-index: 1;
	transition: var(--transition-speed);
}

.hotel-product-infor {
	position: absolute;
	bottom: 0px;
	z-index: 2;
	padding: 20px;
	width: 100%;
	display: inline-flex;
	flex-wrap: wrap;
    align-items: flex-end;
	transition: var(--transition-speed);
	border-radius: 0 0 20px 20px;
}



.hotel-product-infor h3 {
	display: inline-block;
	width: 100%;
	background: var(--white-color);
	border-radius: 20px;
	padding: 15px 25px;
	text-align: center;
	color: var(--black-color);
	position: relative;
	margin: 0 0 18px 0;
}

.hotel-box:hover .hotel-product-infor h3 {
	text-align: left;
	padding: 15px 45px 15px 20px;
}

.hotel-product-infor h3 span ,.hotel-product-infor h3 strong {
	display: inline-block;
	width: 100%;
}

.hotel-product-infor h3 span {
	font-size: 16px;
	line-height: 22px;
}

.hotel-product-infor h3 strong {
	font-weight: normal;
	font-size: 25px;
	line-height: 30px;
}

.hotel-product-infor h3::after {
	opacity: 0;
	content: '';
	background-image: url(../images/arrow_set.webp);
	background-position: 0px -376px;
	background-repeat: no-repeat;
	position: absolute;
	width:36px;
	height: 36px;
	right: 15px;
	top: calc(50% - 36px + 20px);
	transition: var(--transition-speed);
}

.hotel-product-infor ul {
	width: 100%;
	padding: 0 7px;
	display: none;
	opacity: 0;
	transition: var(--transition-speed);
}

.hotel-product-infor li {
	width: 100%;
	text-align: left;
	margin: 0 0 10px 0;
	padding: 0 0 0 20px;
	position: relative;
	color: var(--white-color);
	font-size: 16px;
	line-height: 22px;
}

.hotel-product-infor li:last-child {
	margin: 0;
}

.hotel-product-infor li::after {
	content: '';
	width: 13px;
	height: 13px;
	background: url(../images/list_style_icon.webp) no-repeat center;
	position: absolute;
	left: 0px;
    top: 4px;
}

.hotel-box:hover .hotel-product-bk {
	background-position: center -210px;
}

.hotel-box:hover .hotel-product-infor {
	background: #178D88;
	background: linear-gradient(180deg, rgba(23, 141, 136, 0) 1%, rgba(23, 141, 136, 1) 33%);
}

.hotel-box:hover .hotel-product-infor ul {
	opacity: 1;
	display: block;
}

.hotel-box:hover .hotel-product-infor h3::after {
	opacity: 1;
}

/*尋找行程*/
#tours.block-normal {
	background: url(../images/product_block_bk.webp) no-repeat center top var(--tour-basic-bk);
}

#tours .normal-big-title {
	background-repeat: no-repeat;
	background-image: url(../images/type_title_product.webp);
	background-position: center top;
}

#tours .normal-big-title h2 {
	background: url(../images/type_title_product_eng.webp) no-repeat center;
}

#tours .block-center {
	text-align: center;
}

.product-menu-space {
	width: 100%;
	max-width: 768px;
	text-align: center;
	border-radius: 200px;
	background: url(../images/product_type_menu_line.webp) no-repeat center  40px var(--tour-basic-bk);
	display: inline-flex;
	gap: 2vh;
	justify-content: center;
    align-items: center;
}

.product-menu-space a {
	display: inline-block;
}

.product-menu-space a span {
	color: var(--black-color);
	font-size: 22px;
	line-height: 30px;
	text-align: center;
	width: 100%;
	display: inline-block;
	margin: 0 0 4px 0;
}

.product-menu-space a::after {
	content: '';
	width: 20px;
	height: 20px;
	border-radius: 200px;
	border: 3px solid var(--white-color);
	background: var(--white-color);
	display: inline-block;
	transition: var(--transition-speed);
}

.product-menu-space a:hover::after {
	background:var(--tour-type-but);
}

.product-sale-space {
	border-radius: 20px;
	background: var(--white-color);
	width: 100%;
	padding: 30px;
	border: 30px solid var(--tour-dark-bk);
	margin: 30px 0 0 0;
}

.product-sale-type-area {
	margin: 0 0 40px 0;
}

.product-sale-type-area:last-child {
	margin: 0;
}

.product-sale-type-title {
	text-align: left;
	width: 100%;
	margin: 0 0 10px 0;
	scroll-margin-top: 150px
}

.product-sale-type-title strong {
	display: inline-block;
	border-radius: 50px;
	background: var(--tour-type-but);
	color: var(--white-color);
	font-size: 22px;
	line-height: 28px;
	text-align: center;
	padding: 7px 30px;
	font-weight: normal;
}

.product-sale-box {
	display: flex;
	width: 100%;
	transition: var(--transition-speed);
	padding: 15px 10px;
	border-bottom: 1px dashed var(--gray-color);
	align-items: center;
}

.product-sale-box:hover {
	background: var(--tour-product-hover);
}

.product-sale-infor {
	flex: 10;
	text-align: left;
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: flex-start;
	gap: 5px;
}

.product-sale-name {
	text-align: left;
	display: inline-block;
	font-size: 20px;
	line-height: 28px;
	color: var(--black-color);
}

.product-sale-text {
	display: inline-block;
	border: 1px solid var(--tour-product-text-border);
	background: var(--tour-product-text-bk);
	text-align: center;
	border-radius: 3px;
	padding: 3px 10px;
	font-size: 16px;
	line-height: 20px;
	color: var(--tour-product-text-border);
}

.product-sale-text:empty {
	display: none;
}

ul.product-sale-list {
	display: inline-block;
}

.product-sale-list li:empty {
	display: none;
}

ul.product-sale-list:has(.product-sale-list li:empty) {
	display: none;
}

.product-sale-list li {
    text-align: left;
    padding: 0 0 0 20px;
    position: relative;
    color: var(--tour-list-color);
    font-size: 16px;
    line-height: 22px;
	display: inline-block;
}

.product-sale-list li::after {
	content: '';
	width: 13px;
	height: 13px;
	background: url(../images/list_style_icon.webp) no-repeat center;
	position: absolute;
	left: 4px;
    top: 4px;
}

.product-sale-price {
	flex: 1;
	min-width: 100px;
	text-align: right;
	color: var(--tour-product-price);
	font-size: 20px;
	line-height: 28px;
}

.product-sale-price span {
	font-size: 16px;
	line-height: 20px;
	display: inline-block;
	margin: 0 0 0 2px;
}



/*尋找美景*/
#explore.block-normal {
	background: url(../images/explore_block_bk.webp) repeat center top;
	padding: 70px 10px 120px 10px;
}

#explore .normal-big-title {
	background-repeat: no-repeat;
	background-image: url(../images/type_title_explore.webp);
	background-position: center top;
}

#explore .normal-big-title h2 {
	background: url(../images/type_title_explore_eng.webp) no-repeat center;
}

.explore-big-space {
	width: 100%;
	clear: both;
	display: grid;
	grid-template-columns: var(--grid-box-400);
	gap: 80px 20px;
	justify-items: center
}

.explore-box {
	position: relative;
	text-align: left;
	display: inline-block;
	height: calc(100% + 60px);
}

.explore-infor {
	width: 100%;
	text-align: left;
	position: absolute;
	z-index: 1;
	left: 20px;
	bottom: 2vh;
	display: inline-flex;
	flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-start;
	gap: 5px;
	background: url(../images/explore_arrow.webp) no-repeat 390px bottom;
	padding: 0 5px 0 0;
}

.explore-name ,.explore-text {
	display: grid;
	background: var(--white-color);
	text-align: left;
	position: relative;
	padding: 10px 15px;
	border-radius: 20px;
	color: var(--black-color);
	gap: 2px;
}

.explore-name * {
	display: inline-block;
	text-align: left;
	width: 100%;
}

.explore-name span {
	font-size: 16px;
	line-height: 20px;
	font-family: var(--family-maru);
	color: var(--explore-pink);
	font-weight: 700;
}

.explore-name strong {
	font-weight: normal;
	color: var(--black-color);
	font-size: 24px;
	line-height: 30px;
}

.explore-name strong::before {
	content: '';
	width: 18px;
	background: url(../images/explore_icon.webp) no-repeat center;
	height: 27px;
	display: inline-block;
	margin: 0px 5px -5px 0;
}

.explore-text {
	font-size: 16px;
	line-height: 22px;
	max-width: 380px;
}

.explore-pic {
	width: 100%;
}

.explore-pic img {
	display: inline-block;
	border-radius: 20px;
	box-shadow: var(--explore-pic-shadow);
}



/*中間調度區
-----------------------------------------------------------------*/
@media screen and (max-width: 1600px) {
	html,
    body {
        width: 100%;
        min-height: 100%;
	}

	.main-big-title {
		padding: 70px 0 0 0px;
	}

	.happy-big-space {
		padding: 60px 80px;
	}

	.official-ticket-play-space .slick-dots {
		margin: 20px 0 0 0;
	}

	.official-ticket-play-space .slick-dots li {
		display: inline-block;
		margin: 0 3px;
	}

	.official-ticket-play-space .slick-dots button {
		background: transparent;
		border-radius: 50%;
		border: 1px solid var(--white-color);
		text-indent: -9999px;
		width: 15px;
		height:15px;
		line-height: 0;
	}

	.official-ticket-play-space .slick-dots button:hover {
		cursor: pointer;
	}

	.official-ticket-play-space .slick-dots li.slick-active button ,.official-ticket-play-space .slick-dots li:hover button {
		background: var(--white-color);
	}

	.official-ticket-play-pic h3 span {
		padding: 6px 10px;
		font-size: 20px;
	}

	.official-ticket-play-text {
		padding: 0;
	}

	.product-sale-box {
		align-items: flex-end;
	}

	/*消失*/
	.official-ticket-play-text br {
		display: none;
	}
	
}

@media screen and (max-width: 1200px) {
	body {
		background:var(--main-blue);
	}

	#mainNav {
		padding: 15px 2px;
	}

	.nav-link {
		margin: 0 5px;
		padding: 10px 30px;
		font-size: 20px;
    	line-height: 20px;
	}

	.main-logo {
		right: unset;
		left: 2%;
		top: 1%;
		max-width: 115px;
	}

	.block-main {
		min-height: unset;
		border-bottom: 0px;
	}

	.main-ipad-title {
		display: inline-block;
		line-height: 0;
	}

	.happy-big-space {
		padding: 60px 35px;
	}

	.nyonya-ig-infor-pic {
		width: 300px;
	}

	.nyonya-ig-infor-inside {
		width: calc(100% - 320px);
	}

	.official-ticket-play-box:nth-child(odd) {
		padding: 0 10px;
	}

	.official-ticket-play-slide {
		width: 100%;
	}


	/*消失*/
	.main-big-title {
		display: none;
	}
	
}

@media screen and (max-width:960px) {
	.nyonya-top-title-big ,.nyonya-ig-title {
		background-image: unset;
		gap: unset;
		height: auto;
		width: auto;
		flex-wrap: wrap;
	}

	.nyonya-ig-title {
		top: 25px;
	}

	.nyonya-top-title-big span {
		display: inline-flex;
		padding: 13px;
		border-radius: 50%;
		background:var(--happy-nyonya-green);
		border: 4px solid var(--happy-nyonya-yellow);
		align-items: center;
		justify-content: center;
		margin:-2px;
	}

	.nyonya-ig-title span {
		display: inline-flex;
		padding: 13px;
		border-radius: 50%;
		background:var(--happy-nyonya-blue);
		border: 4px solid var(--happy-nyonya-yellow);
		align-items: center;
		justify-content: center;
		margin:-2px;
	}

	.nyonya-infor-space {
		margin: 20px auto;
        gap: 20px;
	}

	.nyonya-infor-text {
		font-size: 20px;
    	line-height: 30px;
	}

	.nyonya-ig-infor {
		width: 100%;
	}

	.nyonya-ig-space {
		padding: 30px 20px 30px 20px;
	}

	.official-ticket-space {
		gap: 20px;
	}

	.official-ticket-infor {
		gap: 10px;
	}

	.official-ticket-infor-name {
		font-size: 30px;
    	line-height: 33px;
	}

	.official-ticket-infor-text {
		font-size: 18px;
		line-height: 24px;
	}

	.official-ticket-infor-buy a {
		font-size: 20px;
    	line-height: 25px;
	}

	.hotel-big-space {
		grid-template-columns:var(--grid-box-phone);
	}

	.hotel-product-infor {
		padding: 10px;
	}

	.hotel-product-infor h3 {
		margin: 0 0 10px 0;
		padding: 10px 20px;
	}

	.hotel-box:hover .hotel-product-infor h3 {
		text-align: left;
		padding: 10px 45px 10px 20px;
	}

	.hotel-product-infor h3 strong {
		font-size: 20px;
    	line-height: 25px;
	}

	.hotel-product-infor h3 span {
		font-size: 14px;
		line-height: 20px;
	}

	.hotel-product-infor li {
		font-size: 14px;
		line-height: 20px;
	}

	.explore-big-space {
		grid-template-columns:var(--grid-box-phone);
	}

	.explore-box {
		display: inline-flex;
		flex-wrap: wrap;
        flex-direction: column;
	}

	.explore-infor {
		left: unset;
		bottom: unset;
		position: relative;
		order: 2;
		background:var(--white-color);
        border-radius: 20px;
        padding: 10px;
		top: -40px;
    }

	.explore-pic {
		order: 1;
	}

	.explore-text {
		max-width: unset;
	}

	.explore-big-space {
		gap: 0 20px;
	}

	.explore-name, .explore-text {
		padding: 0px;
		border-radius: 0;
		background: transparent;
	}

	/*消失*/
	.nyonya-ig-left-bk ,.nyonya-ig-right-bk {
		display: none;
	}
	
	
}


/*平板
-----------------------------------------------------------------*/

@media screen and (max-width: 768px) {
	html {
		scroll-behavior: smooth;
	}

	.happy-big-space {
		padding: 60px 40px;
	}

	.nyonya-top-title-name {
		width: 387px;
		height: 100px;
		background-image: url(../images/happy_act1_title_bk2-2.webp);
		line-height: 30px;
        font-size: 25px;
        display: inline-flex;
        flex-wrap: wrap;
        flex-direction: column;
        justify-content: center;
	}

	.nyonya-top-title-name span {
		width: 100%;
	}

	.nyonya-infor-text {
		font-size: 18px;
        line-height: 26px;
	}

	.nyonya-ig-space .slick-initialized .slick-slide {
		flex-wrap: wrap;
	}

	.nyonya-ig-infor-pic ,.nyonya-ig-infor-inside {
		width: 100%;
	}

	.official-top-text {
		font-size: 20px;
    	line-height: 30px;
		margin: 0 auto 10px auto;
	}

	.hotel-box .hotel-product-bk {
		background-position: center -210px;
	}

	.hotel-box .hotel-product-infor {
		background: #178D88;
		background: linear-gradient(180deg, rgba(23, 141, 136, 0) 1%, rgba(23, 141, 136, 1) 33%);
	}

	.hotel-box .hotel-product-infor ul {
		opacity: 1;
		display: block;
	}

	.hotel-box .hotel-product-infor h3::after {
		opacity: 1;
		right: 5px;
	}

	.hotel-box .hotel-product-infor h3 {
		text-align: left;
		padding: 10px 45px 10px 20px;
	}

	.product-sale-space {
		padding: 20px;
    	border: 10px solid var(--tour-dark-bk);
	}

	.explore-pic img {
		box-shadow: unset;
	}
	

	/*消失*/
	#mainNav {
		display: none;
	}

	
}


/*中間調度區
-----------------------------------------------------------------*/
@media screen and (max-width:600px) {
	.block-normal {
		padding: 45px 10px;
	}

	.main-phone-title {
		display: inline-block;
		line-height: 0;
	}

	.normal-big-title h2 {
		left: 80px;
    	top: 0px;
	}

	.happy-big-space {
		padding: 20px;
		border-radius: 20px;
	}

	.nyonya-top-title-big ,.nyonya-ig-title {
		font-size: 32px;
	}

	.nyonya-top-title-name {
		width: 100%;
		background-size: contain;
	}

	.nyonya-top-title-big i {
		display: block;
		width: 100%;
	}

	.nyonya-infor-space {
		flex-wrap: wrap;
        gap: 10px;
	}

	.nyonya-infor-pic ,.nyonya-infor-text {
		flex: none;
		width: 100%;
	}

	.nyonya-infor-pic {
		text-align: center;
	}

	.nyonya-infor-pic img {
		width: 80%;
	}

	.nyonya-infor-text br {
		display: none;
	}

	.nyonya-ig-inside-title {
		font-size: 30px;
    	line-height: 35px;
		margin: 0 0 5px 0;
	}

	.nyonya-ig-inside-text {
		font-size: 16px;
    	line-height: 24px;
		margin: 0 0 10px 0;
	}

	.official-ticket-space {
		flex-wrap: wrap;
	}

	.official-ticket-pic {
		flex: none;
		width: 100%;
		gap: 10px;
	}

	.official-ticket-infor {
		flex: none;
		width: 100%;
	}

	.official-ticket-infor-buy {
		text-align: center;
	}

	.official-ticket-infor-buy a {
		width: 100%;
	}

	.official-top-title-big img {
		width: 80%;
	}

	.official-top-title-big {
		margin: 0 0 20px 0;
	}

	.official-top-text {
		font-size: 18px;
        line-height: 27px;
	}

	.official-top-text p {
		margin: 0 0 10px 0;
	}

	.product-sale-box {
		flex-wrap: wrap;
	}

	.product-sale-infor ,.product-sale-price {
		width: 100%;
		min-width: unset;
		flex: none;
	}

	.product-sale-infor {
		gap: 7px;
	}

	#explore.block-normal {
		padding: 45px 10px 60px 10px;
	}

	.explore-name strong {
		font-size: 20px;
    	line-height: 24px;
	}

	.explore-name span {
		font-size: 14px;
    	line-height: 18px;
	}

	.explore-text {
		font-size: 15px;
		line-height: 20px;
	}

	/*消失*/
	.main-ipad-title ,.happy-bottom-bk {
		display: none;
	}

}


/*手機
-----------------------------------------------------------------*/

@media (max-width: 480px) {
	.normal-big-title {
		height: 135px;
		margin: 0 auto 10px auto;
	}

	.normal-big-title {
		background-size: 112% !important;
	}

	.normal-big-title h2 {
		left: 50px;
    	top: -8px;
	}

	.nyonya-infor-text {
		font-size: 16px;
        line-height: 24px;
	}

	.nyonya-infor-text p {
		margin: 0 0 10px 0;
	}

	.nyonya-top-title-name {
		line-height: 27px;
        font-size: 22px;
		height: 80px;
	}

	.nyonya-infor-space {
		margin: 0;
	}

	.official-top-text {
		font-size: 16px;
        line-height: 24px;
	}

	.official-ticket-infor-name {
		font-size: 24px;
        line-height: 28px;
	}

	.official-ticket-infor-text {
		font-size: 16px;
        line-height: 22px;
	}

	.official-ticket-play-slide {
		margin: -20px auto 0 auto;
	}

	.hotel-product-bk {
		min-height: 290px;
	}

	.hotel-box {
		min-height: 340px;
	}

	.product-menu-space {
		position: sticky;
		top: 40px;
		z-index: 1;
		border-radius: 0;
	}

	.product-sale-type-title {
		scroll-margin-top: 120px;
		margin: 0;
	}

	.product-sale-box {
		padding: 5px;
	}

	.product-sale-name {
		font-size: 18px;
    	line-height: 24px;
	}

	.product-sale-type-title strong {
		padding: 3px 20px;
		font-size: 20px;
    	line-height: 28px;
	}

	.product-sale-text {
		font-size: 14px;
    	line-height: 18px;
	}

	.product-sale-list li {
		font-size: 14px;
    	line-height: 20px;
	}


}

@media (max-width: 380px) {
	.normal-big-title {
		height: 106px;
	}

	.normal-big-title h2 {
		left: 18px;
        top: -8px;
        transform: scale(0.8);
	}

	.nyonya-top-title-name {
		line-height: 25px;
        font-size: 20px;
        height: 72px;
	}

	
}
