@charset "UTF-8";


	
	
/* job
--------------------- */
#job .row {
	margin-bottom: 100px;
}
#job .row:nth-last-child(1) {
	margin-bottom: 0;
}
	#job .row .text {
		width: 47%;
	}
	#job .row:nth-child(odd) .text {
		order: 2;
	}
		#job .row .text .title {
			margin-bottom: 20px;
		}
			#job .row .text .title h2 .sub {
				font-size: 2.0rem;
				padding-left: 10px;
			}

	#job .row .pht {
		width: 47%;
		overflow: hidden;
		border-radius: 20px;
	}
	#job .row:nth-child(odd) .pht {
		order: 1;
	}
		#job .row .pht img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}


	
	
/* pagetitle-interview
--------------------- */
#pagetitle-interview.movie-bg {
	background: rgba(0,0,0,0.3);
}
	#pagetitle-interview .movie {
		width: 100%;
		height: -webkit-calc(100dvh - 80px);
		height: calc(100dvh - 80px);
		height: -webkit-calc(100vh - 80px);
		height: calc(100vh - 80px);
		position: absolute;
		top: 80px;
		left: 0;
		z-index: -1;
	}
		#pagetitle-interview .movie video {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}

	#pagetitle-interview .inner {
		height: 100vh;
		height: 100dvh;
	}
		#pagetitle-interview #breadcrumbs a {
			color: #fff;
		}
		#pagetitle-interview #breadcrumbs span {
			color: #fff;
		}

		#pagetitle-interview .text {
			padding-top: 150px;
		}
			#pagetitle-interview .text .en {
				font-size: 1.6rem;
				font-weight: 600;
				line-height: 1;
				padding-left: 15px;
				position: relative;
				margin-bottom: 20px;
			}
			#pagetitle-interview .text .en:before {
				content: "";
				width: 8px;
				height: 8px;
				border-radius: 50%;
				background: #fff;
				position: absolute;
				top: 50%;
				left: 0;
				margin-top: -4px;
			}

			#pagetitle-interview .text .catch {
				font-size: 5.0rem;
				font-weight: 700;
				line-height: 1.4em;
			}

		#pagetitle-interview .profile {
			min-width: 280px;
			background: #fff;
			padding: 30px 40px;
			border-radius: 20px 20px 0 0;
			position: absolute;
			bottom: 0;
			left: 0;
		}
			#pagetitle-interview .profile .head {
				display: flex;
				justify-content: flex-start;
				align-items: center;
				line-height: 1;
				margin-bottom: 10px;
			}
				#pagetitle-interview .profile .head h1 {
					font-size: 3.4rem;
					font-weight: 600;
					margin-right: 10px;
				}

				#pagetitle-interview .profile .head .job {
					display: inline-block;
					background: #DE0000;
					border-radius: 5px;
					padding: 5px 10px;
					font-size: 1.4rem;
					font-weight: 500;
					color: #fff;
					line-height: 1;
				}

			#pagetitle-interview .profile .join {
				font-size: 1.4rem;
				line-height: 1.6em;
			}


	
	
/* career
--------------------- */
#career .list dl {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	border-bottom: dashed 1px #ddd;
	padding-bottom: 20px;
	margin-bottom: 20px;
}
	#career .list dl dt {
		width: 150px;
		font-size: 1.6rem;
		line-height: 1.7em;
	}
	#career .list dl dd {
		width: -webkit-calc(100% - 150px);
		width: calc(100% - 150px);
		font-size: 1.6rem;
		line-height: 1.7em;
	}


	
	
/* interview
--------------------- */
#interview .row {
	margin-bottom: 100px;
}
#interview .row:nth-last-child(1) {
	margin-bottom: 0;
}
	#interview .row.flex-start .text {
		width: 47%;
	}
	#interview .row:nth-child(1) .text {
		order: 2;
	}
		#interview .row .text .title {
			margin-bottom: 20px;
		}
			#interview .row .text .title h2 .sub {
				font-size: 2.0rem;
				padding-left: 10px;
			}

	#interview .row.flex-start .pht {
		width: 47%;
		overflow: hidden;
		border-radius: 20px;
	}
	#interview .row:nth-child(1) .pht {
		order: 1;
	}
		#interview .row .pht img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}

	#interview .row ul.pht-list li {
		width: 47%;
		overflow: hidden;
		margin-top: 40px;
		border-radius: 20px;
	}


	
	
