@charset "utf-8";
#hero {
	width: 100%;
	height: auto;
	position: relative;
	z-index: 1;
}
	.hero__video_area {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
	}
		.hero__video_container {
			width: 100%;
			height: 100vh;
			position: sticky;
			top: 0;
			left: 0;
		}
			.hero__video_container__inner {
				width: 100%;
				height: 100vh;
				background-color: var(--color--light_black);
				position: absolute;
				top: 0;
				left: 0;
				overflow: hidden;
			}
				.hero__video_container__texture {
					position: absolute;
				}
				.hero__video_container__texture._01 {
					width: calc((723 / 1280) * 100vw);
					height: auto;
					top: calc((160 / 832) * -100vh);
					left: calc((164 / 1280) * -100vw);
					z-index: 1;
					mix-blend-mode: color;
				}
				.hero__video_container__texture._02 {
					width: calc((883 / 1280) * 100vw);
					height: auto;
					bottom: 0;
					left: calc((339 / 1280) * -100vw);
					z-index: 2;
					mix-blend-mode: color;
				}
				.hero__video_container__texture._03 {
					width: calc((930 / 1280) * 100vw);
					height: auto;
					bottom: 0;
					right: calc((344 / 1280) * -100vw);
					z-index: 2;
				}
				.hero__video_wrap {
					width: calc((514 / 832) * 100vh);
					height: calc((514 / 832) * 100vh);
					position: absolute;
					top: 50%;
					left: 50%;
					transform: translate(-50%, -50%);
					z-index: 2;
					overflow: hidden;
					will-change: transform;
				}
					.hero__video_wrap__mask {
						width: 100vw;
						height: 100vh;
						background-color: var(--color--black);
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%, -50%);
						opacity: 0;
						z-index: 2;
						will-change: transform;
					}
					.hero__video {
						width: 100vw;
						height: 100vh;
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%, -50%);
						z-index: 1;
					}
						.hero__video video {
							width: 100%;
							height: 100%;
							object-fit: cover;
							object-position: center;
						}
				.hero__scroll {
					width: 38px;
					height: 45px;
					border: solid 1px var(--color--gray);
					position: absolute;
					bottom: 33px;
					right: 31px;
					z-index: 3;
				}
					.hero__scroll__icon {
						width: 100%;
						height: 20px;
						position: absolute;
						top: 0%;
						left: 0%;
						transform: translate(0%, -50%);
					}
						.hero__scroll__icon::before,
						.hero__scroll__icon::after {
							content: "";
							position: absolute;
						}
						.hero__scroll__icon::before {
							width: 1px;
							height: 20px;
							background-color: var(--color--white);
							position: absolute;
							top: 0%;
							left: 50%;
							transform: translate(-50%, 0%);
						}
						.hero__scroll__icon::after {
							width: 4px;
							height: 4px;
							border-radius: 9999px;
							background-color: var(--color--white);
							position: absolute;
							top: 0%;
							left: 50%;
							animation: scroll_icon_animation 3s infinite;
						}
						@keyframes scroll_icon_animation {
							0% {
								opacity: 0;
								transform: translate(-50%, 20px);
							}
							10% {
								opacity: 1;
							}
							40% {
								opacity: 1;
							}
							50% {
								opacity: 0;
								transform: translate(-50%, -4px);
							}
							100% {
								opacity: 0;
							}
						}
					.hero__scroll__text {
						width: 100%;
						height: auto;
						padding-right: 1px;
						font-family: var(--font--montserrat);
						font-size: 10px;
						font-weight: 400;
						line-height: 1;
						letter-spacing: 0em;
						text-align: center;
						color: var(--color--white);
						position: absolute;
						bottom: 8px;
						left: 0;
					}
	.hero__fv {
		width: 100%;
		height: 100vh;
		position: relative;
		z-index: 2;
		mix-blend-mode: exclusion;
	}
		.hero__fv__copy {
			width: auto;
			height: auto;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
		}
			.hero__fv__copy__en {
				margin-bottom: calc((18 / 1280) * 100vw);
				font-family: var(--font--montserrat);
				font-size: calc((40 / 1280) * 100vw);
				font-weight: 700;
				line-height: 1;
				letter-spacing: 0em;
				text-align: center;
				color: var(--color--white);
				white-space: nowrap;
			}
			.hero__fv__copy__ja {
				font-size: calc((18 / 1280) * 100vw);
				font-weight: 700;
				line-height: 1.5;
				letter-spacing: 0em;
				text-align: center;
				color: var(--color--white);
				white-space: nowrap;
			}
		.hero__fv__text {
			width: 100%;
			height: auto;
			font-family: var(--font--montserrat);
			font-size: 10px;
			font-weight: 400;
			line-height: 1;
			letter-spacing: 0em;
			text-align: center;
			color: var(--color--white);
			position: absolute;
			bottom: calc((78 / 832) * 100vh);
			left: 50%;
			transform: translateX(-50%);
		}
	.hero__contents {
		width: 100%;
		height: auto;
		padding: 100vh 0 100vh;
		position: relative;
		z-index: 2;
	}
		.hero__contents__heading {
			width: 100%;
			height: auto;
			margin: 0 auto calc((124 / 1280) * 100vw);
		}
			.hero__contents__heading__en {
				width: 100%;
				height: auto;
				margin: 0 auto calc((7 / 1280) * 100vw);
				font-family: var(--font--montserrat);
				font-size: calc((60 / 1280) * 100vw);
				font-weight: 700;
				line-height: 1.2;
				letter-spacing: 0em;
				text-align: center;
				color: var(--color--white);
				overflow: hidden;
			}
				.hero__contents__heading__en__word {
					display: inline-block;
				}
			.hero__contents__heading__ja {
				width: 100%;
				height: auto;
				font-size: calc((18 / 1280) * 100vw);
				font-weight: 700;
				line-height: 1.5;
				letter-spacing: 0em;
				text-align: center;
				color: var(--color--white);
				overflow: hidden;
			}
				.hero__contents__heading__ja__word {
					display: inline-block;
				}
		.hero__contents__text_wrap {
			display: flex;
			justify-content: center;
			width: 100%;
			height: auto;
			padding: 0 0 calc((250 / 1280) * 100vw);
		}
			.hero__contents__text {
				font-size: 14px;
				font-weight: 700;
				line-height: 2;
				letter-spacing: 0.09em;
				color: var(--color--white);
			}

