@charset "UTF-8";



	
/* fv
------------------------------  */
#fv {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	background: rgba(0,0,0,0.5);
}
	#fv #video-area {
		position: fixed;
		z-index: -1;
		top: 0;
		right:0;
		left:0;
		bottom:0;
		overflow: hidden;
	}
		#fv #video-area #video {
			position: absolute;
			z-index: -1;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			width: 177.77777778vh;
			height: 56.25vw;
			min-height: 100%;
			min-width: 100%;
		}

	#fv .text {
		text-align: center;
	}
		#fv .text .head {
			font-size: 3.0vw;
			font-weight: 700;
			line-height: 1;
			letter-spacing: 0.1em;
			margin-bottom: 2.5vw;
		}
			#fv .text .head .en {
				font-size: 5.0vw;
			}

		#fv .text h1 {
			width: 48vw;
			margin-bottom: 2.5vw;
		}

		#fv .text .txt-18 {
			line-height: 1;
		}

	#fv .bnr {
		width: 15vw;
		position: absolute;
		bottom: 3vw;
		right: 3vw;
	}
@media screen and (max-width: 767px) {
	#fv .text .head {
		font-size: 5.0vw;
		margin-bottom: 6vw;
	}
		#fv .text .head .en {
			font-size: 10.0vw;
		}

	#fv .text h1 {
		width: 80vw;
		margin-bottom: 4vw;
	}

	#fv .text .txt-18 {
		line-height: 1.6em;
	}

	#fv .bnr {
		width: 29vw;
		bottom: 17vw;
	}
}



	
/* what
------------------------------  */
#what {
	background: #22201E;
	border-radius: 3vw;
	position: relative;
	padding-top: 4vw;
	padding-bottom: 10vw;
}
#what:before {
	content: "";
	width: 100%;
	height: 20%;
	background: rgba(0,0,0,0.5);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
#what:after {
	content: "";
	width: 100%;
	height: 20%;
	background: rgba(255, 255, 255, 0.3);
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
	#what .top-tit-en {
		margin-bottom: 3.5vw;
		font-size: 15vw;
		color: rgba(255,255,255,0.2);
		text-align: center;
		line-height: 1;
		letter-spacing: -0.06em;
	}

	#what .text-pht {
		margin-right: -5.5%;
		margin-bottom: 7vw;
	}
		#what .text-pht .text {
			width: 45%;
			padding-top: 3vw;
			padding-left: 5vw;
		}
			#what .text-pht .text h2 {
				display: flex;
				justify-content: flex-start;
				align-items: unset;
				font-size: 4.0vw;
				line-height: 1;
				margin-bottom: 3vw;
			}
				#what .text-pht .text h2 img {
					width: 26vw;
					margin-right: 1vw;
				}

			#what .text-pht .text .txt-18 {
				margin-bottom: 1vw;
			}

		#what .text-pht .pht {
			width: 50%;
		}
			#what .text-pht .pht img {
				border-radius: 1vw 0 0 1vw;
			}
@media screen and (max-width: 767px) {
	#what {
		border-radius: 6vw;
		padding-top: 8vw;
		padding-bottom: 20vw;
	}
		#what .top-tit-en {
			margin-bottom: 9vw;
			font-size: 16vw;
		}

		#what .text-pht {
			display: block;
			margin-right: 0;
			margin-bottom: 12vw;
		}
			#what .text-pht .text {
				width: 100%;
				padding-top: 0;
				padding-left: 0;
				margin-bottom: 8vw;
			}
				#what .text-pht .text h2 {
					font-size: 7.0vw;
					margin-bottom: 5vw;
				}
					#what .text-pht .text h2 img {
						width: 46vw;
						margin-right: 1.5vw;
					}

				#what .text-pht .text .txt-18 {
					margin-bottom: 1vw;
				}

			#what .text-pht .pht {
				width: 108%;
			}
				#what .text-pht .pht img {
					border-radius: 3vw 0 0 3vw;
				}
}



	
/* project
------------------------------  */
#project {
	padding-top: 4vw;
	padding-bottom: 10vw;
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
}
	#project .top-tit-en {
		margin-bottom: 3.5vw;
		font-size: 15vw;
		color: rgba(255,255,255,0.2);
		text-align: center;
		line-height: 1;
		letter-spacing: -0.06em;
	}

	#project .text-pht .text {
		width: 45%;
		padding-top: 5vw;
	}
		#project .text-pht .text h2 {
			font-size: 3.8vw;
			line-height: 1;
			margin-bottom: 3vw;
		}

		#project .text-pht .text .txt-16 {
			margin-bottom: 4vw;
		}

	#project .text-pht .pht {
		width: 53%;
	}
