@charset "utf-8";
#fv {
	width: 100%;
	height: auto;
	position: relative;
}
	.fv__image {
		width: 100%;
		height: auto;
	}
	.fv__object {
		width: calc((516 / var(--vw)) * 100vw);
		height: auto;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 1;
	}
	.fv__inner {
		width: calc((1200 / var(--vw)) * 100vw);
		height: auto;
		padding: calc((146 / var(--vw)) * 100vw) 0 0;
		margin: 0 auto;
		position: relative;
		z-index: 2;
	}
	.fv__image + .fv__inner {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		z-index: 2;
	}
		#fv .section_heading {
			width: fit-content;
		}
			#fv .section_heading__main_text {
				position: relative;
				left: calc((-2 / var(--vw)) * 100vw);
			}
			#entry #fv .section_heading__main_text,
			#group #fv .section_heading__main_text {
				color: var(--color--white);
				filter: drop-shadow(0 0 calc((8 / var(--vw)) * 100vw) rgba(0, 0, 0, 0.5));
			}
			#brand #fv .section_heading__main_text,
			#benefits #fv .section_heading__main_text {
				color: var(--color--white);
			}
		#news #fv .section_heading {
			margin-bottom: calc((10 / var(--vw)) * 100vw);
		}
		#benefits #fv .section_heading {
			margin-bottom: calc((40 / var(--vw)) * 100vw);
		}
		#benefits #fv .section_sub_heading {
			color: var(--color--white);
		}
		#numbers #fv .section_heading {
			margin-bottom: calc((40 / var(--vw)) * 100vw);
		}

#page_link_section {
	width: 100%;
	height: auto;
	padding: calc((100 / var(--vw)) * 100vw) 0;
}
	.page_link_section__inner {
		width: calc((1200 / var(--vw)) * 100vw);
		height: auto;
		margin: 0 auto;
	}
		.page_link_section__list {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: calc((36 / var(--vw)) * 100vw);
			width: 100%;
			height: auto;
		}
			.page_link_section__list__item {
				width: 100%;
				height: auto;
				opacity: 0;
				transform: translate(0, calc((20 / var(--vw)) * 100vw));
				-webkit-transform: translate(0, calc((20 / var(--vw)) * 100vw));
				transition: 1s cubic-bezier(0.490, 0.035, 0.140, 0.910);
			}
			._inview .page_link_section__list__item {
				opacity: 1;
				transform: translate(0, 0);
				-webkit-transform: translate(0, 0);
			}
				.page_link_section__list__item__link {
					display: flex;
					justify-content: space-between;
					align-items: stretch;
					width: 100%;
					height: auto;
					aspect-ratio: 582 / 235;
					border-radius: calc((10 / var(--vw)) * 100vw);
					background-color: var(--color--black);
					overflow: hidden;
				}
					.page_link_section__list__item__link__contents {
						width: calc((244 / 582) * 100%);
						height: auto;
						padding: calc((20 / var(--vw)) * 100vw) 0 0 calc((20 / var(--vw)) * 100vw);
						position: relative;
					}
						.page_link_section__list__item__link__heading {
							width: fit-content;
							height: auto;
						}
							.page_link_section__list__item__link__heading__sub_text {
								margin-bottom: calc((10 / var(--vw)) * 100vw);
								font-size: calc((12 / var(--vw)) * 100vw);
								font-weight: 700;
								line-height: 2;
								letter-spacing: 0.03em;
								color: var(--color--white);
							}
							.page_link_section__list__item__link__heading__main_text {
								font-size: calc((22 / var(--vw)) * 100vw);
								font-weight: 700;
								line-height: 1.4;
								letter-spacing: 0em;
								color: var(--color--white);
							}
						.page_link_section__list__item__link__arrow {
							display: flex;
							justify-content: center;
							align-items: center;
							width: calc((50 / var(--vw)) * 100vw);
							height: calc((50 / var(--vw)) * 100vw);
							border-radius: 9999px;
							border: solid calc((2 / var(--vw)) * 100vw) var(--color--white);
							position: absolute;
							bottom: calc((20 / var(--vw)) * 100vw);
							left: calc((20 / var(--vw)) * 100vw);
							overflow: hidden;
						}
							.page_link_section__list__item__link__arrow::before {
								content: "";
								display: block;
								width: calc((20 / var(--vw)) * 100vw);
								height: calc((10 / var(--vw)) * 100vw);
								background-color: var(--color--white);
								mask-image: url(../image/btn_arrow_large.svg);
								mask-size: contain;
								mask-position: center;
								mask-repeat: no-repeat;
							}
					.page_link_section__list__item__link__image {
						width: calc((338 / 582) * 100%);
						height: auto;
						border-radius: calc((10 / var(--vw)) * 100vw);
						overflow: hidden;
						background-color: var(--color--white);
					}
						.page_link_section__list__item__link__image img {
							width: 100%;
							height: 100%;
							object-fit: cover;
							object-position: center;
						}
			@media (any-hover: hover) {
				.page_link_section__list__item__link {
					transition: var(--transition--bg);
				}
				.page_link_section__list__item__link:hover {
					background-color: var(--color--red);
				}
						.page_link_section__list__item__link__image img {
							transition: var(--transition--transform), var(--transition--opacity);
							transform: scale(1);
						}
						.page_link_section__list__item__link:hover .page_link_section__list__item__link__image img {
							transform: scale(1.03);
						}
							.page_link_section__list__item__link:hover .page_link_section__list__item__link__arrow::before {
								animation: page_link_section__list__item__link__arrow .5s ease forwards;
							}
			}
							@keyframes page_link_section__list__item__link__arrow {
								0% {
									transform: translateX(0);
								}
								50% {
									transform: translateX(calc((50 / var(--vw)) * 100vw));

								}
								51% {
									transform: translateX(calc((-50 / var(--vw)) * 100vw));
								}
								100% {
									transform: translateX(0);
								}
							}

