@charset "utf-8";
body {
	padding-top: 0 !important;
	opacity: 0;
	transition: .8s;
}
body.fadein {
	opacity: 1;
}

#header {
	height: 62px;
}
	.header__inner {
		justify-content: flex-end;
	}
		.header__logo {
			width: 198px;
			height: 108px;
			border-radius: 0 0 20px 0;
			background-color: var(--color--black);
			position: absolute;
			top: 0;
			left: 0;
			z-index: 1;
		}

#hero {
	width: 100%;
	height: 100vh;
	padding-top: 62px;
}
	.hero__inner {
		/* width: calc(100% - 44px);
		height: calc(100% - 22px); */
		width: 100%;
		height: 100%;
		margin: 0 auto;
		position: relative;
	}
		.hero__swiper_container {
			width: 100%;
			height: 100%;
			overflow: hidden;
			pointer-events: none;
			position: relative;
		}
			.hero__swiper_container::before {
				content: '';
				display: block;
				width: 100%;
				height: 100%;
				background-color: var(--color--black);
				opacity: 0.3;
				position: absolute;
				top: 0;
				left: 0;
				z-index: 2;
			}
			.hero__swiper_container video {
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
				position: relative;
				z-index: 1;
			}
			.hero__swiper {
				width: 100%;
				height: 100%;
			}
				.hero__swiper__image {
					width: 100%;
					height: 100%;
					border-radius: 20px;
					overflow: hidden;
				}
					.hero__swiper__image img {
						width: 100%;
						height: 100%;
						object-fit: cover;
						object-position: center;
					}
		.hero__copy {
			width: auto;
			height: auto;
			position: absolute;
			/* bottom: calc((134 / 696) * 100%);
			left: calc((107 / 1156) * 100%); */
			top: 50%;
			left: 50%;
			transform: translate(-50%,-50%);
			z-index: 10;
			filter: drop-shadow(3px 3px 4px rgba(11 , 16 , 19 , 0))
					drop-shadow(3px -3px 4px rgba(11 , 16 , 19 , 0))
					drop-shadow(-3px 3px 4px rgba(11 , 16 , 19 , 0))
					drop-shadow(-3px -3px 4px rgba(11 , 16 , 19 , 0));
			transition: .8s;
		}
		.loaded .hero__copy {
			filter: drop-shadow(3px 3px 4px rgba(11 , 16 , 19 , 0.2))
			drop-shadow(3px -3px 4px rgba(11 , 16 , 19 , 0.2))
			drop-shadow(-3px 3px 4px rgba(11 , 16 , 19 , 0.2))
			drop-shadow(-3px -3px 4px rgba(11 , 16 , 19 , 0.2))
		}
			.hero__copy__main {
				margin-bottom: 10px;
				font-size: 40px;
				font-weight: 600;
				line-height: calc(60 / 48);
				letter-spacing: 0.08em;
				text-align: center;
				color: var(--color--white);
				white-space: nowrap;
				opacity: 0;
				transition: .8s;
				transform: translate(0px,20px);
			}
			.loaded .hero__copy__main {
				opacity: 1;
				transform: translate(0px,0px);
			}
			.hero__copy__sub {
				font-size: 16px;
				font-weight: 600;
				line-height: calc(17 / 16);
				color: var(--color--white);
				text-align: center;
				white-space: nowrap;
				opacity: 0;
				transition: .8s;
				transition-delay: .2s;
				transform: translate(0px,20px);
			}
			.loaded .hero__copy__sub {
				opacity: 1;
				transform: translate(0px,0px);
			}