@media screen and (max-width: 767px) {
	#project {
		padding-top: 8vw;
		padding-bottom: 20vw;
	}
		#project .top-tit-en {
			margin-bottom: 5vw;
			font-size: 16vw;
		}

	#project .text-pht {
		display: block;
	}
		#project .text-pht .text {
			width: 100%;
			margin-bottom: 10vw;
		}
			#project .text-pht .text h2 {
				font-size: 7.4vw;
				margin-bottom: 5vw;
			}

			#project .text-pht .text .txt-16 {
				margin-bottom: 7vw;
			}

		#project .text-pht .pht {
			width: 100%;
		}
}


	
/* business
------------------------------  */
#business {
	border-radius: 3vw 3vw 0 0; 
	background: #22201E;
	padding-top: 6vw;
	padding-bottom: 10vw;
	position: relative;
}
#business:after {
	content: "";
	width: 100%;
	height: 20%;
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
	#business .pht-area {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		position: relative;
	}
		#business .pht-area .pht01 {
			width: 47%;
			border-radius: 1vw;
			overflow: hidden;
		}
		#business .pht-area .pht02 {
			width: 35%;
			margin-right: 7%;
			border-radius: 1vw;
			overflow: hidden;
		}

		#business .pht-area .top-tit-en {
			font-size: 9.0vw;
			color: rgba(255,255,255,0.2);
			text-align: right;
			line-height: 1.2em;
			letter-spacing: -0.06em;
			position: absolute;
			bottom: -1vw;
			right: 0;
		}

		#business .pht-area .circle {
			width: 14%;
			position: absolute;
			bottom: -3vw;
			right: -2vw;
			animation: rotate-anime 15s linear infinite;
		}
		@keyframes rotate-anime {
		  0%  {transform: rotate(0);}
		  100%  {transform: rotate(360deg);}
		}

	#business .text-pht {
		margin-bottom: 12vw;
	}
		#business .text-pht .text {
			width: 45%;
			order: 2;
		}
			#business .text-pht .text h3 {
				font-size: 2.2vw;
				font-weight: 700;
				line-height: 1.5em;
				margin-bottom: 2vw;
			}

			#business .text-pht .text .txt-16 {
				margin-bottom: 1.5vw;
			}

			#business .text-pht .text .btn-right {
				display: flex;
				justify-content: flex-end;
				align-items: flex-start;
				margin-top: 3.5vw;
			}

		#business .text-pht .pht {
			width: 52%;
			order: 1;
			margin-left: -5.5%;
			position: relative;
		}
			#business .text-pht .pht .pht03 {
				border-radius: 0 1vw 1vw 0;
			}
			#business .text-pht .pht .pht04 {
				width: 40%;
				border-radius: 1vw;
				position: absolute;
				bottom: -15%;
				right: -8%;
			}

	#business .matching {
		width: 105.5%;
		margin-bottom: 7vw;
		overflow: hidden;
	}
		#business .matching h3 {
			font-size: 2.4vw;
			margin-bottom: 2vw;
			position: relative;
		}
		#business .matching h3:before {
			content: "";
			width: 94.5%;
			height: 1px;
			background: #fff;
			opacity: 0.5;
			position: absolute;
			top: 50%;
			left: 0;
			z-index: 1;
		}
			#business .matching h3 span {
				background: #21201E;
				padding-right: 2vw;
				position: relative;
				z-index: 2;
			}

		#business .matching .swiper-container {
			padding: 0 0 0 0;
			position: relative;
		}
			#business .matching .swiper-container a.swiper-slide {
				display: block;
			}
				#business .matching .swiper-container a.swiper-slide .pht {
					border-radius: 1vw;
					width: 100%;
					height: 100%;
					aspect-ratio: 16 / 10;
				}
					#business .matching .swiper-container a.swiper-slide .pht img {
						width: 100%;
						height: 100%;
						object-fit: cover;
					}

				#business .matching .swiper-container a.swiper-slide .text {
					padding-top: 1.5vw;
					position: relative;
				}
				#business .matching .swiper-container a.swiper-slide .text:before {
					content: "";
					width: 2vw;
					height: 2vw;
					background: url("../img/common/btn_arrow_yellow.svg") no-repeat center / 100%;
					position: absolute;
					top: -1vw;
					right: 2vw;
				}
					#business .matching .swiper-container a.swiper-slide .text h4 {
						font-size: 1.6vw;
						font-weight: 700;
						line-height: 1.3em;
						margin-bottom: 1vw;
					}

					#business .matching .swiper-container a.swiper-slide .text .txt-14 {
						overflow: hidden;
						display: -webkit-box;
						-webkit-box-orient: vertical;
						-webkit-line-clamp: 2;
						margin-bottom: 1.2vw;
					}

					#business .matching .swiper-container a.swiper-slide .text .info {
						display: flex;
						justify-content: flex-start;
						align-items: center;
					}
						#business .matching .swiper-container a.swiper-slide .text .info time {
							display: block;
							font-weight: 500;
							margin-right: 1.5vw;
						}

						#business .matching .swiper-container a.swiper-slide .text .info ul.tag li {
							height: 1.5vw;
							margin-top: 0.3vw;
							margin-bottom: 0.3vw;
							margin-right: 0.5vw;
							border-radius: 0.75vw;
							background: #fff;
							color: #3D3D3D;
							font-weight: 500;
							padding: 0 0.5vw;
							line-height: 1.5vw;
						}

		#business .matching .swiper-container .slide-pagination-wrapper {
			width: 10%;
			display: flex;
			justify-content: flex-end;
			align-items: center;
			border: solid 1px #fff;
			margin-left: 85%;
			margin-top: 4vw;
			position: relative;
		}
		#business .matching .swiper-container .slide-pagination-wrapper:before {
			content: "";
			width: 1px;
			height: 100%;
			background: #fff;
			position: absolute;
			top: 0;
			left: 50%;
			margin-left: -0.5px;
			z-index: 20;
		}
			#business .matching .swiper-container .swiper-button-next.swiper-button-disabled,
			#business .matching .swiper-container .swiper-button-prev.swiper-button-disabled {
				opacity: 1;
				background: none;
			}

			#business .matching .swiper-container .swiper-button-prev {
				display: block;
				width: 50%;
				height: 100%;
				aspect-ratio: 1 / 1;
				background: #646362;
				margin: 0;
				position: relative;
				top: 0;
				left: 0;
				transition: 0.3s;
				-webkit-transition: 0.3s;
			}
			#business .matching .swiper-container .swiper-button-prev:after {
				display: none;
			}
			#business .matching .swiper-container .swiper-button-prev:before {
				content: '';
				width: 0.5vw;
				height: 0.5vw;
				border: 0;
				transform: rotate(-135deg);
				border-top: solid 2px #EAFF00 !important;
				border-right: solid 2px #EAFF00 !important;
				position: absolute;
				top: 50%;
				left: 50%;
				margin-top: -0.25vw;
				margin-left: -0.25vw;
				transition: 0.3s;
				-webkit-transition: 0.3s;
			}
			#business .matching .swiper-container .swiper-button-prev:hover:before {
			}

			#business .matching .swiper-container .swiper-button-next {
				display: block;
				width: 50%;
				height: 100%;
				aspect-ratio: 1 / 1;
				background: #646362;
				margin: 0;
				position: relative;
				top: 0;
				right: 0;
				transition: 0.3s;
				-webkit-transition: 0.3s;
			}
			#business .matching .swiper-container .swiper-button-next:after {
				display: none;
			}
			#business .matching .swiper-container .swiper-button-next:before {
				content: '';
				width: 0.5vw;
				height: 0.5vw;
				border: 0;
				transform: rotate(45deg);
				border-top: solid 2px #EAFF00 !important;
				border-right: solid 2px #EAFF00 !important;
				position: absolute;
				top: 50%;
				left: 50%;
				margin-top: -0.25vw;
				margin-left: -0.25vw;
				transition: 0.3s;
				-webkit-transition: 0.3s;
			}

		#business .matching .btn {
			margin-top: -5vw;
		}
