@charset "UTF-8";


	
	
/* fv
--------------------- */
#fv {
	padding-top: calc(146 * var(--vw-ratio));
	overflow: hidden;
}
	#fv .text {
		position: relative;
		margin-bottom: calc(60 * var(--vw-ratio));
	}
		#fv .text .head {
			text-align: right;
			position: absolute;
			top: 0;
			right: 0;
		}

		#fv .text h2 {
			font-size: calc(50 * var(--vw-ratio));
			font-weight: 700;
			line-height: 1.3em;
			margin-bottom: calc(40 * var(--vw-ratio));
		}
			#fv .text h2 span {
				display: inline-block;
				padding: 0 calc(28 * var(--vw-ratio));
				position: relative;
			}
			#fv .text h2 span:before {
				content: "";
				width: calc(100 * var(--vw-ratio));
				height: calc(100 * var(--vw-ratio));
				border-radius: 50%;
				background: #F5F5F5;
				position: absolute;
				top: 50%;
				left: 50%;
				margin-top: calc(-50 * var(--vw-ratio));
				margin-left: calc(-50 * var(--vw-ratio));
				z-index: -1;
			}

		#fv .text .scroll {
			position: absolute;
			right: 0;
			bottom: calc(50 * var(--vw-ratio));
			white-space: nowrap;
			writing-mode: vertical-rl;
		}
		#fv .text .scroll::before {
			animation: scroll 2s infinite;
			background-color: #282727;
			bottom: calc(-50 * var(--vw-ratio));
			content: "";
			height: calc(40 * var(--vw-ratio));
			left: 0;
			margin: auto;
			position: absolute;
			right: 0;
			width: 1px;
		}
		@keyframes scroll {
			0% {
				transform: scale(1, 0);
				transform-origin: 0 0;
			}
			50% {
				transform: scale(1, 1);
				transform-origin: 0 0;
			}
			51% {
				transform: scale(1, 1);
				transform-origin: 0 100%;
			}
			100% {
				transform: scale(1, 0);
				transform-origin: 0 100%;
			}
		}
			#fv .text .scroll a {
				line-height: 1;
			}
			#fv .text .scroll a:hover {
				opacity: 0.7;
			}

	#fv #video {
		width: 100%;
		border-radius: calc(3 * var(--vw-ratio));
		overflow: hidden;
	}
@media screen and (max-width: 767px) {
	#fv {
		padding-top: calc(90 * var(--vw-ratio));
	}
		#fv .text {
			margin-bottom: calc(40 * var(--vw-ratio));
		}
			#fv .text .head {
				font-size: calc(13 * var(--vw-ratio));
				line-height: 1.5em;
				position: static;
				margin-bottom: calc(30 * var(--vw-ratio));
			}

			#fv .text h2 {
				font-size: calc(35 * var(--vw-ratio));
				line-height: 1.4em;
				margin-bottom: calc(20 * var(--vw-ratio));
			}
				#fv .text h2 span {
					padding: 0 calc(18 * var(--vw-ratio));
				}
				#fv .text h2 span:before {
					width: calc(70 * var(--vw-ratio));
					height: calc(70 * var(--vw-ratio));
					margin-top: calc(-35 * var(--vw-ratio));
					margin-left: calc(-35 * var(--vw-ratio));
				}

			#fv .text .txt-16 {
				padding-right: calc(45 * var(--vw-ratio));
				line-height: calc(26 * var(--vw-ratio));
			}

		#fv .movie {
			width: -webkit-calc(100% + calc(200 * var(--vw-ratio)));
			width: calc(100% + calc(200 * var(--vw-ratio)));
			margin-left: calc(-100 * var(--vw-ratio));
		}
			#fv #video {
				border-radius: 0;
			}
}


	
	
/* news
--------------------- */
#news .news-list {
	width: calc(1000 * var(--vw-ratio));
}
	#news .news-list a.linkbox {
		display: block;
		border-top: dashed 1px #ddd;
		background: url("../img/common/icon_arrow_white.svg") no-repeat right calc(20 * var(--vw-ratio)) center / calc(50 * var(--vw-ratio));
		padding: calc(25 * var(--vw-ratio)) calc(90 * var(--vw-ratio)) calc(25 * var(--vw-ratio)) calc(20 * var(--vw-ratio));
	}
	#news .news-list a.linkbox:nth-last-child(1) {
		border-bottom: dashed 1px #ddd;
	}
	#news .news-list a.linkbox:hover {
		background: #F5F5F5 url("../img/common/icon_arrow_blue.svg") no-repeat right calc(25 * var(--vw-ratio)) center / calc(50 * var(--vw-ratio));
		padding: calc(25 * var(--vw-ratio)) calc(90 * var(--vw-ratio)) calc(25 * var(--vw-ratio)) calc(25 * var(--vw-ratio));
	}
		#news .news-list a.linkbox .info {
			display: flex;
			justify-content: flex-start;
			align-items: center;
			margin-bottom: calc(5 * var(--vw-ratio));
		}
			#news .news-list a.linkbox .info time {
				padding-right: calc(20 * var(--vw-ratio));
			}