#news {
	width: 100%;
	height: auto;
	padding: 55px 0;
	background-color: #f2f2f2;
	position: relative;
	overflow: hidden;
}
	#news::before {
		content: '';
		display: block;
		width: 100%;
		height: 100%;
		background-image: url('../image/index/news-bgimage.webp');
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
		mix-blend-mode: lighten;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
	}
	.news__inner {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		flex-wrap: wrap;
		width: 90%;
		max-width: 840px;
		height: auto;
		margin: 0 auto;
		position: relative;
		z-index: 3;
	}
		.news__logomark {
			width: 227px;
			height: auto;
			position: absolute;
			top: 50%;
			right: -156px;
			transform: translate(0%,-50%);
			z-index: -1;
			opacity: .8;
		}
		.news__heading {
			width: 90px;
			height: auto;
			padding-top: 4px;
		}
			.news__heading__txt {
				font-size: 24px;
				font-weight: 600;
				line-height: 1;
				letter-spacing: 0.2em;
				color: var(--color--black);
				-webkit-writing-mode: vertical-rl;
				-moz-writing-mode: vertical-rl;
				-ms-writing-mode: tb-rl;
				-ms-writing-mode: vertical-rl;
				writing-mode: vertical-rl;
				position: relative;
			}
				.news__heading__txt::after {
					content: '';
					display: block;
					width: 1px;
					height: calc(100% - 0.2em);
					background-color: #CCCCCC;
					position: absolute;
					top: 0;
					right: -20px;
				}
		.news__list_wrap {
			width: calc(100% - 90px);
			height: auto;
		}
			.news__list {
				display: flex;
				flex-direction: column;
				row-gap: 30px;
				width: 100%;
				height: auto;
			}
				.news__list__item {
					width: 100%;
					height: auto;
					font-size: 16px;
					line-height: 1.5;
					position: relative;
					opacity: 0;
					transform: translate(0, 20px);
					-webkit-transform: translate(0, 20px);
					transition: .8s;
					-webkit-transition: .8s;
				}
				.run .news__list__item {
					transform: translate(0, 0);
					-webkit-transform: translate(0, 0);
					opacity: 1;
				}
				.news__list__item:nth-of-type(2) {
					transition-delay: .1s;
				}
				.news__list__item:nth-of-type(3) {
					transition-delay: .2s;
				}
					.news__list__item__inner {
						display: flex;
						justify-content: flex-start;
						align-items: flex-start;
						color: var(--color--black);
					}
				@media (any-hover: hover) {
					.news__list__item__inner {
						transition: .3s;
					}
					.news__list__item__inner:hover {
						color: var(--color--hover_color);
					}
				}
						.news__list__item__date {
							width: 132px;
							font-weight: 500;
						}
						.news__list__item__ttl {
							padding-right: 50px;
							font-weight: 600;
							position: relative;
						}
							.news__list__item__icon {
								width: 30px;
								height: auto;
								position: absolute;
								top: 50%;
								right: 0;
								transform: translate(0%,-50%);
							}
		.news__btn_area {
			width: 100%;
			height: auto;
			margin: 40px auto 0;
		}
			.news__btn_wrap {
				width: 160px;
				height: 42px;
				margin: 0 auto;
			}

#philosophy {
	width: 100%;
	height: auto;
	padding: 40px;
	background-color: var(--color--red);
	overflow: hidden;
}
	.philosophy__container {
		width: 100%;
		height: auto;
		padding: 40px 0;
		border-radius: 20px;
		background-color: var(--color--black);
	}
		.philosophy__inner {
			display: flex;
			justify-content: flex-start;
			align-items: stretch;
			width: 97%;
			max-width: 1000px;
			padding-left: 8%;
			margin: 0 auto;
		}
			.philosophy__heading {
				display: flex;
				align-items: center;
				width: 63px;
				height: auto;
			}
				.philosophy__heading__txt {
					font-size: 24px;
					font-weight: 600;
					line-height: 1;
					letter-spacing: 0.2em;
					-webkit-writing-mode: vertical-rl;
					-moz-writing-mode: vertical-rl;
					-ms-writing-mode: tb-rl;
					-ms-writing-mode: vertical-rl;
					writing-mode: vertical-rl;
					white-space: nowrap;
					transform: translate(0%,-50%);
				}
					.philosophy__heading__txt::after {
						content: '';
						display: block;
						width: 1px;
						height: calc(100% - 0.2em);
						background-color: var(--color--red);
						position: absolute;
						top: 0;
						right: -16px;
					}
			.philosophy__contents {
				width: auto;
				max-width: 262px;
				height: auto;
			}
				.philosophy__contents__logo {
					width: calc((129 / 262) * 100%);
					height: auto;
					margin: 0 auto 20px;
				}
				.philosophy__contents__main_txt {
					margin-bottom: 22px;
					font-size: 32px;
					font-weight: 500;
					line-height: calc(42 / 32);
					letter-spacing: 0.2em;
					text-align: center;
					white-space: nowrap;
				}
				.philosophy__contents__sub_txt {
					margin-bottom: 60px;
					font-size: 16px;
					font-weight: 500;
					line-height: calc(27 / 16);
					text-align: center;
					white-space: nowrap;
				}
				.philosophy__contents__btn_wrap {
					width: 160px;
					height: 42px;
					margin: 0 auto;
				}
			.philosophy__pv {
				display: flex;
				flex-direction: column;
				justify-content: flex-end;
				align-items: center;
				width: calc((556 / 1000) * 100%);
				height: auto;
				margin: 0 0 0 auto;
			}
				.philosophy__pv__heading {
					width: 100%;
					height: auto;
					margin: 0 auto 34px;
					font-size: 46px;
					font-weight: 600;
					line-height: calc(54 / 46);
					letter-spacing: 0.08em;
					text-align: center;
					color: var(--color--red);
				}
				.philosophy__pv__video_wrap {
					width: 100%;
					height: auto;
					position: relative;
					cursor: pointer;
				}
					.philosophy__pv__video {
						display: block;
						width: 100%;
						height: auto;
					}
					.philosophy__pv__video__play_btn {
						width: calc((130 / 840) * 100%);
						height: auto;
						position: absolute;
						top: 50%;
						left: 50%;
						transform: translate(-50%,-50%);
						transition: .3s;
					}
					.philosophy__pv__video__play_btn.playActive {
						opacity: 0;
						pointer-events: none;
					}