#join_us {
	width: 100%;
	height: auto;
	padding: 100px 0 110px;
	margin: -100vh 0 0;
	background-color: var(--color--light_gray);
	position: relative;
	z-index: 3;
	will-change: auto;
}
	.join_us__sub_heading {
		position: absolute;
		top: 110px;
		left: calc((40 / 1280) * 100vw);
		z-index: 2;
	}
		.join_us__sub_heading::before {
			content: '';
			display: block;
			width: 1px;
			height: 200px;
			margin: 0 auto 16px;
			background-color: #0D0D0D;
		}
		.join_us__sub_heading__text {
			-webkit-writing-mode: vertical-rl;
			-moz-writing-mode: vertical-rl;
			-ms-writing-mode: tb-rl;
			-ms-writing-mode: vertical-rl;
			writing-mode: vertical-rl;
			font-family: var(--font--montserrat);
			font-size: 11px;
			font-weight: 400;
			line-height: 1;
			letter-spacing: 0em;
			text-align: center;
			color: var(--color--light_black);
		}
	.join_us__inner {
		width: 90%;
		max-width: 1000px;
		height: auto;
		margin: 0 auto;
	}
		#join_us .section_heading {
			margin-bottom: 68px;
			color: var(--color--red);
		}
		.join_us__contents {
			display: flex;
			justify-content: space-between;
			align-items: flex-start;
			width: 100%;
			height: auto;
		}
			.join_us__contents__item {
				width: calc(50% - 16px);
				height: auto;
				padding: 20px 30px 60px;
				position: relative;
				transition: var(--animation--time);
				transition-delay: var(--animation--time);
			}
			._run.join_us__contents__item {
				background-color: #D9D9D9;
			}
			.join_us__contents__item._red {
				color: var(--color--red);
			}
			.join_us__contents__item._blue {
				color: var(--color--blue);
			}
				.join_us__contents__item::before,
				.join_us__contents__item::after {
					content: '';
					display: block;
					width: 20px;
					height: 20px;
					position: absolute;
					transition: var(--animation--time);
				}
				.join_us__contents__item._red::before,
				.join_us__contents__item._red::after {
					background-color: var(--color--red);
				}
				.join_us__contents__item._blue::before,
				.join_us__contents__item._blue::after {
					background-color: var(--color--blue);
				}
				.join_us__contents__item::before {
					clip-path: polygon(0 0, 0% 100%, 100% 0%);
					top: calc(50% - 10px);
					left: calc(50% - 10px);
				}
				.join_us__contents__item::after {
					clip-path: polygon(100% 0%, 100% 100%, 0% 100%);
					bottom: calc(50% - 10px);
					right: calc(50% - 10px);
				}
				._run.join_us__contents__item::before {
					top: 0;
					left: 0;
				}
				._run.join_us__contents__item::after {
					bottom: 0;
					right: 0;
				}
				.join_us__contents__item__sub_heading {
					width: 100%;
					height: auto;
					margin: 0 auto 16px;
					font-family: var(--font--montserrat);
					font-size: 11px;
					font-weight: 400;
					line-height: 1;
					letter-spacing: 0em;

					opacity: 0;
					transition: var(--animation--time);
					transition-delay: var(--animation--time);
				}
				._run .join_us__contents__item__sub_heading {
					opacity: 1;
				}
				.join_us__contents__item__heading {
					width: 100%;
					height: auto;
					margin: 0 auto 20px;
					font-size: 26px;
					font-weight: 700;
					line-height: 1.6;
					letter-spacing: 0.09em;

					opacity: 0;
					transition: var(--animation--time);
					transition-delay: var(--animation--time);
				}
				._run .join_us__contents__item__heading {
					opacity: 1;
				}
				.join_us__contents__item__details_list {
					width: 100%;
					height: auto;
					border: solid 1px;
					border-radius: 5px;

					opacity: 0;
					transition: var(--animation--time);
					transition-delay: var(--animation--time);
				}
				._run .join_us__contents__item__details_list {
					opacity: 1;
				}
				._red .join_us__contents__item__details_list {
					border-color: var(--color--red);
				}
				._blue .join_us__contents__item__details_list {
					border-color: var(--color--blue);
				}
					.join_us__contents__item__details_list__item {
						display: flex;
						justify-content: space-between;
						gap: 13px;
						width: 100%;
						height: auto;
						min-height: 62px;
					}
					._red .join_us__contents__item__details_list__item {
						align-items: flex-start;
						padding: 8px 20px 13px;
					}
					._blue .join_us__contents__item__details_list__item {
						align-items: center;
						padding: 0 20px;
					}
					.join_us__contents__item__details_list__item:not(:last-of-type) {
						border-bottom: dashed 1px;
					}
					._red .join_us__contents__item__details_list__item {
						border-color: var(--color--red);
					}
					._blue .join_us__contents__item__details_list__item {
						border-color: var(--color--blue);
					}
						.join_us__contents__item__details_list__item__icon {
							width: 15px;
							height: auto;
						}
						._red .join_us__contents__item__details_list__item__icon {
							margin: 7px 0 0 0;
						}
						._blue .join_us__contents__item__details_list__item__icon {
							margin: 0;
						}
							.join_us__contents__item__details_list__item__icon svg {
								overflow: initial;
							}
							._red .join_us__contents__item__details_list__item__icon svg {
								stroke: var(--color--red);
							}
							._blue .join_us__contents__item__details_list__item__icon svg {
								stroke: var(--color--blue);
							}
						.join_us__contents__item__details_list__item__inner {
							flex: 1;
							height: auto;
						}
							.join_us__contents__item__details_list__item__inner dt {
								width: 100%;
								height: auto;
								margin-bottom: 5px;
								font-size: 14px;
								font-weight: 700;
								line-height: 2;
								letter-spacing: 0.09em;
							}
							.join_us__contents__item__details_list__item__inner dd {
								width: 100%;
								height: auto;
								font-size: 12px;
								font-weight: 500;
								line-height: 1.46;
								letter-spacing: 0.09em;
							}
							._red .join_us__contents__item__details_list__item__inner dt,
							._red .join_us__contents__item__details_list__item__inner dd {
								color: var(--color--red);
							}
							._blue .join_us__contents__item__details_list__item__inner dt,
							._blue .join_us__contents__item__details_list__item__inner dd {
								color: var(--color--blue);
							}
							.join_us__contents__item__details_list__item__inner p {
								width: 100%;
								height: auto;
								font-size: 14px;
								font-weight: 700;
								line-height: 2;
								letter-spacing: 0.09em;
							}
							._red .join_us__contents__item__details_list__item__inner p {
								color: var(--color--red);
							}
							._blue .join_us__contents__item__details_list__item__inner p {
								color: var(--color--blue);
							}

