@charset "UTF-8";
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	overflow-x: hidden;
	overflow-y: auto;
}

body {
	--BaseMaxW: 1240px;
	--BasePaddingLR: 20px;
	--fontNoteSansJP: "Noto Sans JP", sans-serif;
	--fontNoteSans: "Noto Sans", sans-serif;
	--redEA: #ea011e;
	--redFf2e2e: #ff2e2e;
	--color-5f6165: #5f6165;
	--color-b9b9b9: #b9b9b9;
	--color-FFE625: #ffe625;
	--txt--yen: "¥";
	--txt--month: "/月";
	--txt--tax: "（税込）";
	background-color: #000;
	color: #333;
	font-family: -apple-sysytem, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic Std", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Segoe UI", "メイリオ", Meiryo, Verdana, Roboto, "Droid Sans", sans-serif;
	line-height: 1.5;
	width: 100%;
	position: relative;
}

.reg_footer {
	display: grid;
	grid-auto-flow: row;
	gap: 16px;
	padding-left: 15px;
	padding-right: 15px;
}
.F1-credit {
	letter-spacing: 2px;
	text-align: center;
	color: #fff;
	font-weight: 200;
}
@media screen and (min-width: 951px) {
	body {
		--headerH: 80px;
	}
}
@media screen and (max-width: 950px) {
	body {
		--vw1px: 0.10526315789473684vw;
		--vw1pxBase950: var(--vw1px);
		--headerH: 50px;
	}
}
@media screen and (max-width: 389px) {
	body {
		--vw1px: 0.2564102564102564vw;
	}
}
@media screen and (min-width: 768px) {
	.spOnly {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.pcOnly {
		display: none;
	}
}


img, video {
	max-width: 100%;
	height: auto;
}

video {
	will-change: transform;
}

ul {
	list-style: none;
}

button,a {
	outline: none;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent; /* ======== iOS Safari用 */
	-webkit-touch-callout: none; 
}

.F1-ComContainer {
	max-width: var(--BaseMaxW);
	margin: 0 auto;
	padding: 0 var(--BasePaddingLR);
	width: 100%;
}

/* ======== 共通ボタン */
.teaser .F1-Com-cta-button {
	display: none!important;
	pointer-events: none;
}
.F1-Com-cta-button {
	--btnFontS: 16px;
	--btnFontW: 600;
	--btnRadius: 50px;
	--btnLetter: calc(var(--btnFontS) * 0.05);
	background: var(--redEA);
	border-radius: var(--btnRadius);
	color: #fff;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: var(--btnFontS);
	font-weight: var(--btnFontW);
	transition: all 0.3s ease;
	text-decoration: none;
	text-align: center;
	overflow: hidden;
	letter-spacing: var(--btnLetter);
}
.F1-Com-cta-button.disabled {
	background: var(--color-5f6165);
	color: var(--color-b9b9b9);
	pointer-events: none;
	cursor: default;
}

@media (hover: hover) and (pointer: fine) {
	.F1-Hero-Section .F1-Com-cta-button:not(.disabled):hover,
	.F1-Steps-Section .F1-Com-cta-button:not(.disabled):hover {
		transform: translateY(-3px);
		box-shadow: 0 15px 35px rgba(234, 0, 30, 0.4);
	}
}

@media screen and (max-width: 767px) {
	body {
		--BasePaddingLR: 35px;
	}
	.F1-ComContainer {
		padding: 0 var(--BasePaddingLR);
	}
}
@media screen and (max-width: 389px) {
	body {
		--BasePaddingLR: calc(var(--vw1px) * 35);
	}
}

.animate-in {
	opacity: 1 !important;
	transform: translateY(0) !important;
}

/* ======== Section 共通Header */
.F1-ComSection-header {
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	text-align: center;
}

.F1-ComSection-title {
	font-size: var(--font);
	font-weight: 800;
	color: #fff;
	letter-spacing: calc(var(--font) * 0.05);
}

.F1-ComSection-description {
	font-size: var(--font);
	color: #8d8d8d;
	font-weight: 700;
	margin: 0 auto;
	letter-spacing: calc(var(--font) * 0.05);
	width: 100%;
}
@media screen and (min-width: 768px) {
	.F1-ComSection-title {
		--font: 40px;
		margin-bottom: 16px;
	}
	.F1-ComSection-title br {
		display: none;
	}
	.F1-ComSection-description {
		--font: 24px;
	}
}
@media screen and (max-width: 767px) {
	.F1-ComSection-title {
		--font: 26px;
		margin-bottom: 8px;
	}
	.F1-ComSection-description {
		--font: 14px;
	}
	section .F1-ComSection-header + *,
	.F1-Overview-Section .F1-Overview-Pointmax-header + .F1-Overview-Grid {
		margin-top: 25px;
	}
}
@media screen and (max-width: 389px) {
	.F1-ComSection-title {
		--font: calc(var(--vw1px) * 26);
	}
	.F1-ComSection-description {
		--font: calc(var(--vw1px) * 14);
	}
	.F1-ComSection-header + *,
	.reg_question .F1-ComSection-header + .reg_question__list,
	.F1-Overview-Section .F1-Overview-Pointmax-header + .F1-Overview-Grid {
		margin-top: calc(var(--vw1px) * 25);
	}
}

/* ======== Swiper 共通設定 */
.swiper-fade .swiper-slide {
	pointer-events: none;
	transition-property: opacity;
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-prev,
.swiper-fade .swiper-slide-next {
	pointer-events: auto;
}

.swiper-fade .swiper-slide {
	opacity: 0;
}

.swiper-fade .swiper-slide-active {
	opacity: 1;
	transition: opacity 0.8s ease;
}
.swiper-pagination {
	display: grid;
	grid-auto-flow: column;
	justify-content: center;
	gap: var(--dotGap);
	position: static;
}

.swiper-pagination .swiper-pagination-bullet {
	width: var(--dotSise);
	height: var(--dotSise);
	border-radius: 50%;
	background-color: #1c1c1c;
	cursor: pointer;
	transition: all 0.3s ease;
	opacity: 1;
}
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0;
}

.swiper-pagination .swiper-pagination-bullet-active {
	background-color: #ea001e;
}

*[class^="swiper-arrow-"] {
	align-items: center;
	display: flex;
	justify-content: center;
	width: var(--SwiperArrowSize);
}
*[class^="swiper-arrow-"] .swiper-button-disabled {
	display: none!important;
}
*[class^="swiper-arrow-"] span {
	align-items: center;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: var(--SwiperArrowSize);
	cursor: pointer;
	display: flex;
	height: var(--SwiperArrowSize);
	justify-content: center;
	width: 100%;
}
*[class^="swiper-arrow-"] span img {
	width: var(--SwiperArrowIconSize);
}
.swiper-arrow-next span {
	transform: rotate(180deg);
}


@media (hover: hover) and (pointer: fine) {
	.swiper-pagination .swiper-pagination-bullet:hover {
		background-color: #ea001e;
	}
	*[class^="swiper-arrow-"] span:hover {
		opacity: 0.7;
		transition: all 0.4s;
	}
}
@media screen and (min-width: 768px) {
	body {
		--SwiperArrowSize: 40px;
		--SwiperArrowIconSize: 16px;
	}
	.swiper-pagination {
		--dotSise: 16px;
		--dotGap: 19px;
		margin-top: 68px;
	}
}
@media screen and (max-width: 950px) and (min-width: 768px) {
	.swiper-pagination {
		--dotSise: calc(var(--vw1px) * 16);
		--dotGap: calc(var(--vw1px) * 19);
		margin-top: calc(var(--vw1px) * 68);
	}
}
@media screen and (max-width: 767px) {
	body {
		--SwiperArrowSize: 30px;
		--SwiperArrowIconSize: 12px;
	}
	.swiper-pagination {
		--dotSise: 9px;
		--dotGap: 10px;
		margin-top: 34px;
	}
}
@media screen and (max-width: 389px) {
	.swiper-pagination {
		--dotSise: calc(var(--vw1px) * 9);
		--dotGap: calc(var(--vw1px) * 10);
		margin-top: calc(var(--vw1px) * 34);
	}
}

/* ======== スクロールフェードイン共通スタイル */
.js-scrollfade {
	--fadeDelay: 0.2s;
	--scrollfadeTranslateY: 30px;
	opacity: 0;
	transform: translateY(var(--scrollfadeTranslateY));
	transition: all 0.5s ease-in-out;
}

.js-scrollfade.js-scrollfade--show {
	opacity: 1;
	transform: translateY(0);
}

/* ======== Header */
.F1-Header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: var(--headerH);
	background: #000;
	z-index: 9999;
	transition: all 0.3s ease;
	display: flex;
	align-items: center;
}

.F1-Header .F1-ComContainer {
	--BaseMaxW: 1920px;
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	position: relative;
}

.F1-Header-Logo {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: var(--LogoSize);
	min-height: var(--headerH);
}
.F1-Header-Logo img {
	height: var(--headerH);
}

.F1-Header-NavContainer {
	display: grid;
	gap: var(--HContainerGap);
}
.F1-Nav-Anchor {
    display: grid;
	align-items: center;
}
.F1-Nav-Anchor a {
	color: #fff;
	font-weight: 500;
	font-size: 16px;
	text-decoration: none;
	transition: color 0.3s ease;
	letter-spacing: 0.8px;
}
.F1-Header-Registerbtn {
	display: grid;
	align-items: center;
}

.F1-Header-Registerbtn .F1-Com-cta-button {
	--btnLetter: 0.8px;
	--btnRadius: 20px;
	font-size: 16px;
	font-weight: 600;
	padding: 6px 10px;
}
@media (hover: hover) and (pointer: fine) {
	.F1-Header-Registerbtn .F1-Com-cta-button:not(.disabled):hover {
		transform: translateY(-2px);
	}
}
.F1-Menu-toggle {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0px;
	z-index: 1001;
}
.F1-Menu-icon {
	display: block;
	width: 20px;
	height: 21px;
	position: relative;
}

.F1-Menu-icon span {
	display: block;
	position: absolute;
	height: 2px;
	width: 100%;
	background: #fff;
	transition: all 0.3s ease;
}

.F1-Menu-icon span:nth-child(1) {
	top: 0;
}
	.F1-Menu-toggle.active .F1-Menu-icon span:nth-child(1) {
		top: 50%;
		transform: translateY(-50%) rotate(45deg);
	}

.F1-Menu-icon span:nth-child(2) {
	top: 50%;
	transform: translateY(-50%);
}
	.F1-Menu-toggle.active .F1-Menu-icon span:nth-child(2) {
		opacity: 0;
	}

.F1-Menu-icon span:nth-child(3) {
	bottom: 0;
}
	.F1-Menu-toggle.active .F1-Menu-icon span:nth-child(3) {
		bottom: 50%;
		transform: translateY(50%) rotate(-45deg);
	}
@media (hover: hover) and (pointer: fine) {
	.F1-Nav-Anchor a:hover {
		color: #ea001e;
	}
	.F1-Nav-Anchor a:hover {
		background: rgba(234, 0, 30, 0.1);
	}
}

