@charset "UTF-8";
:root {
		--color-theme-wifi7-main: #7A63B0;
		--color-theme-wifi7-sub: #8B6EC5;
		--color-ui-primary: #d9161B;
		--color-ui-member: #F5D200;
		--color-ui-jcom: #E93817;
}

.loader {
		width: 40px;
		height: 40px;
		margin: auto;
		border-radius: 50%;
		position: relative;
		background: conic-gradient(from 0deg, #43a5e3, #3a6ff7, #7d4aff, #33e0c4, #43a5e3);
		animation: spin 0.4s linear infinite;
		mask: radial-gradient(circle at center, transparent 60%, black 61%);
		-webkit-mask: radial-gradient(circle at center, transparent 60%, black 61%);
		box-shadow: inset 0 0 6px rgba(255, 255, 255, 0.25), 0 0 12px rgba(0, 255, 200, 0.3);
		filter: brightness(1.1) contrast(1.05) saturate(1.2);
}

.loader::before {
		content: "";
		position: absolute;
		inset: 0;
		border-radius: 50%;
		background: linear-gradient(180deg, rgba(255, 255, 255, 0.3), transparent 70%);
		mask: radial-gradient(circle at center, transparent 55%, black 56%);
		-webkit-mask: radial-gradient(circle at center, transparent 55%, black 56%);
}

@keyframes spin {
		to {
				transform: rotate(360deg);
		}
}
#main sup {
		font-size: clamp(11px, 0.6em, 16px);
		font-weight: normal;
}

.show-tablet {
		display: none;
}
@media screen and (min-width: 768px) and (max-width: 1119px) {
		.show-tablet {
				display: block;
		}
}

.show-sp-tablet {
		display: none;
}
@media screen and (max-width: 1119px) {
		.show-sp-tablet {
				display: block;
		}
}

.text-kerning {
		font-feature-settings: "palt" 1;
}

.text-italic {
		font-style: italic;
}

.text-upper.text-upper-custom::before, .text-upper.text-upper-custom::after {
		top: 2px;
		height: 80%;
		border-color: currentColor;
		border-width: 2px;
}
.text-upper.text-upper-custom::before {
		transform: rotate(-24deg);
}
.text-upper.text-upper-custom::after {
		transform: rotate(24deg);
}

.color-black {
		color: #333 !important;
}

.list-note.star > li::before {
		content: "★" !important;
}

.mx-auto {
		margin-inline: auto !important;
}

.link-pdf-black.link-inline {
		display: inline;
}
.link-pdf-black.link-inline::after {
		position: relative;
		vertical-align: middle;
		margin-left: 6px;
}

.bd-radius-48 {
		border-radius: 48px;
}

[class*=content-] {
		margin: auto;
}

.content-1120 {
		max-width: 1120px;
}

.content-920 {
		max-width: 920px;
}

.content-768 {
		max-width: 768px;
}

.content-736 {
		max-width: 736px;
}

.content-680 {
		max-width: 680px;
}

.content-fit {
		width: -moz-fit-content;
		width: fit-content;
}