#brand {
	width: 100%;
	height: auto;
	padding: 100px 0;
	background-color: var(--color--dark_gray);
	position: relative;
	overflow: hidden;
}
	.brand__texture {
		width: calc((930 / 1280) * 100vw);
		height: auto;
		position: absolute;
		bottom: 0;
		left: calc((119 / 1280) * -100vw);
		z-index: 1;
	}
	.brand__inner {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		gap: 80px;
		width: 90%;
		max-width: 1000px;
		height: auto;
		margin: 0 auto;
		position: relative;
		z-index: 2;
	}
		.brand__heading {
			display: flex;
			flex-direction: column;
			justify-content: flex-start;
			width: 200px;
			height: auto;
		}
			#brand .section_heading {
				margin-bottom: 62px;
				color: var(--color--orange);
			}
		.brand__contents {
			flex-shrink: 0;
			height: auto;
			opacity: 0;
			transform: translateX(100%);
			transition: 1.1s;
		}
		._run .brand__contents {
			opacity: 1;
			transform: translateX(0%);
		}
			.brand__swiper {
				width: 100%;
				height: auto;
			}
				.brand__slide {
					width: 100%;
					height: auto;
					background-color: #211F1F;
				}
					.brand__slide__details {
						width: 100%;
						height: auto;
						padding: 20px 28px 24px;
					}
						.brand__slide__name {
							width: 100%;
							height: auto;
							margin: 0 auto;
							font-family: var(--font--montserrat);
							font-size: 10px;
							font-weight: 400;
							line-height: 1;
							letter-spacing: 0em;
							color: var(--color--gray);
						}
						.brand__slide__logo {
							display: flex;
							justify-content: center;
							align-items: center;
							width: 100%;
							height: 55px;
						}
							.brand__slide__logo img {
								height: auto;
							}
							._kushitanaka .brand__slide__logo img {
								width: calc((190 / 290) * 100%);
							}
							._tennomeshi .brand__slide__logo img {
								width: calc((162 / 290) * 100%);
							}
							._tanaka .brand__slide__logo img {
								width: calc((67.7 / 290) * 100%);
							}
							._kuruton .brand__slide__logo img {
								width: calc((210 / 290) * 100%);
							}
							._atsuton .brand__slide__logo img {
								width: calc((100 / 290) * 100%);
							}
							._tsukurioki .brand__slide__logo img {
								width: calc((180 / 290) * 100%);
							}
						.brand__slide__image {
							width: 100%;
							height: auto;
							margin: 0 auto 12px;
						}
						.brand__slide__info {
							width: 100%;
							height: auto;
						}
							.brand__slide__info dt {
								display: flex;
								flex-direction: column;
								justify-content: center;
								align-items: flex-start;
								width: 100%;
								min-height: 42px;
								margin: 0 auto 5px;
								font-size: 18px;
								font-weight: 700;
								line-height: 1.3;
								letter-spacing: 0.09em;
								color: var(--color--white);
							}
								.brand__slide__info dt small {
									font-size: 12px;
									margin-bottom: 2px;
								}
							.brand__slide__info dd {
								width: 100%;
								height: auto;
								min-height: 87px;
								font-size: 12px;
								font-weight: 400;
								line-height: 1.8;
								letter-spacing: 0.1em;
								color: var(--color--white);
							}
					.brand__slide__recommend {
						width: 100%;
						height: auto;
						padding: 20px 28px 20px;
						border-top: dashed 3px var(--color--dark_gray);
					}
						.brand__slide__recommend__heading {
							width: 100%;
							height: auto;
							margin: 0 auto 10px;
						}
							.brand__slide__recommend__heading__en {
								width: 100%;
								height: auto;
								font-family: var(--font--montserrat);
								font-size: 10px;
								font-weight: 700;
								line-height: 1;
								letter-spacing: 0em;
								color: var(--color--orange);
							}
							.brand__slide__recommend__heading__ja {
								width: 100%;
								height: auto;
								font-size: 14px;
								font-weight: 700;
								line-height: 1.5;
								letter-spacing: 0em;
								color: var(--color--orange);
							}
						.brand__slide__recommend__text {
							width: 100%;
							height: auto;
							min-height: 65px;
							margin: 0 auto 4px;
							font-size: 12px;
							font-weight: 500;
							line-height: 1.8;
							letter-spacing: 0.05em;
							color: var(--color--white);
						}
						.brand__slide__recommend__mbti {
							display: flex;
							justify-content: flex-start;
							align-items: flex-start;
							width: 100%;
							height: auto;
							font-size: 12px;
							font-weight: 500;
							line-height: 1.8;
							letter-spacing: 0.05em;
						}
							.brand__slide__recommend__mbti dt {
								width: 41px;
								color: var(--color--orange);
							}
		.brand__nav {
			display: flex;
			flex-direction: column;
			justify-content: space-between;
			align-items: flex-start;
			flex: 1;
			width: 100%;

			opacity: 0;
			transition: var(--animation--time);
		}
		._run .brand__nav {
			opacity: 1;
		}
			.brand__nav__arrow_wrap {
				display: flex;
				justify-content: space-between;
				align-items: center;
				width: 96px;
				height: auto;
			}
				.brand__nav__arrow {
					display: flex;
					justify-content: center;
					align-items: center;
					width: 43px;
					height: 43px;
					padding: 0;
					border: solid 1px var(--color--gray);
					background-color: rgba(255, 255, 255, 0);
					cursor: pointer;
				}
				.brand__nav__arrow.swiper-button-disabled {
					pointer-events: none;
					opacity: .5;
				}
					.brand__nav__arrow svg {
						width: 12px;
						height: auto;
						fill: var(--color--white);
					}
			@media (any-hover: hover) {
				.brand__nav__arrow {
					transition: var(--transition--time);
				}
				.brand__nav__arrow:hover {
					background-color: rgba(255, 255, 255, 0.2);
				}
			}
			.brand__nav__btn_wrap {
				width: 200px;
				height: 48px;
			}