#news .link-btn {
	position: absolute;
	bottom: calc(50 * var(--vw-ratio));
	left: calc(40 * var(--vw-ratio));
}
@media screen and (max-width: 767px) {
	#news .inner_full {
		display: block;
	}
		#news .news-list {
			width: 100%;
		}
			#news .news-list a.linkbox {
				background: url("../img/common/icon_arrow_white.svg") no-repeat right calc(5 * var(--vw-ratio)) center / calc(40 * var(--vw-ratio));
				padding: calc(25 * var(--vw-ratio)) calc(60 * var(--vw-ratio)) calc(25 * var(--vw-ratio)) calc(0 * var(--vw-ratio));
			}
			#news .news-list a.linkbox:hover {
				background: #fff url("../img/common/icon_arrow_white.svg") no-repeat right calc(5 * var(--vw-ratio)) center / calc(40 * var(--vw-ratio));
				padding: calc(25 * var(--vw-ratio)) calc(60 * var(--vw-ratio)) calc(25 * var(--vw-ratio)) calc(0 * var(--vw-ratio));
			}

		#news .link-btn {
			margin-top: calc(30 * var(--vw-ratio));
			position: static;
		}
}


	
	
/* company
--------------------- */
#company .text  {
	margin-bottom: calc(90 * var(--vw-ratio));
}
	#company .text .txt-16 {
		margin-bottom: calc(40 * var(--vw-ratio));
	}

#company dl.catch  {
	position: absolute;
	bottom: calc(20 * var(--vw-ratio));
	right: calc(40 * var(--vw-ratio));
}
	#company dl.catch  dt {
		font-weight: 700;
		text-align: right;
		line-height: 1;
		margin-bottom: calc(20 * var(--vw-ratio));
	}
	#company dl.catch  dd {
		font-size: calc(50 * var(--vw-ratio));
		font-weight: 700;
		text-align: right;
		line-height: calc(70 * var(--vw-ratio));
	}

#company .loopSlider {
	height: calc(600 * var(--vw-ratio));
	overflow: hidden;
	position: relative;
}
#company .loopSlider:before {
	content: "";
	width: 100%;
	height: calc(150 * var(--vw-ratio));
	background: #F5F5F5;
	position: absolute;
	bottom: 0;
	left: 0;
}
	#company .loopSlider .loopslider_wrap {
		height: calc(600 * var(--vw-ratio));
		display: -webkit-flex;
		display: flex;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
	}
		#company .loopSlider .loopslider_wrap ul {
			display: -webkit-flex;
			display: flex;
		}
			#company .loopSlider .loopslider_wrap ul li {
				width: calc(2400 * var(--vw-ratio));
			}
@media screen and (max-width: 767px) {
	#company .text  {
		margin-bottom: calc(20 * var(--vw-ratio));
	}
		#company .text .txt-16 {
			margin-bottom: calc(25 * var(--vw-ratio));
		}

	#company dl.catch  {
		position: static;
		margin-right: calc(-30 * var(--vw-ratio));
	}
		#company dl.catch  dt {
			margin-bottom: calc(15 * var(--vw-ratio));
		}
		#company dl.catch  dd {
			font-size: calc(40 * var(--vw-ratio));
			font-weight: 700;
			text-align: right;
			line-height: calc(52 * var(--vw-ratio));
		}

	#company .loopSlider {
		height: calc(350 * var(--vw-ratio));
	}
	#company .loopSlider:before {
		height: calc(70 * var(--vw-ratio));
	}
		#company .loopSlider .loopslider_wrap {
			height: calc(350 * var(--vw-ratio));
		}
			#company .loopSlider .loopslider_wrap ul li {
				width: calc(1400 * var(--vw-ratio));
			}
}


	
	
/* greetings
--------------------- */
#greetings .text {
	width: calc(685 * var(--vw-ratio));
}

#greetings .pht {
	width: calc(326 * var(--vw-ratio));
	position: absolute;
	bottom: calc(-150 * var(--vw-ratio));
	right: calc(50 * var(--vw-ratio));
}
@media screen and (max-width: 767px) {
	#greetings {
		padding-bottom: 0;
	}
		#greetings .text {
			width: 100%;
			margin-bottom: calc(20 * var(--vw-ratio));
		}

		#greetings .pht {
			width: 64%;
			height: calc(300 * var(--vw-ratio));
			overflow: hidden;
			margin: 0 auto;
			position: static;
		}
}


	
	
