:root {
	--color-black: #333;
	--color-orange: #ff9600;
	--color-teal: #00bebc;
	--color-white: #fff;
	--color-red: #f00;
}
.p-article_lead {
		text-align: center;
	}
.p-h2 {
	padding-top: 18px;
	padding-bottom: 18px;
	background-color: #152655;
	text-align: center;
	margin-bottom: 18px;
}
.p-h2_container {
		font-weight: bold;
		color: #fff;
		color: var(--color-white);
		font-size: 26px;
		line-height: 1.3;
		display: inline-flex;
		flex-direction: column;
		position: relative;
	}
.p-h2_container::before {
			content: "";
			width: 54px;
			height: 54px;
			background: url("/online_english/img/icn_ttl_03.png") no-repeat center / 54px auto;
			position: absolute;
			left: -66px;
			top: calc(50% - 27px);
		}
.p-h2_subheading {
		font-size: 16px;
	}
.p-section + .p-section {
		margin-top: 42px;
	}
.p-section_lead {
		text-align: center;
	}
.p-rankingAnchor {
	display: flex;
	gap: 6px;
	border-color: #ddd;
	border-style: solid;
	border-width: 2px 0;
	padding-top: 6px;
	padding-bottom: 6px;
	margin-bottom: 30px;
}
.-ranking-business .p-rankingAnchor {
		margin-top: 18px;
	}
.p-rankingAnchor_item {
		flex: 1;
		position: relative;
	}
.p-rankingAnchor_itemLink {
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		background-color: #f4f4f4;
		color: #787878;
		font-weight: bold;
		text-decoration: none;
		position: relative;
		padding-top: 6px;
		padding-bottom: 18px;
		font-size: 12px;
		transition: all 0.3s;
	}
.p-rankingAnchor_itemLink::after {
			content: '';
			display: block;
			width: 12px;
			height: 12px;
			mask-image: url('/common/img/icon/icon_arrow_bottom.svg');
			mask-repeat: no-repeat;
			mask-size: 12px;
			background-color: #787878;
			position: absolute;
			bottom: 3px;
			left: calc(50% - 6px);
		}
.p-rankingAnchor_itemLink.-current {
			background-color: #d2f5fd;
			color: #152655;
		}
.p-rankingAnchor_itemLink.-current::after {
				display: none;
			}
.p-rankingAnchor_itemLink.-current:hover {
				color: #152655;
			}
.-ranking-children .p-rankingAnchor_itemLink.-business::after,
				.-ranking-beginner .p-rankingAnchor_itemLink.-business::after {
					transform: rotate(180deg);
				}
.-ranking-beginner .p-rankingAnchor_itemLink.-children::after {
					transform: rotate(180deg);
				}
.p-h3 {
	text-align: center;
	position: relative;
	margin-bottom: 24px;
}
.p-h3::before {
		content: "";
		width: 100%;
		height: 4px;
		background-color: #152655;
		position: absolute;
		top: calc(50% - 2px);
		left: 0;
	}
.p-h3_container {
		font-size: 21px;
		line-height: 1.3;
		font-weight: bold;
		color: #152655;
		display: inline-block;
		background-color: #fff;
		background-color: var(--color-white);
		position: relative;
		padding-left: 42px;
		padding-right: 12px;
		max-width: 91.4667%;
	}
.p-h3_container::after {
			content: '';
			display: block;
			width: 30px;
			height: 30px;
			mask-image: url('/online_english/img/icn_trophy.svg');
			mask-repeat: no-repeat;
			mask-size: 30px;
			background-color: #152655;
			position: absolute;
			top: calc(50% - 15px);
			left: 6px;
		}
.p-rankingTab_triggers {
		display: flex;
		gap: 6px;
		margin-top: 18px;
	}
.p-rankingTab_trigger {
		flex: 1;
		background-color: #71d2e9;
		color: #fff;
		color: var(--color-white);
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		padding: 6px 12px;
		font-weight: bold;
		position: relative;
		cursor: pointer;
		transition: all 0.3s;
		min-height: 42px;
		line-height: 1.3;
	}
.p-rankingTab_trigger.is-active {
			background-color: #152655;
		}
.p-rankingTab_trigger.is-active::before {
				content: '';
				display: block;
				width: 0;
				height: 0;
				border-style: solid;
				border-right: 12px solid transparent;
				border-left: 12px solid transparent;
				border-top: 12px solid #152655;
				border-bottom: 0;
				position: absolute;
				bottom: -12px;
				left: calc(50% - 12px);
			}
.p-rankingTab_containers {
		background-color: #eaedf5;
		padding: 24px 10px 12px;
	}
.p-rankingCard_item {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}
.p-rankingCard_item[aria-hidden='true'] {
			display: none;
		}
.p-rankingCard_heading {
		font-size: 24px;
		font-weight: bold;
		color: #152655;
		position: relative;
		padding-left: 42px;
		padding-right: 18px;
		line-height: 1.25;
	}
.p-rankingCard_heading::before {
			content: '1';
			display: flex;
			align-items: flex-end;
			justify-content: center;
			line-height: 1.6;
			width: 36px;
			height: 36px;
			mask-image: url('/online_english/img/icn_crown.svg');
			mask-repeat: no-repeat;
			mask-size: 36px;
			background-color: #fdc70c;
			position: absolute;
			top: calc(50% - 24px);
			left: 0;
			text-align: center;
			font-size: 15px;
		}