.cv [class*=cv-btn-] {
		transition: 0.24s;
		position: relative;
		text-align: center;
		max-width: 390px;
		border-radius: 999px;
}
@media screen and (max-width: 767px) {
		.cv [class*=cv-btn-] {
				border-radius: 12px;
		}
}
.cv [class*=cv-btn-] a {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		line-height: 1.4;
		min-height: 64px;
}
@media screen and (max-width: 767px) {
		.cv [class*=cv-btn-] a {
				min-height: 84px;
		}
}
.cv [class*=cv-btn-] + [class*=cv-btn-] {
		margin-top: 12px;
}
.cv .cv-btn-primary,
.cv .cv-btn-member {
		font-size: 18px;
		font-weight: 700;
		background: var(--color-ui-primary);
}
@media screen and (min-width: 768px) and (max-width: 1119px) {
		.cv .cv-btn-primary,
		.cv .cv-btn-member {
				font-size: calc(0.5698005698vw + 11.6239316239px);
		}
}
@media screen and (max-width: 767px) {
		.cv .cv-btn-primary,
		.cv .cv-btn-member {
				min-height: 112px;
		}
}
@media screen and (max-width: 767px) {
		.cv .cv-btn-primary .fs-lg,
		.cv .cv-btn-member .fs-lg {
				font-size: 18px;
		}
}
.cv .cv-btn-primary .fs-sm,
.cv .cv-btn-member .fs-sm {
		display: block;
		font-size: 14px;
		font-weight: 500;
		margin-bottom: 2px;
}
@media screen and (max-width: 767px) {
		.cv .cv-btn-primary .fs-sm,
		.cv .cv-btn-member .fs-sm {
				font-size: 12px;
		}
}
.cv .cv-btn-primary a,
.cv .cv-btn-member a {
		color: #fff;
		min-height: 68px;
}
@media screen and (max-width: 767px) {
		.cv .cv-btn-primary a,
		.cv .cv-btn-member a {
				justify-content: start;
		}
}
.cv .cv-btn-primary .icn-starter,
.cv .cv-btn-member .icn-starter {
		background: url("/common_v10/images/icn-think-white.svg") no-repeat left 24px center/32px auto;
}
@media screen and (min-width: 768px) and (max-width: 1119px) {
		.cv .cv-btn-primary .icn-starter,
		.cv .cv-btn-member .icn-starter {
				background-position: left calc(2.2792022792vw + -1.5042735043px) center;
				background-size: calc(1.1396011396vw + 19.2478632479px) auto;
		}
}
@media screen and (max-width: 767px) {
		.cv .cv-btn-primary .icn-starter,
		.cv .cv-btn-member .icn-starter {
				padding-top: 46px;
				background-position: top 10px center;
		}
}
.cv .cv-btn-primary::before,
.cv .cv-btn-member::before {
		transition: 0.24s;
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		right: 24px;
		display: block;
		width: 9px;
		height: 16px;
		background: url("/common_v10/images/icn-bullet-white.svg") no-repeat 0 0/100% auto;
}
@media screen and (min-width: 768px) and (max-width: 1119px) {
		.cv .cv-btn-primary::before,
		.cv .cv-btn-member::before {
				right: calc(3.4188034188vw + -14.2564102564px);
		}
}
@media screen and (max-width: 767px) {
		.cv .cv-btn-primary::before,
		.cv .cv-btn-member::before {
				display: none;
		}
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
		.cv .cv-btn-primary:hover,
		.cv .cv-btn-member:hover {
				opacity: 0.8;
		}
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
		.cv .cv-btn-primary:not(.cv .cv-btn-primary.is-blank,
		.cv .cv-btn-member.is-blank):hover::before,
		.cv .cv-btn-member:not(.cv .cv-btn-primary.is-blank,
		.cv .cv-btn-member.is-blank):hover::before {
				transform: translateX(4px);
		}
}
@media screen and (max-width: 767px) {
		.cv .cv-btn-primary .fs-sm {
				margin-bottom: 8px;
		}
}
.cv .cv-btn-member {
		background: var(--color-ui-member);
}
.cv .cv-btn-member a {
		color: #333;
}
@media screen and (max-width: 767px) {
		.cv .cv-btn-member .fs-lg {
				font-size: 16px;
				line-height: 1.2;
		}
}
.cv .cv-btn-member::before {
		border-color: #333;
		background-image: url("/common_v10/images/icn-bullet-black.svg");
}
.cv .cv-btn-member.is-blank::before {
		width: 16px;
		background: url("/common_v10/images/icn-link-blank-black.svg") no-repeat 0 0/100% auto;
}
.cv .cv-btn-member .icn-member {
		background: url("/common_v10/images/icn-member.svg") no-repeat left 22px center/32px auto;
}
@media screen and (min-width: 768px) and (max-width: 1119px) {
		.cv .cv-btn-member .icn-member {
				background-position: left calc(1.7094017094vw + 2.8717948718px) center;
				background-size: calc(1.1396011396vw + 19.2478632479px) auto;
		}
}
@media screen and (max-width: 767px) {
		.cv .cv-btn-member .icn-member {
				padding-top: 46px;
				background-position: top 10px center;
		}
}
.cv[data-cv-type="1"] {
		margin-inline: auto;
		padding: 24px 16px;
		background: #fdecee;
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] {
				padding: 0;
				background: #FFD8D8;
		}
}
.cv[data-cv-type="1"] .cv-container {
		display: flex;
		justify-content: space-between;
		max-width: 1120px;
		margin-inline: auto;
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-container {
				flex-wrap: wrap;
				display: block;
		}
}
.cv[data-cv-type="1"] .cv-main {
		position: relative;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		width: 68.2142857143%;
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-main {
				width: 100%;
		}
}
.cv[data-cv-type="1"] .cv-main::after {
		content: "";
		position: absolute;
		z-index: 0;
		right: -22px;
		top: 0;
		width: 2px;
		height: 100%;
		background: #F7A99C;
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-main::after {
				display: none;
		}
}
.cv[data-cv-type="1"] .cv-main .cv-label {
		font-size: 20px;
		font-weight: 700;
		text-align: center;
		margin-bottom: 10px;
}
@media screen and (min-width: 768px) and (max-width: 1119px) {
		.cv[data-cv-type="1"] .cv-main .cv-label {
				font-size: calc(1.1396011396vw + 7.2478632479px);
		}
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-main .cv-label {
				font-size: 16px;
		}
}
.cv[data-cv-type="1"] .cv-main .cv-col {
		position: relative;
		width: 48.9528795812%;
		padding: 16px 12px 16px;
		border-radius: 16px;
		background: #FFD8D8;
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-main .cv-col {
				width: 50%;
				padding-bottom: 12px;
				background: none;
		}
		.cv[data-cv-type="1"] .cv-main .cv-col:first-of-type::after {
				content: "";
				position: absolute;
				z-index: 0;
				right: -1px;
				top: 12px;
				width: 2px;
				height: calc(100% - 24px);
				background: #F7A99C;
		}
}
.cv[data-cv-type="1"] .cv-side {
		position: relative;
		align-self: center;
		text-align: center;
		padding-left: 18px;
		width: 30%;
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-side {
				width: 100%;
				padding: 16px 12px;
				background: #FDECEE;
				display: flex;
				gap: 0 16px;
		}
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-side-col {
				width: 50%;
		}
}
.cv[data-cv-type="1"] .cv-btn-basic {
		font-size: 18px;
		font-weight: 700;
		border: 3px solid #939393;
		background: #fff;
}
@media screen and (min-width: 768px) and (max-width: 1119px) {
		.cv[data-cv-type="1"] .cv-btn-basic {
				font-size: calc(0.8547008547vw + 8.4358974359px);
		}
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-btn-basic {
				font-size: 14px;
		}
}
.cv[data-cv-type="1"] .cv-btn-basic[data-btn-type=starter-contact] a {
		background: url("/common_v10/images/icn-think-black.svg") no-repeat left 24px center/32px auto;
}
@media screen and (min-width: 768px) and (max-width: 1119px) {
		.cv[data-cv-type="1"] .cv-btn-basic[data-btn-type=starter-contact] a {
				background-position: left calc(2.2792022792vw + -1.5042735043px) center;
				background-size: calc(1.1396011396vw + 19.2478632479px) auto;
		}
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-btn-basic[data-btn-type=starter-contact] a {
				background: none;
		}
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-btn-basic[data-btn-type=starter-contact]::before {
				display: none;
		}
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-btn-basic[data-btn-type=starter-contact] {
				background-size: 18px auto;
				background-position: left center;
		}
}
@media screen and (min-width: 768px) and (max-width: 1119px) {
		.cv[data-cv-type="1"] .cv-btn-basic[data-btn-type=starter-contact] .fs-lg {
				font-size: calc(0.8547008547vw + 8.4358974359px);
		}
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-btn-basic[data-btn-type=starter-contact] .fs-lg {
				font-size: 14px;
		}
}
.cv[data-cv-type="1"] .cv-btn-basic[data-btn-type=starter-contact] .fs-sm {
		display: block;
		font-size: 14px;
		font-weight: 700;
		margin-bottom: 4px;
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-btn-basic[data-btn-type=starter-contact] .fs-sm {
				font-size: 12px;
				padding-left: 22px;
				background: url("/common_v10/images/icn-think-black.svg") no-repeat left center/20px auto;
		}
}
.cv[data-cv-type="1"] .cv-btn-basic a {
		color: #333;
}
.cv[data-cv-type="1"] .cv-btn-basic::before {
		transition: 0.24s;
		content: "";
		position: absolute;
		right: 24px;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 9px;
		height: 16px;
		background: url("/common_v10/images/icn-bullet-black.svg") no-repeat 0 0/100% auto;
}
@media screen and (min-width: 768px) and (max-width: 1119px) {
		.cv[data-cv-type="1"] .cv-btn-basic::before {
				right: calc(3.4188034188vw + -14.2564102564px);
		}
}
.cv[data-cv-type="1"] .cv-btn-basic .icn-chat {
		width: 100%;
		background-image: url(/common_v10/images/icn-chat.svg);
		background-repeat: no-repeat;
		background-position: left 18px center;
		background-size: 32px 32px;
		line-height: 1.3;
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-btn-basic .icn-chat .text-support {
				font-size: 14px;
				display: block;
		}
}
.cv[data-cv-type="1"] .cv-btn-basic .icn-chat .text-support-sm {
		position: relative;
		font-size: 12px;
		display: block;
		margin-top: 2px;
}
@media screen and (max-width: 959px) {
		.cv[data-cv-type="1"] .cv-btn-basic .icn-chat .text-support-sm {
				margin-top: 0;
		}
}
@media screen and (min-width: 959px) and (max-width: 1119px) {
		.cv[data-cv-type="1"] .cv-btn-basic .icn-chat {
				font-size: calc(1.6875vw + -0.883125px);
		}
}
@media screen and (min-width: 768px) and (max-width: 959px) {
		.cv[data-cv-type="1"] .cv-btn-basic .icn-chat {
				font-size: 15.3px;
		}
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-btn-basic .icn-chat {
				padding-left: 8px;
				background-size: 28px auto;
				background-position: left 6px center;
		}
		.cv[data-cv-type="1"] .cv-btn-basic .icn-chat .fs-14-sp {
				display: block;
		}
}
.cv[data-cv-type="1"] .cv-btn-basic.is-blank::before {
		width: 16px;
		background: url("/common_v10/images/icn-link-blank-black.svg") no-repeat 0 0/100% auto;
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-btn-basic.is-blank::before {
				right: 8px;
		}
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
		.cv[data-cv-type="1"] .cv-btn-basic:hover {
				opacity: 0.8;
		}
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
		.cv[data-cv-type="1"] .cv-btn-basic:not(.cv[data-cv-type="1"] .cv-btn-basic.is-blank):hover::before {
				transform: translateX(6px);
		}
}
.cv[data-cv-type="1"] .cv-btn-phone {
		font-size: 18px;
		font-weight: 700;
		border: 3px solid transparent;
}
.cv[data-cv-type="1"] .cv-btn-phone a {
		color: #333;
		min-height: 54px;
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-btn-phone a {
				text-align: left;
				min-height: 66px;
		}
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-btn-phone {
				font-size: 16px;
				border: #FFC2C0;
				background: #FFC2C0;
		}
}
.cv[data-cv-type="1"] .cv-btn-phone .phone-body {
		display: flex;
		justify-content: center;
		align-items: center;
		width: auto;
		min-height: 28px;
		padding-left: 36px;
		background: url(../images/icn/icn_phone.svg) no-repeat left center/28px auto;
}
@media screen and (max-width: 999px) {
		.cv[data-cv-type="1"] .cv-btn-phone .phone-body {
				padding-left: 36px;
				display: inline-block;
				background-position: left center;
		}
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-btn-phone .phone-body {
				padding-left: 28px;
				background-size: 22px auto;
				background-position: left top 100%;
		}
}
.cv[data-cv-type="1"] .cv-btn-phone .phone-body .fs-sm {
		font-size: 12px;
		font-weight: 500;
		margin-right: 8px;
}
@media screen and (max-width: 999px) {
		.cv[data-cv-type="1"] .cv-btn-phone .phone-body .fs-sm {
				display: block;
				text-align: center;
				margin-right: 0;
		}
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-btn-phone .phone-body .fs-sm {
				font-size: 12px;
				margin-right: 0;
		}
}
.cv[data-cv-type="1"] .cv-btn-phone .phone-body .fs-lg {
		font-size: 20px;
}
@media screen and (min-width: 768px) and (max-width: 1119px) {
		.cv[data-cv-type="1"] .cv-btn-phone .phone-body .fs-lg {
				font-size: calc(0.5698005698vw + 13.6239316239px);
		}
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-btn-phone .phone-body .fs-lg {
				font-size: 16px;
		}
}
.cv[data-cv-type="1"] .cv-btn-phone .phone-remarks {
		font-size: 12px;
		font-weight: normal;
		display: block;
		margin-top: 3px;
}
@media screen and (min-width: 768px) and (max-width: 1119px) {
		.cv[data-cv-type="1"] .cv-btn-phone .phone-remarks {
				font-size: calc(0.2849002849vw + 8.811965812px);
		}
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-btn-phone .phone-remarks {
				font-feature-settings: "palt" 1;
				font-size: 10px;
				margin-top: 1px;
				margin-left: 32px;
		}
}
.cv[data-cv-type="1"] .cv-catch {
		font-size: 14px;
		font-weight: 500;
		text-align: center;
		margin-bottom: 6px;
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-catch {
				font-size: 13px;
				line-height: 1.3;
		}
}
.cv[data-cv-type="1"] .cv-remarks {
		font-feature-settings: "palt" 1;
		font-size: 14px;
		text-align: center;
		margin: 6px 0 0;
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="1"] .cv-remarks {
				font-size: 10px;
		}
}
.cv .cv-side-catch {
		font-size: 16px;
		font-weight: 700;
		text-align: center;
		margin-bottom: 8px;
}
@media screen and (min-width: 768px) and (max-width: 1119px) {
		.cv .cv-side-catch {
				font-size: calc(0.8547008547vw + 6.4358974359px);
		}
}
@media screen and (max-width: 767px) {
		.cv .cv-side-catch {
				font-size: 12px;
				margin-bottom: 6px;
		}
}
.cv .cv-side-btn {
		transition: 0.24s;
		position: relative;
		font-size: 18px;
		font-weight: 700;
		border: 3px solid var(--color-ui-jcom);
		background: #fff;
		text-align: center;
		max-width: 390px;
		margin-inline: auto;
		padding-inline: 40px 24px;
		border-radius: 100px;
}
@media screen and (min-width: 768px) and (max-width: 1119px) {
		.cv .cv-side-btn {
				font-size: calc(0.5698005698vw + 11.6239316239px);
		}
}
@media screen and (max-width: 767px) {
		.cv .cv-side-btn {
				font-size: 14px;
				line-height: 1.4;
				margin-bottom: 0;
				padding-inline: 12px;
				border-radius: 12px;
		}
		.cv .cv-side-btn.icn-simu {
				background-position: left 28px center;
		}
		.cv .cv-side-btn.icn-simu a {
				padding-left: 32px;
		}
}
.cv .cv-side-btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		color: #333;
		min-height: 64px;
}
@media screen and (max-width: 767px) {
		.cv .cv-side-btn a {
				min-height: 54px !important;
		}
}
.cv .cv-side-btn:not(.icn-simu)::before {
		transition: 0.24s;
		content: "";
		position: absolute;
		right: 24px;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 9px;
		height: 16px;
		background: url("/common_v10/images/icn-bullet-black.svg") no-repeat 0 0/100% auto;
}
@media screen and (min-width: 768px) and (max-width: 1119px) {
		.cv .cv-side-btn:not(.icn-simu)::before {
				right: calc(3.4188034188vw + -14.2564102564px);
		}
}
@media screen and (max-width: 767px) {
		.cv .cv-side-btn:not(.icn-simu)::before {
				right: 10px;
				width: 7px;
		}
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
		.cv .cv-side-btn:hover {
				opacity: 0.8;
		}
}
.cv .icn-simu {
		background: #fff url(/common_v10/images/icn-simulation.svg) no-repeat left 24px center/32px auto;
}