@media screen and (min-width: 951px) {
	.F1-Header {
		--LogoSize: 260px;
	}
	.F1-Header .F1-ComContainer {
		--BasePaddingLR: 25px;
		--HPaddingTB: 0px;
		gap: 20px;
		padding-left: 11px;
	}
	.F1-Header-NavContainer {
		align-items: center;
		grid-template-columns: auto var(--LogoSize);
	}
	.F1-Nav-Anchor {
		grid-auto-flow: column;
		justify-content: center;
		gap: 40px;
	}
	.F1-Header-Registerbtn {
		grid-auto-flow: column;
		justify-content: flex-end;
	}
	.F1-Header-Registerbtn .F1-Com-cta-button {
		width: 200px;
	}
}
@media screen and (max-width: 1050px) and (min-width: 951px) {
	.F1-Header {
		--vw1px: 0.09523809523809523vw;
		--LogoSize: calc(var(--vw1px) * 260);
	}
	.F1-Header .F1-ComContainer {
		--BasePaddingLR: calc(var(--vw1px) * 25);
		gap: calc(var(--vw1px) * 20);
		padding-left: calc(var(--vw1px) * 11);
	}
	.F1-Nav-Anchor {
		gap: calc(var(--vw1px) * 40);
	}
	.F1-Nav-Anchor a {
		font-size: calc(var(--vw1px) * 16);
	}
	.F1-Header-Registerbtn .F1-Com-cta-button {
		width: calc(var(--vw1px) * 200);
	}
}

@media screen and (max-width: 950px) {
	.F1-Header {
		--LogoSize: auto;
	}
	.F1-Header .F1-ComContainer {
		--BasePaddingLR: 0px;
		--HPaddingTB: 9px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding-left: 6px;
	}
	.F1-Header-NavContainer {
		background: #000;
		align-items: baseline;
		grid-auto-flow: row;
		grid-template-rows: auto 1fr;
		height: 100vh;
		position: fixed;
		top: var(--headerH);
		right: -100%;
		width: 80%;
		max-width: 240px;
		transition: right 0.3s ease;
		z-index: 999;
		padding: 38px 39px 20px;
		overflow-y: auto;
	}
	.F1-Header-NavContainer.active {
		right: 0;
	}
	.F1-Nav-Anchor {
		grid-auto-flow: row;
		gap: 24px;
		margin-bottom: 73px;
	}
	.F1-Nav-Anchor a {
		display: block;
		font-weight: normal;
		text-decoration: none;
		transition: all 0.3s ease;
	}
	
	.F1-Header-Registerbtn {
		grid-auto-flow: row;
		gap: 20px;
	}
	.F1-Header-Registerbtn .F1-Com-cta-button {
		border-radius: 25px;
		padding: 12px;
		min-height: 50px;
		width: 100%;
	}

	.F1-Menu-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		width: var(--headerH);
		height: var(--headerH);
	}
}

/* ======== Hero Section */
.F1-Hero-Section {
	font-family: var(--fontNoteSansJP);
	position: relative;
	width: 100%;
	display: grid;
	grid-auto-flow: row;
	grid-template-rows: 1fr auto;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	z-index: 1;
	padding-top: var(--headerH);
}
.F1-Hero-Section::after {
	background: linear-gradient(to bottom,  rgba(218,218,218,0) 0%,rgba(0,0,0,0.82) 90%,rgba(0,0,0,1) 100%);
	content: "";
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;
}
.F1-Hero-Section .sup-tm {
	top: -0.2em;
	margin-right: -0.3em;
}
.F1-Hero-Section .F1-Hero-promo-banner .sup-tm {
	transform: scale(0.5);
}
.F1-Hero-background.in-view {
	display: none;
	opacity: 0;
	visibility: hidden;
}
.F1-Hero-background {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: -3;
}
.F1-Hero-background::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.3);
	z-index: 1;
}
.teaser .F1-Hero-background::after {
	background: rgba(0, 0, 0, 0.5);
}
.F1-Hero-background img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: -1;
}