.p-rankingCard_heading::after {
			content: '';
			display: block;
			width: 18px;
			height: 18px;
			mask-image: url('/common/img/icon/icon_arrow_right.svg');
			mask-repeat: no-repeat;
			mask-size: 18px;
			background-color: #01a7d1;
			position: absolute;
			bottom: calc(50% - 9px);
			right: 0;
		}
.p-rankingCard_subheading {
		font-weight: normal;
		font-size: 14px;
		line-height: 1.5;
	}
.p-rankingCard_itemLink {
		display: flex;
		flex-direction: column;
		gap: 12px;
		border-color: #152655;
		border-style: solid;
		border-width: 4px 0 1px;
		color: #333;
		color: var(--color-black);
		text-decoration: none;
		padding: 18px 10px 12px;
		background-color: #fff;
		background-color: var(--color-white);
		transition: all 0.3s;
	}
.p-rankingCard_itemLink:nth-child(2) .p-rankingCard_heading::before {
					background-color: #cddbdd;
					content: '2';
				}
.p-rankingCard_itemLink:nth-child(3) .p-rankingCard_heading::before {
					background-color: #e4c69f;
					content: '3';
				}
.p-rankingCard_itemLink:nth-child(4) .p-rankingCard_heading::before {
					background-color: #e3e3e3;
					content: '4';
				}
.p-rankingCard_figure {
		border: 1px solid #ddd;
	}
.p-rankingCard_tagline {
		font-size: 15px;
		font-weight: bold;
	}
.p-rankingCard_body {
		border-bottom: 1px dashed #ccc;
		padding-bottom: 12px;
	}
.p-rankingCard_priceButton {
		display: flex;
		align-items: center;
		gap: 9px;
		line-height: 1.3;
		height: 66px;
	}
.p-rankingCard_priceLabel {
		background-color: #f00;
		background-color: var(--color-red);
		color: #fff;
		color: var(--color-white);
		width: 48px;
		height: 48px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: bold;
	}
.p-rankingCard_priceContainer {
		flex: 1;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
.p-rankingCard_course {
		font-size: 13px;
	}
.p-rankingCard_note {
		font-size: 11px;
	}
.p-rankingCard_price {
		font-size: 13px;
		font-weight: bold;
		color: #f00;
		color: var(--color-red);
	}
.p-rankingCard_smallerText {
		font-size: 13px;
	}
.p-rankingCard_biggerText {
		font-size: 22px;
	}
.p-attentions {
	margin-top: 18px;
	font-size: 12px;
}
.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: 767px) {
.p-h2 {
		margin-bottom: 24px
}
.p-h2_container {
			font-size: 36px;
			line-height: 1.7
	}
.p-h2_subheading {
			font-size: 21px;
			line-height: 1.3
	}
.p-rankingAnchor {
		border-width: 0 2px;
		padding: 0 12px;
		gap: 26px;
		max-width: 91.4667%;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 54px
}
.-ranking-business .p-rankingAnchor {
			margin-top: 24px
	}
				.p-rankingAnchor_item + .p-rankingAnchor_item::after {
					content: "";
					display: block;
					width: 2px;
					height: 100%;
					background-color: #ddd;
					position: absolute;
					top: 0;
					left: -14px;
				}
.p-rankingAnchor_itemLink {
			font-size: 15px;
			padding-bottom: 6px;
			min-height: 48px
	}

			.p-rankingAnchor_itemLink:hover {
				color: #0199c0;
				background-color: #d2f5fd;
			}
.p-rankingAnchor_itemLink::after {
				width: 15px;
				height: 15px;
				mask-size: 15px;
				bottom: calc(50% - 7.5px);
				left: unset;
				right: 12px
		}
.p-h3 {
		margin-bottom: 36px
}
.p-h3_container {
			font-size: 36px;
			padding-left: 66px;
			padding-right: 18px
	}
.p-h3_container::after {
				width: 48px;
				height: 48px;
				mask-size: 48px;
				top: calc(50% - 30px);
				left: 12px
		}
.p-rankingTab_triggers {
			gap: 12px
	}
.p-rankingTab_trigger {
			padding: 18px;
			font-size: 15px
	}

			.p-rankingTab_trigger:hover {
				background-color: #152655;
			}
.p-rankingTab_containers {
			padding-top: 30px
	}
.p-rankingCard_item {
			flex-flow: row wrap
	}
.p-rankingCard_heading {
			padding-left: 36px;
			font-size: 15px;
			display: flex;
			flex-direction: column;
			justify-content: center;
			min-height: 48px
	}
.p-rankingCard_heading::before {
				width: 30px;
				height: 30px;
				mask-size: 30px;
				top: calc(50% - 21px);
				line-height: 1.4
		}
.p-rankingCard_itemLink {
			width: calc(50% - 6px)
	}

			.p-rankingCard_itemLink:hover {
				opacity: 0.7;
			}
.p-rankingCard_body {
			margin-top: auto
	}
.p-rankingCard_biggerText {
			font-size: 21px
	}
.u-only-mobile {
				display: none
		}
}
@media screen and (min-width: 991px) {
.p-rankingAnchor {
		max-width: 992px
}
.p-h3_container {
			max-width: 992px
	}
.p-rankingCard_heading {
			font-size: 18px;
			min-height: 60px
	}
.p-rankingCard_itemLink {
			width: calc(25% - 9px)
	}
.u-only-tablet {
				display: none
		}
.u-lower-tablet {
				display: none
		}
}
@media screen and (max-width: 990px) {
.u-only-desktop {
				display: none
		}
}
@media screen and (max-width: 766px) {
.u-only-tablet {
				display: none
		}
.u-upper-tablet {
				display: none
		}
}