#group {
	width: 100%;
	height: auto;
	padding: 130px 0 140px;
	background-color: var(--color--light_gray);
}
	.group__inner {
		width: 90%;
		max-width: 1000px;
		height: auto;
		margin: 0 auto;
	}
		#group .section_heading {
			margin-bottom: 80px;
			color: var(--color--red);
		}
		.group__contents {
			width: 100%;
			height: auto;
		}
			.group__list {
				display: grid;
				grid-template-columns: repeat(3, 1fr);
				gap: 50px;
				width: 100%;
				height: auto;
			}
				.group__list__item {
					width: 100%;
					height: auto;
				}
					.group__list__item__logo {
						width: 100%;
						height: auto;
						margin: 0 auto 14px;
					}
					.group__list__item__company_name {
						width: 100%;
						height: auto;
						margin: 0 auto 10px;
						font-size: 18px;
						font-weight: 700;
						line-height: 1.5;
						letter-spacing: 0.09em;
						color: var(--color--dark_gray);
					}
					.group__list__item__info {
						display: flex;
						flex-direction: column;
						justify-content: flex-start;
						align-items: flex-start;
						width: 100%;
						height: auto;
					}
						.group__list__item__info dt {
							width: auto;
							height: auto;
							padding: 3px 9px 4px;
							margin-bottom: 5px;
							border-radius: 2px;
							border: solid 1px var(--color--dark_gray);
							font-size: 14px;
							font-weight: 700;
							line-height: 1;
							letter-spacing: 0.09em;
							color: var(--color--dark_gray);
						}
						.group__list__item__info dd {
							width: 100%;
							height: auto;
							font-size: 12px;
							font-weight: 500;
							line-height: 1.8;
							letter-spacing: 0.1em;
							color: var(--color--dark_gray);
						}
		.group__scrollbar {
			display: none;
		}