#txtband {
	width: 100%;
	height: auto;
	padding: 65px 0 90px;
	overflow: hidden;
}
	.txtband__inner {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		width: 100%;
	}
		.txtband__image {
			display: flex;
			justify-content: flex-start;
			align-items: center;
			width: auto;
			height: auto;
			animation: infinity-scroll-left 80s infinite linear 0.5s both;
		}
			.txtband__image img {
				width: calc((1283 / 1200) * 100vw);
			}
		@keyframes infinity-scroll-left {
			from {
				transform: translateX(0);
			}
			to {
				transform: translateX(-100%);
			}
		}

#overview {
	width: 100%;
	padding-top: 62px;
	position: relative;
}
	.overview__mark_container {
		width: 100%;
		height: calc(100% - 62px);
		pointer-events: none;
		position: absolute;
		top: 62px;
		left: 0;
		z-index: 2;
	}
		.overview__mark_wrap {
			width: 100%;
			height: calc(100vh - 62px);
			position: sticky;
			top: 62px;
			left: 0;
		}
			.overview__mark {
				width: 75px;
				height: auto;
				position: relative;
				top: calc(((50 / 677) * 100%) + 2px);
				left: 50%;
				transform: translate(-50%,-50%);
			}
	.overview__item {
		width: 100%;
		height: 350vh;
		pointer-events: none;
	}
	.overview__item._results {
		height: 250vh;
	}
		.overview__item__container {
			display: flex;
			justify-content: space-between;
			align-items: flex-start;
			width: 100%;
			position: sticky;
			top: 62px;
			left: 0;
		}
		._corporate .overview__item__container {
			height: calc(100vh - 62px);
		}
		._technology .overview__item__container {
			height: calc(100vh - 62px);
			margin-top: -200vh;
		}
		._results .overview__item__container {
			height: calc(100vh - 62px);
			margin-top: -200vh;
		}
			.overview__item__contents {
				display: flex;
				flex-direction: column;
				justify-content: center;
				align-items: center;
				width: 50%;
				height: 100%;
				background-color: var(--color--black);
			}
				.overview__item__heading {
					width: 100%;
					height: auto;
					margin: 0 auto 50px;
				}
					.overview__item__heading__sub_txt {
						width: 100%;
						height: auto;
						margin: 0 auto 26px;
						font-size: 16px;
						font-weight: 500;
						line-height: calc(17 / 16);
						text-align: center;
					}
					.overview__item__heading__main_txt {
						width: 100%;
						height: auto;
						font-size: 32px;
						font-weight: 900;
						line-height: 1;
						letter-spacing: 0.08em;
						text-align: center;
					}
				.overview__item__txt {
					width: 100%;
					height: auto;
					margin: 0 auto 52px;
					font-size: 16px;
					font-weight: 500;
					line-height: 2;
					text-align: center;
				}
				.overview__item__btn_wrap {
					width: 160px;
					height: 42px;
					margin: 0 auto;
				}
			.overview__item__image {
				width: 50%;
				height: 100%;
				overflow: hidden;
			}
				.overview__item__image img {
					width: 100%;
					height: 100%;
					object-fit: cover;
					object-position: center;
				}