/* schedule
--------------------- */
#schedule {
	background: #DE0000;
	border-radius: 40px;
	overflow: hidden;
}
	#schedule .s-tit {
		width: 220px;
	}
		#schedule .s-tit .en {
			font-size: 1.6rem;
			line-height: 1;
			-ms-writing-mode: tb-rl;
			writing-mode: vertical-rl;
		}
		#schedule .s-tit h2 {
			font-size: 2.8rem;
			font-weight: 700;
			line-height: 1.3em;
			-ms-writing-mode: tb-rl;
			writing-mode: vertical-rl;
			margin-left: 20px;
		}

	#schedule .contents {
		width: -webkit-calc(100% - 220px);
		width: calc(100% - 220px);
	}
		#schedule .contents h3 {
			font-size: 2.2rem;
			font-weight: 700;
			line-height: 1;
			margin-bottom: 20px;
		}
		#schedule .contents h3.mt {
			margin-top: 50px;
		}

		#schedule .contents dl {
			display: flex;
			justify-content: flex-start;
			align-items: center;
			background: #E53333;
			border-radius: 10px;
			margin-bottom: 15px;
			padding: 20px 0;
		}
		#schedule .contents dl:nth-last-child(1) {
			margin-bottom: 0;
		}
			#schedule .contents dl dt {
				width: 90px;
				font-size: 1.6rem;
				line-height: 1;
				text-align: center;
			}
			#schedule .contents dl dd {
				width: -webkit-calc(100% - 90px);
				width: calc(100% - 90px);
				font-size: 1.5rem;
				padding-right: 20px;
			}

	#schedule .marquee {
		display: flex;
		width: 100%;
		overflow: hidden;
		color: #fff;
	}
		#schedule .marquee .marquee__item {
			flex: 0 0 auto;
			font-size: 10.0rem;
			font-weight: 400;
			letter-spacing: 0;
			white-space: nowrap;
			line-height: 1;
			padding-right: 20px;
		}
		#schedule .marquee .marquee__item:nth-child(odd) {
			animation: loop 80s -40s linear infinite;
		}
		#schedule .marquee .marquee__item:nth-child(even) {
			animation: loop2 80s linear infinite;
		}
		@keyframes loop {
			0% {
				transform: translateX(100%);
			}
			to {
				transform: translateX(-100%);
			}
		}
		@keyframes loop2 {
			0% {
				transform: translateX(0);
			}
			to {
				transform: translateX(-200%);
			}
		}


	
	
/* interview-list
--------------------- */
#interview-list .list a.linkbox {
	display: block;
	width: 47%;
	margin-right: 6%;
	margin-bottom: 50px;
}
#interview-list .list a.linkbox:nth-child(2n) {
	margin-right: 0;
}
	#interview-list .list a.linkbox .pht {
		border-radius: 20px;
	}

	#interview-list .list a.linkbox .text {
		padding: 20px 20px 0 20px;
		position: relative;
	}
		#interview-list .list a.linkbox .text .catch {
			font-size: 2.4rem;
			font-weight: 500;
			line-height: 1.3em;
			margin-bottom: 20px;
		}

		#interview-list .list a.linkbox .text .head {
			display: flex;
			justify-content: flex-start;
			align-items: center;
			line-height: 1;
			margin-bottom: 10px;
		}
			#interview-list .list a.linkbox .text .head h3 {
				font-size: 2.6rem;
				font-weight: 600;
				margin-right: 10px;
			}

			#interview-list .list a.linkbox .text .head .job {
				display: inline-block;
				background: #DE0000;
				border-radius: 5px;
				padding: 5px 10px;
				font-size: 1.2rem;
				font-weight: 500;
				color: #fff;
				line-height: 1;
			}

		#interview-list .list a.linkbox .text .join {
			font-size: 1.3rem;
			line-height: 1.5em;
		}

		#interview-list .list a.linkbox .text .more {
			position: absolute;
			bottom: 0;
			right: 20px;
		}




/* 1200px */
@media screen and (max-width: 1200px) {

	
/* pagetitle-interview
--------------------- */
#pagetitle-interview .profile {
	left: 7%;
}

}



/* 1024px */
@media screen and (max-width: 1024px) {


	
	
/* job
--------------------- */
#job .row {
	margin-bottom: 80px;
}
	#job .row .text .title {
		margin-bottom: 15px;
	}
		#job .row .text .title h2 .sub {
			font-size: 1.6rem;
		}

	#job .row .pht {
		border-radius: 15px;
	}


	
	
/* pagetitle-interview
--------------------- */
#pagetitle-interview .movie {
	height: -webkit-calc(100dvh - 70px);
	height: calc(100dvh - 70px);
	height: -webkit-calc(100vh - 70px);
	height: calc(100vh - 70px);
	top: 70px;
}
	
#pagetitle-interview .text {
	padding-top: 150px;
}
	#pagetitle-interview .text .en {
		font-size: 1.4rem;
	}

	#pagetitle-interview .text .catch {
		font-size: 4.0rem;
	}

#pagetitle-interview .profile .head h1 {
	font-size: 3.0rem;
}

#pagetitle-interview .profile .head .job {
	font-size: 1.3rem;
}

#pagetitle-interview .profile .join {
	font-size: 1.3rem;
}


	
	
/* career
--------------------- */
#career .list dl dt {
	width: 140px;
	font-size: 1.5rem;
}
#career .list dl dd {
	width: -webkit-calc(100% - 140px);
	width: calc(100% - 140px);
	font-size: 1.5rem;
}


	
	
/* interview
--------------------- */
#interview .row {
	margin-bottom: 80px;
}
	#interview .row .text .title {
		margin-bottom: 15px;
	}
		#interview .row .text .title h2 .sub {
			font-size: 1.6rem;
		}

	#interview .row .pht {
		border-radius: 15px;
	}

	#interview .row ul.pht-list li {
		border-radius: 15px;
	}


	
	