#entry {
	width: 100%;
	height: auto;
	padding: 104px 0 60px;
	background-color: var(--color--light_black);
	position: relative;
	overflow: hidden;
}
	.entry__texture {
		height: auto;
		position: absolute;
		z-index: 1;
	}
	.entry__texture._01 {
		width: calc((883 / 1280) * 100vw);
		top: 0;
		left: calc((224 / 1280) * -100vw);
		mix-blend-mode: color;
	}
	.entry__texture._02 {
		width: calc((661 / 1280) * 100vw);
		bottom: 0;
		right: calc((107 / 1280) * -100vw);
	}
	.entry__inner {
		width: 90%;
		max-width: 1000px;
		height: auto;
		margin: 0 auto;
		position: relative;
		z-index: 2;
	}
		.entry__heading {
			width: 100%;
			height: auto;
			margin: 0 auto 48px;
		}
			.entry__heading__en {
				width: 100%;
				height: auto;
				margin: 0 auto 8px;
				font-family: var(--font--montserrat);
				font-size: 60px;
				font-weight: 700;
				line-height: 1.2;
				letter-spacing: 0em;
				text-align: center;
				color: var(--color--white);
				overflow: hidden;
			}
			.entry__heading__ja {
				width: 100%;
				height: auto;
				font-size: 18px;
				font-weight: 900;
				line-height: 1.5;
				letter-spacing: 0.05em;
				text-align: center;
				color: var(--color--white);
				overflow: hidden;
			}
				.entry__heading__en__word,
				.entry__heading__ja__word {
					display: inline-block;
					transform: translateY(100%);
					opacity: 0;
					transition: var(--animation--time);
					will-change: transform;
				}
				._run .entry__heading__ja__word {
					transition-delay: .16s;
				}
				._run .entry__heading__en__word,
				._run .entry__heading__ja__word {
					opacity: 1;
					transform: translateY(0%);
				}
		.entry__btn_wrap {
			width: 100%;
			height: auto;
			margin: 0 auto 100px;
		}
			.entry__btn {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 100%;
				height: 120px;
				background-color: var(--color--red);
				position: relative;
			}
				.entry__btn::after {
					content: '';
					display: block;
					width: 100%;
					height: 100%;
					background-image: url(../image/index/entry-btn_bg@pc.webp);
					background-size: 100% 100%;
					background-repeat: no-repeat;
					background-position: center;
					position: absolute;
					top: 0;
					left: 0;
					z-index: 1;
				}
				.entry__btn__text {
					font-family: var(--font--montserrat);
					font-size: 18px;
					font-weight: 500;
					line-height: 1;
					letter-spacing: 0.1em;
					color: var(--color--white);
					position: relative;
					z-index: 2;
				}
			@media (any-hover: hover) {
				.entry__btn::after {
					transition: var(--transition--time);
				}
				.entry__btn:hover::after {
					opacity: 0;
				}
			}
		.entry__contents {
			width: 100%;
			max-width: 830px;
			height: auto;
			margin: 0 auto;
		}
			.entry__list {
				display: flex;
				justify-content: space-between;
				align-items: flex-start;
				width: 100%;
				height: auto;
			}
				.entry__list__item {
					width: calc((400 / 830) * 100%);
					height: auto;
				}
					.entry__list__item__link {
						display: block;
						width: 100%;
						height: auto;
						padding: 20px 30px 50px;
						background-color: var(--color--dark_gray);
						position: relative;
					}
						.entry__list__item__link__heading {
							width: 100%;
							height: auto;
							margin: 0 auto 36px;
						}
							.entry__list__item__link__heading__en {
								width: 100%;
								height: auto;
								margin: 0 auto 5px;
								font-family: var(--font--montserrat);
								font-size: 11px;
								font-weight: 400;
								line-height: 1;
								letter-spacing: 0em;
								color: var(--color--white);
							}
							.entry__list__item__link__heading__ja {
								width: 100%;
								height: auto;
								font-size: 14px;
								font-weight: 400;
								line-height: 1.5;
								letter-spacing: 0.09em;
								color: var(--color--white);
							}
						.entry__list__item__link__image {
							width: 100%;
							max-width: 220px;
							height: auto;
							margin: 0 auto;
							overflow: hidden;
						}
						.entry__list__item__link__icon {
							display: flex;
							justify-content: center;
							align-items: center;
							width: 28px;
							height: 28px;
							border: solid 1px var(--color--gray);
							position: absolute;
							bottom: 20px;
							right: 20px;
						}
							.entry__list__item__link__icon svg {
								width: 12px;
								height: auto;
								fill: var(--color--white);
							}
				@media (any-hover: hover) {
					.entry__list__item__link {
						transition: var(--transition--time);
					}
					.entry__list__item__link:hover {
						background-color: #3A3939;
					}
							.entry__list__item__link__image img {
								will-change: transform;
								transition: var(--transition--time);
							}
							.entry__list__item__link:hover .entry__list__item__link__image img {
								transform: scale(1.03);
							}
						.entry__list__item__link__icon {
							transition: var(--transition--time);
						}
						.entry__list__item__link:hover .entry__list__item__link__icon {
							background-color: var(--color--orange);
						}
				}