#activities {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	height: auto;
}
	#activity,
	#contribution {
		width: 50%;
		height: auto;
	}
	#activity {
		background-color: #B63934;
	}
	#contribution {
		background-color: #474785;
	}
		.activities__item__inner {
			display: block;
			width: 100%;
			height: auto;
			padding: 60px 60px 50px;
			color: var(--color--white);
			position: relative;
		}
			.activities__item__inner::before {
				content: '';
				display: block;
				width: 100%;
				height: 100%;
				background-image: url('../image/index/activities-bgimage.webp');
				background-position: center;
				background-repeat: no-repeat;
				background-size: cover;
				mix-blend-mode: multiply;
				position: absolute;
				top: 0;
				left: 0;
				z-index: 1;
			}
		@media (any-hover: hover) {
			.activities__item__inner::before {
				transition: .3s;
				opacity: 1;
			}
			.activities__item__inner:hover::before {
				opacity: 0;
			}
		}
			.activities__heading {
				font-size: 20px;
				font-weight: 500;
				line-height: calc(22 / 20);
				-webkit-writing-mode: vertical-rl;
				-moz-writing-mode: vertical-rl;
				-ms-writing-mode: tb-rl;
				-ms-writing-mode: vertical-rl;
				writing-mode: vertical-rl;
				position: absolute;
				top: 23px;
				left: 19px;
				z-index: 2;
				opacity: 0;
				transform: translate(0, 20px);
				-webkit-transform: translate(0, 20px);
				transition: .8s;
				-webkit-transition: .8s;
			}
			.run .activities__heading {
				transform: translate(0, 0);
				-webkit-transform: translate(0, 0);
				opacity: 1;
			}
			.activities__inner {
				width: 100%;
				height: auto;
				position: relative;
				z-index: 2;
				opacity: 0;
				transform: translate(0, 20px);
				-webkit-transform: translate(0, 20px);
				transition: .8s;
				-webkit-transition: .8s;
				transition-delay: .1s;
			}
			.run .activities__inner {
				transform: translate(0, 0);
				-webkit-transform: translate(0, 0);
				opacity: 1;
			}
				.activities__image {
					width: 100%;
					height: auto;
					margin: 0 auto 30px;
				}
			@media (any-hover: hover) {
				.activities__image {
					transition: .3s;
					transform: scale(1);
				}
				.activities__item__inner:hover .activities__image {
					transform: scale(1.02);
				}
			}
				.activities__summary {
					width: 100%;
					height: auto;
				}
					.activities__summary dt {
						width: 100%;
						height: auto;
						margin: 0 auto 12px;
						font-size: 32px;
						font-weight: 500;
						line-height: 1;
						letter-spacing: 0.08em;
						text-align: center;
					}
					.activities__summary dd {
						width: 100%;
						height: auto;
						font-size: 16px;
						font-weight: 500;
						line-height: 2;
						text-align: center;
					}
				.activities__btn_icon {
					width: 30px;
					height: 30px;
					position: absolute;
					bottom: 20px;
					right: 20px;
					z-index: 2;
					opacity: 0;
					transform: translate(0, 20px);
					-webkit-transform: translate(0, 20px);
					transition: .8s;
					-webkit-transition: .8s;
					transition-delay: .2s;
				}
				.run .activities__btn_icon {
					transform: translate(0, 0);
					-webkit-transform: translate(0, 0);
					opacity: 1;
				}

