@charset "UTF-8";
/* CSS Document */



	
/* kv
--------------------- */
#kv {
    overflow: hidden;
    position: relative;
	margin-top: 70px;
}
	#kv .title {
		width: 470px;
		height: 55px;
		background: #fff;
		font-size: 3.0rem;
		letter-spacing: 0.02em;
		text-align: center;
		color: #00387A;
		line-height: 55px;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		-webkit-transform: translateY(-50%) translateX(-50%);
		z-index: 1;
	}

	#kv .loop {
		display: flex;
		width: 100vw;
	}
		#kv .loop img {
			width: 4200px;
		}
		#kv .loop01 img:first-child {
			animation: loop0101 160s -80s linear infinite;
		}
		#kv .loop01 img:last-child {
			animation: loop0102 160s linear infinite;
		}
		@keyframes loop0101 {
			0% {
				transform: translateX(100%);
			}
			to {
				transform: translateX(-100%);
			}
		}
		@keyframes loop0102 {
			0% {
				transform: translateX(0);
			}
			to {
				transform: translateX(-200%);
			}
		}

		#kv .loop02 img:first-child {
			animation: loop0201 220s -110s linear infinite;
		}
		#kv .loop02 img:last-child {
			animation: loop0202 220s linear infinite;
		}
		@keyframes loop0201 {
			0% {
				transform: translateX(-100%);
			}
			to {
				transform: translateX(100%);
			}
		}
		@keyframes loop0202 {
			0% {
				transform: translateX(-200%);
			}
			to {
				transform: translateX(0);
			}
		}



	
/* recruit
--------------------- */
#recruit {
	padding-top: 100px;
}
	#recruit a.linkbox {
		display: block;
		width: 48%;
	}
	#recruit a.linkbox.off {
		display: none;
	}
		#recruit a.linkbox .pht {
			overflow: hidden;
		}
			#recruit a.linkbox .pht img {
				-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;
			}
			#recruit a.linkbox:hover .pht img {
				-webkit-transform: scale(1.05);
				-moz-transform: scale(1.05);
				-o-transform: scale(1.05);
				-ms-transform: scale(1.05);
				transform: scale(1.05);
			}

		#recruit a.linkbox .text {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 15px 20px 0 20px;
		}
			#recruit a.linkbox .text h3 {
				font-size: 2.2rem;
				font-weight: 700;
				line-height: 1.3em;
				letter-spacing: 0.06em;
				-webkit-transition: 0.3s;
			}
			#recruit a.linkbox:hover .text h3 {
				color: #00387A;
			}

			#recruit a.linkbox .text .more {
				font-size: 1.4rem;
				line-height: 1;
				color: #00387A;
				text-align: right;
				padding-right: 15px;
				position: relative;
				transition: 0.3s;
				-webkit-transition: 0.3s;
			}
			#recruit a.linkbox:hover .text .more {
				padding-right: 12px;
			}
			#recruit a.linkbox .text .more:before {
				content: "";
				width: 10px;
				height: 10px;
				border-radius: 50%;
				background: #00387A;
				position: absolute;
				top: 50%;
				right: 0;
				margin-top: -5px;
			}



	
/* r-tit
--------------------- */
.r-tit {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 25px;
}
	.r-tit h2 {
		font-size: 3.6rem;
		font-weight: 400;
		color: #00387A;
		line-height: 1;
	}

	.r-tit .jp {
		font-size: 1.2rem;
		font-weight: 700;
		color: #00387A;
		line-height: 1;
		margin-top: 5px;
	}



	
/* news
--------------------- */
#news {
	padding-top: 100px;
}
	#news .list {
		border-top: solid 1px #ddd;
	}
		#news .list dl {
			display: flex;
			justify-content: flex-start;
			align-items: center;
			border-bottom: dashed 1px #ddd;
			padding: 20px;
		}
		#news .list dl:nth-last-child(1) {
			border-bottom: solid 1px #ddd;
		}
			#news .list dl dt {
				font-size: 1.5rem;
				color: #00387A;
				line-height: 1;
				padding-right: 20px;
			}
			#news .list dl dd {
				font-size: 1.5rem;
				line-height: 1.5em;
				letter-spacing: 0.06em;
			}
				#news .list dl dd a {
					color: #00387A;
					text-decoration: underline;
				}
				#news .list dl dd a:hover {
					text-decoration: none;
				}



	