/* PC ================================================== */
@media all and (min-width: 769px){
.pc {display: inline-block;}
.sp {display: none;}
.view_pc {display: block;}
.view_sp {display: none;}
body {}
h1{}
h2{}
h3{}
h4{}
h5{}
h6{}
}

/* Tablet ================================================== */
@media all and (max-width: 768px){
.pc {display: none;}
.sp {display: inline-block;}
.view_pc {display: none;}
.view_sp {display: block;}
body {}
h1{}
h2{}
h3{}
h4{}
h5{}
h6{}

/* hero */
			.hero__video_container__inner {
				height: 100lvh;
			}
				.hero__video_container__texture._01 {
					display: none;
				}
				.hero__video_container__texture._02 {
					display: none;
				}
				.hero__video_container__texture._03 {
					width: calc((582 / 320) * 100vw);
					right: calc((131 / 320) * -100vw);
				}
				.hero__video_wrap {
					width: calc((230 / 320) * 100vw);
					height: calc((230 / 320) * 100vw);
					top: 50svh;
				}
				.hero__video {
					height: 100%;
				}
				.hero__scroll {
					bottom: initial;
					right: initial;
					top: calc(100svh - 67px);
					left: 24px;
				}
	.hero__fv {
		height: 100lvh;
	}
		.hero__fv__copy {
			top: 50svh;
		}
			.hero__fv__copy__en {
				margin-bottom: calc((6 / 320) * 100vw);
				font-size: calc((20 / 320) * 100vw);
				line-height: 1.3;
			}
			.hero__fv__copy__ja {
				font-size: calc((10 / 320) * 100vw);
			}
		.hero__fv__text {
			font-size: 10px;
			bottom: calc((107 / 568) * 100vh);
		}
	.hero__contents {
		padding: 75vh 0 100vh;
	}
		.hero__contents__heading {
			width: 100%;
			height: auto;
			margin: 0 auto calc((44 / 320) * 100vw);
		}
			.hero__contents__heading__en {
				margin: 0 auto calc((24 / 320) * 100vw);
				font-size: calc((34 / 320) * 100vw);
				line-height: 1.15;
				overflow: initial;
			}
				.hero__contents__heading__en__row {
					display: block;
					overflow: hidden;
				}
					.hero__contents__heading__en__word._02 {
						padding-left: 0.3em;
					}
			.hero__contents__heading__ja {
				font-size: calc((14 / 320) * 100vw);
				letter-spacing: 0.05em;
			}
				.hero__contents__heading__ja__row {
					display: block;
					overflow: hidden;
				}
		.hero__contents__text_wrap {
			padding: 0 0 calc((80 / 320) * 100vw);
		}
			.hero__contents__text {
				width: calc((263 / 320) * 100vw);
				margin: 0 auto;
				opacity: 0;
			}

#join_us {
	padding: 40px 0;
}
	.join_us__sub_heading {
		top: 42px;
		left: initial;
		right: calc((20 / 320) * 100vw);
		z-index: 2;
	}
		.join_us__sub_heading::before {
			display: none;
		}
		.join_us__sub_heading__text {
			font-size: 10px;
		}
	.join_us__inner {
		width: calc((300 / 320) * 100%);
		position: relative;
		z-index: 2;
	}
		#join_us .section_heading {
			width: 100%;
			padding: 0 0 0 20px;
			margin: 0 auto 40px;
		}
		.join_us__contents {
			flex-direction: column;
			justify-content: flex-start;
			align-items: stretch;
			gap: 30px;
		}
			.join_us__contents__item {
				width: 100%;
				padding: 20px calc((14 / 320) * 100vw) 35px;
			}
				.join_us__contents__item::before,
				.join_us__contents__item::after {
					opacity: 0;
				}
				.join_us__contents__item::before {
					top: 20px;
					left: 20px;
				}
				.join_us__contents__item::after {
					bottom: 20px;
					right: 20px;
				}
				._run.join_us__contents__item::before,
				._run.join_us__contents__item::after {
					opacity: 1;
				}
				.join_us__contents__item__sub_heading {
					padding: 0 0 0 15px;
					transition-delay: .3s;
				}
				.join_us__contents__item__heading {
					padding: 0 0 0 15px;
					font-size: 22px;
					transition-delay: .3s;
				}
				.join_us__contents__item__details_list {
					transition-delay: .3s;
				}
					.join_us__contents__item__details_list__item {
						display: block;
						min-height: initial;
						padding: 10px 0 !important;
						position: relative;
					}
						.join_us__contents__item__details_list__item__icon {
							width: 13px;
							margin: 0 !important;
							position: absolute;
							top: 16px;
							left: 9px;
						}
						.join_us__contents__item__details_list__item__inner {
							flex: initial;
							width: calc((242 / 272) * 100%);
							padding: 0 0 0 12px;
							margin: 0 auto;
						}
							.join_us__contents__item__details_list__item__inner dt {
								margin-bottom: 2px;
								line-height: 1.8;
							}
							.join_us__contents__item__details_list__item__inner dd {
								line-height: 1.6;
							}
							.join_us__contents__item__details_list__item__inner p {
								line-height: 1.8;
							}