.cv[data-cv-type="2"] {
		margin-inline: auto;
		padding: 24px 16px;
		background: #fdecee;
}
.cv[data-cv-type="2"] .cv-row {
		display: flex;
		justify-content: space-between;
		width: 100%;
		max-width: 800px;
		margin-inline: auto;
}
.cv[data-cv-type="2"] .cv-row + .cv-row {
		margin-top: 16px;
}
.cv[data-cv-type="2"] .cv-row .cv-col {
		width: calc(50% - 10px);
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="2"] .cv-row .cv-col {
				width: calc(50% - 6px);
		}
}
.cv[data-cv-type="2"] .cv-row .cv-col.col-center {
		margin-inline: auto;
}
@media screen and (max-width: 767px) {
		.cv[data-cv-type="2"] .cv-row .cv-col.col-center {
				width: 100%;
		}
		.cv[data-cv-type="2"] .cv-row .cv-col.col-center .cv-side-btn {
				max-width: 180px;
		}
}

a.neumorphic-btn {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: 700;
		line-height: 1.4;
		color: #333;
		text-align: center;
		width: 100%;
		max-width: 480px;
		min-height: 90px;
		margin: 0 30px;
		border-radius: 999px;
		background: #f9f9fa;
		box-shadow: -4px -4px 3px #fff, 2px 2px 20px #cacdd8;
		transition: 0.24s;
}
@media screen and (max-width: 767px) {
		a.neumorphic-btn {
				max-width: calc(100% - 12px);
				min-height: 72px;
		}
}
a.neumorphic-btn::after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		right: 40px;
		width: 30px;
		height: 30px;
		background: url(../images/icn/icon_arrow.svg) no-repeat center/cover;
		transition: 0.24s;
}
@media screen and (max-width: 767px) {
		a.neumorphic-btn::after {
				right: 20px;
		}
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
		a.neumorphic-btn:hover {
				opacity: 1;
				color: var(--color-theme-wifi7-main);
		}
		a.neumorphic-btn:hover::after {
				transform: translateX(6px);
		}
}
.member-btn {
		transition: 0.24s;
		position: relative;
		text-align: center;
		max-width: 390px;
		border-radius: 999px;
		background: var(--color-ui-member);
}
.member-btn .fs-sm {
		display: block;
		font-size: 14px;
		font-weight: 500;
		margin-bottom: 2px;
}
.member-btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		font-size: 18px;
		font-weight: 700;
		line-height: 1.4;
		color: #333;
		min-height: 68px;
}
.member-btn::before {
		transition: 0.24s;
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		right: 24px;
		display: block;
		width: 9px;
		height: 16px;
		background: url("/common_v10/images/icn-bullet-black.svg") no-repeat 0 0/100% auto;
}
.member-btn .icn-member {
		background: url("/common_v10/images/icn-member.svg") no-repeat left 22px center/32px auto;
}