/* message
--------------------- */
#message {
	padding-top: 100px;
}
	#message .text {
		width: 65%;
	}
		#message .text h3 {
			font-size: 2.2rem;
			font-weight: 700;
			line-height: 1.5em;
			margin-bottom: 12px;
		}

		#message .text .txt {
			margin-bottom: 25px;
		}

		#message .text a.bnr {
			display: flex;
			justify-content: flex-start;
			align-items: center;
			max-width: 320px;
			padding: 5px;
			background: #ECF0F5;
		}
		#message .text a.bnr:hover {
			opacity: 0.7;
		}
			#message .text a.bnr .pht {
				width: 80px;
			}

			#message .text a.bnr p {
				font-size: 1.6rem;
				font-weight: 700;
				line-height: 1.3em;
				padding: 0 15px 0 40px;
				background: url("../img/recruit/icon_arrow.svg") no-repeat left 15px center;
			}

	#message .pht {
		width: 30%;
	}
		#message .pht .job {
			font-size: 1.4rem;
			line-height: 1.5em;
			margin-top: 15px;
		}
		#message .pht .name {
			font-size: 2.0rem;
			font-weight: 700;
			line-height: 1;
			margin-top: 8px;
		}



	
/* people
--------------------- */
#people {
	padding-top: 100px;
}
	#people #note-list {
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
		#people #note-list .mu p img {
			display: none;
		}

		#people #note-list .mu {
			width: 31%;
			margin-right: 3.5%;
			position: relative;
		}
		#people #note-list .mu:nth-child(3n) {
			margin-right: 0;
		}
			#people #note-list .mu img {
				width: 100%;
				height: auto;
			}

			#people #note-list .mu .en {
				display: block;
				font-size: 1.4rem;
				line-height: 1;
				color: #00387A;
				margin-top: 18px;
				margin-bottom: 8px;
			}

			#people #note-list .mu h2 {
				margin-bottom: 10px;
				font-size: 1.7rem;
				line-height: 1.4em;
				font-weight: 500;
				text-align: left;
			}

			#people #note-list .mu .text p {
				font-size: 1.4rem;
				line-height: 1.6em;
				margin-bottom: 5px;
				overflow: hidden;
				display: -webkit-box;
				-webkit-box-orient: vertical;
				-webkit-line-clamp: 3;
			}
			#people #note-list .mu .text p:nth-child(2) {
				display: none;
			}

			#people #note-list .mu .text br {
				display: none;
			}

			#people #note-list .mu .text h2 {
				font-size: 1.4rem;
				font-weight: 500;
				line-height: 1.6em;
			}

			#people #note-list .mu .text small {
				display: block;
			}

			#people #note-list .mu .text a {
				display: inline-block;
				font-size: 1.4rem;
				color: #00387A;
				padding-right: 25px;
				line-height: 20px;
				background: url("../img/recruit/icon_arrow.svg") no-repeat right center;
			}


		#people #note-list .mu a.btn {
			display: block;
			width: 100%;
			height: 100%;
			position: absolute;
			top:0;
			left:0;
			right:0;
			bottom: 0;
		}
		#people #note-list .mu a.btn:hover {
			background: rgba(255,255,255,0.3);
		}



	
/* topics
--------------------- */
#topics {
	padding-top: 100px;
	padding-bottom: 100px;
	border-bottom: solid 1px #ddd;
}
	#topics .list a.bnr {
		width: 32%;
		margin-right: 2%;
		margin-bottom: 2%;
		padding: 5px;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		background: #ECF0F5;
	}
	#topics .list a.bnr:nth-child(3n) {
		margin-right: 0;
	}
	#topics .list a.bnr:nth-child(4),
	#topics .list a.bnr:nth-child(5),
	#topics .list a.bnr:nth-child(6) {
		margin-bottom: 0;
	}
	#topics .list a.bnr:hover {
		opacity: 0.7;
	}
		#topics .list a.bnr .pht {
			width: 80px;
		}

		#topics .list a.bnr p {
			font-size: 1.6rem;
			font-weight: 700;
			line-height: 1.3em;
			padding: 0 15px 0 40px;
			background: url("../img/recruit/icon_arrow.svg") no-repeat left 15px center;
		}





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



	
/* recruit
--------------------- */
#recruit {
	padding-top: 80px;
}
	#recruit a.linkbox .text {
		padding: 15px 15px 0 15px;
	}
		#recruit a.linkbox .text h3 {
			font-size: 2.0rem;
		}

		#recruit a.linkbox .text .more {
			font-size: 1.3rem;
		}
		#recruit a.linkbox .text .more:before {
			width: 8px;
			height: 8px;
			margin-top: -4px;
		}



	
/* r-tit
--------------------- */
.r-tit {
	margin-bottom: 20px;
}
	.r-tit h2 {
		font-size: 3.4rem;
	}

	.r-tit .jp {
		font-size: 1.1rem;
	}



	