#brand {
	padding: 50px 0;
}
	.brand__texture {
		width: calc((930 / 320) * 100vw);
		left: calc((215 / 320) * -100vw);
	}
	.brand__inner {
		flex-direction: column;
		justify-content: flex-start;
		gap: initial;
		width: calc((272 / 320) * 100%);
		padding: 0 0 150px;
	}
		.brand__heading {
			display: block;
			width: 100%;
			margin: 0 auto 40px;
		}
			#brand .section_heading {
				margin-bottom: 0;
			}
		.brand__contents {
			flex-shrink: initial;
			width: 100%;
			transform: translateX(0%) translateY(14px);
		}
		._run .brand__contents {
			transform: translateX(0%) translateY(0%);
		}
			.brand__swiper {
				overflow: initial;
			}
				.brand__swiper .swiper-wrapper {
					overflow: initial;
				}
					.brand__slide__details {
						padding: 10px 20px 16px;
					}
						.brand__slide__logo {
							height: 50px;
						}
							._kushitanaka .brand__slide__logo img {
								width: 150px;
							}
							._tennomeshi .brand__slide__logo img {
								width: 145px;
							}
							._tanaka .brand__slide__logo img {
								width: 58px;
							}
							._kuruton .brand__slide__logo img {
								width: 140px;
							}
							._atsuton .brand__slide__logo img {
								width: 76px;
							}
							._tsukurioki .brand__slide__logo img {
								width: 124px;
							}
						.brand__slide__image {
							margin: 0 auto 22px;
						}
							.brand__slide__info dt {
								min-height: 38px;
								margin: 0 auto 5px;
								font-size: 16px;
							}
								.brand__slide__info dt small {
									margin-bottom: 1px;
								}
							.brand__slide__info dd {
								min-height: 65px;
								letter-spacing: 0em;
							}
					.brand__slide__recommend {
						padding: 20px 20px 16px;
					}
						.brand__slide__recommend__heading {
							margin: 0 auto 6px;
						}
							.brand__slide__recommend__heading__en {
								margin: 0 auto -2px;
							}
						.brand__slide__recommend__text {
							min-height: 65px;
							letter-spacing: 0.1em;
						}
		.brand__nav {
			flex-direction: column-reverse;
			justify-content: flex-end;
			align-items: center;
			flex: initial;
			width: 100%;
			gap: 30px;
			position: absolute;
			bottom: 0;
			left: 0;
		}
		._run .brand__nav {
			opacity: 1;
		}
			.brand__nav__arrow_wrap {
				display: flex;
				justify-content: space-between;
				align-items: center;
				width: 96px;
				height: auto;
			}
				.brand__nav__arrow {
					display: flex;
					justify-content: center;
					align-items: center;
					width: 43px;
					height: 43px;
					padding: 0;
					border: solid 1px var(--color--gray);
					background-color: rgba(255, 255, 255, 0);
					cursor: pointer;
				}
				.brand__nav__arrow.swiper-button-disabled {
					pointer-events: none;
					opacity: .5;
				}
					.brand__nav__arrow svg {
						width: 12px;
						height: auto;
						fill: var(--color--white);
					}
			@media (any-hover: hover) {
				.brand__nav__arrow {
					transition: var(--transition--time);
				}
				.brand__nav__arrow:hover {
					background-color: rgba(255, 255, 255, 0.2);
				}
			}
			.brand__nav__btn_wrap {
				width: 200px;
				height: 48px;
			}

