:root {
	--color-black: #333;
	--color-orange: #ff9600;
	--color-teal: #00bebc;
	--color-white: #fff;
	--color-red: #f00;
}
.p-feature + .p-feature {
		margin-top: 42px;
	}
.p-balloonAnchor {
	display: flex;
	gap: 6px;
	margin-bottom: 24px;
}
.p-balloonAnchor_item {
		flex: 1;
	}
.p-balloonAnchor_itemLink {
		color: #65b833;
		text-decoration: none;
		font-weight: bold;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 30px;
		border: 1px solid #65b833;
		position: relative;
		transition: all 0.3s;
	}
.p-balloonAnchor_itemLink::after {
			content: '';
			display: block;
			width: 24px;
			height: 24px;
			background-color: #65b833;
			mask-image: url('/world_wifi/img/icn_arrow_next.svg');
			mask-repeat: no-repeat;
			mask-size: 24px;
			transform: rotate(90deg);
			position: absolute;
			top: calc(50% - 12px);
			right: 0;
		}
.p-balloonAnchor_itemLink.-current {
			background-color: #65b833;
			color: #fff;
			color: var(--color-white);
		}
.p-balloonAnchor_itemLink.-current::after {
				display: none;
			}
.p-balloonAnchor_itemLink.-current::before {
				content: '';
				display: block;
				width: 0;
				height: 0;
				border-style: solid;
				border-right: 9px solid transparent;
				border-left: 9px solid transparent;
				border-top: 12px solid #65b833;
				border-bottom: 0;
				position: absolute;
				bottom: -12px;
				left: calc(50% - 9px);
			}
.-cost_korea .p-balloonAnchor_itemLink.-cost_hawaii::after,
				.-cost_taiwan .p-balloonAnchor_itemLink.-cost_hawaii::after {
					transform: rotate(-90deg);
				}
.-cost_taiwan .p-balloonAnchor_itemLink.-cost_korea::after {
					transform: rotate(-90deg);
				}
.p-iconHeading {
	font-size: 22px;
	color: #555;
	line-height: 1.3;
	font-weight: bold;
	text-align: center;
	margin-bottom: 6px;
}
.p-iconHeading_icon {
		position: relative;
		padding-left: 39px;
	}
.p-iconHeading_icon::before {
			content: '';
			display: block;
			width: 33px;
			height: 22px;
			background: no-repeat center / cover url('/world_wifi/img/flag_hawaii.jpg');
			position: absolute;
			top: 0.15em;
			left: 0;
		}
.-cost_korea .p-iconHeading_icon::before {
				background-image: url('/world_wifi/img/flag_korea.jpg');
			}
.-cost_taiwan .p-iconHeading_icon::before {
				background-image: url('/world_wifi/img/flag_taiwan.jpg');
			}
.p-tab_nav {
		display: flex;
		gap: 12px;
		border-bottom: 4px solid #65b833;
		margin-bottom: 12px;
	}
.p-tab_navItem {
		flex: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		line-height: 1.3;
		height: 42px;
		background-color: #ccc;
		color: #fff;
		color: var(--color-white);
		font-weight: bold;
		font-size: 16px;
		cursor: pointer;
		transition: all 0.3s;
	}
.p-tab_navItem.is-current {
			background-color: #65b833;
		}
.p-tab_navIcon {
		font-size: 10px;
		background-color: #fff;
		background-color: var(--color-white);
		color: #ccc;
		height: 18px;
		line-height: 18px;
		padding-left: 6px;
		padding-right: 6px;
		border-radius: 8px;
		display: flex;
		align-items: center;
		justify-content: center;
		margin-right: 6px;
	}
.is-current .p-tab_navIcon {
			color: #65b833;
		}
.p-tab_container {
		padding-left: 4.2667%;
		padding-right: 4.2667%;
		overflow: hidden;
	}
.p-feeCard {
	line-height: 1.3;
}
.p-feeCard_itemLink {
		border: 2px solid #ccc;
		padding: 18px;
		border-radius: 18px;
		display: flex;
		flex-direction: column;
		gap: 12px;
		text-align: center;
		color: #333;
		color: var(--color-black);
		text-decoration: none;
		transition: all 0.3s;
		height: 100%;
		position: relative;
	}
.-HIS .p-feeCard_itemLink::before {
				content: '特別\A割引';
				white-space: pre;
				font-weight: bold;
				display: flex;
				align-items: center;
				justify-content: center;
				font-size: 14px;
				background-color: #ff5050;
				color: #fff;
				color: var(--color-white);
				width: 60px;
				height: 60px;
				border-radius: 30px;
				position: absolute;
				top: 14px;
				left: 18px;
			}
.p-feeCard_heading {
		font-weight: bold;
		font-size: 20px;
		margin-bottom: 6px;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		height: 54px;
	}