/* news
--------------------- */
#news {
	padding-top: 80px;
}
	#news .list dl {
		padding: 16px;
	}
		#news .list dl dt {
			font-size: 1.4rem;
			padding-right: 16px;
		}
		#news .list dl dd {
			font-size: 1.4rem;
		}



	
/* message
--------------------- */
#message {
	padding-top: 80px;
}
	#message .text {
		width: 60%;
	}
		#message .text h3 {
			font-size: 2.0rem;
			line-height: 1.4em;
			margin-bottom: 10px;
		}

		#message .text .txt {
			margin-bottom: 20px;
		}

		#message .text a.bnr p {
			font-size: 1.5rem;
		}

	#message .pht {
		width: 35%;
	}
		#message .pht .job {
			font-size: 1.2rem;
			margin-top: 20px;
		}
		#message .pht .name {
			font-size: 1.8rem;
		}



	
/* people
--------------------- */
#people {
	padding-top: 80px;
}
	#people #note-list .mu .en {
		font-size: 1.3rem;
		margin-top: 15px;
	}

	#people #note-list .mu h2 {
		margin-bottom: 7px;
		font-size: 1.6rem;
	}

	#people #note-list .mu .text p {
		font-size: 1.3rem;
	}

	#people #note-list .mu .text h2 {
		font-size: 1.3rem;
	}

	#people #note-list .mu .text small {
		display: block;
	}

	#people #note-list .mu .text a {
		font-size: 1.3rem;
	}



	
/* topics
--------------------- */
#topics {
	padding-top: 80px;
	padding-bottom: 80px;
}
	#topics .list a.bnr {
		width: 49%;
	}
	#topics .list a.bnr:nth-child(3n) {
		margin-right: 2%;
	}
	#topics .list a.bnr:nth-child(2n) {
		margin-right: 0;
	}
	#topics .list a.bnr:nth-child(4){
		margin-bottom: 2%;
	}


}





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



	
/* kv
--------------------- */
#kv {
	margin-top: 60px;
}
	#kv .title {
		width: 300px;
		height: 45px;
		font-size: 1.8rem;
		letter-spacing: 0;
		line-height: 45px;
	}
	
	#kv .loop img {
		width: 2800px;
	}
		#kv .loop01 img:first-child {
			animation: loop0101 100s -50s linear infinite;
		}
		#kv .loop01 img:last-child {
			animation: loop0102 100s linear infinite;
		}
		#kv .loop02 img:first-child {
			animation: loop0201 100s -50s linear infinite;
		}
		#kv .loop02 img:last-child {
			animation: loop0202 100s linear infinite;
		}



	
/* recruit
--------------------- */
#recruit {
	padding-top: 60px;
}
	#recruit .inner_1000 {
		display: block;
	}
		#recruit a.linkbox {
			width: 100%;
			margin-bottom: 30px;
		}
		#recruit a.linkbox:nth-last-child(1) {
			margin-bottom: 0;
		}
			#recruit a.linkbox .text {
				padding: 15px 15px 0 15px;
			}
				#recruit a.linkbox .text h3 {
					font-size: 1.8rem;
				}

				#recruit a.linkbox .text .more {
					font-size: 1.2rem;
				}
				#recruit a.linkbox .text .more:before {
					width: 8px;
					height: 8px;
					margin-top: -3.5px;
				}



	
/* news
--------------------- */
#news {
	padding-top: 60px;
}
	#news .list dl {
		display: block;
		padding: 20px 10px;
	}
		#news .list dl dt {
			font-size: 1.4rem;
			padding-right: 0;
			margin-bottom: 8px;
		}
		#news .list dl dd {
			font-size: 1.4rem;
		}



	
/* message
--------------------- */
#message {
	padding-top: 60px;
}
	#message .flex-start {
		display: block;
	}
	#message .text {
		width: 100%;
	}
		#message .text h3 {
			margin-bottom: 15px;
		}

		#message .text .txt {
			margin-bottom: 20px;
		}

		#message .text a.bnr {
			max-width: 100%;
		}

	#message .pht {
		width: 100%;
		margin-bottom: 25px;
	}



	
/* people
--------------------- */
#people {
	padding-top: 60px;
}
	#people #note-list {
		display: block;
	}
		#people #note-list .mu {
			width: 100%;
			margin-top: 30px;
		}



	
/* topics
--------------------- */
#topics {
	padding-top: 60px;
	padding-bottom: 60px;
}
	#topics .list {
		display: block;
	}
		#topics .list a.bnr {
			width: 100%;
			margin-right: 0;
			margin-bottom: 12px !important;
		}
		#topics .list a.bnr:nth-child(3n) {
			margin-right: 0
		}

	
	
}