#group {
	padding: 40px 0 50px;
	overflow: hidden;
}
	.group__inner {
		width: 100%;
	}
		#group .section_heading {
			width: calc((288 / 320) * 100%);
			padding: 0 0 0 12px;
			margin: 0 auto 40px;
		}
		.group__contents {
			overflow: auto;
			position: relative;
			scrollbar-width: none;
		}
		.group__contents::-webkit-scrollbar {
			display: none;
		}
			.group__list {
				display: flex;
				justify-content: flex-start;
				align-items: flex-start;
				gap: 8px;
				padding-left: calc((18 / 320) * 100vw);
			}
				.group__list::after {
					content: '';
					display: block;
					flex-shrink: 0;
					width: calc(((18 / 320) * 100vw) - 8px);
					height: 1px;
				}
				.group__list__item {
					flex-shrink: 0;
					width: 200px;
				}
					.group__list__item__logo {
						margin: 0 auto 10px;
					}
					.group__list__item__company_name {
						margin: 0 auto 15px;
						font-size: 16px;
						line-height: 1.4;
					}
						.group__list__item__info dt {
							font-size: 12px;
						}
		.group__scrollbar {
			width: calc((280 / 320) * 100%);
			height: 10px;
			padding: 0 2px;
			margin: 48px auto 0;
			z-index: 10;
			pointer-events: none;
			position: relative;
		}
			.group__scrollbar__track {
				width: 100%;
				height: 100%;
				background-color: #EDEDED;
				border: solid 2px #EDEDED;
				border-radius: 5px;
				position: relative;
			}
				.group__scrollbar__thumb {
					height: 6px;
					background-color: var(--color--gray);
					border-radius: 3px;
					position: absolute;
					top: 0;
					left: 0;
					transition: all 0.1s ease;
					pointer-events: auto;
					cursor: pointer;
				}
				.group__scrollbar__thumb:hover {
					background-color: var(--color--orange);
				}
				.group__scrollbar__thumb:active,
				.group__scrollbar__thumb.dragging {
					background-color: var(--color--orange);
				}

#entry {
	padding: 50px 0;
}
	.entry__texture._01 {
		display: none;
	}
	.entry__texture._02 {
		width: calc((824 / 320) * 100vw);
		right: calc((312 / 320) * -100vw);
	}
	.entry__inner {
		width: calc((260 / 320) * 100%);
	}
		.entry__heading {
			margin: 0 auto 40px;
		}
			.entry__heading__en {
				margin: 0 auto 10px;
				font-size: 34px;
				line-height: 1.3;
			}
			.entry__heading__ja {
				font-size: 12px;
			}
		.entry__btn_wrap {
			margin: 0 auto 40px;
		}
			.entry__btn {
				height: 76px;
			}
				.entry__btn::after {
					background-image: url(../image/index/entry-btn_bg@sp.webp);
				}
			.entry__list {
				flex-direction: column;
				justify-content: flex-start;
				align-items: stretch;
				gap: 10px;
			}
				.entry__list__item {
					width: 100%;
				}
					.entry__list__item__link {
						padding: 20px;
					}
						.entry__list__item__link__heading {
							margin: 0 auto 24px;
						}
							.entry__list__item__link__heading__en {
								font-size: 11px;
							}
						.entry__list__item__link__image {
							max-width: initial;
							aspect-ratio: 220 / 100;
							overflow: hidden;
						}
							.entry__list__item__link__image img {
								width: 100%;
								height: 100%;
								object-fit: cover;
								object-position: center 20%;
							}
						.entry__list__item__link__icon {
							bottom: initial;
							top: 26px;
						}
}

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

}