@media screen and (max-width: 767px) {
	#business {
		border-radius: 6vw 6vw 0 0; 
		padding-top: 10vw;
		padding-bottom: 30vw;
	}
		#business .pht-area .pht01 {
			width: 55%;
			border-radius: 2vw;
		}
		#business .pht-area .pht02 {
			width: 35%;
			margin-right: 0;
			border-radius: 2vw;
		}

		#business .pht-area .circle {
			width: 20%;
			bottom: -5vw;
			right: -4vw;
		}

		#business .text-pht {
			display: block;
			margin-bottom: 14vw;
		}
			#business .text-pht .text {
				width: 100%;
				margin-bottom: 10vw;
			}
				#business .text-pht .text h3 {
					font-size: 5.2vw;
					line-height: 1.7em;
					margin-bottom: 5vw;
				}

				#business .text-pht .text .txt-16 {
					margin-bottom: 3.5vw;
				}

				#business .text-pht .text .btn-right {
					justify-content: flex-start;
					margin-top: 7vw;
				}

			#business .text-pht .pht {
				width: 108%;
				order: 1;
				margin-left: -8%;
			}
				#business .text-pht .pht .pht03 {
					margin-right: 4%;
				}
				#business .text-pht .pht .pht04 {
					right: -5.0%;
					bottom: -10%;
				}

		#business .matching {
			width: 105.5%;
			margin-bottom: 7vw;
		}
			#business .matching h3 {
				font-size: 5.4vw;
				margin-bottom: 4vw;
			}
				#business .matching h3 span {
					padding-right: 4vw;
				}

			#business .matching .swiper-container a.swiper-slide .pht {
				border-radius: 2vw;
			}

			#business .matching .swiper-container a.swiper-slide .text {
				padding-top: 5vw;
			}
			#business .matching .swiper-container a.swiper-slide .text:before {
				width: 7vw;
				height: 7vw;
				top: -3.5vw;
				right: 4vw;
			}
				#business .matching .swiper-container a.swiper-slide .text h4 {
					font-size: 4.4vw;
					margin-bottom: 3vw;
				}

				#business .matching .swiper-container a.swiper-slide .text .txt-14 {
					margin-bottom: 3vw;
				}

				#business .matching .swiper-container a.swiper-slide .text .info time {
					margin-right: 3.5vw;
				}

				#business .matching .swiper-container a.swiper-slide .text .info ul.tag li {
					height: 5vw;
					margin-top: 0.8vw;
					margin-bottom: 0.8vw;
					margin-right: 1.5vw;
					border-radius: 2.5vw;
					padding: 0 2vw;
					line-height: 5vw;
				}

		#business .matching .swiper-container .slide-pagination-wrapper {
			display: none;
		}
	
		#business .matching .btn {
			margin-top: 8vw;
		}
}


	
/* prospective
------------------------------  */
#prospective {
	background: #22201E;
	padding-top: 6vw;
	padding-bottom: 10vw;
	position: relative;
}
	#prospective .pht-area {
		position: relative;
	}
		#prospective .pht-area .pht-list {
			margin-bottom: 1vw;
		}
			#prospective .pht-area .pht-list li {
				width: 18.2%;
				border-radius: 1vw;
			}

		#prospective .pht-area .top-tit-en {
			font-size: 9.0vw;
			color: rgba(255,255,255,0.2);
			text-align: right;
			line-height: 1.2em;
			letter-spacing: -0.06em;
			padding-right: 2vw;
		}

		#prospective .pht-area .circle {
			width: 14%;
			position: absolute;
			bottom: -2vw;
			right: -2vw;
			animation: rotate-anime 15s linear infinite;
		}

	#prospective .text-pht {
		margin-bottom: 7vw;
	}
		#prospective .text-pht .text {
			width: 45%;
		}
			#prospective .text-pht .text h3 {
				font-size: 2.2vw;
				font-weight: 700;
				line-height: 1.5em;
				margin-bottom: 2vw;
			}

			#prospective .text-pht .text .txt-16 {
				margin-bottom: 1.5vw;
			}

			#prospective .text-pht .text .btn-right {
				display: flex;
				justify-content: flex-end;
				align-items: flex-start;
				margin-top: 3.5vw;
			}

		#prospective .text-pht .pht {
			width: 50%;
			border-radius: 1vw 0 0 1vw;
			margin-right: -5.5%;
		}