#professional {
	width: 100%;
	height: auto;
	padding: 92px 0 80px;
}
	.professional__inner {
		width: 100%;
		height: auto;
	}
		.professional__heading {
			width: 100%;
			height: auto;
			margin: 0 auto 56px;
		}
			.professional__heading__sub_txt {
				width: 100%;
				height: auto;
				margin: 0 auto 22px;
				font-size: 16px;
				font-weight: 500;
				line-height: 1;
				text-align: center;
			}
			.professional__heading__main_txt {
				width: 100%;
				height: auto;
				font-size: 32px;
				font-weight: 900;
				line-height: 1;
				letter-spacing: 0.08em;
				text-align: center;
			}
		.professional__swiper_container {
			width: 100%;
			height: auto;
		}
			.professional__swiper {
				width: 100%;
				height: auto;
			}
				.professional__swiper__slide {
					display: block;
					width: 100%;
					height: auto;
					color: var(--color--white);
				}
					.professional__image {
						width: 100%;
						height: auto;
						overflow: hidden;
					}
					@media (any-hover: hover) {
						.professional__image img {
							transition: .3s;
							transform: scale(1);
						}
						.professional__swiper__slide:hover .professional__image img {
							transform: scale(1.03);
						}
					}
					.professional__details {
						width: 100%;
						height: auto;
						padding: 20px 0 0;
						position: relative;
					}
						.professional__details__career {
							display: flex;
							justify-content: flex-start;
							align-items: center;
							width: 100%;
							height: auto;
							margin: 0 auto 10px;
							font-size: 16px;
							font-weight: 500;
							line-height: 1;
						}
							.professional__details__career small {
								margin-left: 8px;
								font-size: 14px;
								line-height: 16px;
							}
						.professional__details__name {
							width: 100%;
							height: auto;
							margin: 0 auto 16px;
							font-size: 24px;
							font-weight: 500;
							line-height: 1;
						}
						.professional__details__txt {
							width: 100%;
							height: auto;
							font-size: 16px;
							font-weight: 500;
							line-height: calc(20 / 16);
						}
						.professional__details__icon {
							width: 30px;
							height: auto;
							position: absolute;
							bottom: 0;
							right: 0;
						}
				.swiper-button-prev.professional_swiper_prev,
				.swiper-button-next.professional_swiper_next {
					display: flex;
					justify-content: center;
					align-items: center;
					width: 52px;
					height: 52px;
					margin-top: 26px;
					border-radius: 9999px;
					top: 21vw;
				}
				.swiper-button-prev.professional_swiper_prev {
					left: calc((100 / 1200) * 100vw);
				}
				.swiper-button-next.professional_swiper_next {
					right: calc((100 / 1200) * 100vw);
				}
			@media (any-hover: hover) {
				.swiper-button-prev.professional_swiper_prev,
				.swiper-button-next.professional_swiper_next {
					transition: .3s;
					transform: scale(1);
				}
				.swiper-button-prev.professional_swiper_prev:hover,
				.swiper-button-next.professional_swiper_next:hover {
					transform: scale(1.08);
				}
			}

#recruitment {
	width: 100%;
	height: auto;
	padding: 55px 0 82px;
	overflow: hidden;
}
	.recruitment__inner {
		width: 90%;
		max-width: 1000px;
		height: auto;
		margin: 0 auto;
		position: relative;
		z-index: 2;
	}
		.recruitment__logomark {
			width: 530px;
			height: auto;
			opacity: .2;
			position: absolute;
			top: -55px;
			right: -197px;
			z-index: -1;
		}
		.recruitment__container {
			display: flex;
			justify-content: space-between;
			align-items: center;
			width: 100%;
			height: auto;
			padding: 12px calc((17 / 980) * 100%) 12px calc((32 / 980) * 100%);
			margin: 0 auto 25px;
			background-color: var(--color--white);
			border: solid 10px #DEDEDE;
		}
			.recruitment__contents {
				width: calc((458 / 931) * 100%);
				height: auto;
				padding-right: 18px;
			}
				.recruitment__heading {
					display: flex;
					justify-content: flex-start;
					align-items: center;
					width: 100%;
					height: auto;
					margin: 0 auto 30px;
				}
					.recruitment__heading__main_txt {
						font-size: 32px;
						font-weight: 500;
						line-height: 1;
						letter-spacing: 0.08em;
						color: var(--color--black);
					}
					.recruitment__heading__sub_txt {
						margin-left: 11px;
						font-size: 16px;
						font-weight: 500;
						line-height: 1;
						color: #DEDEDE;
					}
				.recruitment__details {
					width: 100%;
					height: auto;
					margin: 0 auto 18px;
					color: var(--color--black);
				}
					.recruitment__details dt {
						width: 100%;
						height: auto;
						margin: 0 auto 12px;
						font-size: 20px;
						font-weight: 900;
						line-height: 1.5;
					}
					.recruitment__details dd {
						width: 100%;
						height: auto;
						font-size: 16px;
						font-weight: 500;
						line-height: calc(27 / 16);
					}
				.recruitment__btn_wrap {
					width: 160px;
					height: 42px;
					margin: 0 auto 0 0;
				}
			.recruitment__image {
				width: calc((473.5 / 931) * 100%);
				height: auto;
			}
		.recruitment__sns {
			display: flex;
			justify-content: space-between;
			align-items: center;
			width: 100%;
			height: auto;
		}
			.recruitment__sns__btn_wrap {
				width: 49%;
				height: 88px;
			}
				.recruitment__sns__btn {
					display: flex;
					justify-content: center;
					align-items: center;
					width: 100%;
					height: 100%;
					border-radius: 12px;
					background-color: var(--color--white);
					position: relative;
				}
				.recruitment__sns__btn._instagram {
					border: solid 4px #BF029E
				}
				.recruitment__sns__btn._youtube {
					border: solid 4px #FF0000;
				}
					.recruitment__sns__btn img {
						width: calc((218 / 490) * 100%);
						height: auto;
					}
					.recruitment__sns__btn__icon {
						width: 16px;
						height: 16px;
						border-left: solid 1px var(--color--black);
						border-bottom: solid 1px var(--color--black);
						position: absolute;
						top: 32px;
						right: 15px;
					}
						.recruitment__sns__btn__icon::after {
							content: '';
							display: block;
							width: 11px;
							height: 11px;
							border: solid 1px var(--color--black);
							position: absolute;
							top: 0;
							right: 0;
						}
				@media (any-hover: hover) {
					.recruitment__sns__btn img {
						transition: .3s;
						transform: scale(1);
					}
					.recruitment__sns__btn:hover img {
						transform: scale(1.08);
					}
				}