/* our-business
--------------------- */
#our-business .business {
	margin-bottom: calc(140 * var(--vw-ratio));
	position: relative;
}
	#our-business .business .text {
		padding-left: calc(500 * var(--vw-ratio));
	}
		#our-business .business .text .txt-16 {
			margin-bottom: calc(30 * var(--vw-ratio));
		}

	#our-business .business .pht {
		width: calc(400 * var(--vw-ratio));
		overflow: hidden;
		border-radius: calc(3 * var(--vw-ratio));
		position: absolute;
		top: 0;
		left: 0;
	}

#our-business .achievements {
	margin-bottom: calc(140 * var(--vw-ratio));
}
	#our-business .achievements .text {
		padding-left: calc(500 * var(--vw-ratio));
		margin-bottom: calc(60 * var(--vw-ratio));
		position: relative;
	}
		#our-business .achievements .text .txt-16 {
			width: calc(535 * var(--vw-ratio));
		}

		#our-business .achievements .text .link-btn {
			position: absolute;
			bottom: 0;
			right: 0;
		}

	#our-business .achievements .loopSlider {
		width: -webkit-calc(100% + calc(80 * var(--vw-ratio)));
		margin-left: calc(-40 * var(--vw-ratio));
		height: calc(250 * var(--vw-ratio));
		overflow: hidden;
		position: relative;
	}
		#our-business .achievements .loopSlider .loopslider_wrap {
			height: calc(250 * var(--vw-ratio));
			display: -webkit-flex;
			display: flex;
			position: absolute;
			top: 0;
			left: 0;
			z-index: 1;
		}
			#our-business .achievements .loopSlider .loopslider_wrap ul {
				display: -webkit-flex;
				display: flex;
			}
				#our-business .achievements .loopSlider .loopslider_wrap ul li {
					width: calc(250 * var(--vw-ratio));
					margin: 0 calc(10 * var(--vw-ratio));
					overflow: hidden;
					border-radius: calc(3 * var(--vw-ratio));
				}

#our-business .facility .text {
	width: calc(820 * var(--vw-ratio));
}
	#our-business .facility .text .txt-16 {
		margin-bottom: calc(30 * var(--vw-ratio));
	}

#our-business .facility .pht {
	width: calc(400 * var(--vw-ratio));
	overflow: hidden;
	border-radius: calc(3 * var(--vw-ratio));
}
@media screen and (max-width: 767px) {
	#our-business .business {
		margin-bottom: calc(70 * var(--vw-ratio));
	}
		#our-business .business .text {
			padding-left: 0;
			margin-bottom: calc(25 * var(--vw-ratio));
		}
			#our-business .business .text .txt-16 {
				margin-bottom: calc(25 * var(--vw-ratio));
			}

		#our-business .business .pht {
			width: 100%;
			position: static;
		}

	#our-business .achievements {
		margin-bottom: calc(70 * var(--vw-ratio));
	}
		#our-business .achievements .text {
			padding-left: 0;
			margin-bottom: calc(30 * var(--vw-ratio));
		}
			#our-business .achievements .text .txt-16 {
				width: 100%;
				margin-bottom: calc(25 * var(--vw-ratio));
			}

			#our-business .achievements .text .link-btn {
				position: static;
				bottom: 0;
				right: 0;
			}

	#our-business .facility {
		display: block;
	}
	#our-business .facility .text {
		width: 100%;
		margin-bottom: calc(25 * var(--vw-ratio));
	}
		#our-business .facility .text .txt-16 {
			margin-bottom: calc(25 * var(--vw-ratio));
		}

	#our-business .facility .pht {
		width: 100%;
	}
}


	
	
/* recruit
--------------------- */
#recruit .bg-gray {
	text-align: center;
}
	#recruit .bg-gray .r-ttl {
		margin-bottom: calc(40 * var(--vw-ratio));
	}
		#recruit .bg-gray .r-ttl .en {
			font-size: calc(100 * var(--vw-ratio));
			font-weight: 400;
			line-height: 1;
			margin-bottom: calc(15 * var(--vw-ratio));
		}
		#recruit .bg-gray .r-ttl h2 {
			line-height: 1;
		}

	#recruit .bg-gray .txt-16 {
		margin-bottom: calc(30 * var(--vw-ratio));
	}
@media screen and (max-width: 767px) {
	#recruit .bg-gray .r-ttl {
		margin-bottom: calc(30 * var(--vw-ratio));
	}
		#recruit .bg-gray .r-ttl .en {
			font-size: calc(64 * var(--vw-ratio));
			margin-bottom: calc(10 * var(--vw-ratio));
		}

	#recruit .bg-gray .txt-16 {
		margin-bottom: calc(25 * var(--vw-ratio));
	}
}