@media screen and (max-width: 767px) {
	#prospective {
		padding-top: 0;
		padding-bottom: 30vw;
	}
		#prospective .pht-area .pht-list {
			margin-bottom: 3vw;
			justify-content: center;
			-ms-flex-wrap: wrap;
			flex-wrap: wrap;
		}
			#prospective .pht-area .pht-list li {
				width: 31%;
				margin-right: 3.5%;
				margin-bottom: 3.5%;
			}
			#prospective .pht-area .pht-list li:nth-child(3n) {
				margin-right: 0;
			}
			#prospective .pht-area .pht-list li:nth-last-child(1) {
				margin-right: 0;
				margin-bottom: 0;
			}
			#prospective .pht-area .pht-list li:nth-last-child(2) {
				margin-bottom: 0;
			}

		#prospective .pht-area .circle {
			width: 20%;
			bottom: -5vw;
			right: -4vw;
		}

		#prospective .text-pht {
			display: block;
			margin-bottom: 12vw;
		}
			#prospective .text-pht .text {
				width: 100%;
				margin-bottom: 10vw;
			}
				#prospective .text-pht .text h3 {
					font-size: 5.2vw;
					line-height: 1.7em;
					margin-bottom: 5vw;
				}

				#prospective .text-pht .text .txt-16 {
					margin-bottom: 3.5vw;
				}

				#prospective .text-pht .text .btn-right {
					justify-content: flex-start;
					margin-top: 7vw;
				}

			#prospective .text-pht .pht {
				width: 108%;
				border-radius: 2vw 0 0 2vw;
			}
}


	
/* companies
------------------------------  */
#companies {
	background: #22201E;
	padding-top: 4vw;
	padding-bottom: 8vw;
	position: relative;
}
	#companies .pht-area {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		position: relative;
	}
		#companies .pht-area .pht01 {
			width: 64%;
			border-radius: 0 1vw 1vw 0;
			overflow: hidden;
			margin-top: 3vw;
			margin-left: -5.5%;
		}
		#companies .pht-area .pht02 {
			width: 34%;
			border-radius: 1vw;
			overflow: hidden;
		}

		#companies .pht-area .top-tit-en {
			font-size: 9.0vw;
			color: rgba(255,255,255,0.2);
			text-align: right;
			line-height: 1.2em;
			letter-spacing: -0.06em;
			position: absolute;
			bottom: -1vw;
			right: 0;
		}

		#companies .pht-area .circle {
			width: 14%;
			position: absolute;
			bottom: -3vw;
			right: -2vw;
			animation: rotate-anime 15s linear infinite;
		}

	#companies .text-pht {
		margin-bottom: 5vw;
	}
		#companies .text-pht .text {
			width: 42%;
		}
			#companies .text-pht .text h3 {
				font-size: 2.2vw;
				font-weight: 700;
				line-height: 1.5em;
				margin-bottom: 2vw;
			}

			#companies .text-pht .text .txt-16 {
				margin-bottom: 1.5vw;
			}

			#companies .text-pht .text .btn-right {
				display: flex;
				justify-content: flex-end;
				align-items: flex-start;
				margin-top: 3.5vw;
			}

		#companies .text-pht .pht {
			width: 52%;
			border-radius: 1vw 0 0 1vw;
			margin-right: -5.5%;
		}

	#companies .flow {
		margin-bottom: 3vw;
	}
		#companies .flow h3 {
			font-size: 2.0vw;
			font-weight: 700;
			text-align: center;
			margin-bottom: 1.5vw;
		}

		#companies .flow .list {
			margin-bottom: 1.5vw;
		}
			#companies .flow .list .box {
				width: 23.5%;
				border-radius: 1vw;
				padding: 1vw 2vw 2vw 2vw;
				position: relative;
			}
			#companies .flow .list .box:before {
				content: "";
				width: 70%;
				height: 1vw;
				background: url("../img/home/icon_flow.svg") no-repeat right center / auto 100%;
				position: absolute;
				top: 4.5vw;
				right: -3.2vw;
				z-index: 2;
			}
			#companies .flow .list .box:nth-last-child(1):before {
				display: none;
			}
				#companies .flow .list .box .min {
					font-size: 6.0vw;
					line-height: 1;
					margin-bottom: 1.5vw;
				}

				#companies .flow .list .box h4 {
					font-size: 1.6vw;
					line-height: 1.5em;
					margin-bottom: 1.2vw;
				}
				#companies .flow .list .box h4.mb {
					margin-bottom: 3.6vw;
				}

		#companies .flow .pdf a {
			display: block;
			padding: 1.2vw 0 1.3vw 0;
			font-weight: 700;
			text-align: center;
			border-radius: 1vw;
			border: solid 1px #DDDDDD;
		}
		#companies .flow .pdf a:hover {
			background: #fff;
			color: #21201E;
		}
			#companies .flow .pdf a span {
				display: inline-block;
				padding-right: 2vw;
				background: url("../img/common/icon_pdf.svg") no-repeat right center / 1.2vw;
			}

	#companies .btn {
		margin: 0 auto;
	}

	#companies .pht-gallery {
		position: relative;
		margin-top: 10vw;
		padding-top: 10vw;
		padding-bottom: 6vw;
	}
		#companies .pht-gallery .pht04 {
			width: 60%;
			border-radius: 0 1vw 1vw 0;
		}

		#companies .pht-gallery .pht05 {
			width: 43%;
			border-radius: 1vw;
			position: absolute;
			top: 0;
			right: 5.5%;
			z-index: 2;
		}

		#companies .pht-gallery .pht06 {
			width: 33%;
			border-radius: 1vw 0 0 1vw;
			position: absolute;
			bottom: 0;
			right: 0;
		}