#access {
	width: 100%;
	height: auto;
	padding: 70px 0 80px;
	background-color: #F2F2F2;
}
	.access__inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 90%;
		max-width: 1000px;
		height: auto;
		margin: 0 auto;
	}
		.access__map {
			width: 53.4%;
			height: auto;
			aspect-ratio: 534 / 400;
		}
			.access__map iframe {
				width: 100%;
				height: 100%;
			}
		.access__contents {
			width: 46.4%;
			height: auto;
			padding-left: 40px;
		}
			.access__list {
				display: flex;
				flex-direction: column;
				justify-content: flex-start;
				align-items: flex-start;
				row-gap: 20px;
				width: 100%;
				height: auto;
			}
				.access__list__item {
					width: 100%;
					height: auto;
					color: var(--color--black);
				}
					.access__list__item dt {
						width: 100%;
						height: auto;
						margin-bottom: 5px;
						font-size: 18px;
						font-weight: 600;
						line-height: calc(24 / 18);
						letter-spacing: 0.08em;
					}
					.access__list__item dd {
						width: 100%;
						height: auto;
						font-size: 14px;
						font-weight: 500;
						line-height: 1.5;
					}

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


}

@media all and (min-width: 769px){

/* overview */
			.overview__item__mark {
				display: none;
			}
}

@media all and (max-width: 1100px){
/* philosophy */
		.philosophy__inner {
			padding-left: 4%;
		}
			.philosophy__contents {
				max-width: 230px;
			}
				.philosophy__contents__logo {
					width: calc((97 / 230) * 100%);
					margin: 0 auto 16px;
				}
				.philosophy__contents__main_txt {
					margin-bottom: 18px;
					font-size: 24px;
				}
				.philosophy__contents__sub_txt {
					margin-bottom: 45px;
					font-size: 14px;
				}
				.philosophy__pv__heading {
					margin: 0 auto 28px;
					font-size: 36px;
					font-weight: 600;
					line-height: calc(54 / 46);
					letter-spacing: 0.08em;
					text-align: center;
					color: var(--color--red);
				}
				.philosophy__pv__video {
					width: 100%;
					height: auto;
				}

}

/* Tablet ================================================== */
@media all and (max-width: 768px){
#header {
	height: 80px;
}

#hero {
	height: 100svh;
	padding-top: 80px;
}
	.hero__inner {
		width: 100%;
		/* height: calc(100% - 25px); */
		height: 100%;
	}
				.hero__swiper__image {
					border-radius: 10px;
				}
		.hero__copy {
			bottom: calc((38 / 395) * 100%);
			left: 50%;
			transform: translate(-50%,0%);
		}
			.hero__copy__main {
				margin-bottom: 6px;
				font-size: 32px;
				line-height: calc(36 / 32);
				text-align: center;
				transform: translate(0px,15px);
			}
			.loaded .hero__copy__main {
				opacity: 1;
				transform: translate(0px,0px);
			}
			.hero__copy__sub {
				font-size: 10px;
				line-height: calc(11 / 10);
				transform: translate(0px,15px);
			}
			.loaded .hero__copy__sub {
				opacity: 1;
				transform: translate(0px,0px);
			}