.p-feeCard_heading::after {
			content: '';
			display: block;
			width: 30px;
			height: 30px;
			background-color: #ff9600;
			background-color: var(--color-orange);
			mask-image: url('/world_wifi/img/icn_arrow_next.svg');
			mask-repeat: no-repeat;
			mask-size: 30px;
			position: absolute;
			top: calc(50% - 15px);
			right: -8px;
		}
.p-feeCard_ribbon {
		background-color: #ff9600;
		background-color: var(--color-orange);
		color: #fff;
		color: var(--color-white);
		height: 28px;
		line-height: 28px;
		font-weight: bold;
	}
.p-feeCard_amount {
		font-weight: bold;
		color: #f00;
		color: var(--color-red);
	}
.p-feeCard_amountLarge {
		font-size: 30px;
	}
.p-feeCard_tagline {
		font-weight: bold;
	}
.p-feeCard_wrapper .swiper-pagination-bullets {
			text-align: center;
			margin-top: 12px;
		}
.p-feeCard_wrapper .swiper-pagination-bullets .swiper-pagination-bullet {
				margin-right: 3px;
				padding-left: 3px;
				width: 9px;
				height: 9px;
				background-color: #ccc;
				opacity: 1;
			}
.p-feeCard_wrapper .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
					background-color: #777;
				}
.p-table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 12px;
}
.p-table_row:nth-child(2n) {
			background-color: #eee;
		}
.p-table_heading,
	.p-table_body {
		padding: 6px;
	}
.p-table_heading {
		text-align: left;
	}
.p-table_body {
		text-align: right;
	}
.u-color-white {
		color: #fff;
		color: var(--color-white);
	}
.u-color-black {
		color: #ff9600;
		color: var(--color-orange);
	}
.u-color-orange {
		color: #ff9600;
		color: var(--color-orange);
	}
.u-color-teal {
		color: #00bebc;
		color: var(--color-teal);
	}
.u-color-red {
		color: #f00;
		color: var(--color-red);
	}
.u-note {
	font-size: 12px;
	color: #555;
	font-weight: normal;
}
.u-responsiveImg {
		width: 100%;
		height: auto;
	}
@media screen and (min-width: 768px) {
.p-feature + .p-feature {
			margin-top: 72px
	}
.p-balloonAnchor {
		margin-bottom: 36px;
		gap: 18px
}
.p-balloonAnchor_itemLink {
			height: 54px;
			font-size: 24px
	}
.p-balloonAnchor_itemLink::after {
				width: 30px;
				height: 30px;
				mask-size: 30px;
				top: calc(50% - 15px);
				right: 6px
		}
.p-balloonAnchor_itemLink:hover {
				opacity: 0.7
		}
.p-balloonAnchor_itemLink.-current::before {
					border-right-width: 12px;
					border-left-width: 12px;
					border-top-width: 15px;
					bottom: -15px;
					left: calc(50% - 12px)
			}
.p-balloonAnchor_itemLink.-current:hover {
				opacity: 1;
				cursor: default
		}
.p-iconHeading {
		font-size: 28px;
		margin-bottom: 30px
}
.p-iconHeading_icon {
			padding-left: 48px
	}
.p-iconHeading_icon::before {
				width: 42px;
				height: 28px
		}
.p-tab_nav {
			margin-bottom: 30px
	}
.p-tab_navItem {
			height: 48px;
			font-size: 20px
	}

			.p-tab_navItem:hover {
				opacity: 0.7;
			}
				.p-tab_navItem.is-current:hover {
					opacity: 1;
					cursor: default;
				}
.p-tab_navIcon {
			height: 24px;
			font-size: 12px;
			line-height: 24px;
			border-radius: 12px;
			margin-right: 12px
	}
.p-tab_container {
			overflow: visible
	}
.p-feeCard {
		display: flex;
		gap: 12px
}
.p-feeCard_item {
			width: calc(25% - 9px);
			height: auto
	}
			.p-feeCard_itemLink:hover {
				opacity: 0.7;
			}
.-HIS .p-feeCard_itemLink::before {
					top: -18px;
					left: -18px
			}
.p-feeCard_heading {
			height: 54px
	}
.p-feeCard_heading::after {
				right: -18px
		}
.p-table {
		font-size: 10px
}
.u-only-mobile {
				display: none
		}
}
@media screen and (min-width: 992px) {
.p-tab_container {
			max-width: 992px;
			padding-left: 0;
			padding-right: 0;
			margin-right: auto;
			margin-left: auto
	}
.p-table {
		font-size: 12px
}
.u-only-tablet {
				display: none
		}
.u-lower-tablet {
				display: none
		}
}
@media screen and (max-width: 991px) {
.u-only-desktop {
				display: none
		}
}
@media screen and (max-width: 767px) {
.u-only-tablet {
				display: none
		}
.u-upper-tablet {
				display: none
		}
}