@media screen and (max-width: 767px) {
	#companies {
		padding-top: 0;
		padding-bottom: 20vw;
	}
		#companies .pht-area .pht01 {
			width: 60%;
			margin-top: 6vw;
			margin-left: -8%;
			border-radius: 0 2vw 2vw 0;
		}
		#companies .pht-area .pht02 {
			width: 35%;
			margin-right: 0;
			border-radius: 2vw;
		}

		#companies .pht-area .circle {
			width: 20%;
			bottom: -5vw;
			right: -4vw;
		}

		#companies .text-pht {
			display: block;
			margin-bottom: 12vw;
		}
			#companies .text-pht .text {
				width: 100%;
				margin-bottom: 7vw;
			}
				#companies .text-pht .text h3 {
					font-size: 5.2vw;
					line-height: 1.7em;
					margin-bottom: 5vw;
				}

				#companies .text-pht .text .txt-16 {
					margin-bottom: 3.5vw;
				}

			#companies .text-pht .pht {
				width: 108%;
				border-radius: 0 2vw 2vw 0;
				margin-left: -8%;
			}

	#companies .flow {
		margin-bottom: 8vw;
	}
		#companies .flow h3 {
			font-size: 5.0vw;
			margin-bottom: 5vw;
		}

		#companies .flow .list {
			display: block;
			margin-bottom: 0;
		}
			#companies .flow .list .box {
				width: 100%;
				border-radius: 2vw;
				padding: 3vw 6vw 6vw 6vw;
				position: relative;
				margin-bottom: 4vw;
			}
			#companies .flow .list .box:before {
				display: none;
			}
				#companies .flow .list .box .min {
					font-size: 12.0vw;
					margin-bottom: 3vw;
				}

				#companies .flow .list .box h4 {
					font-size: 4.6vw;
					margin-bottom: 4vw;
				}
				#companies .flow .list .box h4.mb {
					margin-bottom: 4vw;
				}

		#companies .flow .pdf a {
			padding: 3vw 0 3vw 0;
			border-radius: 2vw;
			font-size: 3.6vw;
		}
			#companies .flow .pdf a span {
				display: block;
				padding-right: 0;
				background: url("../img/common/icon_pdf.svg") no-repeat right 4vw center / 5vw;
			}

	#companies .pht-gallery {
		margin-top: 15vw;
	}
}



	
/* top-title
------------------------------  */
.top-title {
	margin-top: 8vw;
	text-align: center;
	margin-bottom: 5vw;
}
	.top-title .head {
		display: inline-block;
		height: 3.2vw;
		border-radius: 1.5vw;
		padding: 0 2vw;
		font-size: 1.8vw;
		font-weight: 500;
		line-height: 3vw;
		margin-bottom: 1.5vw;
		position: relative;
	}
	.top-title .head:before {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 1vw 1vw 0px 1vw;
		position: absolute;
		bottom: -1vw;
		left: 50%;
		margin-left: -1vw;
	}
	.top-title .head.bg-blue:before {
		border-color: #0752E2 transparent transparent transparent;
	}
	.top-title .head.bg-red:before {
		border-color: #FF0F10 transparent transparent transparent;
	}
	.top-title .head.bg-green:before {
		border-color: #03BFBB transparent transparent transparent;
	}

	.top-title h2 {
		font-size: 4vw;
		line-height: 1.3em;
		margin-bottom: 1.5vw;
	}

	.top-title ul.tag li {
		margin-right: 2vw;
	}
@media screen and (max-width: 767px) {
	.top-title {
		margin-top: 15vw;
		margin-bottom: 9vw;
	}
		.top-title .head {
			height: 7.5vw;
			border-radius: 3.5vw;
			padding: 0 4vw;
			font-size: 4.0vw;
			line-height: 7.5vw;
			margin-bottom: 4vw;
		}
		.top-title .head:before {
			border-width: 2vw 2vw 0px 2vw;
			bottom: -2vw;
			margin-left: -2vw;
		}

		.top-title h2 {
			font-size: 7.4vw;
			margin-bottom: 3vw;
		}

		.top-title ul.tag li {
			font-size: 3.6vw;
		}
}




	
/* about
------------------------------  */
#about {
	background: #3D3D3D;
	border-radius: 3vw 3vw 0 0;
	padding-top: 4vw;
	position: relative;
}
#about:before {
	content: "";
	width: 100%;
	height: 20%;
	background: #21201E;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
	#about .min-top {
		font-size: 10.7vw;
		line-height: 1;
		margin-bottom: 4vw;
	}

	#about h2 {
		font-size: 2.6vw;
		font-weight: 700;
		line-height: 1.5em;
		margin-bottom: 5vw;
	}

	#about .profile {
		width: 45%;
		border-bottom: dashed 1px #5A5A5A;
		padding-bottom: 3.5vw;
		margin-bottom: 3.5vw;
	}
		#about .profile .name {
			display: flex;
			justify-content: flex-start;
			align-items: center;
			margin-bottom: 2vw;
		}
			#about .profile .name img {
				width: 25%;
			}

			#about .profile .name h3 {
				font-size: 1.8vw;
				letter-spacing: 0.06em;
				line-height: 1.4em;
				padding-left: 3vw;
			}
				#about .profile .name h3 span {
					font-size: 1.4vw;
				}

		#about .profile .access {
			display: flex;
			justify-content: space-between;
			align-items: flex-end;
		}
			#about .profile .access .txt-16 {
				line-height: 1.6em;
			}

			#about .profile .access .btn-map {
				width: 16vw;
				background: #EAFF00;
				border-radius: 2vw;
				overflow: hidden;
			}
				#about .profile .access .btn-map a {
					display: flex;
					justify-content: flex-start;
					align-items: center;
					height: 4vw;
					font-size: 1.1vw;
					font-weight: 700;
					line-height: 1.3em;
					color: #3D3D3D;
					padding: 0 1.5vw;
					position: relative;
					z-index: 2;
				}
				#about .profile .access .btn-map a:after {
					content: "";
					width: 2vw;
					height: 2vw;
					background: url("../img/common/btn_arrow_black.svg") no-repeat center / 100%;
					position: absolute;
					top: 50%;
					right: 1vw;
					margin-top: -1vw;
					transition: 0.3s;
					-webkit-transition: 0.3s;
				}
				#about .profile .access .btn-map a:before {
					content: "";
					width: 0;
					height: 100%;
					background: #fff;
					position: absolute;
					top: 0;
					left: 0;
					z-index: -1;
				}
				#about .profile .access .btn-map a:hover:before {
					width: 100%;
				}

	#about .text {
		margin-bottom: 10vw;
	}
		#about .text h3 {
			font-size: 1.8vw;
			font-weight: 700;
			line-height: 1.5em;
			margin-bottom: 1.5vw;
		}

	#about .pht {
		width: 48%;
		border-radius: 1vw 0 0 1vw;
		position: absolute;
		top: 12vw;
		right: -5.5%;
	}

	#about .min-bottom {
		font-size: 8.7vw;
		line-height: 0.9;
		text-align: center;
		color: rgba(255,255,255,0.2);
	}