#news {
	padding: 20px 0 42px;
}
	#news::before {
		display: none;
	}
	.news__inner {
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
		width: calc((360 / 390) * 100%);
	}
		.news__logomark {
			width: 127px;
			top: 10px;
			right: -40px;
			transform: translate(0%,0%);
		}
		.news__heading {
			width: initial;
			padding-top: initial;
			margin-bottom: 35px;
		}
			.news__heading__txt {
				padding-bottom: 5px;
				letter-spacing: 0.08em;
				-webkit-writing-mode: initial;
				-moz-writing-mode: initial;
				-ms-writing-mode: initial;
				-ms-writing-mode: initial;
				writing-mode: initial;
			}
				.news__heading__txt::after {
					width: 100%;
					height: 1px;
					top: initial;
					bottom: 0;
					right: 0;
				}
		.news__list_wrap {
			width: 100%;
		}
			.news__list {
				row-gap: 20px;
			}
				.news__list__item {
					font-size: 14px;
				}
					.news__list__item__inner {
						display: block;
					}
						.news__list__item__date {
							display: block;
							width: 100%;
							margin-bottom: 5px;
						}
						.news__list__item__ttl {
							display: block;
							width: 100%;
						}
		.news__btn_area {
			margin: 30px auto 0;
		}

#philosophy {
	padding: 26px 0;
}
	.philosophy__container {
		width: calc((360 / 390) * 100%);
		padding: 16px 0 52px;
		margin: 0 auto;
		border-radius: 10px;
	}
		.philosophy__inner {
			flex-direction: column;
			justify-content: flex-start;
			align-items: center;
			width: calc((317 / 360) * 100%);
			padding-left: initial;
		}
			.philosophy__heading {
				display: block;
				width: initial;
				margin-bottom: 30px;
			}
				.philosophy__heading__txt {
					padding-bottom: 5px;
					letter-spacing: 0.08em;
					-webkit-writing-mode: initial;
					-moz-writing-mode: initial;
					-ms-writing-mode: initial;
					-ms-writing-mode: initial;
					writing-mode: initial;
					transform: translate(0%,0%);
				}
					.philosophy__heading__txt::after {
						width: 100%;
						height: 1px;
						top: initial;
						bottom: 0;
						right: 0;
					}
			.philosophy__contents {
				width: 100%;
				margin-bottom: 60px;
			}
				.philosophy__contents__logo {
					width: cacl((115 / 317) * 100%);
					margin: 0 auto 22px;
				}
				.philosophy__contents__main_txt {
					margin-bottom: 20px;
					font-size: 24px;
					line-height: calc(36 / 24);
				}
				.philosophy__contents__sub_txt {
					margin-bottom: 24px;
				}
			.philosophy__pv {
				width: 100%;
				margin: 0 auto;
			}
				.philosophy__pv__heading {
					margin: 0 auto 14px;
					font-size: 28px;
					line-height: calc(38 / 28);
				}

#txtband {
	padding: 45px 0 60px;
}
			.txtband__image img {
				width: calc((797 / 390) * 100vw);
			}

#overview {
	padding-top: 0;
}
	.overview__mark_container {
		display: none;
	}
	.overview__item {
		height: auto;
		padding-top: 32px;
		pointer-events: auto;
	}
	.overview__item._results {
		height: auto;
	}
		.overview__item__container {
			flex-direction: column-reverse;
			justify-content: flex-start;
			align-items: center;
			position: relative;
			top: initial;
			left: initial;
		}
		._corporate .overview__item__container {
			height: auto;
		}
		._technology .overview__item__container {
			height: auto;
			margin-top: 0;
		}
		._results .overview__item__container {
			height: auto;
			margin-top: 0;
		}
			.overview__item__contents {
				width: 100%;
				height: auto;
				padding: 30px 0 60px;
			}
				.overview__item__heading {
					margin: 0 auto 22px;
				}
					.overview__item__heading__sub_txt {
						margin: 0 auto 9px;
						font-size: 14px;
						line-height: calc(15 / 14);
					}
					.overview__item__heading__main_txt {
						font-size: 24px;
					}
				.overview__item__txt {
					margin: 0 auto 40px;
					font-size: 14px;
					line-height: calc(26 / 14);
				}
			.overview__item__mark {
				width: 64px;
				height: auto;
				position: absolute;
				top: 0;
				left: 50%;
				transform: translate(-50%,-50%);
				z-index: 2;
			}
			.overview__item__image {
				width: 100%;
				height: auto;
				aspect-ratio: 390 / 442;
			}