/* schedule
--------------------- */
#schedule {
	border-radius: 30px;
}
	#schedule .s-tit {
		width: 160px;
	}
		#schedule .s-tit .en {
			font-size: 1.4rem;
		}
		#schedule .s-tit h2 {
			font-size: 2.6rem;
			margin-left: 15px;
		}

	#schedule .contents {
		width: -webkit-calc(100% - 160px);
		width: calc(100% - 160px);
	}
		#schedule .contents h3 {
			font-size: 2.0rem;
		}
		#schedule .contents h3.mt {
			margin-top: 40px;
		}

		#schedule .contents dl {
			padding: 16px 0;
		}
			#schedule .contents dl dt {
				width: 80px;
				font-size: 1.4rem;
			}
			#schedule .contents dl dd {
				width: -webkit-calc(100% - 80px);
				width: calc(100% - 80px);
				font-size: 1.4rem;
			}

	#schedule .marquee .marquee__item {
		font-size: 8.0rem;
	}


	
	
/* interview-list
--------------------- */
#interview-list .list a.linkbox {
	margin-bottom: 40px;
}
	#interview-list .list a.linkbox .pht {
		border-radius: 15px;
	}

	#interview-list .list a.linkbox .text {
		padding: 15px 15px 0 15px;
	}
		#interview-list .list a.linkbox .text .catch {
			font-size: 2.0rem;
			margin-bottom: 15px;
		}
	
		#interview-list .list a.linkbox .text .head h3 {
			font-size: 2.2rem;
		}

		#interview-list .list a.linkbox .text .head .job {
			font-size: 1.0rem;
		}

		#interview-list .list a.linkbox .text .join {
			font-size: 1.2rem;
			line-height: 1.4em;
		}

		#interview-list .list a.linkbox .text .more {
			right: 15px;
		}




}





/* max 768px */
@media screen and (max-width: 768px) {


	
	
/* job
--------------------- */
#job .row {
	display: block;
	margin-bottom: 60px;
}
	#job .row .text {
		width: 100%;
		margin-bottom: 20px;
	}
		#job .row .text .title h2 .sub {
			font-size: 1.6rem;
			padding-left: 0;
		}

	#job .row .pht {
		width: 100%;
	}


	
	
/* pagetitle-interview
--------------------- */
#pagetitle-interview .movie {
	height: 70dvh;
	height: 70vh;
	top: 60px;
}

#pagetitle-interview .inner {
	height: -webkit-calc(70dvh + 60px);
	height: calc(70dvh + 60px);
	height: -webkit-calc(70vh + 60px);
	height: calc(70vh + 60px);
}
	#pagetitle-interview .text {
		padding-top: 50px;
	}
		#pagetitle-interview .text .en {
			font-size: 1.3rem;
		}

		#pagetitle-interview .text .catch {
			font-size: 2.6rem;
			line-height: 1.5em;
		}

	#pagetitle-interview .profile {
		width: 86%;
		border-radius: 15px 15px 0 0;
		padding-bottom: 20px;
	}


	
	
/* career
--------------------- */
#career .list dl {
	display: block;
}
	#career .list dl dt {
		width: 100%;
		font-size: 1.2rem;
		margin-bottom: 5px;
	}
	#career .list dl dd {
		width: 100%;
	}


	
	
/* interview
--------------------- */
#interview .row {
	display: block;
	margin-bottom: 60px;
}
	#interview .row .text {
		width: 100% !important;
		margin-bottom: 20px;
	}
		#interview .row .text .title h2 .sub {
			font-size: 1.6rem;
			padding-left: 0;
		}

	#interview .row .pht {
		width: 100% !important;
	}

	#interview .row ul.pht-list li {
		margin-top: 0;
	}


	
	
/* schedule
--------------------- */
#schedule {
	border-radius: 20px;
}
#schedule .inner {
	display: block;
}
	#schedule .s-tit {
		width: 100%;
		margin-bottom: 30px;
	}
		#schedule .s-tit .en {
			font-size: 1.3rem;
			-ms-writing-mode: horizontal-tb;
    		writing-mode: horizontal-tb;
			margin-bottom: 8px;
		}
		#schedule .s-tit h2 {
			font-size: 2.3rem;
			margin-left: 0;
			-ms-writing-mode: horizontal-tb;
    		writing-mode: horizontal-tb;
		}

	#schedule .contents {
		width: 100%;
	}
		#schedule .contents h3 {
			font-size: 1.8rem;
		}

	#schedule .marquee .marquee__item {
		font-size: 6.0rem;
	}


	
	
/* interview-list
--------------------- */
#interview-list .list {
	display: block;
}
	#interview-list .list a.linkbox {
		width: 100%;
		margin-right: 0;
		margin-bottom: 40px;
	}
	#interview-list .list a.linkbox:nth-last-child(1) {
		margin-bottom: 0;
	}

		#interview-list .list a.linkbox .text {
			padding: 15px 0 0 0;
		}
			#interview-list .list a.linkbox .text .more {
				right: 0;
			}







}