@media screen and (max-width: 767px) {
	#about {
		border-radius: 6vw 6vw 0 0;
		padding-top: 8vw;
	}
		#about .min-top {
			font-size: 15vw;
			line-height: 1;
			margin-bottom: 9vw;
		}

		#about h2 {
			font-size: 5.8vw;
			font-weight: 700;
			line-height: 1.5em;
			margin-bottom: 8vw;
		}

		#about .profile {
			width: 100%;
			padding-bottom: 8vw;
			margin-bottom: 7vw;
		}
			#about .profile .name {
				margin-bottom: 5vw;
			}
				#about .profile .name img {
					width: 30%;
				}

				#about .profile .name h3 {
					font-size: 3.8vw;
					padding-left: 5vw;
				}
					#about .profile .name h3 span {
						font-size: 3.2vw;
					}

			#about .profile .access {
				display: block;
			}
				#about .profile .access .txt-16 {
					font-size: 3.4vw;
					line-height: 1.8em;
					margin-bottom: 6vw;
				}

				#about .profile .access .btn-map {
					width: 50vw;
					border-radius: 5vw;
				}
					#about .profile .access .btn-map a {
						height: 10vw;
						font-size: 3.2vw;
						padding: 0 5vw;
					}
					#about .profile .access .btn-map a:after {
						width: 5vw;
						height: 5vw;
						right: 3vw;
						margin-top: -2.5vw;
					}

		#about .text {
			margin-bottom: 8vw;
		}
			#about .text h3 {
				font-size: 4.6vw;
				margin-bottom: 3vw;
			}

		#about .pht {
			width: 108%;
			border-radius: 2vw 0 0 2vw;
			position: relative;
			top: 0;
			right: 0;
			margin-bottom: 15vw;
		}

		#about .min-bottom {
			font-size: 8.0vw;
		}
}




	
/* gallery
------------------------------  */
#gallery {
	height: 80vh;
	height: 80dvh;
	position: relative;
	overflow: hidden;
}
#gallery:before {
	content: "";
	width: 100%;
	height: 100%;
	background: #21201E;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
	#gallery .image {
		display: flex;
		gap: 1.5vw;
	}
		#gallery .image .line {
			transition: transform 0.6s linear;
			will-change: transform;
		}
		#gallery .image .line.scroll-top {
			transform: translateY(0);
		}
		#gallery .image .line.scroll-bottom {
			transform: translateY(-50px);
		}
