/*------------------------------------------ 
Reset
--------------------------------------------*/
a, a:hover, .btn-link, .btn-link:hover {
		text-decoration: none;
}
a:focus, select:focus, input:focus, textarea:focus, button:focus, optgroup:focus {
		outline: none !important;
		-webkit-box-shadow: none !important;
		box-shadow: none !important;
}
html {
		scroll-behavior: auto !important;
		-ms-touch-action: none !important;
		touch-action: none !important;
}
/*------------------------------------------ 
Nav
--------------------------------------------*/
header .navbar-brand {
		width: 210px;
}
/*------------------------------------------ 
Loading
--------------------------------------------*/
#loader-overlay {
		min-width: 100vw;
		min-height: calc(100vh + 30px);
		width: 100%;
		height: 100%;
		position: fixed;
		overflow: hidden;
		z-index: 1200;
		top: -30px;
}
#loader-overlay .loader-outer {
		width: 100%;
		height: 100%;
}
/*------------------------------------------ 
NAV
--------------------------------------------*/
header .navbar-toggler {
		position: fixed;
		right: 1rem;
}
/*------------------------------------------ 
Modal
--------------------------------------------*/
.modal-header .btn-close {
		width: 2em;
		height: 2em;
}
/*------------------------------------------ 
免責申明 Modal
--------------------------------------------*/
.modal-outlink .modal-content {
		border-radius: 0 !important;
}
.modal-outlink .modal-dialog {
		max-width: 750px !important;
}
.modal-outlink .modal-footer, .modal-outlink .modal-header {
		border: 0 !important;
}
.modal-outlink .modal-header {
		padding: 30px 30px 0 30px;
}
.modal-outlink .modal-header h3 {
		font-weight: lighter;
		font-size: 2rem;
}
.modal-outlink .modal-body {
		padding: 30px 30px 10px 30px;
}
.modal-outlink .modal-footer {
		padding: 0 30px 30px 30px;
		text-align: center !important;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
}
.modal-outlink .modal-footer .btn {
		border-radius: 0;
		height: 38px;
		min-width: 80px;
		margin: 0 10px;
}
/*------------------------------------------ 
Go to Black
--------------------------------------------*/
.goto-block {
		right: 0;
		bottom: 3em;
		width: 12vw;
		max-width: 145px;
		z-index: 3;
		text-align: right;
}
.goto-block .text {
		right: 0;
		top: 0;
		z-index: 2;
}
.goto-block1 {
		right: 0;
		bottom: 13em;
		width: 12vw;
		max-width: 145px;
		z-index: 3;
		text-align: right;
}
.goto-block1 .text {
		right: 0;
		top: 0;
		z-index: 2;
}
/*------------------------------------------ 
Main NAV
--------------------------------------------*/
.mainnav .navbar-nav .nav-link {
		padding-right: .3rem;
		padding-left: .3rem;
}
@media screen and (min-width: 1440px) {
		.mainnav .navbar-nav .nav-link {
				padding-right: var(--bs-navbar-nav-link-padding-x);
				padding-left: var(--bs-navbar-nav-link-padding-x);
		}
}
@media screen and (max-width: 1199px) {
		.mainnav .navbar-nav .nav-link {
				padding-right: .2rem;
				padding-left: .2rem;
		}
}
/*------------------------------------------ 
FOOTER
--------------------------------------------*/
footer .f_link, footer .fiscal .f_right, footer .fiscal .f_left, footer .fiscal, footer .f_warning, footer {
		position: relative;
		display: inline-block;
		float: left;
		width: 100%;
}
footer {
		padding: 10px 2%;
		background-color: rgb(72, 72, 72);
}
/************************/
footer .f_warning {
		color: #fff;
		margin: 10px 0 40px 0;
		width: 100%;
		padding: 0;
}
/************************/
footer .fiscal {
		margin: 20px 0px;
		color: #191919;
}
footer .fiscal .f_left {
		width: calc(25% + 20px);
		font-size: 30px;
		color: #ffffff;
		min-height: 48px;
		text-align: left;
}
footer .fiscal .f_left img {
		width: 80%;
}
footer .fiscal .f_right {
		width: calc(75% - 20px);
		font-size: 14px;
		line-height: 1.6em;
		color: #ffffff;
}
footer .fiscal .f_right a, footer .fiscal .f_right a:hover {
		color: #ffffff;
		line-height: 1em;
}
/************************/
footer .f_link {
		margin-top: 10px;
		min-height: 40px;
		font-size: 14px;
		color: #b8b8b8;
}
footer .f_link a, footer .f_link a:hover {
		display: inline-block;
		padding: 0px 10px;
		color: #b8b8b8;
		line-height: 1em;
}
footer .f_link a:first-child {
		padding-left: 0;
}
footer .f_link a + a {
		border-left: 1px solid #b8b8b8;
}
footer .f_copy {
		display: inline-block;
		font-weight: 600;
}
@media screen and (max-width: 991px) {
		footer .fiscal {
				width: 100%;
				padding: 0px 5%;
		}
		footer .fiscal .f_left img {
				max-width: 300px;
		}
		footer .fiscal .f_warning {
				padding-bottom: 20px;
				text-align: justify !important;
		}
		footer .fiscal .f_warning, footer .fiscal .f_left, footer .fiscal .f_right {
				width: 100%;
				padding: 0px 3%;
				text-align: left;
		}
		footer .f_link {
				font-size: 13px;
		}
		footer .f_link {
				width: 96%;
				margin: 1em 2%;
				text-align: center;
		}
		footer .f_copy {
				display: inline-block;
				width: 90%;
				margin: 10px 5%;
				text-align: center;
		}
}
@media screen and (max-width: 991px) {
		footer .fiscal .f_warning {
				font-size: 14px;
		}
}
@media screen and (max-width: 480px) {
		footer .fiscal .f_left {
				font-size: 28px;
		}
		footer .fiscal {
				width: 100%;
				padding: 0px 2%;
		}
}
@media screen and (max-width: 320px) {
		footer .fiscal .f_left {
				font-size: 23px;
				text-wrap: nowrap;
		}
		footer .fiscal .f_right {
				font-size: 12px;
		}
}
@media screen and (max-width:280px) {
		footer .fiscal .f_warning, footer .fiscal .f_right {
				font-size: 12px;
		}
		footer .fiscal .f_left {
				font-size: 23px;
		}
}
/*------------------------------------------ 
Button
--------------------------------------------*/
.btn-yes {
		min-width: 100px;
		margin: 0 .25rem;
}
.btn-leave {
		min-width: 100px;
		margin: 0 .25rem;
}
.btn-leave {
		--bs-btn-padding-x: 0.75rem;
		--bs-btn-padding-y: 0.375rem;
		--bs-btn-font-family: ;
		--bs-btn-font-size: 1rem;
		--bs-btn-font-weight: 400;
		--bs-btn-line-height: 1.5;
		--bs-btn-color: var(--bs-body-color);
		--bs-btn-bg: transparent;
		--bs-btn-border-width: var(--bs-border-width);
		--bs-btn-border-color: transparent;
		--bs-btn-border-radius: var(--bs-border-radius);
		--bs-btn-hover-border-color: transparent;
		--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
		--bs-btn-disabled-opacity: 0.65;
		--bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
		display: inline-block;
		padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
		font-family: var(--bs-btn-font-family);
		font-size: var(--bs-btn-font-size);
		font-weight: var(--bs-btn-font-weight);
		line-height: var(--bs-btn-line-height);
		color: var(--bs-btn-color);
		text-align: center;
		text-decoration: none;
		vertical-align: middle;
		cursor: pointer;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
		border-radius: var(--bs-btn-border-radius);
		background-color: var(--bs-btn-bg);
		-webkit-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
		transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
		-o-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
		transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
		transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
}
/*------------------------------------------ 
Table
--------------------------------------------*/
table.td-mini td, table.td-mini th {
		text-align: center;
		vertical-align: middle;
		padding: .125rem;
}
table td, table th {
		vertical-align: middle;
		padding: .125rem;
}
/*------------------------------------------ 
Pluginï¼šFullpage / Section Bg
--------------------------------------------*/
.kv, .kv > .section-in, .gift, .mileage, .offer, .life, .cards, .mtr, .detail {
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center top;
}
html.fp-enabled, .fp-enabled body {
		/*overflow: auto !important;*/
}
header {
		height: 60px;
}
body.fp-viewing-offer, body.fp-viewing-gift, body.fp-viewing-kv {
		padding-top: 30px !important;
}
body.fp-viewing-life {
		padding-top: 60px !important;
}
[data-id*="general"] {
		background-image: url("../../../images/General_a.jpg");
}
[data-id*="ta1"] {
		background-image: url("../../../images/TA1.jpg");
}
[data-id*="ta2"] {
		background-image: url("../../../images/TA2.jpg");
}
[data-id*="ta3"] {
		background-image: url("../../../images/TA3.jpg");
}
[data-id*="general"], [data-id*="ta1"], [data-id*="ta2"], [data-id*="ta3"] {
		display: none;
		width: 100%;
		height: 100vh;
		padding-top: 30px !important;
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center top;
}
[data-id*="general"].active, [data-id*="ta1"].active, [data-id*="ta2"].active, [data-id*="ta3"].active {
		display: -webkit-box !important;
		display: -ms-flexbox !important;
		display: flex !important;
}
.gift {
		background-image: url("../../../images/block1_bg.jpg");
		background-position: center center;
}
.mileage {
		background-image: url("../../../images/block2_bg.jpg");
}
.offer {
		background-image: url("../../../images/block3_bg.jpg");
		background-position: center top;
}
.life {
		background-image: url("../../../images/block4_bg.jpg");
}
.cards {
		background-image: url("../../../images/block5_bg.jpg");
}
.mtr {
		background-image: url("../../../images/block5a_bg.jpg");
		background-position: left top;
}
.detail {
		background-image: url("../../../images/block6_bg.jpg");
		background-position: center bottom;
}
.footer {
		height: 140px !important;
		min-height: 140px !important;
}
.section {
		overflow: hidden;
}
@media (min-width: 1920px) {
		/* Section Bg */
		.kv, .gift, .mileage, .offer, .life, .cards, .mtr, .detail {
				/*background-size: 2560px auto;*/
				background-size: cover;
		}
		.offer {
				background-position: center top;
		}
		.section {
				max-width: 2560px;
		}
}
@media (min-width: 1280px) {
		.section.kv .fp-tableCell, .section.kv, .section.gift .fp-tableCell, .section.gift, .section.mileage .fp-tableCell, .section.mileage, .section.offer .fp-tableCell, .section.offer .section.life .fp-tableCell, .section.life, .section.offer .section.cards .fp-tableCell, .section.offer .section.mtr .fp-tableCell, .section.mtr, .section.detail .fp-tableCell, .section.detail {
				/*min-height: 960px !important;*/
		}
}
@media (min-width: 992px) {
		.kv, .gift, .mileage, .offer, .life, .cards, .mtr, .detail {
				max-height: initial;
				height: -webkit-fit-content;
				height: -moz-fit-content;
				height: fit-content;
		}
		header {
				height: 70px;
		}
		body.fp-viewing-offer, body.fp-viewing-gift, body.fp-viewing-kv {
				padding-top: 35px !important;
		}
		body.fp-viewing-life {
				padding-top: 70px !important;
		}
		#loader-overlay {
				min-height: calc(100vh + 35px);
				top: -35px;
		}
}
/*------------------------------------------ 
Is LIne
--------------------------------------------*/
.is-line {
		width: 50px;
		height: 1px;
}
.is-line-v {
		min-width: 4px;
		width: 4px;
		height: 65px;
		margin: 0 4rem;
		position: relative;
		top: 5px;
}
/*------------------------------------------ 
Val Block
--------------------------------------------*/
.val-block {
		padding: .25rem .5rem;
		border: 1px solid transparent;
		display: inline-block;
		border-radius: .5rem;
}
/*------------------------------------------ 
Section 
--------------------------------------------*/
.section.kv .travel-card {
		width: 100%;
		max-width: 300px;
}
.section.kv .point-list {
		padding-top: 3vh;
}
.section.kv .post {
		border: 1px solid var(--white);
		padding: .5rem .75rem;
}
.section.kv .point-list ul li {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
}
.section.kv .point-list img.icon {
		max-width: 25px;
		height: 25px;
		margin: 0 .5rem 0 1rem;
		opacity: 1;
}
.section.gift .has-border {
		border-width: 3px;
		border-style: solid;
		border-image-slice: 3;
		margin: auto;
}
.section.gift .has-border {
		max-width: 90%;
}
.section.gift .has-light {
		max-width: 80%;
		margin: auto;
}
.section.gift .travel-card {
		width: 100%;
		max-width: 360px;
}
.section.gift .info {
		margin-left: 2.5rem;
		margin-bottom: 5rem;
		max-width: 50%;
		padding-top: 9rem;
}
.section.gift .info p, .section.gift .info h3 {
		position: relative;
		z-index: 2;
}
.section.gift .info .pic {
		max-width: 300px;
		left: 3rem;
		right: auto;
		top: 0;
		bottom: auto;
		margin: auto;
}
.section.mileage .main-item {
		margin-bottom: 22vh;
}
.section.mileage .card-group {
		left: 0;
		right: 0;
		bottom: 0;
		top: 0;
		margin: auto;
}
.section.mileage .card-top .info-block {
		padding: 1.5rem 3rem 1.5rem 3rem;
}
.section.offer .info-block {
		padding: 1.5rem 3rem 1rem 3rem;
		min-width: 500px;
}
.section.offer .info-block .head {
		padding: .5rem 2rem;
		background-image: url("../../../images/title_bg.png");
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
		color: #ffffff;
}
.section.mileage .card-top .info-block .is-line {
		margin: auto;
}
.section.mileage .card-right > div, .section.mileage .card-left > div {
		position: relative;
		z-index: 2;
}
.section.mileage .card-right::after, .section.mileage .card-left::after {
		content: '';
		position: absolute;
		width: 100%;
		height: 100%;
		display: block;
		bottom: 0;
}
.section.mileage .card-right::before {
		content: '';
		position: absolute;
		width: 2px;
		height: 70%;
		display: block;
		bottom: 0;
		top: 0;
		left: 0;
		margin: auto;
		z-index: 2;
}
.section.mileage .card-left::after {
		left: 0;
}
.section.mileage .card-right::after {
		right: 0;
}
.section.offer .card-top {
		margin-top: auto;
		margin-bottom: auto;
		padding-top: 22%;
		padding-bottom: 2%;
}
.section.offer .card-top.only-title {
		margin-top: auto;
		margin-bottom: auto;
		padding-top: 20%;
}
.section.offer .card-item .info {
		padding: 2.5rem .5rem 5rem .5rem;
}
.section.offer .card-item .info::before {
		content: '';
		position: absolute;
		width: 2px;
		height: 50%;
		display: block;
		bottom: auto;
		top: 17.5%;
		left: 0;
		margin: auto;
		z-index: 2;
}
.section.offer .card-item:first-child .info::before {
		display: none;
}
.section.offer .point-block img.icon {
		width: 4vw;
		max-width: 75px;
		height: auto;
		margin-right: 1.5rem;
}
.section.offer .point-block .point-item {
		min-width: 380px;
}
.section.detail .travel-card {
		width: 100%;
		max-width: 300px;
		position: relative;
		z-index: 2;
		margin-top: 8rem;
}
.section.detail .info {
		position: relative;
		max-width: 60%;
		margin: 8rem 0 3rem 3rem;
}
.section.detail .info .sub-title {
		position: relative;
		padding: .5rem 1rem;
}
.section.detail .info .sub-title > span {
		position: relative;
		z-index: 2;
}
.section.detail .info .sub-title::after {
		content: '';
		width: 100%;
		height: 100%;
		display: block;
		position: absolute;
		z-index: 1;
		left: 0;
		top: 0;
		border-radius: .25rem;
		margin: auto;
}
.section.detail .info > * {
		position: relative;
		z-index: 2;
}
.section.detail .info::after {
		content: '';
		width: 140%;
		height: 110%;
		display: block;
		position: absolute;
		z-index: 1;
		left: -20%;
		top: -10%;
		border-radius: 3rem 0 0 3rem;
		margin: auto;
}
.section.detail .table td {
		vertical-align: top
}
.section.detail .table td:first-child {
		text-wrap: nowrap;
		width: 100px;
}
/*------------------------------------------ 
Section Card 
--------------------------------------------*/
.section .card-item img.icon {
		width: 4vw;
		max-width: 52px;
		height: auto;
		margin: 0 auto .5rem auto;
}
.section .card-item .info {
		padding: 2.5rem .5rem;
		position: relative;
}
.section .card-item.has-rounded .info {
		border-radius: 2rem;
		overflow: hidden;
}
.section .card-item .info > * {
		position: relative;
		z-index: 2;
}
.section .card-item .info::after {
		content: '';
		width: 100%;
		height: 100%;
		display: block;
		position: absolute;
		left: 0;
		top: 0;
}
.section .card-item .info h4 {
		min-height: 57px;
}
.section.life .card-item .info {
		padding: 1.5rem .5rem;
}
.section.cards .card-item .info {
		padding: 2.5rem .5rem;
}
@media (min-width: 1600px) {
		.section .card-item img.icon {
				width: 5vw;
				max-width: 66px;
				height: auto;
				margin: 0 auto .5rem auto;
		}
		.section.life .card-item .info {
				padding: 2.5rem .5rem;
		}
		.section.cards .card-item .info {
				padding: 3.5rem .5rem;
		}
		.section .card-item .info h4 {
				min-height: 65px;
		}
}
/*------------------------------------------ 
MTR Card
--------------------------------------------*/
.mtr-block.has-slider {
		max-width: calc(100% - 6rem);
		margin: auto;
}
.mtr-block.has-slider .slick-list.draggable {
		padding-top: .5rem;
		padding-bottom: .5rem;
}
.mtr-card {
		max-width: 90%;
		margin: auto;
		border-radius: 2.5rem;
		text-align: center;
}
.mtr-card .card-head.photo img {
		max-width: 60%;
		margin: auto;
}
.mtr-card .card-head.photo {
		padding: 1.5rem 1rem 0 1rem;
}
.mtr-card .card-body {
		padding: 0 .25rem .5rem .25rem;
}
.mtr-block.has-slider .slick-prev, .mtr-block.has-slider .slick-next {
		z-index: 3;
}
.mtr-block.has-slider .slick-next::before, .mtr-block.has-slider .slick-prev::before {
		position: relative;
		z-index: 1;
}
.mtr-block.has-slider .slick-next::after, .mtr-block.has-slider .slick-prev::after {
		content: '';
		width: 50px;
		height: 50px;
		display: block;
		border-radius: 100%;
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
}
.mtr-block.has-slider .slick-dots li {
		margin: 0 .25rem;
}
.mtr-block.has-slider .slick-prev {
		left: -3rem;
		width: 50px;
		height: 50px;
}
.mtr-block.has-slider .slick-next {
		right: -3rem;
		width: 50px;
		height: 50px;
}
.mtr-block.has-slider .slick-dots {
		bottom: -1.125rem;
}
@media (min-width: 1600px) {
		.mtr-card .card-head.photo img {
				max-width: 70%;
				margin: auto;
		}
		.mtr-block.has-slider .slick-list.draggable {
				padding-top: 1rem;
				padding-bottom: 1rem;
		}
		.mtr-block.has-slider + div {
				margin-top: 4rem !important;
		}
		.mtr-card .card-body {
				padding: 0 .25rem 1rem .25rem;
		}
}
/*------------------------------------------ 
MTR Note
--------------------------------------------*/
.mtr-note {
		max-width: 84%;
		margin: auto;
}
.mtr-note {
		padding: 1rem 2rem 2rem 2rem;
}
.mtr-note .card-head {
		padding: 0 1rem 1rem 1rem;
}
.mtr-note .card-body {
		padding: 3rem 1.5rem;
}
.mtr-note .card-body li {
		margin-bottom: 1rem;
}
.modal-detail.modal-mtr .modal-header {
		padding: 7rem 2rem;
}
.modal-detail.modal-mtr .modal-header .modal-title {
		z-index: 2;
}
.modal-detail.modal-mtr .modal-header .bg {
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
}
.modal-mtr .modal-header .btn-close {
		right: 1rem;
		top: 1rem;
}
/*------------------------------------------ 
Btn Enter 
--------------------------------------------*/
.btn-enter {
		border-radius: 2rem;
		position: relative;
		padding: .2125rem 1.5rem;
		border-width: 2px;
		background-color: transparent;
}
.btn-enter.sp i {
		position: absolute;
		right: .5rem;
}
.btn-enter.sp {
		padding: .25rem 2.5rem;
}
/*------------------------------------------ 
Btn More 
--------------------------------------------*/
.btn-more {
		min-width: 15vw;
		max-width: 210px;
		height: 40px;
		line-height: 1.5;
		border-radius: .5rem;
		position: relative;
		border: 0;
		overflow: hidden;
}
.btn-more::before {
		content: '';
		width: 40px;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		margin: auto;
}
.btn-more::after {
		content: '';
		width: 40px;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		margin: auto;
}
.btn-more > span {
		position: relative;
		z-index: 2;
		padding-left: .125rem;
}
/*------------------------------------------ 
Basic Footer
--------------------------------------------*/
.bot-nav li {
		position: relative;
		padding: 0 1rem;
}
.bot-nav li::after {
		content: '';
		width: 1px;
		height: calc(100% - 10px);
		position: absolute;
		top: 0;
		bottom: 0;
		right: -2rem;
		left: auto;
		display: block;
		margin: auto 2rem;
}
.bot-nav li:last-child::after {
		display: none;
}
/*------------------------------------------ 
Space
--------------------------------------------*/
@media (min-width: 1200px) {
		.w-small {
				/*	max-width: 760px;*/
				max-width: 1050px;
		}
		footer > .w-ot {
				max-width: 1100px;
		}
		.has-top {
				padding-top: 5rem;
		}
}
@media (min-width: 1366px) {
		.max-width {
				max-width: 1920px !important;
		}
		.max-width-lg {
				max-width: 2560px !important;
		}
}
@media (min-width: 1600px) {
		.mtr-card .card-head.photo {
				padding: 2.5rem 1rem 0 1rem;
		}
		.container-xxl {
				max-width: 1366px;
		}
		.container-xxl.wide {
				max-width: 1600px;
		}
		.btn-more {
				min-width: 260px;
				height: 50px;
				line-height: 2.5;
		}
		.btn-more::before {
				width: 50px;
		}
		.btn-more::after {
				width: 50px;
		}
		.section .card-item .info h4 {
				min-height: 60px;
		}
		.section .card-item .info {
				padding: 2.5rem .5rem;
		}
		.section.kv .travel-card {
				max-width: 430px;
		}
		.section.gift .info .pic {
				max-width: 360px;
				left: 5rem;
		}
		.section.gift .info {
				margin-left: 3rem;
				margin-bottom: 6rem;
				max-width: 50%;
				padding-top: 10.5rem;
		}
}
@media (min-width: 1920px) {
		.section.gift .has-border {
				max-width: 1600px;
		}
}
@media (min-width: 1200px) and (max-width: 1599.98px) {
		.container-xxl {
				max-width: 1280px;
		}
		.section.kv .point-list ul li:first-child img.icon {
				margin-left: 0;
		}
}
@media (max-width: 1199.98px) {
		header .navbar-brand {
				width: 240px;
		}
		body.fp-viewing-offer, body.fp-viewing-gift, body.fp-viewing-kv {
				padding-top: 60px !important;
		}
		footer.position-absolute {
				position: relative !important;
		}
		.w-small {
				max-width: 80%;
		}
		.section .card-item img.icon {
				max-width: 50px;
		}
		.mtr-card .card-head.photo {
				padding-top: 1.125rem;
				padding-bottom: 1.125rem;
		}
		.mtr-card .card-body {
				padding-bottom: 1.5rem;
		}
		.mtr-card {
				max-width: 94%;
				margin: auto;
				border-radius: 2.125rem;
				text-align: center;
		}
		.mtr-note {
				max-width: 90%;
		}
		.modal-mtr .modal-header .btn-close {
				right: 1rem;
				top: 3rem;
		}
		.modal-detail.modal-mtr .modal-header {
				padding: 5rem 2rem;
		}
		.btn-enter {
				padding: .175rem 1.25rem;
		}
		.btn-enter.sp {
				padding: .2rem 2rem .2rem 1.75rem;
		}
		.goto-block {
				right: 0;
				bottom: 2em;
				width: 15vw;
				max-width: inherit;
		}
		.section.kv .travel-card {
				max-width: 320px;
		}
		.section.kv .point-list img.icon {
				width: 20px;
				height: 20px;
				margin: 0 .5rem 0 .5rem;
		}
		.section.gift .travel-card {
				width: 30vw;
				max-width: inherit;
		}
		.section .card-item .info {
				padding: 2rem 0.5rem 1rem 0.5rem;
				border-radius: 1.5rem;
		}
		.section .card-item .info h4 {
				min-height: 55px;
		}
		.modal-header .btn-close {
				width: 2em;
				height: 2em;
				top: 1em;
				position: fixed;
				right: 1em;
				z-index: 5;
		}
		.section.gift .has-light {
				max-width: 90%;
		}
		.section.gift .info .pic {
				max-width: 260px;
				left: 5rem;
		}
		.section.gift .info {
				padding-top: 8rem;
		}
		.section.offer .card-top {
				padding-top: 25%;
				padding-bottom: 2%;
		}
		.section.offer .card-top.only-title {
				padding-top: 15rem;
				padding-bottom: 2rem;
		}
}
@media (max-width: 991px) {
		.section .card-item .info {
				min-height: 170px;
		}
		.section.offer .info-block {
				min-width: inherit;
		}
		.modal-mtr .modal-header .btn-close {
				top: 1rem;
		}
		.modal-detail.modal-mtr .modal-header {
				padding: 4rem 2rem;
		}
		.modal-detail .modal-dialog {
				max-width: 90%;
				margin-right: auto;
				margin-left: auto;
		}
		.navbar .offcanvas-header {
				-webkit-box-pack: end;
				-ms-flex-pack: end;
				justify-content: flex-end
		}
		.navbar .offcanvas {
				max-width: 360px;
				z-index: 9999;
		}
		.section.detail .travel-card {
				width: 35vw;
				max-width: inherit;
		}
		.footer {
				position: relative !important;
		}
		.section.kv .travel-card {
				width: 40vw;
				max-width: inherit;
		}
		.fullpage-wrapper {
				overflow: auto;
		}
		.section.gift .has-light {
				margin-top: 4rem;
				margin-bottom: 4rem;
		}
		.section.offer .point-block img.icon {
				width: 5vw;
				max-width: inherit;
				margin-right: 1rem;
		}
		.is-line-v {
				min-width: 2px;
				width: 2px;
				height: 40px;
				margin: 0 1.5rem;
		}
		.section.offer .card-top {
				padding-top: 33%;
				padding-bottom: 3%;
		}
		.section.offer .card-top.only-title {
				padding-top: 17rem;
				padding-bottom: 6rem;
		}
		.life {
				background-size: cover;
		}
		.ch-w {
				max-width: 70%;
		}
		.section.gift .info .pic {
				max-width: 260px;
				left: 0;
				right: 0;
				margin: auto;
		}
		.section.gift .info {
				margin-left: 0rem;
				margin-bottom: 0;
				max-width: 80%;
				padding-top: 8.5rem;
		}
		.section.gift .info p {
				max-width: 90%;
				margin: auto;
		}
		[data-id*="general"] {
				background-position: 70% center;
		}
		[data-id*="ta1"], [data-id*="ta2"], [data-id*="ta3"] {
				background-position: 42% center;
		}
		.section.mileage .card-right, .section.mileage .card-left {
				max-height: inherit;
		}
		.section.offer .card-item .info {
				padding: 2.5rem .5rem 2.5rem .5rem;
		}
		.section.offer .card-item .info::before {
				bottom: 0;
				top: 0;
				left: 0;
		}
		.section.detail .container, .section.cards .container {
				padding-top: 4rem;
				padding-bottom: 6rem;
		}
		.section.mtr .container.has-top {
				padding-top: 3rem;
				padding-bottom: 0;
		}
		.section.mtr .container {
				padding-bottom: 2rem;
		}
		.section.life .container {
				padding-top: 4rem;
				padding-bottom: 0rem;
		}
		.section.detail .travel-card {
				margin-top: 0;
		}
		.section.gift .travel-card {
				-webkit-box-ordinal-group: 2;
				-ms-flex-order: 1;
				order: 1;
				margin-top: 3rem;
		}
		.section.detail .info {
				max-width: 80%;
				margin: 2rem 0;
				text-align: center;
		}
		.section.detail .info::after {
				max-width: 120%;
				height: 130%;
				top: -20%;
				left: -10%;
				right: 0;
				margin: auto;
				border-radius: 2rem;
		}
		.section.detail .info .table {
				text-align: start;
		}
		.section.offer .card-item .info::before, .section.mileage .card-right::before {
				width: 1px;
		}
		.section .card-item .info h4 {
				min-height: 55px;
		}
		.fp-responsive .section.mileage.fp-auto-height-responsive.fp-section, .fp-responsive .section.mileage.fp-auto-height-responsive.fp-section .fp-tableCell {
				height: 1024px !important
		}
}
@media (max-width: 991.98px) and (orientation:landscape) {
		.section.kv .travel-card {
				width: 25vw;
				max-width: inherit;
		}
		.section, .section-in {
				min-height: 600px;
		}
		.section.gift .info p {
				max-width: 93%;
		}
		.section.gift .travel-card {
				width: 25vw;
				max-width: inherit;
		}
		.section.mileage .card-right::before {
				height: 50%;
		}
		.fp-responsive .section.mileage.fp-auto-height-responsive.fp-section, .fp-responsive .section.mileage.fp-auto-height-responsive.fp-section .fp-tableCell {
				height: auto !important
		}
}
@media (max-width: 767.98px) {
		.section.kv .point-list {
				-webkit-box-ordinal-group: 4;
				-ms-flex-order: 3;
				order: 3;
		}
		.section.gift .info p {
				max-width: 100%;
		}
}
@media (max-width: 767.98px) and (orientation:landscape) {
		.section.offer .card-item .info {
				padding: 1.5rem .5rem 1.5rem .5rem;
		}
		.section.detail .info {
				max-width: 92%;
				margin: 2rem 0;
		}
		.section.detail .info::after {
				max-width: 120%;
				height: 130%;
				top: -20%;
				left: -10%;
		}
		.mtr-block.has-slider {
				max-width: calc(100%);
		}
		.mtr-block.has-slider .slick-next::after, .mtr-block.has-slider .slick-prev::after {
				content: '';
				width: 40px;
				height: 40px;
		}
		.section.offer .card-top {
				padding-top: 16rem;
				padding-bottom: 2rem;
		}
		.section.offer .card-top.only-title {
				padding-top: 16rem;
				padding-bottom: 6rem;
		}
		.section.kv .point-list img.icon {
				margin: 0 0.75rem;
		}
		.section.kv .travel-card {
				width: 35vw;
		}
		.section.mileage, .section.gift {
				min-height: 640px;
		}
		.footer {
				height: auto !important;
				min-height: inherit !important;
		}
		.goto-block {
				bottom: 1em;
		}
		header .navbar-brand {
				width: 210px;
		}
		.section.kv .point-list ul {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-ms-flex-wrap: wrap;
				flex-wrap: wrap;
				max-width: 88%;
				margin: auto;
		}
		.section.kv .point-list ul li {
				width: 50%;
		}
		.section .card-item img.icon {
				max-width: 45px;
		}
		.section.detail .container, .section.life .container, .section.cards .container {
				padding-top: 4rem;
				padding-bottom: 2rem;
		}
		.section.life .card-item .info {
				padding: 1.5rem .5rem;
		}
		.section.cards .card-item .info {
				padding: 2.5rem .5rem;
		}
}
@media (max-width: 599.98px) and (orientation:landscape) {
		.navbar .offcanvas {
				max-width: 60%;
		}
		.section.detail .info {
				max-width: 96%;
		}
		header .navbar-brand {
				width: 180px;
		}
		.bot-nav li:nth-child(2)::after {
				display: none;
		}
		.footer {
				min-height: 200px !important;
		}
		.section.mileage .card-group {
				max-height: inherit;
				position: relative !important;
				height: auto;
		}
		.section.mileage .main-item {
				margin: 6rem auto 3rem auto;
		}
		.section.mileage .fp-tableCell {
				vertical-align: top !important;
		}
		.section.mileage .card-right::after, .section.mileage .card-left::after {
				width: 100%;
				height: calc(100% - 2px);
		}
		.section .card-item img.icon {
				width: 6vw;
				max-width: inherit;
		}
		.section.kv .travel-card {
				width: 40vw;
				max-width: inherit;
		}
		.section.kv .point-list img.icon {
				width: 15px;
				height: 15px;
				max-width: inherit;
				margin: 0 0.5rem !important;
		}
		.section.kv {
				min-height: calc(100vh - 60px);
		}
		.section .card-item .info h4 {
				min-height: 65px;
		}
		.is-line-v {
				height: 60px;
				width: 2px;
				min-width: 2px;
				margin: 0 2rem;
		}
		.section.offer .point-block img.icon {
				width: 7vw;
				margin: 0 auto;
		}
		.section .card-item .info {
				margin-bottom: 1rem;
		}
		.section .card-item img.icon {
				width: 40px;
				max-width: inherit;
		}
		.section.offer .point-block .point-item {
				min-width: inherit;
				text-align: center;
		}
		.section.kv .point-list > ul > li {
				padding: .25rem 0;
		}
		.section.kv .point-list img.icon {
				margin: 0 1.25rem;
		}
		.section.offer .card-block.row-cols-2 > * {
				-webkit-box-flex: 0;
				-ms-flex: 0 0 auto;
				flex: 0 0 auto;
				width: 25%;
		}
		.mtr-card {
				max-width: 90%;
				border-radius: 2rem;
		}
		.mtr-block.has-slider .slick-prev {
				left: -1rem;
		}
		.mtr-block.has-slider .slick-next {
				right: -1rem;
		}
		.mtr-note .card-body {
				padding: 2rem 1.25rem;
		}
		.modal-detail.modal-mtr .modal-header {
				padding: 2rem 2rem;
		}
		.offer {
				background-position: 70% top;
		}
		.detail {
				background-position: 35% -15vh;
		}
		.kv {
				background-position: 36% top;
		}
		.btn-more {
				min-width: 30vw;
				max-width: inherit;
		}
		.section.detail .travel-card {
				width: 40vw;
		}
		.section.gift .travel-card {
				width: 30vw;
				max-width: inherit;
		}
		br.d-xs-block {
				display: block !important;
		}
		.ch-w {
				max-width: 100%;
		}
}
@media (max-width: 575.98px) and (orientation:portrait) {
		.section.mileage .card-left::before {
				display: none;
		}
		.mtr {
				background-position: 5% center;
		}
		.section.offer .card-item:nth-child(3) .info::before {
				display: none;
		}
		.modal-detail .modal-dialog {
				max-width: 98%;
		}
		.section.mileage.onchange .card-right {
				margin-top: .25rem;
				margin-bottom: 2rem;
		}
		.navbar .offcanvas {
				max-width: 60%;
		}
		header .navbar-brand {
				width: 200px;
		}
		.bot-nav li:nth-child(2)::after {
				display: none;
		}
		.footer {
				min-height: 200px !important;
		}
		.section.mileage .card-group {
				max-height: inherit;
				position: relative !important;
				height: auto;
		}
		[data-id*="general"], [data-id*="ta1"], [data-id*="ta2"], [data-id*="ta3"] {
				width: 100%;
				height: 90vh;
				padding-top: 0 !important;
		}
		[data-id*="general"] {
				background-image: url("../../../images/General_m_a.jpg");
		}
		.section.mileage .main-item {
				margin: 6rem auto 3rem auto;
		}
		.section.mileage .fp-tableCell {
				vertical-align: top !important;
		}
		.section .card-item img.icon {
				width: 6vw;
				max-width: inherit;
		}
		.section.kv .travel-card {
				width: 60vw;
				max-width: inherit;
		}
		.section.kv .point-list img.icon {
				width: 15px;
				height: 15px;
				max-width: inherit;
				margin: 0 0.5rem;
		}
		.section.kv .point-list ul {
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				-ms-flex-direction: column;
				flex-direction: column;
		}
		.section.kv .point-list ul li {
				width: 100%;
		}
		.section.kv .point-list ul li br {
				display: none;
		}
		.section.kv {
				min-height: calc(100vh - 60px);
		}
		.is-line-v {
				height: 60px;
				width: 2px;
				min-width: 2px;
				margin: 0 2rem;
		}
		.section.offer .point-block img.icon {
				width: 10vw;
				margin: 0 auto;
		}
		.section.mileage .card-item .info {
				margin-bottom: 1rem;
		}
		.section.offer .card-item:nth-child(2), .section.offer .card-item:first-child {
				margin-bottom: .125rem;
		}
		.section .card-item img.icon {
				width: 11vw;
				max-width: inherit;
				margin-bottom: 0 !important;
		}
		.section.offer .point-block .point-item {
				min-width: inherit;
				text-align: center;
		}
		.section .card-item .info h4 {
				min-height: 65px;
		}
		.section.kv .point-list > ul > li {
				padding: .125rem 0;
		}
		.section.kv .point-list img.icon {
				position: relative;
				top: 2px;
		}
		.section.offer .info-block, .section.mileage .card-top .info-block {
				padding: 1.5rem 2rem 1.75rem 2rem;
		}
		.section.mileage .card-right, .section.mileage .card-left {
				max-width: 90%;
				margin: auto;
		}
		.section.mileage .card-right p, .section.mileage .card-left p {
				max-width: 88%;
				margin: auto;
		}
		.section.mileage .card-right p br, .section.mileage .card-left p br {
				display: none;
		}
		.section.mileage .card-right::before {
				display: none;
		}
		.section.offer .card-top {
				padding-top: 19rem;
				padding-bottom: 1rem;
		}
		.section.offer .card-top.only-title {
				padding-top: 19rem;
				padding-bottom: 1rem;
		}
		.section.offer .card-item .info {
				padding: 1rem .5rem 1rem .5rem;
		}
		.btn-more {
				min-width: 40vw;
				max-width: inherit;
		}
		.section.detail .travel-card {
				width: 50vw;
		}
		.section.gift .travel-card {
				width: 50vw;
				max-width: inherit;
		}
		.goto-block {
				bottom: 4em;
				width: 25vw;
		}
		.ch-w {
				max-width: 100%;
		}
		.w-small {
				max-width: 98%;
		}
		.section.cards .card-item .info {
				padding: 1.5rem .5rem;
		}
		.section.detail .container, .section.life .container, .section.cards .container {
				padding-top: 4rem;
				padding-bottom: 2rem;
		}
		.section.detail .table tr {
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				-ms-flex-direction: column;
				flex-direction: column;
		}
		.section.detail .table td {
				width: 100%;
		}
		.section.detail .table td:first-child {
				width: 100%;
		}
		.section.detail .info::after {
				top: -15%;
				height: 120%;
		}
		.section.gift .travel-card {
				margin-top: 2rem;
		}
		.section.gift .info p {
				max-width: 100%;
				margin: auto;
		}
		.modal-detail.modal-mtr .modal-header {
				padding: 1rem 2rem;
		}
		.mtr-note {
				max-width: 100%;
				padding: 1rem;
		}
		.mtr-note .card-body {
				padding: 1.5rem 1rem;
		}
		.mtr-card {
				max-width: 90%;
				border-radius: 2rem;
		}
		.mtr-block.has-slider .slick-next::after, .mtr-block.has-slider .slick-prev::after {
				width: 40px;
				height: 40px;
		}
		.mtr-block.has-slider {
				max-width: calc(100% - 4rem);
		}
		.mtr-block.has-slider .slick-prev {
				left: -2rem;
				width: 40px;
				height: 40px;
		}
		.mtr-block.has-slider .slick-next {
				right: -2rem;
				width: 40px;
				height: 40px;
		}
		.modal-mtr .modal-header .btn-close {
				width: 1.5em;
				height: 1.5em;
				top: .5em;
				right: .5em;
		}
		.section.life .card-item .info {
				padding: 1.5rem .25rem;
		}
}
@media (max-width: 320px) and (orientation:portrait) {
		.bot-nav {
				-ms-flex-wrap: wrap;
				flex-wrap: wrap;
		}
		.bot-nav li {
				width: 33.3%;
		}
		.bot-nav li:last-child {
				width: 100%;
		}
		.bot-nav li:nth-child(3)::after {
				display: none;
		}
		br.d-xs-block {
				display: block !important;
		}
		header .navbar-brand {
				width: 180px;
		}
		.modal-detail .modal-header, .modal-detail .modal-body {
				padding-left: 0;
				padding-right: 0;
		}
		.section.kv .point-list > ul {
				text-align: center;
		}
		.goto-block {
				bottom: 5.5em;
				width: 20vw;
		}
		.section.gift .info {
				max-width: 96%;
				padding-top: 6rem;
		}
		.section.gift .info .pic {
				max-width: 200px;
		}
		.mtr-card {
				max-width: 98%;
				border-radius: 1.5rem;
		}
		.mtr-block.has-slider {
				max-width: calc(100% - 2rem);
		}
		.mtr-block.has-slider .slick-prev {
				left: -1rem;
				width: 40px;
				height: 40px;
		}
		.mtr-block.has-slider .slick-next {
				right: -1rem;
				width: 40px;
				height: 40px;
		}
}
@media (max-width: 280px) and (orientation:portrait) {}