/* PC ================================================== */
@media all and (min-width: 769px){

}

/* Tablet ================================================== */
@media all and (max-width: 768px){
/* fv */
#entry #fv,
#group #fv,
#benefits #fv {
	padding-top: 70px;
}
	.fv__object {
		width: calc((205 / var(--vw)) * 100vw);
	}
	.fv__inner {
		width: calc((330 / var(--vw)) * 100%);
		padding: calc((100 / var(--vw)) * 100vw) 0 0;
	}
	.fv__image + .fv__inner {
		padding: calc((35 / var(--vw)) * 100vw) 0 0;
	}
	#entry #fv .fv__image + .fv__inner,
	#group #fv .fv__image + .fv__inner,
	#benefits #fv .fv__image + .fv__inner {
		top: 70px;
	}
		#benefits #fv .section_heading {
			margin-bottom: 0;
		}
		#numbers #fv .section_heading {
			margin-bottom: calc((10 / var(--vw)) * 100vw);
		}

#page_link_section {
	padding: calc((54 / var(--vw)) * 100vw) 0 calc((50 / var(--vw)) * 100vw);
}
	.page_link_section__inner {
		width: calc((330 / var(--vw)) * 100vw);
	}
		.page_link_section__list {
			grid-template-columns: repeat(1, 1fr);
			gap: calc((20 / var(--vw)) * 100vw);
		}
				.page_link_section__list__item__link {
					aspect-ratio: 330 / 223;
				}
					.page_link_section__list__item__link__contents {
						width: calc((150 / 330) * 100%);
					}
							.page_link_section__list__item__link__heading__sub_text {
								margin-bottom: calc((14 / var(--vw)) * 100vw);
								font-size: calc((10 / var(--vw)) * 100vw);
							}
							.page_link_section__list__item__link__heading__main_text {
								font-size: calc((18 / var(--vw)) * 100vw);
							}
						.page_link_section__list__item__link__arrow {
							width: calc((30 / var(--vw)) * 100vw);
							height: calc((30 / var(--vw)) * 100vw);
							border: solid calc((1 / var(--vw)) * 100vw) var(--color--white);
							bottom: calc((26 / var(--vw)) * 100vw);
						}
							.page_link_section__list__item__link__arrow::before {
								width: calc((12 / var(--vw)) * 100vw);
								height: calc((6 / var(--vw)) * 100vw);
								mask-image: url(../image/btn_arrow_large@sp.svg);
							}
					.page_link_section__list__item__link__image {
						width: calc((180 / 330) * 100%);
					}
}

/* SP ================================================== */
@media all and (max-width: 575px){

}