@media screen and (max-width: 767px) {
	#gallery {
		height: 40vh;
		height: 40dvh;
	}
		#gallery .image .line:nth-child(4) {
			display: none;
		}
}




	
/* news
------------------------------  */
#news {
	padding: 8vw 0;
	background: #fff;
	border-radius: 3vw 3vw 0 0;
	margin-top: -3vw;
	position: relative;
	z-index: 2;
}
	#news h2 {
		font-size: 2.8vw;
		color: #3D3D3D;
		line-height: 1;
		margin-bottom: 4.5vw;
	}
		#news h2 .en {
			font-size: 1.4vw;
			font-weight: 700;
			color: #D0D0D0;
		}
	

	#news .list a.linkbox {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		background: #F5F4F3 url("../img/common/icon_news_arrow_white.svg") no-repeat right 2vw center / 2.4vw;
		border-radius: 1vw;
		padding: 2vw 6vw 2vw 2vw;
		-moz-transition: -moz-transform 0.2s linear;
		-webkit-transition: -webkit-transform 0.2s linear;
		-o-transition: -o-transform 0.2s linear;
		-ms-transition: -ms-transform 0.2s linear;
		transition: transform 0.2s linear;
	}
	#news .list a.linkbox:nth-child(2n) {
		background: #fff url("../img/common/icon_news_arrow_gray.svg") no-repeat right 2vw center / 2.4vw;
	}
	#news .list a.linkbox:hover {
		-webkit-transform: scale(1.05);
		-moz-transform: scale(1.05);
		-o-transform: scale(1.05);
		-ms-transform: scale(1.05);
		transform: scale(1.05);
	}
		#news .list a.linkbox .pht {
			width: 12%;
			height: 100%;
			aspect-ratio: 16 / 10;
			border-radius: 0.5vw;
			border: solid 1px #ddd;
		}
			#news .list a.linkbox .pht img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}

		#news .list a.linkbox .text {
			width: 85%;
			color: #3D3D3D;
			padding-left: 2vw;
		}
			#news .list a.linkbox .text .info {
				display: flex;
				justify-content: flex-start;
				align-items: center;
				margin-bottom: 0.5vw;
			}
				#news .list a.linkbox .text .info time {
					display: block;
					margin-top: 0.2vw;
					margin-right: 1vw;
				}

				#news .list a.linkbox .text .info .cat {
					display: block;
					width: 6vw;
					background: #fff;
					padding: 0.2vw 0.5vw;
					text-align: center;
				}
				#news .list a.linkbox:nth-child(2n) .text .info .cat {
					background: #F5F4F3;
				}

			#news .list a.linkbox .text .txt-16 {
				overflow: hidden;
				display: -webkit-box;
				-webkit-box-orient: vertical;
				-webkit-line-clamp: 1;
			}

	#news .btn-news {
		width: 14vw;
		background: #3D3D3D;
		border-radius: 2vw;
		overflow: hidden;
		position: absolute;
		top: -0.5vw;
		right: 0;
	}
		#news .btn-news a {
			display: flex;
			justify-content: flex-start;
			align-items: center;
			height: 4vw;
			font-size: 1.1vw;
			font-weight: 700;
			line-height: 1.3em;
			color: #fff;
			padding: 0 1.5vw;
			position: relative;
			z-index: 2;
		}
		#news .btn-news a:hover {
			color: #3D3D3D;
		}
		#news .btn-news a:after {
			content: "";
			width: 2vw;
			height: 2vw;
			background: url("../img/common/btn_arrow_yellow.svg") no-repeat center / 100%;
			position: absolute;
			top: 50%;
			right: 1vw;
			margin-top: -1vw;
			transition: 0.3s;
			-webkit-transition: 0.3s;
		}
		#news .btn-news a:hover:after {
			background: url("../img/common/btn_arrow_black.svg") no-repeat center / 100%;
		}
		#news .btn-news a:before {
			content: "";
			width: 0;
			height: 100%;
			background: #EAFF02;
			position: absolute;
			top: 0;
			left: 0;
			z-index: -1;
		}
		#news .btn-news a:hover:before {
			width: 100%;
		}
@media screen and (max-width: 767px) {
	#news {
		padding: 20vw 0;
		border-radius: 6vw 6vw 0 0;
		margin-top: -6vw;
	}
		#news h2 {
			font-size: 6.0vw;
			color: #3D3D3D;
			line-height: 1;
			margin-bottom: 7vw;
		}
			#news h2 .en {
				font-size: 3.4vw;
			}


		#news .list a.linkbox {
			background: #F5F4F3 url("../img/common/icon_news_arrow_white.svg") no-repeat right 4vw center / 4vw;
			border-radius: 2vw;
			padding: 4vw 9vw 4vw 4vw;
		}
		#news .list a.linkbox:nth-child(2n) {
			background: #fff url("../img/common/icon_news_arrow_gray.svg") no-repeat right 4vw center / 4vw;
		}
			#news .list a.linkbox .pht {
				width: 35%;
				border-radius: 1vw;
			}

			#news .list a.linkbox .text {
				width: 65%;
				color: #3D3D3D;
				padding-left: 3vw;
			}
				#news .list a.linkbox .text .info {
					margin-bottom: 2vw;
				}
					#news .list a.linkbox .text .info time {
						margin-top: 1vw;
						margin-right: 2vw;
					}

					#news .list a.linkbox .text .info .cat {
						width: 20vw;
						padding: 0.2vw 0.5vw;
					}

				#news .list a.linkbox .text .txt-16 {
					font-size: 3.1vw;
					-webkit-line-clamp: 2;
				}

		#news .btn-news {
			width: 50vw;
			border-radius: 5vw;
			position: static;
			margin: 6vw auto 0 auto;
		}
			#news .btn-news a {
				height: 10vw;
				font-size: 3.2vw;
				padding: 0 5vw;
			}
			#news .btn-news a:after {
				width: 5vw;
				height: 5vw;
				right: 3vw;
				margin-top: -2.5vw;
			}
}




	
/* event
------------------------------  */
#event {
	padding: 0 0 8vw 0;
	background: #fff;
}
	#event .ttl {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		margin-bottom: 3vw;
	}
		#event .ttl .head {
			display: inline-block;
			background: #211F1E;
			border-radius: 0.2vw;
			padding: 0.5vw 0.6vw;
			font-weight: 700;
			line-height: 1;
			margin-right: 0.7vw;
		}

	#event .list a.linkbox {
		display: block;
		margin-bottom: 5vw;
	}
	#event .list a.linkbox:nth-last-child(1) {
		margin-bottom: 0;
	}
		#event .list a.linkbox .en {
			font-weight: 500;
			color: #3D3D3D;
			position: relative;
			margin-bottom: 2vw;
		}
		#event .list a.linkbox .en:before {
			content: "";
			width: 100%;
			height: 1px;
			background: #ddd;
			position: absolute;
			top: 50%;
			left: 0;
			z-index: 0;
		}
			#event .list a.linkbox .en span {
				background: #fff;
				padding-right: 1vw;
				position: relative;
				z-index: 2;
			}

		#event .list a.linkbox .text-pht .text {
			width: 62%;
			padding-right: 3vw;
			color: #3D3D3D;
		}
			#event .list a.linkbox .text-pht .text h3 {
				font-size: 1.7vw;
				font-weight: 700;
				line-height: 1.3em;
				margin-bottom: 1.2vw;
			}

			#event .list a.linkbox .text-pht .text .txt-16 {
				margin-bottom: 2vw;
			}

			#event .list a.linkbox .text-pht .text .link-external {
				display: flex;
				justify-content: flex-start;
				align-items: center;
				height: 4vw;
				font-weight: 700;
				line-height: 1.3em;
				text-decoration: underline;
				padding-left: 3.8vw;
				background: url("../img/common/icon_external_gray.svg") no-repeat left center / 3vw;
				transition: 0.3s;
				-webkit-transition: 0.3s;
			}
			#event .list a.linkbox:hover .text-pht .text .link-external {
				text-decoration: none;
				background: url("../img/common/icon_external_black.svg") no-repeat left center / 3vw;
			}

		#event .list a.linkbox .text-pht .pht {
			width: 38%;
			overflow: visible;
		}
			#event .list a.linkbox .text-pht .pht img {
				border-radius: 1vw;
			}