.tab.tab-card.tab-card-custom .tab-nav {
		position: relative;
		z-index: 0;
}
.tab.tab-card.tab-card-custom .tab-nav::before {
		content: "";
		position: absolute;
		z-index: -1;
		left: 50%;
		transform: translateX(-50%);
		bottom: 0;
		width: 100vw;
		height: 1px;
		background: #333;
}
.tab.tab-card.tab-card-custom .tab-nav li span {
		font-size: 18px;
		padding: 20px 12px 24px;
		border-bottom: none;
		border-radius: 16px 16px 0 0;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
		.tab.tab-card.tab-card-custom .tab-nav li span:hover {
				opacity: 1;
				color: var(--color-theme-wifi7-main) !important;
		}
}
@media screen and (max-width: 767px) {
		.tab.tab-card.tab-card-custom .tab-nav li span {
				font-size: 16px;
				padding: 12px 8px 16px;
		}
}
.tab.tab-card.tab-card-custom .tab-nav li span.is-current {
		color: var(--color-theme-wifi7-main) !important;
		border-color: #333;
		border-width: 1px;
		background-color: #fff;
}
.tab.tab-card.tab-card-custom .tab-nav li span.is-current::before {
		left: 0;
		right: 0;
		margin: auto;
		border-width: 14px 14px 0 14px;
		border-color: var(--color-theme-wifi7-main) transparent transparent transparent;
}
.tab.tab-card.tab-card-custom .tab-nav li span.is-current::after {
		content: "";
		border-color: var(--color-theme-wifi7-main);
		background: var(--color-theme-wifi7-main);
}
.tab.tab-card.tab-card-custom .tab-content {
		position: relative;
		padding-block: 40px;
}
@media screen and (max-width: 767px) {
		.tab.tab-card.tab-card-custom .tab-content {
				padding-block: 32px;
		}
}
.bg-ppl .js-reveal-text,
.bg-ppl .js-reveal-block,
.bg-ppl .js-reveal-gallery {
		--mask-color: linear-gradient(90deg, #f1e4ff 20%, #e3e3ff 80%);
}

.js-fadeup {
		opacity: 0;
		transform: translateY(60px);
		transition: 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.js-fadeup.is-inview {
		opacity: 1;
		transform: translateY(0);
}

.js-reveal-box,
.js-reveal-text,
.js-reveal-group .reveal-box,
.js-reveal-group .reveal-text {
		--mask-color: linear-gradient(90deg, #f1e4ff 20%, #e3e3ff 80%);
		position: relative;
		overflow: hidden;
}
.js-reveal-box::before,
.js-reveal-text::before,
.js-reveal-group .reveal-box::before,
.js-reveal-group .reveal-text::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: var(--mask-color);
		transform: scaleX(0);
		transform-origin: left center;
		z-index: 2;
}
.js-reveal-box > *,
.js-reveal-text > *,
.js-reveal-group .reveal-box > *,
.js-reveal-group .reveal-text > * {
		position: relative;
		z-index: 1;
		opacity: 0;
}
.js-reveal-box.is-revealed > *,
.js-reveal-text.is-revealed > *,
.js-reveal-group .reveal-box.is-revealed > *,
.js-reveal-group .reveal-text.is-revealed > * {
		animation: revealFade 1.2s forwards;
		animation-delay: 0.8s;
}
.js-reveal-box.is-revealed.reveal-fadeup,
.js-reveal-text.is-revealed.reveal-fadeup,
.js-reveal-group .reveal-box.is-revealed.reveal-fadeup,
.js-reveal-group .reveal-text.is-revealed.reveal-fadeup {
		opacity: 1;
		transform: translateY(0);
}
.js-reveal-box.is-revealed::before,
.js-reveal-text.is-revealed::before,
.js-reveal-group .reveal-box.is-revealed::before,
.js-reveal-group .reveal-text.is-revealed::before {
		animation: maskReveal 1.2s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

.js-reveal-text,
.js-reveal-group .reveal-text {
		display: inline-block;
}

.reveal-fadeup {
		opacity: 0;
		transform: translateY(80px);
		transition: 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.js-reveal-group.reveal-fadeup {
		opacity: 0;
		transform: translateY(80px);
		transition: 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.js-reveal-group.reveal-fadeup.is-inview {
		opacity: 1;
		transform: translateY(0);
}

.reveal-box.reveal-zoom > * {
		transform: scale(1.15);
}
.reveal-box.reveal-zoom.is-revealed > * {
		animation: revealZoomFade 1.2s forwards;
		animation-delay: 0.6s;
}

@keyframes revealZoomFade {
		to {
				opacity: 1;
				transform: scale(1);
		}
}
@keyframes revealFade {
		to {
				opacity: 1;
		}
}
@keyframes maskReveal {
		0% {
				transform: scaleX(0);
				transform-origin: left center;
		}
		39% {
				transform: scaleX(1);
				transform-origin: left center;
		}
		40% {
				transform: scaleX(1);
				transform-origin: right center;
		}
		100% {
				transform: scaleX(0);
				transform-origin: right center;
		}
}
.anchor-nav {
		max-width: 820px;
		margin: auto;
		border-radius: 16px;
		border: 3px solid #8B6EC5;
		background: #f4f1f7;
}
.anchor-nav .anchor-nav-list {
		display: flex;
		margin: 0;
}
@media screen and (max-width: 767px) {
		.anchor-nav .anchor-nav-list {
				flex-wrap: wrap;
		}
		.anchor-nav .anchor-nav-list::before {
				content: "";
				position: absolute;
				z-index: 1;
				left: 0;
				right: 0;
				top: 50%;
				margin: auto;
				width: calc(100% - 24px);
				height: 1px;
				background: rgba(139, 110, 197, 0.6);
		}
}
.anchor-nav .anchor-nav-list > li {
		position: relative;
		width: 25%;
		margin: 0;
}
@media screen and (max-width: 767px) {
		.anchor-nav .anchor-nav-list > li {
				width: 50%;
		}
}
.anchor-nav .anchor-nav-list > li a {
		position: relative;
		display: block;
		font-size: 16px;
		font-weight: 700;
		text-align: center;
		color: #333;
		min-height: 76px;
		padding: 16px 4px 12px;
		transition: 0.24s;
}
@media screen and (max-width: 767px) {
		.anchor-nav .anchor-nav-list > li a {
				padding: 12px 4px 10px;
				min-height: 66px;
		}
}
.anchor-nav .anchor-nav-list > li a::after {
		content: "";
		width: 10px;
		height: 10px;
		border: 2px solid #8B6EC5;
		border-top: 0;
		border-right: 0;
		transform: rotate(-45deg);
		transform-origin: bottom left;
		position: absolute;
		left: 50%;
		bottom: 12px;
		transition: 0.24s;
		will-change: transform;
}
@media screen and (max-width: 767px) {
		.anchor-nav .anchor-nav-list > li a::after {
				bottom: 14px;
		}
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
		.anchor-nav .anchor-nav-list > li a:hover {
				opacity: 1;
				color: var(--color-theme-wifi7-main);
		}
		.anchor-nav .anchor-nav-list > li a:hover::after {
				animation: arrowMove 0.6s;
		}
}
@keyframes arrowMove {
		0% {
				opacity: 1;
				transform: translateY(0) rotate(-45deg);
		}
		40% {
				opacity: 0;
				transform: translateY(8px) rotate(-45deg);
		}
		41% {
				transform: translateY(-8px) rotate(-45deg);
		}
		100% {
				opacity: 1;
				transform: translateY(0) rotate(-45deg);
		}
}
.anchor-nav .anchor-nav-list > li + li::before {
		content: "";
		position: absolute;
		z-index: 1;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 1px;
		height: calc(100% - 36px);
		background: rgba(139, 110, 197, 0.6);
}
@media screen and (max-width: 767px) {
		.anchor-nav .anchor-nav-list > li + li::before {
				height: calc(100% - 24px);
		}
}
@media screen and (max-width: 767px) {
		.anchor-nav .anchor-nav-list > li + li:nth-of-type(3)::before {
				display: none;
		}
}

.swiper-feature {
		position: relative;
		max-width: 1120px;
		margin: 0 auto;
		opacity: 0;
}
@media screen and (max-width: 767px) {
		.swiper-feature {
				margin-left: -16px;
				width: calc(100% + 32px);
				padding-inline: 0;
		}
}
.swiper-feature.is-show {
		opacity: 1;
}
.swiper-feature .swiper-slide {
		position: relative;
		z-index: 1;
		overflow: hidden;
		margin-bottom: 0;
}
.swiper-feature .swiper-slide img {
		border-radius: 16px;
}
.swiper-feature .swiper-footer {
		position: relative;
		margin: 24px auto 0;
}
@media screen and (max-width: 767px) {
		.swiper-feature .swiper-footer {
				margin-top: 16px;
		}
}
.swiper-feature .swiper-footer .swiper-button-prev,
.swiper-feature .swiper-footer .swiper-button-next {
		display: none;
}
.swiper-feature .swiper-footer .swiper-button-prev {
		left: -4px;
		transform: rotate(180deg);
}
.swiper-feature .swiper-footer .swiper-button-next {
		right: -4px;
}
.swiper-feature .swiper-footer .swiper-pagination {
		position: relative;
}
.swiper-feature .swiper-footer .swiper-pagination .swiper-pagination-bullet {
		position: relative;
		width: 20px;
		height: 20px;
		margin: 0 8px;
		background: none;
		opacity: 1;
}
.swiper-feature .swiper-footer .swiper-pagination .swiper-pagination-bullet::before {
		transition: 0.24s;
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-radius: 50%;
		background-color: #fff;
		box-shadow: inset 3px 3px 3px rgba(0, 0, 0, 0.12);
}
.swiper-feature .swiper-footer .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
		background-color: var(--color-ui-jcom);
}

.article {
		overflow: hidden;
		border-radius: 32px;
		background: #fff;
}
.article + .article {
		margin-top: 32px;
}
.article:last-of-type {
		margin-bottom: 32px;
}
.article .article-header {
		position: relative;
		font-size: 20px;
		font-weight: 700;
		text-align: center;
		color: #fff;
		padding: 16px 12px;
		background: var(--color-ui-primary);
}
@media screen and (max-width: 767px) {
		.article .article-header {
				font-size: 16px;
		}
}
.article .article-body {
		padding: 16px 24px 24px;
		background: #F2F2F2;
}
@media screen and (max-width: 767px) {
		.article .article-body {
				padding: 16px 16px 24px;
		}
}
.article .article-body .article-row {
		display: flex;
		gap: 24px;
}
@media screen and (max-width: 767px) {
		.article .article-body .article-row {
				display: block;
		}
}
.article .article-body .article-thumb {
		width: 37.3333%;
		padding-top: 24px;
}
@media screen and (max-width: 767px) {
		.article .article-body .article-thumb {
				width: 100%;
				margin-bottom: 16px;
				padding-top: 0;
		}
}
.article .article-body .article-info {
		flex: 1;
}
.article .article-body .article-info > *:last-child {
		margin-bottom: 0;
}
.article .article-body .article-meta {
		font-size: 14px;
		text-align: right;
		color: #333;
		margin-bottom: 12px;
}
.article .article-body .article-txt {
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		line-height: 1.6;
		text-align: justify;
}
.article .article-body .article-link {
		text-align: center;
}

.overview-row {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: auto;
}
.overview-row .overview-col {
		width: 41.9565217391%;
		border-radius: 24px;
}
@media screen and (max-width: 767px) {
		.overview-row .overview-col {
				width: 45%;
				border-radius: 12px;
		}
}
.overview-row .overview-item {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 220px;
		border-radius: 24px;
		border: 4px solid #3864CC;
}
@media screen and (max-width: 767px) {
		.overview-row .overview-item {
				padding-block: 16px;
				min-height: 88px;
				border-radius: 12px;
				border-width: 3px;
		}
}
.overview-row .overview-item .img-logo {
		width: 84.6560846561%;
}
.overview-row .overview-cross {
		width: 5.4347826087%;
}
@media screen and (max-width: 767px) {
		.overview-row .overview-cross {
				width: 5%;
		}
}

.wifi-spec-table {
		width: 100%;
		border-collapse: separate;
		border-top: 1px solid #ccc;
		border-right: 1px solid #ccc;
}
.wifi-spec-table th,
.wifi-spec-table td {
		text-align: center;
		vertical-align: middle;
		border: none;
		border-left: 1px solid #ccc;
		border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
		.wifi-spec-table th,
		.wifi-spec-table td {
				font-size: 11px;
		}
}
.wifi-spec-table th {
		font-weight: 700;
		padding: 12px 0;
}
.wifi-spec-table td {
		font-weight: 700;
		padding: 8px 0;
}
.wifi-spec-table td.item {
		background-color: #f2f2f2;
}
@media screen and (min-width: 768px) {
		.wifi-spec-table thead th {
				width: 20%;
		}
}
.wifi-spec-table thead th.highlight-col {
		color: #fff;
		background: linear-gradient(45deg, #0b7eff, #c0498a);
}
.wifi-spec-table tbody td.highlight-col {
		color: #007bff;
		background-color: #e3f2fd;
}
.wifi-spec-table tr:first-child th {
		color: #fff;
		background-color: #808080;
}

@media screen and (min-width: 768px) {
		.feature .feature-aiwifi .feature-aiwifi-row {
				display: flex;
				justify-content: space-between;
		}
}
@media screen and (min-width: 768px) {
		.feature .feature-aiwifi .feature-aiwifi-col {
				width: 48.3928571429%;
		}
}
.feature .feature-aiwifi .feature-aiwifi-item {
		position: relative;
		border-radius: 20px;
		background: #fff;
		overflow: hidden;
}
.feature .feature-aiwifi .feature-heading {
		text-align: center;
		color: #fff;
		line-height: 1.4;
		margin: 0;
		padding: 12px 12px;
		background: linear-gradient(180deg, #3864CC 0%, #8B6EC5 54%, #AB5AB6 100%);
}
.feature .feature-aiwifi .feature-aiwifi-body {
		padding: 24px;
}
@media screen and (max-width: 767px) {
		.feature .feature-aiwifi .feature-aiwifi-body {
				padding: 24px 16px;
		}
}
@media screen and (min-width: 768px) {
		.feature .aiwifi-mesh .aiwifi-mesh-row {
				display: flex;
				justify-content: space-between;
				gap: 24px;
		}
}
.feature .aiwifi-mesh .aiwifi-mesh-info {
		flex: 1;
}
@media screen and (min-width: 768px) {
		.feature .aiwifi-mesh .aiwifi-mesh-img {
				width: 44.53125%;
		}
}
.feature .aiwifi-mesh .aiwifi-mesh-img .mesh-img {
		padding: 16px;
		border-radius: 16px;
		background: #fff;
		overflow: hidden;
}

.price .price-box {
		padding: 24px;
		border-radius: 20px;
		border: 3px solid var(--color-theme-wifi7-main);
}
.price .price-box > *:last-child {
		margin-bottom: 0;
}
@media screen and (max-width: 767px) {
		.price .price-box {
				padding: 16px;
		}
}
.price .price-box .price-group {
		display: inline-flex;
		justify-content: center;
		align-items: center;
}
.price .price-box .price-group .price-unit {
		position: relative;
		font-weight: 700;
		align-self: flex-end;
}
.price .price-box .price-group .price-unit sup {
		position: absolute;
		z-index: 0;
		right: 4px;
		top: 4px;
}
@media screen and (max-width: 767px) {
		.price .price-box .price-group .price-unit sup {
				font-size: 12px;
				right: 2px;
				top: -4px;
		}
}

.bottom-hr {
		border-bottom: 1px solid #333;
}

.flow-step {
		display: flex;
		justify-content: space-between;
}
@media screen and (max-width: 767px) {
		.flow-step {
				flex-direction: column;
				width: 100%;
		}
}
.flow-step .flow-step-item {
		position: relative;
}
@media screen and (min-width: 768px) {
		.flow-step .flow-step-item {
				text-align: center;
				width: 33.3333%;
				max-width: 244px;
				padding-inline: 32px;
		}
}
@media screen and (max-width: 767px) {
		.flow-step .flow-step-item {
				display: inline-flex;
				justify-content: flex-start;
				align-items: center;
				gap: 16px;
				padding-bottom: 16px;
		}
}
.flow-step .flow-step-item + .flow-step-item {
		position: relative;
}
@media screen and (min-width: 768px) {
		.flow-step .flow-step-item + .flow-step-item {
				border-left: 1px solid #e6e6e6;
		}
}
@media screen and (max-width: 767px) {
		.flow-step .flow-step-item + .flow-step-item {
				padding-top: 16px;
				border-top: 1px solid #e6e6e6;
		}
}
.flow-step .step-num {
		position: relative;
		font-weight: 700;
		color: #0B7EFF;
		background: url(../images/apply_arrow.svg) no-repeat bottom center/100% auto;
}
@media screen and (min-width: 768px) {
		.flow-step .step-num {
				font-size: 20px;
				text-align: center;
				padding-bottom: 8px;
		}
}
@media screen and (max-width: 767px) {
		.flow-step .step-num {
				background: none;
				margin-bottom: 4px;
		}
}
.flow-step .step-icn {
		position: relative;
}
@media screen and (max-width: 767px) {
		.flow-step .step-icn {
				text-align: center;
				width: 100%;
				max-width: 132px;
				margin-bottom: 0;
				background: url(../images/apply_arrow_sp.svg) no-repeat right center/auto 100%;
		}
		.flow-step .step-icn img {
				max-width: 100px;
		}
}
main {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		-webkit-text-size-adjust: 100%;
}

.bg-ppl {
		background: #F5EFFB;
}

.bg-grad {
		background: linear-gradient(180deg, #3864CC 0%, #8B6EC5 54%, #AB5AB6 100%);
		transform: translateZ(0);
}

.wrap-section {
		margin-block: 80px;
		padding-inline: 16px;
}
@media screen and (min-width: 768px) and (max-width: 1119px) {
		.wrap-section {
				margin-block: 68px;
		}
}
@media screen and (max-width: 767px) {
		.wrap-section {
				margin-block: 48px;
				padding-inline: 16px;
		}
}

.heading-grad {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
}
.heading-grad.is-overlap {
		transform: translateY(50%);
		z-index: 1;
}
.heading-grad::before {
		content: "";
		position: absolute;
		z-index: 0;
		top: 50%;
		left: 0;
		width: 100vw;
		height: 1px;
		background: linear-gradient(90deg, #3864CC 0%, #8B6EC5 54%, #AB5AB6 100%);
		transform: translateY(-50%);
}

.grad-label {
		position: relative;
		z-index: 2;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		width: -moz-fit-content;
		width: fit-content;
		min-width: 252px;
		min-height: 80px;
		margin: 0;
		padding: 4px 12px 8px 16px;
}
@media screen and (max-width: 767px) {
		.grad-label {
				min-width: 128px;
				min-height: 44px;
				padding: 4px 16px;
		}
}
.grad-label::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: linear-gradient(180deg, #3864CC 0%, #8B6EC5 54%, #AB5AB6 100%);
		transform: skew(12deg);
		z-index: 2;
}
.grad-label .label-text {
		position: relative;
		z-index: 3;
		font-size: 48px;
		font-weight: 700;
		color: #fff;
		line-height: 1.2;
}
@media screen and (max-width: 767px) {
		.grad-label .label-text {
				letter-spacing: 8px;
				font-size: 24px;
		}
}

.title-group {
		display: inline-flex;
		align-items: center;
		gap: 0 8px;
}
.title-group .title-group-label {
		font-size: 14px;
		font-weight: 700;
		color: #fff;
		text-align: center;
		padding: 2px 16px;
		background: #3864CC;
}
@media screen and (max-width: 767px) {
		.title-group .title-group-label {
				padding: 2px 10px;
		}
}
.text-label {
		display: inline-block;
		font-weight: 700;
		text-align: center;
		color: #fff;
		text-align: center;
		width: -moz-fit-content;
		width: fit-content;
		min-width: 128px;
		padding: 2px 16px 4px;
		background: var(--color-theme-wifi7-main);
}

.tip-box {
		position: relative;
		display: flex;
		border-radius: 20px;
		background: #fff;
		overflow: hidden;
}
@media screen and (max-width: 767px) {
		.tip-box {
				display: block;
		}
}
.tip-box .tip-box-img {
		width: 35%;
}
@media screen and (max-width: 767px) {
		.tip-box .tip-box-img {
				width: 100%;
				aspect-ratio: 2/0.9;
		}
}
.tip-box .tip-box-img img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
}
.tip-box .tip-box-body {
		flex: 1;
		padding: 20px;
}
@media screen and (max-width: 767px) {
		.tip-box .tip-box-body {
				padding: 16px;
		}
}
.tip-box .tip-box-body > *:last-child {
		margin-bottom: 0;
}

.link-self-black.ppl {
		transition: 0.24s;
}
.link-self-black.ppl::after {
		background-image: url(../images/icn/icn-link-self-ppl.svg);
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
		.link-self-black.ppl:hover {
				opacity: 1;
				color: var(--color-theme-wifi7-main) !important;
		}
}