.F1-Hero-content {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-flow: column nowrap;
	color: #fff;
	margin: 0;
	z-index: 2;
	--textShadow: 0px 5px 15px rgba(0, 0, 0, 0.25);
}
.F1-Hero-title {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-weight: 800;
	text-shadow: var(--textShadow);
	text-align: center;
}
.teaser .F1-Hero-title > span:not(:first-child) {
	line-height: 1.2;
}
.F1-Hero-title > span {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	white-space: nowrap;
}
.F1-Hero-title span.tm {
	font-size: 65%;
	transform: translateY(-8%);
	margin-right: 0.2em;
}
.F1-Hero-Caution {
	--iconSize: 21px;
	background: rgba(50, 50, 50, 0.6);
	position: relative;
	letter-spacing: calc(var(--font) * 0.1);
	font-size: var(--font);
	padding: var(--paddingTB) calc(var(--paddingR)) var(--paddingTB) calc(var(--paddingR) + var(--font) + var(--iconSize));
}
.F1-Hero-Caution::before {
	left: calc(var(--paddingR));
}
.F1-Hero-Caution::before {
	background: url(../../../../img/bundle/f1/register/icon-caution.svg) no-repeat center center / 100% auto;
	content: "";
	display: block;
	width: var(--iconSize);
	height: var(--iconSize);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.F1-Hero-Description > p {
	font-weight: 500;
	text-align: center;
	text-shadow: var(--textShadow);
	font-size: var(--font);
}
.F1-Hero-Description > p.main {
	font-weight: 800;
	color: var(--color-FFE625);
	text-shadow: 0px 5px 15px rgba(0, 0, 0, 0.55);
}
.F1-Hero-Description > p.normal {
	font-weight: normal;
}
.F1-Hero-Description > p.main > small {
	font-size: var(--font);
}
.F1-Hero-Description > p a {
	color: inherit;
	text-decoration: underline;
}

.F1-Hero-Section .F1-Com-cta-button {
	width: 100%;
	padding: 11px;
}

.F1-Hero-promo-banner {
	width: 100%;
}

.F1-Hero-promo-banner > p {
	font-size: var(--font);
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-weight: 500;
	margin: 0;
	text-align: center;
	text-shadow: 0 3px 7.5px rgba(0, 0, 0, 0.55);
}
.F1-Hero-promo-banner > p > span:not(:last-of-type)::after {
	content: "｜";
}

@media screen and (min-width: 768px) {
	.F1-Hero-Section,
	.F1-Hero-background {
		height: 56.25vw;/* 16:9 */
	}
	.F1-Hero-Section::after {
		height: 37%;
	}
	*:not(.teaser) .F1-Hero-Section {
		align-items: flex-start;
	}
	*:not(.teaser) .F1-Hero-content {
		margin-top: 115px;
	}

	.teaser .F1-Hero-title > span:first-child {
		font-size: 50px;
		margin-bottom: 20px;
	}
	.teaser .F1-Hero-title > span:not(:first-child),
	*:not(.teaser) .F1-Hero-title > span:first-child {
		font-size: 85px;
	}
	*:not(.teaser) .F1-Hero-title > span:last-child {
		font-size: 46px;
		margin-top: -6px;
	}
	.F1-Hero-Caution {
		--font: 18px;
		--paddingR: 24px;
		--paddingTB: 24px;
	}
	.F1-Hero-title + .F1-Hero-Caution {
		margin-top: 27px;
	}
	
	.F1-Hero-Section .F1-Com-cta-button {
		margin-top: 36px;
		max-width: 220px;
	}

	.F1-Hero-promo-banner {
		padding: 0px var(--BasePaddingLR) 46px;
	}

	.F1-Hero-Description > p,
	.F1-Hero-promo-banner > p {
		--font: 22px;
		letter-spacing: calc(var(--font) * 0.1);
	}
	.F1-Com-cta-button + .F1-Hero-Description {
		margin-top: 80px;
	}
	.F1-Hero-Caution ~ .F1-Hero-Description {
		margin-top: 68px;
	}
	.teaser .F1-Hero-Description > p:not(.main) {
		--font: 18px;
	}
	.F1-Hero-Description > p.main {
		--font: 26px;
	}
	.F1-Hero-Description > p.main > small {
		--font: 23px;
	}
	.F1-Hero-Description > p:not(.main) {
		line-height: 2;
	}
	*:not(.teaser) .F1-Hero-Description > p.main + p {
		margin-top: 8px;
	}
	.teaser .F1-Hero-Description > p.main + p {
		margin-top: 22px;
	}
	.F1-Hero-Description .VerticalBar::after {
		content: "｜";
	}
}

@media screen and (max-width: 1500px) and (min-width: 768px) {
	.F1-Hero-Section {
		--vw1px: 0.06666666666666667vw;
	}
	*:not(.teaser) .F1-Hero-content {
		margin-top: calc(var(--vw1px) * 115);
	}
	.teaser .F1-Hero-title > span:first-child {
		font-size: calc(var(--vw1px) * 50);
	}
	.teaser .F1-Hero-title > span:not(:first-child),
	*:not(.teaser) .F1-Hero-title > span:first-child {
		font-size: calc(var(--vw1px) * 85);
	}
	*:not(.teaser) .F1-Hero-title > span:last-child {
		font-size: calc(var(--vw1px) * 46);
	}
	.F1-Hero-Caution {
		--font: calc(var(--vw1px) * 18);
		--paddingR: var(--vw1px) * 24;
		--paddingTB: calc(var(--vw1px) * 12);
	}
	.F1-Hero-title + .F1-Hero-Caution {
		margin-top: calc(var(--vw1px) * 27);
	}
	.F1-Hero-Section .F1-Com-cta-button {
		margin-top: calc(var(--vw1px) * 36);
	}
	.F1-Hero-promo-banner {
		padding-bottom: calc(var(--vw1px) * 46);
	}
	.F1-Hero-Description > p,
	.F1-Hero-promo-banner > p {
		--font: calc(var(--vw1px) * 22);
	}
	.F1-Com-cta-button + .F1-Hero-Description {
		margin-top: calc(var(--vw1px) * 80);
	}
	.F1-Hero-Caution ~ .F1-Hero-Description {
		margin-top: calc(var(--vw1px) * 68);
	}
	.teaser .F1-Hero-Description > p:not(.main) {
		--font: calc(var(--vw1px) * 18);
	}
	.F1-Hero-Description > p.main {
		--font: calc(var(--vw1px) * 26);
	}
	.F1-Hero-Description > p.main > small {
		--font: calc(var(--vw1px) * 23);
	}
	*:not(.teaser) .F1-Hero-Description > p.main + p {
		margin-top: calc(var(--vw1px) * 8);
	}
	.teaser .F1-Hero-Description > p.main + p {
		margin-top: calc(var(--vw1px) * 22);
	}
	
}

@media screen and (max-width: 767px) {
	.F1-Hero-Section,
	.F1-Hero-background {
		height: 157.43589743589743vw;
	}
	.F1-Hero-Section {
		align-items: flex-start;
		padding: 0 10px;
	}
	.F1-Hero-Section::after {
		height: 54.1025641025641vw;
	}
	.F1-Hero-content {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		margin: auto;
		padding: 0px;
		position: relative;
		text-align: center;
		width: 100%;
		z-index: 2;
	}
	*:not(.teaser) .F1-Hero-content,
	.teaser .F1-Hero-content {
		margin-top: 110px;
	}
	.teaser .F1-Hero-title > span:first-child {
		font-size: 26px;
		margin-bottom: 10px;
	}
	*:not(.teaser) .F1-Hero-title > span:first-child {
		font-size: 33px;
	}
	.teaser .F1-Hero-title > span:not(:first-child) {
		font-size: 44px;
	}
	*:not(.teaser) .F1-Hero-title > span:last-child {
		font-size: 20px;
	}
	.F1-Hero-Caution {
		--paddingR: 14px;
		--paddingTB: 10px;
		--font: 12px;
		line-height: 2;
		margin-left: var(--paddingLR);
		margin-right: var(--paddingLR);
		text-align: left;
	}
	.F1-Hero-title + .F1-Hero-Caution {
		margin-top: 12px;
	}
	.F1-Hero-Section .F1-Com-cta-button {
		display: none;
	}
	
	.F1-Hero-background img {
		object-position: center center;
	}

	.F1-Hero-title {
		align-items: center;
	}

	.F1-Hero-promo-banner {
		padding: 16px 10px 49px;
		position: relative;
		z-index: 2;
	}
	.F1-Hero-promo-banner::after {
		background: #777;
		content: "";
		height: 1px;
		position: absolute;
		left: 50%;
		bottom: 7px;
		width: 81.53846153846153vw;
		transform: translateX(-50%);
	}
	
	.F1-Hero-Description > p,
	.F1-Hero-promo-banner > p {
		line-height: 2;
		--font: 14px;
	}
	.F1-Hero-promo-banner > p > span {
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		font-size: 12px;
	}
	.F1-Com-cta-button + .F1-Hero-Description {
		margin-top: 57px;
	}
	.F1-Hero-Caution ~ .F1-Hero-Description {
		margin-top: 32px;
	}
	.F1-Hero-Description > p.main {
		--font: 18px;
		line-height: inherit;
	}
	.F1-Hero-Description > p.main > small {
		--font: 12px;
	}
	.teaser .F1-Hero-Description > p.main > small {
		margin-left: -0.33em;
	}
	*:not(.teaser) .F1-Hero-Description > p.main + p {
		margin-top: 5px;
	}
	.teaser .F1-Hero-Description > p.main + p {
		margin-top: 16px;
	}
	.F1-Hero-Description .VerticalBar {
		display: inline-block;
		width: 100%;
	}

	@media (orientation: landscape) {/* ======== 横向き */
		.F1-Hero-Section {
			max-height: 56.25vw;
		}
		.F1-Hero-Section::after {
			max-height: 37%;
		}
		.F1-Hero-content {
			height: auto;
			position: absolute;
			top: 35%;
			transform: translateY(-35%);
		}
		*:not(.teaser) .F1-Hero-content {
			margin-top: 0;
		}
		.F1-Hero-promo-banner {
			position: absolute;
			bottom: 0px;
			left: 0;
			padding: 0px var(--BasePaddingLR) 25px;
			z-index: 10;
		}
		.F1-Com-cta-button + .F1-Hero-Description {
			margin-top: 37px;
		}
		.F1-Hero-Description .VerticalBar {
			display: inline;
		}
		.F1-Hero-Description .VerticalBar::after {
			content: "｜";
		}
		.F1-Hero-Description .spOnly {
			display: none;
		}
	}
}
@media screen and (max-width: 389px) {
	*:not(.teaser) .F1-Hero-content,
	.teaser .F1-Hero-content {
		margin-top: calc(var(--vw1px) * 110);
	}
	.teaser .F1-Hero-title > span:first-child {
		font-size: calc(var(--vw1px) * 26);
		margin-bottom: calc(var(--vw1px) * 10);
	}
	*:not(.teaser) .F1-Hero-title > span:first-child {
		font-size: calc(var(--vw1px) * 33);
	}
	.teaser .F1-Hero-title > span:not(:first-child) {
		font-size: calc(var(--vw1px) * 44);
	}
	*:not(.teaser) .F1-Hero-title > span:last-child {
		font-size: calc(var(--vw1px) * 20);
	}
	.F1-Hero-Section {
		padding: 0 calc(var(--vw1px) * 10);
	}
	.F1-Hero-Caution {
		--paddingR: var(--vw1px) * 14;
		--paddingTB: calc(var(--vw1px) * 10);
		--font: calc(var(--vw1px) * 12);
	}
	.F1-Hero-title + .F1-Hero-Caution {
		margin-top: calc(var(--vw1px) * 12);
	}
	.F1-Hero-promo-banner {
		padding: calc(var(--vw1px) * 16) calc(var(--vw1px) * 10) calc(var(--vw1px) * 49);
	}
	.F1-Hero-promo-banner::after {
		bottom: calc(var(--vw1px) * 7);
	}
	.F1-Hero-Description > p,
	.F1-Hero-promo-banner > p {
		--font: calc(var(--vw1px) * 14);
	}
	.F1-Hero-promo-banner > p > span {
		font-size: calc(var(--vw1px) * 12);
	}

	.F1-Com-cta-button + .F1-Hero-Description {
		margin-top: calc(var(--vw1px) * 57);
	}
	.F1-Hero-Caution ~ .F1-Hero-Description {
		margin-top: calc(var(--vw1px) * 38);
	}
	.F1-Hero-Description > p.main {
		--font: calc(var(--vw1px) * 18);
	}
	.F1-Hero-Description > p.main > small {
		--font: calc(var(--vw1px) * 12);
	}
	*:not(.teaser) .F1-Hero-Description > p.main + p {
		margin-top: calc(var(--vw1px) * 5);
	}
	.teaser .F1-Hero-Description > p.main + p {
		margin-top: calc(var(--vw1px) * 16);
	}
}

/* ======== コースを選択 */
.F1-Overview-Section {
	background: #000;
	position: relative;
}

.F1-Overview-Section .F1-Overview-Grid {
	display: grid;
}

.F1-Overview-Grid .F1-Overview-Card {
	background-color: #292929;
	border: 1px solid #fff;
	border-radius: 24px;
	text-align: center;
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: visible;
	margin: 0 auto;
}

.F1-Overview-Grid .F1-Overview-Catchcopy {
	background: url(../../../../img/bundle/f1/register/BG-CatchcopyPC.svg) no-repeat center center;
	background-size: contain;
	color: #ffffff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 700;
	position: relative;
	max-width: 323px;
	min-height: 31px;
	width: 100%;
}
.F1-Overview-Grid .F1-Overview-Course {
	font-family: var(--fontNoteSans);
	font-weight: 500;
	color: #fff;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-flow: row nowrap;
}
.F1-Overview-Grid .F1-Overview-Course span {
	background: #9d8846;
	color: #fff;
	font-weight: 700;
	padding: 2px 10px;
}

.F1-Overview-Grid .F1-Overview-Price,
.F1-Overview-Grid .F1-Overview-Price > span {
	display: grid;
	grid-auto-flow: column;
	gap: 5px;
	justify-content: center;
	align-items: baseline;
}
.F1-Overview-Grid .F1-Overview-Price {
	font-family: var(--fontNoteSans);
	font-weight: 500;
	color: #fff;
}
.F1-Overview-Grid .F1-Overview-Price::before {
	content: var(--txt--yen);
}
.F1-Overview-Grid .F1-Overview-Price::after {
	color: rgba(255, 255, 255, 0.7);
	content: var(--txt--month);
	font-weight: 300;
	white-space: nowrap;
}
.F1-Overview-Grid .F1-Overview-Price > span::after {
	color: #fff;
	content: var(--txt--tax);
	font-weight: 300;
	margin: 0 -0.5em;
}

.F1-Overview-Grid .F1-Overview-Features {
	color: #fff;
	display: flex;
	flex-flow: column nowrap;
}
.F1-Overview-Grid .F1-Overview-Features:first-of-type {
	border-top: 1px solid #fff;
}
.F1-Overview-Grid .F1-Overview-Features > dt {
	display: flex;
	justify-content: center;
	text-align: center;
	position: relative;
}
.F1-Overview-Grid .F1-Overview-Features > dd {
	font-weight: 500;
	flex: 1;
	display: flex;
	flex-direction: column;
	letter-spacing: 0;
	margin: 0px;
	text-align: left;
}
.F1-Overview-Grid .F1-Overview-Features > dd > p {
	position: relative;
	line-height: 1.3;
}
.F1-Overview-Grid .F1-Overview-Features > dd > p > small {
	display: inline;
}
.F1-Overview-Grid .F1-Overview-Features > dd > p + p,
.F1-Overview-Grid .F1-Overview-Features > dd > p .Sub {
	margin-top: 5px;
}
.F1-Overview-Grid .F1-Overview-Features > dd > p:before {
	background: url(../../../../img/bundle/f1/register/icon-Checkbox.svg) no-repeat center center / contain;
	content: "";
	position: absolute;
	left: 0;
}
.F1-Overview-Grid .F1-Overview-Features > dd > p .Sub {
	display: inline-block;
	width: 100%;
	padding-left: 0.7em;
	position: relative;
}
.F1-Overview-Grid .F1-Overview-Features > dd > p .Sub::before {
	content: '-';
	position: absolute;
	left: 0;
}


.F1-Overview-Note {
	color: #8d8d8d;
	font-weight: 500;
	line-height: 1.5;
	margin: 0;
	text-align: center;
}
.F1-Accordion-Body .F1-Overview-Note {
	margin-bottom: 0;
}

.F1-Overview-Grid .F1-Com-cta-button {
	padding: 9px;
}

/* ======== FODプレミアムポイントMAX付帯コース */
.F1-Overview-Pointmax-Container {
	background-color: #161617;
	text-align: center;
}
.F1-Overview-Pointmax-Container .F1-Accordion-toggleContainer {
	width: 100%;
}

.F1-Overview-Pointmax-header {
	text-align: center;
}
.F1-Overview-Pointmax-header .F1-Overview-Pointmax-title {
	font-weight: 600;
	color: #fff;
}
.F1-Overview-Pointmax-header .F1-Overview-Pointmax-description {
	color: #8d8d8d;
}

@media (hover: hover) and (pointer: fine) {
	.F1-Overview-Grid .F1-Com-cta-button:not(.disabled):hover {
		background: #CA0023;
		box-shadow: 0 10px 25px rgba(234, 0, 30, 0.3);
		transform: translateY(-2px);
	}
}

@media screen and (min-width: 768px) {
	.F1-Overview-Section {
		padding: 58px 0 0;
	}
	.F1-Overview-Section .F1-Overview-Grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 25px;
		margin: 45px auto 0px;
	}
	.F1-Overview-Section .F1-Overview-Pointmax-header + .F1-Overview-Grid {
		margin-top: 30px;
	}
	.F1-Overview-Grid .F1-Overview-Card {
		padding: 27px 33px 35px;
		width: 100%;
	}
	.F1-Overview-Grid .F1-Overview-Card.js-scrollfade--show:nth-child(2) {
		transition-delay: var(--fadeDelay);
	}
	.F1-Overview-Grid .F1-Overview-Card.js-scrollfade--show:nth-child(3) {
		transition-delay: calc(var(--fadeDelay) * 1.5);
	}
	.F1-Overview-Grid .F1-Overview-Catchcopy {
		font-size: 16px;
		margin-bottom: 25px;
	}
	.F1-Overview-Grid .F1-Overview-Course {
		font-size: 28px;
	}
	.F1-Overview-Grid .F1-Overview-Course span {
		border-radius: 7px;
		font-size: 14px;
		margin-left: 5px;
	}
	.F1-Overview-Grid .F1-Overview-Price {
		font-size: 35px;
		margin-bottom: 28px;
	}
	.F1-Overview-Grid .F1-Overview-Price > span::after,
	.F1-Overview-Grid .F1-Overview-Price::after {
		font-size: 18px;
	}
	.F1-Overview-Grid .F1-Overview-Features + .F1-Overview-Features {
		margin-top: auto;
	}
	.F1-Overview-Grid .F1-Overview-Features:first-of-type {
		margin-bottom: 28px;
	}
	.F1-Overview-Grid .F1-Overview-Features:last-of-type {
		margin-bottom: 32px;
	}
	.F1-Overview-Grid .F1-Overview-Card:not(:first-of-type) .F1-Overview-Features:last-of-type {
		margin-top: auto;
	}
	.F1-Overview-Grid .F1-Overview-Card:not(:first-of-type) .F1-Com-cta-button {
		margin-top: 0;
	}
	.F1-Overview-Grid .F1-Overview-Features > dt:not(.fod) {
		padding-top: 26px;
		padding-bottom: 23px;
		min-height: 53px;
		box-sizing: content-box;
		align-items: center;
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.F1 img {
		width: 94px;
		height: 23px;
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.F1_TV_Pro img {
		width: 136px;
		height: 53px;
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.F1_TV_Premium img {
		width: 152px;
		height: 53px;
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.fod {
		padding-bottom: 21px;
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.fod img {
		max-height: 26px;
	}
	.F1-Overview-Grid .F1-Overview-Features > dd {
		padding: 0px 13px;
	}
	.F1-Overview-Grid .F1-Overview-Features > dd > p {
		font-size: 14px;
		padding-left: 20px;
	}
	.F1-Overview-Grid .F1-Overview-Features > dd > p small {
		font-size: 13px;
	}
	.F1-Overview-Grid .F1-Overview-Features > dd > p:before {
		top: 4px;
		height: 11px;
		width: 16px;
	}
	.F1-Overview-Note {
		font-size: 15px;
		margin: 40px 0 30px;
	}
	.F1-Overview-Pointmax-Container .F1-Accordion-toggleContainer {
		padding: 27px var(--BasePaddingLR);
	}
	.F1-Overview-Pointmax-Container .F1-Accordion-Container.active .F1-Accordion-Body {
		padding-top: 39px;
		padding-bottom: 94px;
	}
	.F1-Overview-Pointmax-header .F1-Overview-Pointmax-title {
		font-size: 24px;
		margin-bottom: 14px;
	}
	.F1-Overview-Pointmax-header .F1-Overview-Pointmax-description {
		font-size: 20px;
	}
}
@media screen and (max-width: 1160px) and (min-width: 768px) {
	.F1-Overview-Section {
		--vw1px: 0.08620689655172414vw;
	}
	.F1-Overview-Section .F1-Overview-Grid {
		gap: calc(var(--vw1px) * 25);
	}
	.F1-Overview-Grid .F1-Overview-Card {
		padding: calc(var(--vw1px) * 27) calc(var(--vw1px) * 20) calc(var(--vw1px) * 35);
	}
	.F1-Overview-Grid .F1-Overview-Catchcopy {
		font-size: calc(var(--vw1px) * 16);
		margin-bottom: calc(var(--vw1px) * 25);
	}
	.F1-Overview-Grid .F1-Overview-Course {
		font-size: calc(var(--vw1px) * 28);
	}
	.F1-Overview-Grid .F1-Overview-Course span {
		font-size: calc(var(--vw1px) * 14);
		padding: 2px calc(var(--vw1px) * 10);
		margin-left: calc(var(--vw1px) * 5);
	}
	.F1-Overview-Grid .F1-Overview-Price {
		font-size: calc(var(--vw1px) * 35);
		margin-bottom: calc(var(--vw1px) * 28);
	}
	.F1-Overview-Grid .F1-Overview-Price > span::after,
	.F1-Overview-Grid .F1-Overview-Price::after {
		font-size: calc(var(--vw1px) * 18);
	}
	.F1-Overview-Grid .F1-Overview-Features:first-of-type {
		margin-bottom: calc(var(--vw1px) * 28);
	}
	.F1-Overview-Grid .F1-Overview-Features:last-of-type {
		margin-bottom: calc(var(--vw1px) * 32);
	}
	.F1-Overview-Grid .F1-Overview-Features > dt:not(.fod) {
		padding-top: calc(var(--vw1px) * 26);
		padding-bottom: calc(var(--vw1px) * 23);
		min-height: calc(var(--vw1px) * 53);
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.F1 img {
		width: calc(var(--vw1px) * 94);
		height: calc(var(--vw1px) * 23);
		margin-bottom: calc(var(--vw1px) * 4);
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.F1_TV_Pro img {
		width: calc(var(--vw1px) * 136);
		height: calc(var(--vw1px) * 53);
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.F1_TV_Premium img {
		width: calc(var(--vw1px) * 152);
		height: calc(var(--vw1px) * 53);
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.fod {
		padding-bottom: calc(var(--vw1px) * 21);
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.F1 img {
		max-height: calc(var(--vw1px) * 70);
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.fod img {
		max-height: calc(var(--vw1px) * 26);
	}
	.F1-Overview-Grid .F1-Overview-Features > dd {
		padding: 0px calc(var(--vw1px) * 10);
	}
	.F1-Overview-Grid .F1-Overview-Features > dd > p {
		font-size: calc(var(--vw1px) * 14);
		padding-left: calc(var(--vw1px) * 20);
	}
	.F1-Overview-Grid .F1-Overview-Features > dd > p small {
		font-size: calc(var(--vw1px) * 13);
	}
	.F1-Overview-Grid .F1-Overview-Features > dd > p:before {
		top: calc(var(--vw1px) * 5);
		height: calc(var(--vw1px) * 11);
		width: calc(var(--vw1px) * 16);
	}
	.F1-Overview-Note {
		font-size: calc(var(--vw1px) * 15);
		margin: calc(var(--vw1px) * 40) 0 calc(var(--vw1px) * 30);
	}
	.F1-Overview-Pointmax-Container .F1-Accordion-toggleContainer {
		padding: calc(var(--vw1px) * 27) calc(var(--vw1px) * 20);
	}
	.F1-Overview-Pointmax-Container .F1-Accordion-Container.active .F1-Accordion-Body {
		padding-top: calc(var(--vw1px) * 39);
		padding-bottom: calc(var(--vw1px) * 94);
	}
	.F1-Overview-Pointmax-header .F1-Overview-Pointmax-title {
		font-size: calc(var(--vw1px) * 24);
		margin-bottom: calc(var(--vw1px) * 14);
	}
	.F1-Overview-Pointmax-header .F1-Overview-Pointmax-description {
		font-size: calc(var(--vw1px) * 20);
	}
}
@media screen and (max-width: 1120px) and (min-width: 768px) {
	.F1-Overview-Grid .F1-Overview-Card.champion-pointmax {
		letter-spacing: -0.8px;
	}
}
@media screen and (max-width: 767px) {
	.F1-Overview-Section {
		padding: 27px 0 0;
	}
	.F1-Overview-Section .F1-Overview-Grid {
		grid-template-columns: 1fr;
		gap: 30px;
		margin: 0px auto 0px;
	}
	.F1-Overview-Grid .F1-Overview-Card {
		padding: 20px 34px;
		width: 100%;
		max-width: 390px;
	}
	.F1-Overview-Grid .F1-Overview-Catchcopy {
		font-size: 14px;
		margin-bottom: 10px;
	}
	.F1-Overview-Grid .F1-Overview-Course {
		font-size: 22px;
	}
	.F1-Overview-Grid .F1-Overview-Price {
		font-size: 24px;
		margin-bottom: 15px;
	}
	.F1-Overview-Grid .F1-Overview-Course span {
		border-radius: 6px;
		font-size: 12px;
		margin-left: 7px;
	}
	.F1-Overview-Grid .F1-Overview-Price > span::after,
	.F1-Overview-Grid .F1-Overview-Price::after {
		font-size: 12px;
	}
	.F1-Overview-Grid .F1-Overview-Features:first-of-type {
		margin-bottom: 19px;
	}
	.F1-Overview-Grid .F1-Overview-Features:last-of-type {
		margin-bottom: 21px;
	}
	.F1-Overview-Grid .F1-Overview-Features > dt:not(.fod) {
		padding-top: 21px;
		padding-bottom: 17px;
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.F1 img {
		width: 70px;
		height: 17px;
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.F1_TV_Pro img {
		width: 110px;
		height: 43px;
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.F1_TV_Premium img {
		width: 123px;
		height: 43px;
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.fod {
		padding-bottom: 14px;
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.fod img {
		max-height: 22px;
	}
	.F1-Overview-Grid .F1-Overview-Features > dd {
		padding: 0px 10px;
	}
	.F1-Overview-Grid .F1-Overview-Features > dd > p {
		font-size: 12px;
		padding-left: 19px;
	}
	.F1-Overview-Grid .F1-Overview-Features > dd > p:before {
		top: 3px;
		height: 9px;
		width: 13px;
	}
	.F1-Overview-Note {
		font-size: 12px;
		text-align: left;
		margin: 30px 0;
	}
	.F1-Overview-Pointmax-Container .F1-Accordion-toggleContainer {
		padding: 23px var(--BasePaddingLR);
	}
	.F1-Overview-Pointmax-Container .F1-Accordion-Container.active .F1-Accordion-Body {
		padding-top: 12px;
		padding-bottom: 64px;
	}
	.F1-Overview-Pointmax-header .F1-Overview-Pointmax-title {
		font-size: 20px;
		margin-bottom: 14px;
	}
	.F1-Overview-Pointmax-header .F1-Overview-Pointmax-description {
		font-size: 14px;
	}
}
@media screen and (max-width: 389px) {
	.F1-Overview-Section {
		--BasePaddingLR: calc(var(--vw1px) * 35);
		padding: calc(var(--vw1px) * 27) 0 0;
	}
	.F1-Overview-Section .F1-Overview-Grid {
		gap: calc(var(--vw1px) * 30);
	}
	.F1-Overview-Grid .F1-Overview-Card {
		padding: calc(var(--vw1px) * 20) calc(var(--vw1px) * 34);
	}
	.F1-Overview-Grid .F1-Overview-Catchcopy {
		font-size: calc(var(--vw1px) * 14);
		margin-bottom: calc(var(--vw1px) * 10);
	}
	.F1-Overview-Grid .F1-Overview-Course {
		font-size: calc(var(--vw1px) * 22);
	}
	.F1-Overview-Grid .F1-Overview-Price {
		font-size: calc(var(--vw1px) * 24);
		margin-bottom: calc(var(--vw1px) * 15);
	}
	.F1-Overview-Grid .F1-Overview-Course span {
		font-size: calc(var(--vw1px) * 12);
		margin-left: calc(var(--vw1px) * 7);
	}
	.F1-Overview-Grid .F1-Overview-Price > span::after,
	.F1-Overview-Grid .F1-Overview-Price::after {
		font-size: calc(var(--vw1px) * 12);
	}
	.F1-Overview-Grid .F1-Overview-Features:first-of-type {
		margin-bottom: calc(var(--vw1px) * 19);
	}
	.F1-Overview-Grid .F1-Overview-Features:last-of-type {
		margin-bottom: calc(var(--vw1px) * 21);
	}
	.F1-Overview-Grid .F1-Overview-Features > dt:not(.fod) {
		padding-top: calc(var(--vw1px) * 21);
		padding-bottom: calc(var(--vw1px) * 17);
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.F1 img {
		width: calc(var(--vw1px) * 70);
		height: calc(var(--vw1px) * 17);
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.F1_TV_Pro img {
		width: calc(var(--vw1px) * 110);
		height: calc(var(--vw1px) * 43);
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.F1_TV_Premium img {
		width: calc(var(--vw1px) * 123);
		height: calc(var(--vw1px) * 43);
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.fod {
		padding-bottom: calc(var(--vw1px) * 14);
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.F1 img {
		max-height: calc(var(--vw1px) * 43);
	}
	.F1-Overview-Grid .F1-Overview-Features > dt.fod img {
		max-height: calc(var(--vw1px) * 22);
	}
	.F1-Overview-Grid .F1-Overview-Features > dd {
		padding: 0px calc(var(--vw1px) * 10);
	}
	.F1-Overview-Grid .F1-Overview-Features > dd > p {
		font-size: calc(var(--vw1px) * 12);
		padding-left: calc(var(--vw1px) * 19);
	}
	.F1-Overview-Grid .F1-Overview-Features > dd > p:before {
		height: calc(var(--vw1px) * 9);
		width: calc(var(--vw1px) * 13);
	}
	.F1-Overview-Note {
		font-size: calc(var(--vw1px) * 12);
		margin: calc(var(--vw1px) * 30) 0;
	}
	.F1-Overview-Pointmax-Container .F1-Accordion-toggleContainer {
		padding: calc(var(--vw1px) * 23) var(--BasePaddingLR);
	}
	.F1-Overview-Pointmax-Container .F1-Accordion-Container.active .F1-Accordion-Body {
		padding-top: calc(var(--vw1px) * 12);
		padding-bottom: calc(var(--vw1px) * 64);
	}
	.F1-Overview-Pointmax-header .F1-Overview-Pointmax-title {
		font-size: calc(var(--vw1px) * 20);
		margin-bottom: calc(var(--vw1px) * 14);
	}
	.F1-Overview-Pointmax-header .F1-Overview-Pointmax-description {
		font-size: calc(var(--vw1px) * 14);
	}
}

/* ======== 共通 Accordion */
.F1-Accordion-Container {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease;
}

.F1-Accordion-Container.active {
	max-height: 3000px;
}

.F1-Accordion-toggle {
	color: #ccc;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.3s ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}
.F1-Accordion-toggle span {
	text-decoration: underline;
}

@media (hover: hover) and (pointer: fine) {
	.F1-Accordion-toggle:hover {
		opacity: 0.7;
	}
}

.F1-Accordion-toggle span::after {
	content: "▼";
	display: inline-block;
	line-height: 1;
	transition: transform 0.3s ease;
}

.F1-Accordion-toggle.active span::after {
	transform: rotate(180deg) translateY(-1px);
}
@media screen and (min-width: 768px) {
	.F1-Accordion-toggle br {
		display: none;
	}
	.F1-Accordion-toggle span {
		font-size: 18px;
	}
}
@media screen and (max-width: 950px) and (min-width: 768px) {
	.F1-Accordion-toggle span {
		font-size: calc(var(--vw1pxBase950) * 18);
	}
}
@media screen and (max-width: 767px) {
	.F1-Accordion-toggle span {
		font-size: 12px;
	}
}
@media screen and (max-width: 389px) {
	.F1-Accordion-toggle span {
		font-size: calc(var(--vw1px) * 12);
	}
}

/* ======== コース詳細比較 */
.F1-Comparison-Section {
	background: #000;
	color: #fff;
}

.F1-Comparison-Container {
	overflow-x: auto;
	background: rgba(255, 255, 255, 0.05);
	backdrop-filter: blur(10px);
}

.F1-Comparison-table {
	width: 100%;
	border-collapse: collapse;
	overflow: hidden;
}

.F1-Comparison-table th,
.F1-Comparison-table td {
	text-align: center;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	position: relative;
	vertical-align: middle;
	letter-spacing: calc(var(--TFontS) * 0.05);
}

.F1-Comparison-table th {
	background: linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 100%);
	font-size: var(--TFontS);
	font-weight: 700;
	color: #fff;
	white-space: nowrap;
}

.F1-Comparison-table th:first-of-type {
	background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
	font-weight: 600;
}

.F1-Comparison-table th span.price,
.F1-Comparison-table th span.price > span {
	display: grid;
	justify-content: center;
	align-items: baseline;
	font-size: var(--TPriceFontS);
	font-weight: 400;
	letter-spacing: calc(var(--TPriceFontS) * 0.05);
}
.F1-Comparison-table th span.price > span {
	grid-auto-flow: column;
}

.F1-Comparison-table td {
	font-size: var(--TFontS);
}
.F1-Comparison-table td:first-of-type {
	font-weight: 500;
	background: #1a1b1a;
}
.F1-Comparison-table td:first-of-type span {
	width: auto;
	display: inline-block;
}

.F1-Comparison-table td.included {
	color: #ffffff;
	font-weight: 600;
}

.F1-Comparison-table td.excluded {
	font-weight: 400;
}

.F1-Comparison-table td small {
	display: block;
	font-size: var(--TSmallFontS);
	letter-spacing: calc(var(--TSmallFontS) * 0.05);
	margin-top: 4px;
}
.F1-Comparison-Note,
.F1-Comparison-Caution {
	font-size: var(--NoteFontS);
	letter-spacing: calc(var(--NoteFontS) * 0.05);
}
.F1-Comparison-Caution {
	color: var(--redFf2e2e);
}
.F1-Comparison-Caution a {
	text-decoration: underline;
	color: inherit;
}

@media screen and (max-width: 800px) {
	.F1-Comparison-Section .F1-ComSection-title br {
		display: inline;
	}
}
@media screen and (min-width: 768px) {
	.F1-Comparison-Section {
		padding: 95px 0 79px;
	}
	.F1-Comparison-Container {
		border-radius: 20px;
		border: 1px solid rgba(255, 255, 255, 0.1);
		margin: 48px 0 0px;
	}
	.F1-Comparison-table th,
	.F1-Comparison-table td {
		padding: 20px 15px;
	}
	.F1-Comparison-table th,
	.F1-Comparison-table td {
		--TFontS: 18px;
	}
	.F1-Comparison-table td.excluded {
		--TFontS: 22px;
	}
	.F1-Comparison-table th span.price {
		--TPriceFontS: 14px;
		margin-top: 6px;
	}
	.F1-Comparison-table td:first-of-type span {
		--komeFontS: 12px;
		font-size: var(--komeFontS);
		margin-left: 4px;
		margin-top: calc(var(--komeFontS) / 2 * -0.5);
		vertical-align: top;
	}
	.F1-Comparison-table td small {
		--TSmallFontS: 13px;
	}

	.F1-Comparison-Note,
	.F1-Comparison-Caution {
		font-weight: 700;
		--NoteFontS: 17px;
		margin-top: 30px;
		text-align: center;
	}
}
@media screen and (max-width: 870px) and (min-width: 768px) {
	.F1-Comparison-Section {
		--vw1px: 0.11494252873563218vw;
		padding: calc(var(--vw1px) * 95) 0 calc(var(--vw1px) * 79);
	}
	.F1-Comparison-table th,
	.F1-Comparison-table td {
		padding: calc(var(--vw1px) * 20) calc(var(--vw1px) * 15);
	}
	.F1-Comparison-table th {
		--TFontS: calc(var(--vw1px) * 18);
	}
	.F1-Comparison-table td {
		--TFontS: calc(var(--vw1px) * 16);
	}
	.F1-Comparison-table td.excluded {
		--TFontS: calc(var(--vw1px) * 22);
	}
	.F1-Comparison-table th span.price {
		--TPriceFontS: calc(var(--vw1px) * 14);
		margin-top: calc(var(--vw1px) * 6);
	}
	.F1-Comparison-table td:first-of-type span {
		--komeFontS: calc(var(--vw1px) * 12);
		margin-left: calc(var(--vw1px) * 4);
	}
	.F1-Comparison-table td small {
		--TSmallFontS: calc(var(--vw1px) * 13);
	}
	.F1-Comparison-Note,
	.F1-Comparison-Caution {
		--NoteFontS: calc(var(--vw1px) * 15);
		margin-top: calc(var(--vw1px) * 29);
	}
}
@media screen and (max-width: 870px) {
	.F1-Comparison-table span.course {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.F1-Comparison-Section {
		--BasePaddingLR: 0px;
		--ThTdPaddingLR: 14px;
		padding: 61px 0 34px;
	}
	.F1-Comparison-Container {
		border-radius: 0;
	}
	.F1-Comparison-table {
		border: none;
	}
	.F1-Comparison-table th {
		padding: 10px var(--ThTdPaddingLR);
		--TFontS: 10px;
	}
	.F1-Comparison-table th:first-of-type {
		background: #000;
		font-size: 0;
	}
	.F1-Comparison-table th span.price {
		--TPriceFontS: 9px;
		margin-top: 4px;
	}
	.F1-Comparison-table tbody tr:nth-of-type(n + 4) td:first-of-type {
		background: #343434;
	}
	.F1-Comparison-table td {
		--TFontS: 12px;
		padding: 16px var(--ThTdPaddingLR);
		z-index: 1;
	}
	.F1-Comparison-table td.excluded {
		--TFontS: 14px;
	}
	.F1-Comparison-table td:first-of-type {
		text-align: left;
	}
	.F1-Comparison-table td small {
		--TSmallFontS: 10px;
	}
	.F1-Comparison-Note,
	.F1-Comparison-Caution {
		--NoteFontS: 12px;
		padding: 14px var(--ThTdPaddingLR) 0;
	}
	.parentheses {
		--marginLR: -0.53em;
		margin-left: var(--marginLR);
		margin-right: var(--marginLR);
	}
}
@media screen and (min-width: 461px) {
	.F1-Comparison-table th span.price {
		grid-auto-flow: column;
	}
	.F1-Comparison-table th span.price::before {
		content: var(--txt--yen);
	}
	.F1-Comparison-table th span.price::after {
		content: var(--txt--month);
	}
	.F1-Comparison-table th span.price > span::after {
		content: var(--txt--tax);
		margin: 0 -0.5em;
	}
}
@media screen and (max-width: 460px) {
	.F1-Comparison-table th span.price {
		grid-template-areas: "yen price""tax tax";
	}
	.F1-Comparison-table th span.price::before {
		content: var(--txt--yen);
		grid-area: yen;
	}
	.F1-Comparison-table th span.price::after {
		content: var(--txt--tax);
		grid-area: tax;
		margin: 0 -0.5em;
	}
	.F1-Comparison-table th span.price > span {
		grid-area: price;
	}
	.F1-Comparison-table th span.price > span::after {
		content: var(--txt--month);
	}
}
@media screen and (max-width: 429px) {
	.F1-Comparison-Section {
		--ThTdPaddingLR: calc(var(--vw1px) * 8);
	}
}
@media screen and (max-width: 389px) {
	.F1-Comparison-Section {
		padding: calc(var(--vw1px) * 61) 0 calc(var(--vw1px) * 34);
	}
	.F1-Comparison-table th {
		padding: calc(var(--vw1px) * 10) var(--ThTdPaddingLR);
		--TFontS: calc(var(--vw1px) * 10);
	}
	.F1-Comparison-table th span.price {
		--TPriceFontS: calc(var(--vw1px) * 9);
		margin-top: calc(var(--vw1px) * 4);
	}
	.F1-Comparison-table td {
		--TFontS: calc(var(--vw1px) * 12);
		padding: calc(var(--vw1px) * 16) var(--ThTdPaddingLR);
	}
	.F1-Comparison-table td.excluded {
		--TFontS: calc(var(--vw1px) * 14);
	}
	.F1-Comparison-table td small {
		--TSmallFontS: calc(var(--vw1px) * 10);
	}
	.F1-Comparison-Note,
	.F1-Comparison-Caution {
		--NoteFontS: calc(var(--vw1px) * 12);
		padding: calc(var(--vw1px) * 14) var(--ThTdPaddingLR) 0;
	}
}

/* ======== 日本初F1TVと連携 */
.F1-F1TV-Section {
	background: #f5f5f7;
	overflow: hidden;
}
.F1-F1TV-Section .F1-ComSection-title {
	color: #101010;
	display: flex;
	align-items: center;
	flex-flow: row nowrap;
	white-space: nowrap;
}
.F1-F1TV-Section .F1-ComSection-title span {
	display: flex;
	align-items: center;
	justify-content: center;
}
.F1-F1TV-Section .F1-ComSection-title span img {
	height: 100%;
}
.F1-F1TV-Section .F1-ComSection-description {
	color: #454545;
}

.swiper-f1tv .swiper-pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
	background: #1c1c1c;
}

.F1-F1TV-features-list {
	display: grid;
	width: 100%;
}

.F1-F1TV-features-list .swiper-slide {
	display: flex;
	flex-flow: column nowrap;
	justify-content: flex-start;
	align-items: center;
	text-align: center;
	background: #292929;
	border-radius: 16px;
}

.F1-F1TV-features-list figure {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	margin: 0 auto;
}
.F1-F1TV-features-list figure span {
	width: 100%;
	margin: auto;
	max-width: 288px;
}
.F1-F1TV-features-list figure img {
	overflow: hidden;
	height: 100%;
	width: 100%;
	object-fit: contain;
	transition: transform 0.3s ease;
}
.F1-F1TV-feature-tag {
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	margin-top: 24px;
}
.F1-F1TV-feature-tag li + li {
	margin-left: 8px;
}
.F1-F1TV-feature-tag li {
	background: #4f4f4f;
	border-radius: 4px;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 9px;
	font-weight: 600;
	padding: 3px 7px;
}
.F1-F1TV-feature-title {
	color: #ffffff;
	font-weight: 700;
}
.F1-F1TV-feature-description {
	color: #ccc;
}


@media screen and (min-width: 768px) {
	.F1-F1TV-Section {
		padding: 98px 0 142px;
	}
	.F1-F1TV-Section .F1-ComSection-title span {
		height: 37px;
		margin-left: 18px;
		margin-right: 20px;
	}
	.F1-F1TV-features-list {
		grid-template-columns: repeat(3, 1fr);
		gap: 32px 40px;
		margin: 36px auto 0;
		padding: 0px;
	}
	.F1-F1TV-features-list .swiper-slide {
		padding: 37px 30px;
	}
	.F1-F1TV-features-list .swiper-slide.js-scrollfade--show:nth-child(2),
	.F1-F1TV-features-list .swiper-slide.js-scrollfade--show:nth-child(5) {
		transition-delay: var(--fadeDelay);
	}
	.F1-F1TV-features-list .swiper-slide.js-scrollfade--show:nth-child(3),
	.F1-F1TV-features-list .swiper-slide.js-scrollfade--show:last-child {
		transition-delay: calc(var(--fadeDelay) * 1.5);
	}
	
	.F1-F1TV-feature-title {
		font-size: 18px;
		margin-top: 17px;
	}
	.F1-F1TV-feature-description {
		font-size: 14px;
		margin-top: 19px;
	}
	.F1-F1TV-Section .swiper-pagination {
		display: none;
	}
}

@media screen and (max-width: 1110px) and (min-width: 768px) {
	.F1-F1TV-Section {
		--vw1px: 0.09009009009009009vw;
		padding: calc(var(--vw1px) * 98) 0 calc(var(--vw1px) * 142);
	}
	.F1-F1TV-Section .F1-ComSection-title span {
		height: calc(var(--vw1px) * 37);
		margin-left: calc(var(--vw1px) * 18);
		margin-right: calc(var(--vw1px) * 20);
	}
	.F1-F1TV-features-list {
		gap: calc(var(--vw1px) * 32) calc(var(--vw1px) * 40);
		margin-top: calc(var(--vw1px) * 36);
	}
	.F1-F1TV-features-list .swiper-slide {
		padding: calc(var(--vw1px) * 37) calc(var(--vw1px) * 30);
	}
	.F1-F1TV-feature-title {
		font-size: calc(var(--vw1px) * 18);
		margin-top: calc(var(--vw1px) * 17);
	}
	.F1-F1TV-feature-description {
		font-size: calc(var(--vw1px) * 14);
		margin-top: calc(var(--vw1px) * 19);
	}
}

@media screen and (max-width: 767px) {
	.F1-F1TV-Section {
		padding: 47px 0 34px;
	}
	.F1-F1TV-features-list {
		grid-auto-flow: column;
	}
	.F1-F1TV-Section .F1-ComSection-title span {
		height: 22px;
		margin-left: 9px;
		margin-right: 10px;
	}
	
	.swiper-f1tv {
		max-width: 390px;
	}
	.F1-F1TV-features-list .swiper-slide {
		padding: 31px 30px;
	}
	
	.F1-F1TV-feature-title {
		font-size: 20px;
		margin-top: 17px;
	}
	.F1-F1TV-feature-description {
		font-size: 16px;
		margin-top: 14px;
	}
}
@media screen and (max-width: 389px) {
	.F1-F1TV-Section {
		padding: calc(var(--vw1px) * 47) 0 calc(var(--vw1px) * 34);
	}
	.F1-F1TV-Section .F1-ComSection-title span {
		height: calc(var(--vw1px) * 22);
		margin-left: calc(var(--vw1px) * 9);
		margin-right: calc(var(--vw1px) * 10);
	}
	.F1-F1TV-features-list .swiper-slide {
		padding: calc(var(--vw1px) * 31) calc(var(--vw1px) * 30);
	}
	.F1-F1TV-feature-title {
		font-size: calc(var(--vw1px) * 20);
		margin-top: calc(var(--vw1px) * 17);
	}
	.F1-F1TV-feature-description {
		font-size: calc(var(--vw1px) * 16);
		margin-top: calc(var(--vw1px) * 14);
	}
}


/* ======== 料金プラン一覧 */
.F1-Pricing-Section {
	background: #0f0f0f;
}
.F1-Pricing-list {
	max-width: 870px;
}
.F1-Pricing-row {
	background: #292929;
	border-radius: 12px;
	border: 1px solid #777777;
	align-items: center;
	transition: all 0.3s ease;
	margin: 0 auto;
}
.F1-Pricing-row .F1-plan-name {
	display: flex;
	flex-flow: column nowrap;
	font-weight: 500;
	color: #fff;
}
.F1-Pricing-row .F1-plan-name > span:first-of-type {
	font-weight: 800;
}
.F1-Pricing-row .F1-plan-price,
.F1-Pricing-row .F1-plan-price > span {
	color: #fff;
	display: flex;
	align-items: baseline;
	flex-flow: row nowrap;
	font-weight: 500;
}
.F1-Pricing-row .F1-plan-price::before {
	content: var(--txt--yen);
}
.F1-Pricing-row .F1-plan-price::after {
	color: #aaa;
	content: var(--txt--month);
}
.F1-Pricing-row .F1-plan-price > span::after {
	content: var(--txt--tax);
	margin-right: -0.17em;
}
.F1-Pricing-row .F1-Com-cta-button {
	--btnFontS: 14px;
}
.F1-Pricing-Accordion-toggleContainer {
	text-align: center;
}

@media (hover: hover) and (pointer: fine) {
	.F1-Pricing-row:hover {
		border-color: rgba(234, 1, 30, 0.3);
		box-shadow: 0 8px 25px rgba(234, 1, 30, 0.1);
	}
}

@media screen and (min-width: 768px) {
	.F1-Pricing-Section {
		padding: 94px 0 40px;
	}
	.F1-Pricing-list {
		margin: 0 auto 0;
	}
	.F1-Pricing-list:not(.F1-Accordion-Body) {
		margin-top: 51px;
	}
	.F1-Pricing-row {
		display: grid;
		grid-auto-flow: column;
		grid-template-columns: 1fr auto auto;
		gap: 27px;
		padding: 15px 14px 15px 30px;
	}
	.F1-Pricing-row + .F1-Pricing-row {
		margin-top: 14px;
	}
	.F1-Pricing-row .F1-plan-name > span:first-of-type {
		font-size: 18px;
	}
	.F1-Pricing-row .F1-plan-name > span:last-of-type {
		font-size: 16px;
	}
	.F1-Pricing-row .F1-plan-price {
		font-size: 18px;
	}
	.F1-Pricing-row .F1-plan-price > span::after,
	.F1-Pricing-row .F1-plan-price::after {
		font-size: 14px;
	}
	.F1-Pricing-row .F1-Com-cta-button {
		min-width: 178px;
		min-height: 38px;
	}
	.F1-Pricing-Accordion-toggleContainer {
		margin: 39px 0;
	}
}
@media screen and (max-width: 767px) {
	.F1-Pricing-Section {
		padding: 49px 0 0px;
	}
	.F1-Pricing-row {
		display: flex;
		justify-content: center;
		flex-flow: column nowrap;
		text-align: center;
		padding: 14px 6px;
		max-width: 390px;
	}
	.F1-Pricing-row + .F1-Pricing-row {
		margin-top: 10px;
	}
	.F1-Pricing-row .F1-plan-name > span:first-of-type {
		font-size: 14px;
	}
	.F1-Pricing-row .F1-plan-name > span:last-of-type {
		font-size: 12px;
	}
	.F1-Pricing-row .F1-plan-price {
		font-size: 18px;
		margin-top: 1px;
	}
	.F1-Pricing-row .F1-plan-price > span::after,
	.F1-Pricing-row .F1-plan-price::after {
		font-size: 12px;
	}
	.F1-Pricing-row .F1-Com-cta-button {
		margin-top: 6px;
		padding: 5px 10px;
		max-width: 280px;
		width: 100%;
	}
	.F1-Pricing-Pointmax-Container {
		background: #161617;
		margin-top: 29px;
	}
	.F1-Pricing-Accordion-toggleContainer {
		padding: 22px 0;
	}
	.F1-Pricing-Pointmax-Container .F1-Accordion-Body {
		padding-bottom: 50px;
	}
}
@media screen and (max-width: 389px) {
	.F1-Pricing-Section {
		padding: calc(var(--vw1px) * 49) 0 0;
	}
	.F1-Pricing-row {
		padding: calc(var(--vw1px) * 14) calc(var(--vw1px) * 6);
	}
	.F1-Pricing-row + .F1-Pricing-row {
		margin-top: calc(var(--vw1px) * 10);
	}
	.F1-Pricing-row .F1-plan-name > span:first-of-type {
		font-size: calc(var(--vw1px) * 14);
	}
	.F1-Pricing-row .F1-plan-name > span:last-of-type {
		font-size: calc(var(--vw1px) * 12);
	}
	.F1-Pricing-row .F1-plan-price {
		font-size: calc(var(--vw1px) * 18);
	}
	.F1-Pricing-row .F1-plan-price > span::after,
	.F1-Pricing-row .F1-plan-price::after {
		font-size: calc(var(--vw1px) * 12);
	}
	.F1-Pricing-Pointmax-Container {
		margin-top: calc(var(--vw1px) * 29);
	}
	.F1-Pricing-Accordion-toggleContainer {
		padding: calc(var(--vw1px) * 22) 0;
	}
	.F1-Pricing-Pointmax-Container .F1-Accordion-Body {
		padding-bottom: calc(var(--vw1px) * 50);
	}
}

/* ======== FODプレミアムも一緒に楽しめる */
.F1-fod-premium-Section {
	background: #f5f5f7;
	color: #fff;
	overflow: hidden;
}
.F1-fod-premium-Section .F1-ComSection-title {
	color: #101010;
}
.F1-fod-premium-Section .F1-ComSection-description {
	color: #454545;
}

.swiper-fod-premium {
	position: relative;
}
.swiper-fod-premium .swiper-wrapper {
	display: grid;
	grid-auto-flow: column;
	align-items: stretch;
}
.swiper-fod-premium .swiper-slide {
	display: grid;
	overflow: hidden;
}
.swiper-fod-premium .swiper-slide .F1-fod-premium-title {
	grid-area: title;
	font-size: calc(var(--premiumTitlefontS));
	font-weight: 700;
	letter-spacing: calc(var(--premiumTitlefontS) * 0.05);
}
.swiper-fod-premium .swiper-slide .F1-fod-premium-description {
	grid-area: desc;
	font-size: calc(var(--premiumDescfontS));
	font-weight: 500;
	letter-spacing: calc(var(--premiumDescfontS) * 0.05);
}
.swiper-fod-premium .swiper-slide figure {
	grid-area: img;
	line-height: 1;
	position: relative;
	z-index: 1;
	max-width: 444px;
}
.swiper-fod-premium .swiper-slide figure img {
	width: 100%;
}
@media screen and (min-width: 768px) {
	.F1-fod-premium-Section {
		--swiperFPGap: 20px;
		--BaseMaxW: calc(1240px + (var(--swiperFPGap) + var(--SwiperArrowSize)) * 2);
		padding: 80px 0 120px;
	}
	.swiper-fod-premium {
		display: grid;
		grid-template-areas: 
			"prev slider next"
		;
		gap: 0 var(--swiperFPGap);
		margin-top: 54px;
	}
	.swiper-fod-premium .swiper-arrow-prev {
		grid-area: prev;
	}
	.swiper-fod-premium .swiper-arrow-next {
		grid-area: next;
	}
	.swiper-fod-premium .swiper-ComContainer {
		grid-area: slider;
		overflow: hidden;
	}
	.swiper-fod-premium .swiper-slide {
		--swiperPadding: 90px;
		background: #121217;
		grid-template-rows: 1fr 1fr;
		gap: 25px 86px;
		justify-content: center;
		padding: var(--swiperPadding);
	}
	.swiper-fod-premium .swiper-slide:not(.magazine) {
		align-items: center;
	}
	.swiper-fod-premium .swiper-slide:not(.FODfriday) {
		grid-template-areas: 
			"title img"
			"desc img"
		;
	}
	.swiper-fod-premium .swiper-slide.FODfriday {
		grid-template-areas: 
			"img title"
			"img desc"
		;
	}
	.swiper-fod-premium .swiper-slide .F1-fod-premium-title,
	.swiper-fod-premium .swiper-slide .F1-fod-premium-description {
		max-width: 486px;
	}
	.swiper-fod-premium .swiper-slide .F1-fod-premium-title {
		--premiumTitlefontS: 43px;
		margin-top: auto;
	}
	.swiper-fod-premium .swiper-slide .F1-fod-premium-description {
		--premiumDescfontS: 22px;
		margin-bottom: auto;
	}
	.swiper-fod-premium .swiper-slide.magazine figure {
		display: flex;
		margin-bottom: calc(var(--swiperPadding) * -1);
	}
	.swiper-fod-premium .swiper-slide figure::after {
		background: url(../../../../img/bundle/f1/register/grad-ellipse.svg) no-repeat center center / contain;
		content: "";
		position: absolute;
		--posi: -35%;
		top: var(--posi);
		bottom: var(--posi);
		left: var(--posi);
		right: var(--posi);
		z-index: -1;
	}
}
@media screen and (max-width: 1330px) and (min-width: 768px) {
	.F1-fod-premium-Section {
		--vw1px: 0.07518796992481204vw;
		padding: calc(var(--vw1px) * 80) 0 calc(var(--vw1px) * 120);
	}
	.swiper-fod-premium {
		margin-top: calc(var(--vw1px) * 54);
		gap: 0 calc(var(--vw1px) * 20);
	}
	.swiper-fod-premium *[class^="swiper-arrow-"] {
		--SwiperArrowSize: calc(var(--vw1px) * 40);
		--SwiperArrowIconSize: calc(var(--vw1px) * 16);
	}
	.swiper-fod-premium *[class^="swiper-arrow-"] span {
		--SwiperArrowMin: 30px;
		min-width: var(--SwiperArrowMin);
		min-height: var(--SwiperArrowMin);
	}
	.swiper-fod-premium .swiper-slide {
		--swiperPadding: calc(var(--vw1px) * 90);
		gap: calc(var(--vw1px) * 25) calc(var(--vw1px) * 86);
		justify-content: center;
	}
	.swiper-fod-premium .swiper-slide .F1-fod-premium-title {
		--premiumTitlefontS: calc(var(--vw1px) * 43);
	}
	.swiper-fod-premium .swiper-slide .F1-fod-premium-description {
		--premiumDescfontS: calc(var(--vw1px) * 22);
	}
	.swiper-fod-premium .swiper-slide figure {
		max-width: calc(var(--vw1px) * 444);
	}
	.swiper-fod-premium .swiper-slide figure::after {
		--posi: calc(var(--vw1px) * -140);
	}
}

@media screen and (max-width: 767px) {
	.F1-fod-premium-Section {
		padding: 47px 0 31px;
	}
	.swiper-fod-premium {
		max-width: 390px;
	}
	.swiper-fod-premium *[class^="swiper-arrow-"] {
		display: none;
	}
	.swiper-fod-premium .swiper-slide {
		background: #292929;
		border-radius: 16px;
		grid-template-areas: 
			"title"
			"img"
			"desc"
		;
		grid-template-rows: auto auto 1fr;
		padding: 27px 30px;
	}
	.swiper-fod-premium .swiper-slide .F1-fod-premium-title {
		--premiumTitlefontS: 20px;
		min-height: calc(2em * 1.5);
		text-align: center;
	}
	.swiper-fod-premium .swiper-slide .F1-fod-premium-description {
		--premiumDescfontS: 16px;
		margin-top: 40px;
	}
	.swiper-fod-premium .swiper-slide.fujitv .F1-fod-premium-description br,
	.swiper-fod-premium .swiper-slide.FODfriday .F1-fod-premium-description br {
		display: none;
	}
	.swiper-fod-premium .swiper-slide figure {
		margin-top: 26px;
		padding: 0 10px;
	}
}
@media screen and (max-width: 389px) {
	.F1-fod-premium-Section {
		padding: calc(var(--vw1px) * 47) 0 calc(var(--vw1px) * 31);
	}
	.swiper-fod-premium .swiper-slide {
		padding: calc(var(--vw1px) * 27) calc(var(--vw1px) * 30);
	}
	.swiper-fod-premium .swiper-slide .F1-fod-premium-title {
		--premiumTitlefontS: calc(var(--vw1px) * 20);
	}
	.swiper-fod-premium .swiper-slide .F1-fod-premium-description {
		--premiumDescfontS: calc(var(--vw1px) * 16);
		margin-top: calc(var(--vw1px) * 40);
	}
	.swiper-fod-premium .swiper-slide figure {
		margin-top: calc(var(--vw1px) * 26);
		padding: 0 calc(var(--vw1px) * 10);
	}
}

/* ======== 簡単ステップで登録完了 */
.F1-Steps-Section {
	--BaseMaxW: 1288px;
	background: #000000;
	color: #fff;
}

.F1-Steps-Container {
	display: grid;
	align-items: flex-start;
	justify-content: center;
}
.F1-Step-item {
	position: relative;
}
.F1-Step-item.js-scrollfade--show:nth-child(2) {
	transition-delay: var(--fadeDelay);
}
.F1-Step-item.js-scrollfade--show:nth-child(3) {
	transition-delay: calc(var(--fadeDelay) * 1.5);
}
.F1-Step-item.js-scrollfade--show:nth-child(4) {
	transition-delay: calc(var(--fadeDelay) * 2);
}
.F1-Step-item.js-scrollfade--show:last-child {
	transition-delay: calc(var(--fadeDelay) * 2.5);
}

.F1-Step-label {
	background: #232323;
	border-radius: 9px;
	color: #ffffff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 12px;
	font-weight: 600;
	width: 100%;
}
.F1-Step-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--stepIconSize);
	height: var(--stepIconSize);
	transition: all 0.3s ease;
}
.F1-Step-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.F1-Step-title {
	font-size: var(--StepTitlefontS);
	font-weight: 600;
	letter-spacing: calc(var(--StepTitlefontS) * 0.05);
}
.F1-Step-description {
	color: #8d8d8d;
	font-size: calc(var(--StepDescfontS));
	font-weight: 600;
	letter-spacing: calc(var(--StepDescfontS) * 0.05);
}
.F1-Step-description .note {
	color: #f84141;
	display: block;
	line-height: calc(var(--StepDescfontS) * 1.5);
}
.F1-registration-cta {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}
.F1-registration-cta .F1-Com-cta-button {
	width: 100%;
}

@media (hover: hover) and (pointer: fine) {
	.F1-Step-icon:hover {
		background: rgba(255, 255, 255, 0.08);
		border-color: rgba(234, 0, 30, 0.3);
		transform: translateY(-5px);
	}
}

@media screen and (min-width: 768px) {
	.F1-Steps-Section {
		padding: 95px 0 99px;
	}
	.F1-Steps-Container {
		--stepsGap: 37px;
		--stepArrowMarginR: 32px;
		--stepArrowW: 18px;
		--stepArrowH: 20px;
		grid-auto-flow: column;
		grid-template-columns: repeat(5, 1fr);
		align-items: stretch;
		gap: calc(var(--stepsGap) + var(--stepArrowW) + var(--stepArrowMarginR));
		margin: 83px auto 0;
	}
	.F1-Step-item {
		display: flex;
		flex-flow: column nowrap;
		align-items: center;
		text-align: center;

	}
	.F1-Step-item + .F1-Step-item::before {
		content: "";
		border-style: solid;
		border-top: calc(var(--stepArrowH) / 2) solid transparent;
		border-bottom: calc(var(--stepArrowH) / 2) solid transparent;
		border-left: var(--stepArrowW) solid #8d8d8d;
		border-right: 0;
		position: absolute;
		top: 50%;
		left: calc((var(--stepArrowW) + var(--stepArrowMarginR)) * -1);
		width: 0;
		height: 0;
		transform: translateY(-50%);
	}
	.F1-Step-label {
		min-height: 21px;
		margin-bottom: 31px;
		padding-top: 1px;
	}
	.F1-Step-icon {
		--stepIconSize: 83px;
		margin: 0 auto 27px;
	}
	.F1-Step-title {
		--StepTitlefontS: 18px;
		margin-bottom: 10px;
	}
	.F1-Step-description {
		--StepDescfontS: 14px;
	}
	.F1-Step-description .note {
		font-size: 10px;
	}
	.F1-registration-cta {
		margin-top: 60px;
	}
	.F1-registration-cta .F1-Com-cta-button {
		max-width: 300px;
		min-height: 56px;
	}
}
@media screen and (max-width: 1290px) and (min-width: 951px) {
	.F1-Steps-Section {
		--vw1px: 0.07751937984496124vw;
		padding: calc(var(--vw1px) * 95) 0 calc(var(--vw1px) * 99);
	}
	.F1-Steps-Container {
		--stepsGap: calc(var(--vw1px) * 37);
		--stepArrowMarginR: calc(var(--vw1px) * 32);
		--stepArrowW: calc(var(--vw1px) * 18);
		--stepArrowH: calc(var(--vw1px) * 20);
		margin: calc(var(--vw1px) * 83) auto 0;
	}
	.F1-Step-label {
		font-size: calc(var(--vw1px) * 12);
		min-height: calc(var(--vw1px) * 21);
		margin-bottom: calc(var(--vw1px) * 31);
		padding-top: calc(var(--vw1px) * 3);
	}
	.F1-Step-title {
		--StepTitlefontS: calc(var(--vw1px) * 18);
		margin-bottom: calc(var(--vw1px) * 10);
	}
	.F1-Step-description {
		--StepDescfontS: calc(var(--vw1px) * 14);
	}
	.F1-Step-description .note {
		font-size: calc(var(--vw1px) * 10);
	}
	.F1-registration-cta {
		margin-top: calc(var(--vw1px) * 60);
	}
}
@media screen and (max-width: 950px) and (min-width: 768px) {
	.F1-Steps-Section {
		padding: calc(var(--vw1px) * 95) 0 calc(var(--vw1px) * 99);
	}
	.F1-Steps-Container {
		--stepsGap: calc(var(--vw1px) * 30);
		--stepArrowMarginR: calc(var(--vw1px) * 25);
		--stepArrowW: calc(var(--vw1px) * 18);
		--stepArrowH: calc(var(--vw1px) * 20);
		margin: calc(var(--vw1px) * 83) auto 0;
	}
	.F1-Step-label {
		font-size: calc(var(--vw1px) * 12);
		min-height: calc(var(--vw1px) * 21);
		margin-bottom: calc(var(--vw1px) * 31);
		padding-top: calc(var(--vw1px) * 3);
	}
	.F1-Step-title {
		--StepTitlefontS: calc(var(--vw1px) * 18);
		margin-bottom: calc(var(--vw1px) * 10);
	}
	.F1-Step-description {
		--StepDescfontS: calc(var(--vw1px) * 14);
	}
	.F1-Step-description .note {
		font-size: calc(var(--vw1px) * 10);
	}
	.F1-registration-cta {
		margin-top: calc(var(--vw1px) * 60);
	}
}
@media screen and (max-width: 767px) {
	.F1-Steps-Section {
		padding: 47px 0 38px;
	}
	.F1-Steps-Container {
		gap: 15px;
		grid-auto-flow: row;
		padding: 0 15px;
	}	
	.F1-Step-item {
		display: grid;
		gap: 0 49px;
		grid-template-columns: auto 1fr;
		grid-template-rows: auto auto 1fr;
		grid-template-areas: 
			"label label"
			"icon title"
			"icon desc"
		;
		width: 100%;
		max-width: 290px;
	}
	.F1-Step-label {
		grid-area: label;
		min-height: 26px;
		margin-bottom: 20px;
	}
	.F1-Step-icon {
		--stepIconSize: 74px;
		grid-area: icon;
	}
	.F1-Step-title {
		--StepTitlefontS: 14px;
		grid-area: title;
		margin-bottom: 10px;
		text-align: center;
	}
	.F1-Step-description {
		--StepDescfontS: 11px;
		grid-area: desc;
	}
	.F1-Step-description .note {
		font-size: 10px;
	}
	.F1-registration-cta {
		margin-top: 30px;
	}
	.F1-registration-cta .F1-Com-cta-button {
		padding: 9px;
		max-width: 280px;
	}
}
@media screen and (max-width: 389px) {
	.F1-Steps-Section {
		padding: calc(var(--vw1px) * 47) 0 calc(var(--vw1px) * 38);
	}
	.F1-Steps-Container {
		gap: calc(var(--vw1px) * 15);
		padding: 0 calc(var(--vw1px) * 15);
	}
	.F1-Step-item {
		gap: 0 calc(var(--vw1px) * 49);
	}
	.F1-Step-label {
		min-height: calc(var(--vw1px) * 26);
		margin-bottom: calc(var(--vw1px) * 20);
	}
	.F1-Step-icon {
		--stepIconSize: calc(var(--vw1px) * 74);
	}
	.F1-Step-title {
		--StepTitlefontS: calc(var(--vw1px) * 14);
		margin-bottom: calc(var(--vw1px) * 10);
	}
	.F1-Step-description {
		--StepDescfontS: calc(var(--vw1px) * 11);
	}
	.F1-Step-description .note {
		font-size: calc(var(--vw1px) * 10);
	}
	.F1-registration-cta {
		margin-top: calc(var(--vw1px) * 30);
	}
	.F1-registration-cta .F1-Com-cta-button {
		padding: calc(var(--vw1px) * 9);
	}
}

/* ======== よくあるご質問 */
.reg_question {
	background: #1a1c22;
	color: #fff;
}
.reg_question__title span {
	display: block;
	color: rgba(255, 255, 255, 0.7);
	font-size: 22.4px;
	margin-top: 20px;
}
.reg_question .reg_question__list {
	list-style: none;
}

dl.reg_question__detail-txt {
	display: grid;
	grid-auto-flow: row;
	counter-reset: number 0;
}
dl.reg_question__detail-txt .dot,
dl.reg_question__detail-txt dd.num {
	position: relative;
}
dl.reg_question__detail-txt .dot::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}
dl.reg_question__detail-txt dt.dot + dd,
dl.reg_question__detail-txt dd.num,
dl.reg_question__detail-txt .dot {
	padding-left: 1.2em;
}
.reg_question .mt1em,
dl.reg_question__detail-txt dd + .dot,
dl.reg_question__detail-txt + p.reg_question__detail-txt {
	margin-top: 1em;
}
dl.reg_question__detail-txt dd.num::before {
	counter-increment: number 1;
	content: counter(number) ". ";
	position: absolute;
	top: 0;
	left: 0;
}
dl.reg_question__detail-txt dd.num > p {
	grid-column: span 2 / span 2;
}
.reg_question__detail-txt a {
	color:#ffcc99
}

@media screen and (min-width: 951px) {
	.reg_question .reg_question__list .reg_question__item .reg_question__btn {
		padding-right: calc(64px + 0.33em);
	}
}
@media screen and (min-width: 768px) and (max-width: 950px) {
	.reg_question .reg_question__list .reg_question__item .reg_question__btn {
		padding-right: calc(40px + 0.33em);
	}
}
@media screen and (max-width: 950px) {
	.reg_question .reg_question-wrap {
		padding: 60px 0;
	}
}

/* ======== 固定ボタン */
@keyframes ctaPulse {
	0% {
		box-shadow: 0 8px 24px rgba(234, 0, 30, 0.4);
	}
	50% {
		box-shadow: 0 8px 24px rgba(234, 0, 30, 0.4), 0 0 0 8px rgba(234, 0, 30, 0.2);
		transform: scale(1.02);
	}
	100% {
		box-shadow: 0 8px 24px rgba(234, 0, 30, 0.4);
	}
}

.F1-floating-button:not(.mobile) {
	display: none;
	opacity: 0;
	visibility: hidden;
}
.F1-floating-button.mobile {
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 1%, rgba(0,0,0,1) 95%);
	transform: translateY(0px);
	transition: all 0.3s cubic-bezier(0.4, 0.0, 0.2, 1);
	display: flex;
	align-items: flex-end;
	justify-content: center;
	height: 110px;
	padding: 0 0 40px;
	position: fixed;
	bottom: 0px;
	width: 100%;
	z-index: 100;
	opacity: 1;
	visibility:visible;
}
.F1-floating-button.mobile.hide {
	transform: translateY(120px);
	opacity: 0;
	visibility: hidden;
}

.F1-floating-button .F1-Com-cta-button {
	max-width: 300px;
	min-height: 56px;
	width: 100%;
	white-space: nowrap;
}

.F1-floating-button .F1-Com-cta-button:active {
	transform: translateY(-1px) scale(0.98);
	box-shadow: 0 6px 16px rgba(234, 0, 30, 0.6);
}

.F1-floating-button.pulse .F1-Com-cta-button {
	animation: ctaPulse 2s infinite;
}
@media (orientation: landscape) {/* ======== 横向き */
	.F1-floating-button.mobile {
		max-height: 90px;
		padding-bottom: 25px;
	}
}
@media screen and (max-width: 389px) {
	.F1-floating-button.mobile {
		height: calc(var(--vw1px) * 110);
		padding: 0 0 calc(var(--vw1px) * 40);
	}
	.F1-floating-button .F1-Com-cta-button {
		max-width: 76.92307692307693vw;
	}
}