@media screen and (max-width: 767px) {
	#event {
		padding: 0 0 20vw 0;
	}
		#event .ttl {
			display: block;
			margin-bottom: 8vw;
		}
			#event .ttl .head {
				border-radius: 1vw;
				padding: 1.5vw 2vw;
				margin-right: 0;
				margin-bottom: 2vw;
			}

		#event .list a.linkbox {
			margin-bottom: 13vw;
		}
			#event .list a.linkbox .en {
				margin-bottom: 4vw;
			}
				#event .list a.linkbox .en span {
					padding-right: 2vw;
				}

			#event .list a.linkbox .text-pht {
				display: block;
			}
				#event .list a.linkbox .text-pht .text {
					width: 100%;
					padding-right: 0;
					margin-bottom: 6vw;
				}
					#event .list a.linkbox .text-pht .text h3 {
						font-size: 4.3vw;
						margin-bottom: 3vw;
					}

					#event .list a.linkbox .text-pht .text .txt-16 {
						margin-bottom: 5vw;
					}

					#event .list a.linkbox .text-pht .text .link-external {
						height: 8vw;
						padding-left: 9.4vw;
						background: url("../img/common/icon_external_gray.svg") no-repeat left center / 8vw;
					}
					#event .list a.linkbox:hover .text-pht .text .link-external {
						background: url("../img/common/icon_external_black.svg") no-repeat left center / 8vw;
					}

				#event .list a.linkbox .text-pht .pht {
					width: 100%;
				}
					#event .list a.linkbox .text-pht .pht img {
						border-radius: 2vw;
					}
}




	
/* media
------------------------------  */
#media {
	border-radius: 3vw 3vw 0 0; 
	background: #3D3D3D;
	padding: 8vw 0 4vw 0;
	position: relative;
}
#media:after {
	content: "";
	width: 100%;
	height: 20%;
	background: #fff;
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
	#media .ttl {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		margin-bottom: 3vw;
	}
		#media .ttl .head {
			display: inline-block;
			background: #EAFF02;
			border-radius: 0.2vw;
			padding: 0.5vw 0.6vw;
			color: #3D3D3D;
			font-weight: 700;
			line-height: 1;
			margin-right: 0.7vw;
		}

	#media .list a.linkbox {
		display: block;
		width: 31%;
		margin-right: 3.5%;
		margin-bottom: 4vw;
	}
	#media .list a.linkbox:nth-child(3n) {
		margin-right: 0;
	}
		#media .list a.linkbox .pht {
			width: 100%;
			border-radius: 1vw;
			aspect-ratio: 16 / 10;
		}
			#media .list a.linkbox .pht img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}

		#media .list a.linkbox .text {
			padding: 1.5vw 3vw 1.5vw 0;
			background: url("../img/common/btn_arrow_yellow.svg") no-repeat right center / 2vw;
			border-bottom: solid 1px #DDDDDD;
		}
			#media .list a.linkbox .text .en {
				display: block;
				margin-bottom: .5vw;
				line-height: 1.3em;
			}

			#media .list a.linkbox .text h3 {
				font-size: 1.4vw;
				line-height: 1.3em;
			}
@media screen and (max-width: 767px) {
	#media {
		border-radius: 6vw 6vw 0 0; 
		padding: 20vw 0 20vw 0;
	}
		#media .ttl {
			display: block;
			margin-bottom: 8vw;
		}
			#media .ttl .head {
				border-radius: 1vw;
				padding: 1.5vw 2vw;
				margin-right: 0;
				margin-bottom: 2vw;
			}

		#media .list {
			display: block;
		}
			#media .list a.linkbox {
				width: 100%;
				margin-right: 0;
				margin-bottom: 10vw;
			}
			#media .list a.linkbox:nth-last-child(1) {
				margin-bottom: 0;
			}
				#media .list a.linkbox .pht img {
					border-radius: 2vw;
				}

				#media .list a.linkbox .text {
					padding: 5vw 8vw 5vw 0;
					background: url("../img/common/btn_arrow_yellow.svg") no-repeat right center / 6vw;
					border-bottom: solid 1px #DDDDDD;
				}
					#media .list a.linkbox .text .en {
						margin-bottom: 2vw;
					}

					#media .list a.linkbox .text h3 {
						font-size: 3.8vw;
					}
}



	



	



	



	



	



	



	



	