#activities {
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}
	#activity,
	#contribution {
		width: 100%;
	}
		.activities__item__inner {
			padding: 36px 36px 0;
		}
			.activities__heading {
				font-size: 13px;
				line-height: calc(14 / 13);
				top: 15px;
				left: 13px;
			}
			.activities__inner {
				padding: 0 0 46px;
			}
				.activities__image {
					max-width: 420px;
					margin: 0 auto 16px;
				}
					.activities__summary dt {
						margin: 0 auto 12px;
						font-size: 20px;
					}
					.activities__summary dd {
						font-size: 16px;
						line-height: calc(26 / 16);
					}
				.activities__btn_icon {
					bottom: 12px;
					right: 12px;
				}

#professional {
	padding: 60px 0 105px;
}
		.professional__heading {
			margin: 0 auto 24px;
		}
			.professional__heading__sub_txt {
				margin: 0 auto 10px;
				font-size: 14px;
			}
			.professional__heading__main_txt {
				font-size: 24px;
			}
					.professional__details {
						padding: 24px 0 0;
					}
						.professional__details__icon {
							bottom: initial;
							top: -35px;
							right: 8px;
						}
				.swiper-button-prev.professional_swiper_prev,
				.swiper-button-next.professional_swiper_next {
					width: 38px;
					height: 38px;
					margin-top: 19px;
					top: 23vw;
				}
				.swiper-button-prev.professional_swiper_prev {
					left: calc((28 / 390) * 100vw);
				}
				.swiper-button-next.professional_swiper_next {
					right: calc((28 / 390) * 100vw);
				}

#recruitment {
	padding: 0;
}
	.recruitment__inner {
		width: 100%;
	}
		.recruitment__logomark {
			display: none;
		}
		.recruitment__container {
			flex-direction: column;
			justify-content: flex-start;
			padding: 28px 0 46px;
			margin: 0 auto;
		}
			.recruitment__contents {
				width: calc((318 / 370) * 100%);
				padding-right: 0;
			}
				.recruitment__heading {
					flex-direction: column-reverse;
					width: initial;
					margin: 0 auto 26px;
				}
					.recruitment__heading__main_txt {
						font-size: 24px;
					}
					.recruitment__heading__sub_txt {
						margin-left: initial;
						margin-bottom: 10px;
						font-size: 14px;
					}
					.recruitment__details dt {
						margin: 0 auto 12px;
						line-height: calc(26 / 20);
						text-align: center;
					}
					.recruitment__image {
						width: 100%;
						max-width: 400px;
						margin: 0 auto 8px;
					}
				.recruitment__btn_wrap {
					width: 160px;
					height: 42px;
					margin: 0 auto;
				}
		.recruitment__sns {
			flex-direction: column;
			justify-content: flex-start;
			row-gap: 16px;
			padding: 26px 0 34px;
		}
			.recruitment__sns__btn_wrap {
				width: calc((346 / 390) * 100%);
				height: 64px;
			}
				.recruitment__sns__btn {
					border-radius: 6px;
				}
				.recruitment__sns__btn._instagram {
					border: solid 6px #BF029E
				}
				.recruitment__sns__btn._youtube {
					border: solid 6px #FF0000;
				}
					.recruitment__sns__btn img {
						width: auto;
						height: calc((36 / 64) * 100%);
					}
					.recruitment__sns__btn__icon {
						top: 18px;
					}

#access {
	padding: 30px 0;
}
	.access__inner {
		flex-direction: column;
		justify-content: flex-start;
		width: calc((344 / 390) * 100%);
	}
		.access__map {
			width: 100%;
			aspect-ratio: 534 / 400;
			margin: 0 auto 14px;
		}
		.access__contents {
			width: 100%;
			padding-left: initial;
		}
			.access__list {
				row-gap: 14px;
			}
					.access__list__item dt {
						margin-bottom: 3px;
						font-size: 16px;
						line-height: calc(27 / 16);
					}
					.access__list__item dd {
						font-size: 14px;
						line-height: calc(22 / 14);
					}
}

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

}