/*------------------------------------------ 
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;
}
html.overflow-hidden, html.fp-enabled.overflow-hidden {
		overflow: hidden !important;
		position: fixed !important;
		pointer-events: none;
}
/*------------------------------------------ 
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%;
		background-color: #000000;
}
#loader-overlay .loader {
		position: relative;
		width: 200px;
		height: 20px;
}
#loader-overlay .airplane-container {
		position: relative;
		width: 100%;
		height: 100%;
}
#loader-overlay .airplane {
		position: absolute;
		width: 110px;
		height: auto;
		bottom: 0;
		left: 0;
		-webkit-transform-origin: center bottom;
		-ms-transform-origin: center bottom;
		transform-origin: center bottom;
		-webkit-animation: takeoff 2s linear forwards;
		animation: takeoff 2s linear forwards;
}
#loader-overlay .fly_mode .airplane {
		position: absolute;
		width: 110px;
		height: auto;
		bottom: 0;
		left: -60px;
		-webkit-transform-origin: center bottom;
		-ms-transform-origin: center bottom;
		transform-origin: center bottom;
		-webkit-animation: takeoff_fly 2s linear forwards;
		animation: takeoff_fly 2s linear forwards;
}
#loader-overlay .fly_mode_t .airplane {
		position: absolute;
		width: 70px;
		height: auto;
		bottom: 0;
		left: -10px;
		-webkit-transform-origin: center bottom;
		-ms-transform-origin: center bottom;
		transform-origin: center bottom;
		-webkit-animation: takeoff_fly_t 2s linear forwards;
		animation: takeoff_fly_t 2s linear forwards;
}
@-webkit-keyframes takeoff_fly {
		0% {
				-webkit-transform: translateY(0) rotate(-15deg);
				transform: translateY(0) rotate(-15deg);
				left: 0;
		}
		100% {
				-webkit-transform: translateY(-50%) rotate(-15deg);
				transform: translateY(-50%) rotate(-15deg);
				left: calc(100% - 110px + 60px);
		}
}
@keyframes takeoff_fly {
		0% {
				-webkit-transform: translateY(0) rotate(-15deg);
				transform: translateY(0) rotate(-15deg);
				left: 0;
		}
		100% {
				-webkit-transform: translateY(-50%) rotate(-15deg);
				transform: translateY(-50%) rotate(-15deg);
				left: calc(100% - 110px + 60px);
		}
}
@-webkit-keyframes takeoff_fly_t {
		0% {
				left: -20px;
		}
		100% {
				left: calc(100% - 80px + 20px);
		}
}
@keyframes takeoff_fly_t {
		0% {
				left: -10px;
		}
		100% {
				left: calc(100% - 70px + 10px);
		}
}
#loader-overlay .fly_mode .progress-container {
		margin-top: 1.5rem;
		height: 3px;
}
#loader-overlay .fly_mode_t .progress-container {
		margin-top: 1.5rem;
		height: 3px;
}
#loader-overlay .progress-container {
		width: 100%;
		height: 4px;
		background-color: #333;
		margin-top: 0;
		position: relative;
}
#loader-overlay .progress-bar {
		height: 100%;
		width: 0%;
		background-color: #fff;
		-webkit-animation: progress 2s linear forwards;
		animation: progress 2s linear forwards;
}
#loader-overlay .percentage {
		color: #fff;
		font-size: 1.25rem;
		font-weight: bold;
		text-align: center;
		padding-top: .5rem;
}
@-webkit-keyframes takeoff {
		0% {
				-webkit-transform: translateY(0);
				transform: translateY(0);
				left: 0;
		}
		60% {
				-webkit-transform: translateY(-5%);
				transform: translateY(-5%);
				left: 30%;
		}
		100% {
				-webkit-transform: translateY(-15%) rotate(-5deg);
				transform: translateY(-15%) rotate(-5deg);
				left: calc(100% - 110px + 20px);
		}
}
@keyframes takeoff {
		0% {
				-webkit-transform: translateY(0);
				transform: translateY(0);
				left: 0;
		}
		60% {
				-webkit-transform: translateY(-5%);
				transform: translateY(-5%);
				left: 30%;
		}
		100% {
				-webkit-transform: translateY(-15%) rotate(-5deg);
				transform: translateY(-15%) rotate(-5deg);
				left: calc(100% - 110px + 20px);
		}
}
@-webkit-keyframes progress {
		0% {
				width: 0%;
		}
		100% {
				width: 100%;
		}
}
@keyframes progress {
		0% {
				width: 0%;
		}
		100% {
				width: 100%;
		}
}
@media (max-width: 767px) {
		#loader-overlay .loader {
				width: 150px;
				height: 20px;
		}
		#loader-overlay .progress-container {
				height: 2px;
		}
		#loader-overlay .percentage {
				font-size: 1.125rem;
		}
		#loader-overlay .airplane {
				width: 80px;
				-webkit-animation: takeoff_m 2s linear forwards;
				animation: takeoff_m 2s linear forwards;
		}
		#loader-overlay .fly_mode .airplane {
				width: 80px;
				left: 0;
				-webkit-animation: takeoff_fly_m 2s linear forwards;
				animation: takeoff_fly_m 2s linear forwards;
		}
		#loader-overlay .fly_mode_t .airplane {
				width: 40px;
				left: -20px;
				-webkit-animation: takeoff_fly_t_m 2s linear forwards;
				animation: takeoff_fly_t_m 2s linear forwards;
		}
		#loader-overlay .fly_mode .progress-container {
				margin-top: 1rem;
				height: 3px;
		}
}
@-webkit-keyframes takeoff_m {
		0% {
				-webkit-transform: translateY(0);
				transform: translateY(0);
				left: 0;
		}
		60% {
				-webkit-transform: translateY(-5%);
				transform: translateY(-5%);
				left: 30%;
		}
		100% {
				-webkit-transform: translateY(-25%) rotate(-5deg);
				transform: translateY(-25%) rotate(-5deg);
				left: calc(100% - 80px + 10px);
		}
}
@keyframes takeoff_m {
		0% {
				-webkit-transform: translateY(0);
				transform: translateY(0);
				left: 0;
		}
		60% {
				-webkit-transform: translateY(-5%);
				transform: translateY(-5%);
				left: 30%;
		}
		100% {
				-webkit-transform: translateY(-25%) rotate(-5deg);
				transform: translateY(-25%) rotate(-5deg);
				left: calc(100% - 80px + 10px);
		}
}
@-webkit-keyframes takeoff_fly_m {
		0% {
				-webkit-transform: translateY(0) rotate(-15deg);
				transform: translateY(0) rotate(-15deg);
				left: 0;
		}
		100% {
				-webkit-transform: translateY(-50%) rotate(-15deg);
				transform: translateY(-50%) rotate(-15deg);
				left: calc(100% - 80px + 40px);
		}
}
@keyframes takeoff_fly_m {
		0% {
				-webkit-transform: translateY(0) rotate(-15deg);
				transform: translateY(0) rotate(-15deg);
				left: 0;
		}
		100% {
				-webkit-transform: translateY(-50%) rotate(-15deg);
				transform: translateY(-50%) rotate(-15deg);
				left: calc(100% - 80px + 40px);
		}
}
@-webkit-keyframes takeoff_fly_t_m {
		0% {
				left: -20px;
		}
		100% {
				left: calc(100% - 40px + 20px);
		}
}
@keyframes takeoff_fly_t_m {
		0% {
				left: -20px;
		}
		100% {
				left: calc(100% - 40px + 20px);
		}
}
/*------------------------------------------ 
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;
}
/*------------------------------------------ 
Badge
--------------------------------------------*/
.badge-new {
		padding: .25rem .5rem;
		color: #2c2c2c;
		background: linear-gradient(to bottom, #ffffff 0%, #8f8f8f 100%);
		font-size: 60%;
		border-radius: 0;
		position: relative;
		top: -5px;
		letter-spacing: normal;
}
/*------------------------------------------ 
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, .gift, .mileage, .offer, .life, .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;
}
.kv {
		background-image: url("../../../images/s1_bg.jpg");
}
.gift {
		background-image: url("../../../images/s2_bg.jpg");
		background-position: center center;
}
.mileage {
		background-image: url("../../../images/s3_bg_n.jpg?v2");
}
.offer {
		background-image: url("../../../images/s4_bg.jpg");
		background-position: center top;
}
.life {
		background-image: url("../../../images/s5_bg.jpg");
		background-size: 1920px auto;
}
.mtr {
		background-image: url("../../../images/block5a_bg.jpg");
}
.detail {
		background-image: url("../../../images/s6_bg.jpg");
		background-position: 40% -8vh;
}
.footer {
		height: 140px !important;
		min-height: 140px !important;
}
.section {
		overflow: hidden;
}
@media (min-width: 1920px) {
		/* Section Bg */
		.kv, .gift, .mileage, .offer, .life, .mtr, .detail {
				background-size: cover;
		}
		.offer {
				background-position: center center;
		}
		.detail {
				background-position: center bottom;
		}
		.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.mtr .fp-tableCell, .section.mtr, .section.detail .fp-tableCell, .section.detail {
				/*min-height: 960px !important;*/
		}
}
@media (min-width: 1024px) {
		.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.mtr, .section.mtr .fp-tableCell, .section.detail .section.detail .fp-tableCell, .section.detail {
				/*min-height: 768px !important;*/
		}
		.footer {
				height: 120px !important;
				min-height: 120px !important;
		}
}
@media (min-width: 992px) {
		.kv, .gift, .mileage, .offer, .life, .mtr, .detail {
				max-height: initial;
		}
		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;
}
/*------------------------------------------ 
Section 
--------------------------------------------*/
.section.kv .travel-card {
		width: 100%;
		max-width: 360px;
}
.section.kv .point-list img.icon {
		width: 1.75vw;
		max-width: 25px;
		height: auto;
		margin: 0 2rem;
		opacity: .75;
}
.section.kv .post {
		border: 1px solid var(--white);
		padding: .5rem .75rem;
}
.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 .travel-card {
		width: 33vw;
		max-width: 540px;
}
.section.mileage .icon-airplan {
		width: 6.5vw;
		max-width: 115px;
		height: auto;
		margin: 0 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-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: calc(100% - 2px);
		height: 100%;
		display: block;
		bottom: 0;
		background: #000;
}
.section.mileage .card-left::after {
		left: 0;
}
.section.mileage .card-left:not(.is-center)::before, .section.mileage .card-right::before, .section.mileage .card-left::before {
		content: '';
		position: absolute;
		height: calc(50%);
		max-height: 500px;
		width: 1px;
		display: block;
		top: 10%;
		bottom: 0;
		left: auto;
		right: 0;
		margin: auto;
		background: #000;
}
.section.mileage .card-left.is-center::before {
		display: none;
}
.section.mileage .card-right::before {
		left: 0;
		right: auto;
}
.section.mileage .card-right::after {
		right: 0;
}
.section.mileage.onchange .card-group {
		height: 100vh;
}
.section.mileage .card-group {
		height: 35vh;
}
.section.offer .point-block img.icon {
		width: 3vw;
		max-width: 55px;
		height: auto;
		margin-right: 1rem;
}
.section.offer .point-block .point-item {
		min-width: 380px;
}
.section.detail .travel-card {
		width: 28vw;
		max-width: 450px;
}
@media (min-width: 1600px) {
		.section.kv .point-list {
				padding-top: 3vh;
		}
		.section.offer .point-block img.icon {
				width: 4vw;
				max-width: 55px;
				margin-right: 1.5rem;
		}
}
/*------------------------------------------ 
Section Card 
--------------------------------------------*/
.section .card-item img.icon {
		width: 4vw;
		max-width: 90px;
		height: auto;
		margin: 0 auto;
}
.section .card-item .info {
		padding: 3.25rem .5rem;
		border-radius: 2rem;
		position: relative;
}
.section .card-item .info > * {
		position: relative;
		z-index: 2;
}
.section .card-item .info::after {
		content: '';
		width: 100%;
		height: 100%;
		display: block;
		border-style: solid;
		border-radius: 2rem;
		border-width: 3px;
		position: absolute;
		left: 0;
		top: 0;
}
.section .card-item .info h4 {
		min-height: 57px;
}
@media (min-width: 1600px) {
		.section .card-item .info h4 {
				min-height: 65px;
		}
		.section .card-item img.icon {
				width: 5vw;
				max-width: 65px;
				height: auto;
				margin: 0 auto;
		}
}
/*------------------------------------------ 
Btn More 
--------------------------------------------*/
.btn-more {
		min-width: 15vw;
		max-width: 210px;
		height: 40px;
		line-height: 1.5;
		border-radius: 0;
		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;
}
/*------------------------------------------ 
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;
}
/*------------------------------------------ 
MTR Card
--------------------------------------------*/
.mtr-block.has-slider .swiper-button-prev {
		left: 0;
}
.mtr-block.has-slider .swiper-button-next {
		right: 0;
}
.mtr-block.has-slider .swiper-pagination {
		bottom: 0;
}
.mtr-block.has-slider .swiper-button-prev, .mtr-block.has-slider .swiper-button-next {
		width: 30px;
		height: 30px;
		border-radius: 5rem;
		display: flex;
		justify-content: center;
		align-items: center;
}
.mtr-block.has-slider .swiper-pagination-bullet {
		width: 10px;
		height: 10px;
		margin: 0 5px !important;
		opacity: .65;
}
.mtr-block.has-slider .swiper-pagination-bullet-active {
		opacity: 1;
}
.swiper-button-prev:after, .swiper-button-next:after {
		content: '';
}
.mtr-block.has-slider {
		max-width: calc(100% - 6rem);
		margin: auto;
		padding: 0 1rem 2rem 1rem;
}
.mtr-card {
		max-width: 90%;
		margin: auto;
		border-radius: 2.5rem;
		text-align: center;
}
.mtr-card .card-head.photo img {
		max-width: 65%;
		width: 100%;
		height: auto;
		margin: auto;
		object-fit: contain;
}
.mtr-card.sp .card-head.photo img {
		max-width: 50%;
}
.mtr-card .card-head.photo {
		padding: 1.5rem 1rem 0 1rem;
		aspect-ratio: 1 / 1;
		max-height: 150px;
		display: flex;
		justify-content: center;
		align-items: center;
}
.mtr-card .card-body {
		padding: 0 .25rem .5rem .25rem;
}
.mtr-card .card-body .info {
		min-height: 75px;
}
@media (min-width: 1600px) {
		.mtr-card .card-head.photo img {
				max-width: 60%;
				margin: auto;
		}
		.mtr-card.sp .card-head.photo img {
				max-width: 50%;
				margin: auto;
		}
		.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-more.sp {
		position: relative;
}
.btn-more.sp span:last-child {
		position: absolute !important;
		display: inline-block;
		right: .5rem;
}
/*------------------------------------------ 
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;
}
/*------------------------------------------ 
RWD
--------------------------------------------*/
@media (min-width: 768px) {
		.nav-item.active {
				border-bottom: 2px solid rgb(255, 51, 51);
		}
}
@media (min-width: 1366px) {
		.max-width {
				max-width: 1620px !important;
		}
		.max-width-lg {
				max-width: 2560px !important;
		}
}
@media (min-width: 1600px) {
		.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;
		}
		.mtr-card .card-head.photo {
				padding: 1rem 1rem 0 1rem;
				min-height: 180px;
		}
		.section.kv .travel-card {
				width: 40vw;
				max-width: 480px;
		}
}
@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;
		}
}
@media (min-width: 1200px) {
		.has-top {
				padding-top: 5rem;
		}
}
@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;
		}
		.goto-block {
				right: 0;
				bottom: 2em;
				width: 15vw;
				max-width: inherit;
		}
		.goto-block1 {
				right: 0;
				bottom: 11em;
				width: 15vw;
				max-width: inherit;
		}
		.mtr-card .card-head.photo {
				padding-top: 1.125rem;
				padding-bottom: 0;
		}
		.mtr-card .card-body {
				padding-bottom: 1.5rem;
		}
		.mtr-card {
				max-width: 90%;
				margin: auto;
				border-radius: 2.125rem;
				text-align: center;
		}
		.mtr-block.has-slider {
				padding: 0 1rem 2rem 1rem;
				max-width: calc(100% - 2rem);
		}
		.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;
		}
		footer.position-absolute {
				position: relative !important;
		}
}
@media (max-width: 1024px) {
		.mtr-card .card-body .info {
				min-height: 65px;
		}
		.section.gift .travel-card {
				width: 35vw;
				max-width: inherit;
		}
		.section.kv .point-list img.icon {
				width: 1.5vw;
				max-width: 20px;
				margin: 0 1rem;
		}
		.section.mileage .icon-airplan {
				width: 8vw;
				max-width: inherit;
		}
		.section .card-item .info::after {
				border-radius: 1.5rem;
		}
		.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: .5em;
				z-index: 5;
		}
}
@media (max-width: 991.98px) and (orientation:landscape) {
		.section.mileage.onchange .card-group {
				height: 100vh;
		}
		.section, .section-in {
				min-height: 600px;
		}
		.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: 991px) {
		.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;
		}
		.section.mtr .container.has-top {
				padding-top: 3rem;
				padding-bottom: 0;
		}
		.section.mtr .container {
				padding-bottom: 2rem;
		}
		.section.mileage .icon-airplan {
				width: 15vw;
		}
		.section.mileage.onchange .icon-airplan {
				width: 10vw;
		}
		.fullpage-wrapper {
				overflow: auto;
		}
		.section.mileage.onchange .card-group {
				height: 80vh;
		}
		.section.mileage .card-group {
				height: 30vh;
		}
		.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;
		}
		.life {
				background-size: cover;
		}
		.section.detail .info {
				max-width: 90%;
				margin: 2rem 0;
				text-align: center;
		}
		.section.mileage .card-right, .section.mileage .card-left {
				max-height: inherit;
		}
		.mtr-card .card-body .info {
				min-height: 65px;
		}
		.fp-responsive .section.mileage.fp-auto-height-responsive.fp-section, .fp-responsive .section.mileage.fp-auto-height-responsive.fp-section .fp-tableCell {
				height: 600px !important;
		}
		.section.mileage .card-left:not(.is-center)::before, .section.mileage .card-right::before, .section.mileage .card-left::before {
				max-height: 300px;
		}
}
@media (max-width: 767.98px) and (orientation:landscape) {
		.section.kv .point-list img.icon {
				width: 1.5vw;
				max-width: inherit;
				margin: 0 0.75rem;
		}
		.section {
				min-height: 460px;
		}
		.section.kv .travel-card {
				width: 40vw;
		}
		.section.gift {
				min-height: 640px;
		}
		.section.mileage.onchange, .section.mileage.onchange > .fp-tableCell {
				min-height: 1100px !important;
				height: auto;
		}
		.section.mileage .card-right::before {
				display: none;
		}
		.section.mileage.onchange .card-group {
				height: 100%;
		}
		.section.mileage .card-group {
				height: 45vh;
		}
		.section.life {
				border-top-width: 5px;
				border-top-style: solid;
				min-height: 460px;
		}
		.mtr-block.has-slider {
				max-width: calc(100%);
		}
		.footer {
				height: auto !important;
				min-height: inherit !important;
		}
		.goto-block {
				bottom: 1em;
		}
		header .navbar-brand {
				width: 210px;
		}
		.section.gift .travel-card {
				width: 30vw;
				max-width: inherit;
		}
		.section.mileage.onchange .card-group {
				height: 100%;
		}
}
@media (max-width: 767.98px) {
		.section.mileage .card-left:not(.is-center)::before, .section.mileage .card-right::before, .section.mileage .card-left::before, .section.mileage .card-right::before {
				display: none !important;
		}
		.section.detail .info {
				max-width: 70%;
		}
}
@media (max-width: 599.98px) and (orientation:landscape) {
		.navbar .offcanvas {
				max-width: 60%;
		}
		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 .icon-airplan {
				width: 14vw;
		}
		.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: 2vw;
				max-width: inherit;
				margin: 0 0.5rem;
		}
		.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: 7vw;
				margin: 0 auto;
		}
		.section .card-item .info {
				margin-bottom: 1rem;
		}
		.section .card-item img.icon {
				width: 10vw;
				max-width: inherit;
		}
		.section.offer .point-block .point-item {
				min-width: inherit;
				text-align: center;
		}
		.section.kv .point-list > ul > li {
				padding: .25rem 0;
				text-align: center;
		}
		.section.kv .point-list img.icon {
				margin: 0 .25rem;
		}
		.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;
		}
		.section.life {
				border-top-width: 5px;
				border-top-style: solid;
		}
		.section.offer .card-item:last-child {
				-webkit-box-flex: 0;
				-ms-flex: 0 0 auto;
				flex: 0 0 auto;
				width: 100%;
		}
		.section.life .card-item:last-child {
				-webkit-box-flex: 0;
				-ms-flex: 0 0 auto;
				flex: 0 0 auto;
				width: 100%;
		}
		br.d-xs-block {
				display: block !important;
		}
		.mtr-card {
				max-width: 90%;
				border-radius: 2rem;
		}
		.mtr-note .card-body {
				padding: 2rem 1.25rem;
		}
		.modal-detail.modal-mtr .modal-header {
				padding: 2rem 2rem;
		}
}
@media (max-width: 575.98px) and (orientation:portrait) {
		.section.detail .info {
				max-width: 90%;
		}
		.section.mileage .card-left::before {
				display: none;
		}
		.section.mileage.onchange .icon-airplan {
				width: 70px;
		}
		.section.mileage.onchange .card-group {
				height: auto;
				padding-top: 1rem;
				padding-bottom: 2rem;
		}
		.section.mileage.onchange .card-right {
				margin-top: 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;
		}
		.section.mileage .icon-airplan {
				width: 18vw;
		}
		.section.mileage .main-item {
				margin: 6rem auto 3rem auto;
		}
		.section.mileage .fp-tableCell {
				vertical-align: top !important;
		}
		.modal-detail.modal-mtr .modal-header {
				padding: 1rem 2rem;
		}
		.mtr-note {
				max-width: 100%;
				padding: 1rem;
		}
		.mtr-note .card-body {
				padding: 1.5rem 1rem;
		}
		.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: 60vw;
				max-width: inherit;
		}
		.section.kv .point-list img.icon {
				width: 2.5vw;
				max-width: inherit;
				margin: 0 0.5rem;
		}
		.section.kv .point-list.half > ul {
				display: -webkit-box !important;
				display: -ms-flexbox !important;
				display: flex !important;
				-ms-flex-wrap: wrap;
				flex-wrap: wrap;
				-webkit-box-pack: center;
				-ms-flex-pack: center;
				justify-content: center;
		}
		.section.kv .point-list.half > ul > li {
				padding: .125rem 0;
		}
		.section.kv .point-list.half > ul > li:first-child, .section.kv .point-list.half > ul > li:nth-child(5) {}
		.section.kv .point-list.half > ul > li:nth-child(3), .section.kv .point-list.half > ul > li:nth-child(7) {
				padding-left: 1rem;
		}
		.section.kv .point-list.half > ul > li:first-child, .section.kv .point-list.half > ul > li:nth-child(3), .section.kv .point-list.half > ul > li:nth-child(5), .section.kv .point-list.half > ul > li:nth-child(7) {
				-webkit-box-flex: 0;
				-ms-flex: 0 0 auto;
				flex: 0 0 auto;
				width: 47%;
		}
		.section.kv .point-list.half > ul > li:nth-child(4) {
				display: inline-block;
		}
		/*** one column mode **/
		.section.kv .point-list:not(.half) > ul:first-child {
				margin-bottom: 0;
		}
		.section.kv .point-list:not(.half) > ul {
				-webkit-box-orient: vertical;
				-webkit-box-direction: normal;
				-ms-flex-direction: column;
				flex-direction: column;
				text-align: center;
		}
		.section.kv .point-list:not(.half) > ul > li {
				padding: .125rem 0;
				position: relative;
		}
		.section.kv .point-list:not(.half) > ul > li:nth-child(3), .section.kv .point-list:not(.half) > ul > li:nth-child(7) {
				padding-left: 0;
		}
		.section.kv .point-list:not(.half) > ul > li::after {
				content: '';
				display: inline-block;
				position: absolute;
				width: 16px;
				height: 16px;
				left: -16px;
				top: 0;
				bottom: 0;
				margin: auto;
				background-image: url("../../../images/icon/icon-00.svg");
				background-repeat: no-repeat;
				background-size: contain;
		}
		.section.kv .point-list:not(.half) > ul > li:first-child, .section.kv .point-list:not(.half) > ul > li:nth-child(3), .section.kv .point-list:not(.half) > ul > li:nth-child(5), .section.kv .point-list:not(.half) > ul > li:nth-child(7) {
				-webkit-box-flex: 0;
				-ms-flex: 0 0 auto;
				flex: 0 0 auto;
				width: auto;
				padding-left: 0;
		}
		.section.kv .point-list:not(.half) > ul > li br {
				display: none !important;
		}
		.section.kv .point-list:not(.half) > ul:last-child > li:nth-child(1), .section.kv .point-list:not(.half) > ul:last-child > li:nth-child(2), .section.kv .point-list:not(.half) > ul:last-child > li:nth-child(3), .section.kv .point-list:not(.half) > ul:last-child > li:nth-child(4), .section.kv .point-list:not(.half) > ul:last-child > li:nth-child(5), .section.kv .point-list:not(.half) > ul:last-child > li:nth-child(6), .section.kv .point-list:not(.half) > ul:last-child > li:nth-child(7), .section.kv .point-list:not(.half) > ul:last-child > li:nth-child(1)::after, .section.kv .point-list:not(.half) > ul:last-child > li:nth-child(2)::after, .section.kv .point-list:not(.half) > ul:last-child > li:nth-child(3)::after, .section.kv .point-list:not(.half) > ul:last-child > li:nth-child(4)::after, .section.kv .point-list:not(.half) > ul:last-child > li:nth-child(5)::after, .section.kv .point-list:not(.half) > ul:last-child > li:nth-child(6)::after, .section.kv .point-list:not(.half) > ul:last-child > li:nth-child(7)::after, .section.kv .point-list:not(.half) > ul > li:nth-child(2n)::after, .section.kv .point-list:not(.half) > ul > li:nth-child(2n) {
				display: none !important;
		}
		.section.kv .point-list img.icon {
				margin: 0 .25rem;
		}
		.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 .card-item .info {
				margin-bottom: 1rem;
		}
		.section .card-item img.icon {
				width: 12vw;
				max-width: inherit;
		}
		.section.offer .point-block .point-item {
				min-width: inherit;
				text-align: center;
		}
		.offer {
				background-position: 70% top;
		}
		.detail {
				background-position: 35% -15vh;
		}
		.kv {
				background-position: 36% top;
		}
		.btn-more {
				min-width: 40vw;
				max-width: inherit;
		}
		.section.detail .travel-card {
				width: 50vw;
		}
		.section.gift .travel-card {
				width: 50vw;
				max-width: inherit;
		}
		.section.life {
				border-top-width: 5px;
				border-top-style: solid;
		}
		.section.offer .card-item:last-child {
				-webkit-box-flex: 0;
				-ms-flex: 0 0 auto;
				flex: 0 0 auto;
				width: 100%;
		}
		.goto-block {
				bottom: 4em;
				width: 25vw;
		}
		.goto-block1 {
				bottom: 11em;
				width: 25vw;
		}
		.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: 86%;
				border-radius: 2rem;
		}
		.mtr-block.has-slider {
				max-width: calc(100% - 4rem);
				padding: 0 .5rem 2rem .5rem;
		}
		.modal-mtr .modal-header .btn-close {
				width: 1.5em;
				height: 1.5em;
				top: .5em;
				right: .5em;
		}
}
@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;
		}
		.section.kv .point-list img.icon {
				margin: 0 0 0 .125rem;
		}
		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;
		}
		.goto-block1 {
				bottom: 5.5em;
				width: 20vw;
		}
		.mtr-card {
				max-width: 98%;
				border-radius: 1.5rem;
		}
		.mtr-block.has-slider {
				max-width: calc(100% - 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;
		}
}