@charset "utf-8";
/* PC ================================================== */
@media all and (min-width:960px){
#person {
	width: 100%;
	border-top: solid 1px #DEDEDE;
}
	.person--topimage {
		width: 100%;
		height: 500px;
	}
		.person_topimage-loop {
			pointer-events: none;
			display: flex;
			justify-content: space-between;
			align-items: flex-start;
			width: 100%;
			height: 100%;
			overflow: hidden;
		}
			.person_topimage-loop img {
				width: auto;
				height: 100%;
			}
			.person_topimage-loop img:first-child {
				animation: loop 200s -100s linear infinite;
			}
			.person_topimage-loop img:last-child {
				animation: loop2 200s linear infinite;
			}
			@keyframes loop {
				0% {
					transform: translateX(100%);
				}
				to {
					transform: translateX(-100%);
				}
			}
			@keyframes loop2 {
				0% {
					transform: translateX(0);
				}
				to {
					transform: translateX(-200%);
				}
			}

	.person--contents {
		width: 100%;
		padding: 60px 0px 180px;
		margin: auto auto;
		position: relative;
	}
	.person--contents:after {
		content: '';
		display: block;
		width: 100%;
		height: calc(100% - 450px);
		background-color: #DF610F;
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: -1;
	}
		.person-loop {
			pointer-events: none;
			display: flex;
			justify-content: space-between;
			align-items: flex-start;
			width: 100%;
			height: 265px;
			overflow: hidden;
			position: absolute;
			top: 265px;
			left: 50%;
			transform: translate(-50%,0%);
			-webkit-transform: translate(-50%,0%);
			z-index: -1;
		}
			.person-loop img {
				width: auto;
				height: 100%;
			}
			.person-loop img:first-child {
				animation: loop 400s -200s linear infinite;
			}
			.person-loop img:last-child {
				animation: loop2 400s linear infinite;
			}
			@keyframes loop {
				0% {
					transform: translateX(100%);
				}
				to {
					transform: translateX(-100%);
				}
			}
			@keyframes loop2 {
				0% {
					transform: translateX(0);
				}
				to {
					transform: translateX(-200%);
				}
			}

		.person--contents_inner {
			width: 90%;
			max-width: 1050px;
			margin: auto auto;
			position: relative;
		}
			.section-heading {
				width: 320px;
				margin: auto auto 175px 0px;
				float: left;
				font-size: 14px;
				font-weight: 500;
				line-height: 1.0;
				letter-spacing: 0.0em;
				position: relative;
			}
				.section-heading .section-heading_en {
					display: inline-block;
					margin-top: 25px;
					font-family: din-condensed, sans-serif;
					font-size: 1.4rem;
				    font-weight: 600;
				    color: #DF610F;
				    letter-spacing: 0.1em;
						white-space: nowrap;
				}
				.section-heading:after {
					content: '';
					display: block;
					width: 50px;
					height: 2px;
					background-color: #DF610F;
					position: absolute;
					bottom: -25px;
					left: 0;
				}
			.person-tab_container {
				height: 145px;
				position: absolute;
				top: 0;
				right: 0;
			}
				.person-tab-group {
					width: 100%;
					display: flex;
					justify-content: center;
				}
				.person_tab {
					width: 150px;
					height: 145px;
					cursor: pointer;
					position: relative;
				}
				.person_tab:after {
					content: '';
					width: 0px;
					height: 100%;
					border-right: dotted 1px #cccccc;
					position: absolute;
					top: 50%;
					right: 0;
					transform: translate(0%, -50%);
					-webkit-transform: translate(0%, -50%);
				}
				.person_tab:last-of-type:after {
					display: none;
				}
				.person_tab.current {
					border-bottom: solid 2px #DF610F;
				}
				.part_tab {
					width: 190px;
				}
					.person_tab-icon {
						position: absolute;
						top: 40%;
						left: 50%;
						transition: all 0.2s ease-out;
						-webkit-transition: all 0.2s ease-out;
						transform: translate(-50%, -50%);
						-webkit-transform: translate(-50%, -50%);
					}
					.person_tab .icon-active {
						opacity: 0.0;
					}
					.person_tab .icon-no-active {
						opacity: 1.0;
					}
					.person_tab.person_is-active .icon-active {
						opacity: 1.0;
					}
					.person_tab.person_is-active .icon-no-active {
						opacity: 0.0;
					}
					.employee_icon {
						width: 80px;
					}
					.part_icon {
						width: 79px;
					}
					.handicapped_icon {
						width: 65px;
					}
					.person_tab p {
						width: 100%;
						font-size: 15px;
						font-weight: 700;
						color: #000000;
						letter-spacing: 0.0;
						text-align: center;
						position: absolute;
						bottom: 15px;
						left: 50%;
						transform: translate(-50%, 0%);
						-webkit-transform: translate(-50%, 0%);
						transition: all 0.2s ease-out;
						-webkit-transition: all 0.2s ease-out;
					}

			.person-panel_container {
				width: 100%;
				margin-bottom: 50px;
			}
				.person-list {
					width: 100%;
					margin-bottom: 100px !important;
					display: flex;
					justify-content: space-between;
					align-items: flex-start;
					flex-wrap: wrap;
				}
				.person-list:after{
					content: '';
					display: block;
					width: 30%;
				}
					.person-item {
						width: 30%;
						margin-bottom: 15px;
					}
					.person-item:nth-of-type(3n-1) {
						margin-top: 50px;
					}
					.person-item:nth-last-of-type(-n+3) {
						margin-bottom: 0px;
					}
						.person-item a {
							display: block;
							width: 100%;
							max-height: 424px;
							box-shadow: 0px 0px 20px 3px rgba(0,0,0,0.16);
							color: #ffffff;
							transition: .2s;
							-webkit-transition: .2s;
							overflow: hidden;
							position: relative;
						}
							.person-thumb {
								width: 100%;
								height: auto;
								position: relative;
								z-index: 1;
								transition: .2s;
								-webkit-transition: .2s;
							}
							.person-item:hover .person-thumb {
								-webkit-transform: scale(1.05);
								transform: scale(1.05);
							}
							.person-item_container {
								width: 100%;
								height: 100%;
								position: absolute;
								top: 0;
								left: 0;
								z-index: 2;
							}
								.person-txt {
									width: 100%;
									height: 220px;
									padding: 105px 5% 25px;
									margin: auto auto;
									display: flex;
									justify-content: flex-start;
									flex-direction: column;
									line-height: 1.0;
									background: -moz-linear-gradient(bottom, rgba(0,0,0,1.0), rgba(255,255,255,0)); 
									background: -webkit-linear-gradient(bottom, rgba(0,0,0,1.0), rgba(255,255,255,0)); 
									background: linear-gradient(to top, rgba(0,0,0,1.0), rgba(255,255,255,0)); 
									position: absolute;
									bottom: 0;
								}
									.person-name {
										width: 100%;
										margin-bottom: 10px;
										font-size: 24px;
										font-weight: 700;
									}
									.person-hire_date {
										width: 100%;
										margin-bottom: 15px;
										font-size: 0.9rem;
										font-weight: 500;
									}
									.person-position {
										width: 100%;
										margin: auto auto 0px;
										font-size: 0.9rem;
										font-weight: 700;
									}
				.pagination {
					width: 100%;
				}
					ul.page-numbers {
						display: flex;
						justify-content: flex-start;
						align-items: center;
					}
						ul.page-numbers li {
							padding: 0px;
							margin-right: 7px;
						}
							ul.page-numbers li span,
							ul.page-numbers li a {
								display: block;
								width: 45px;
								height: 45px;
								font-size: 18px;
								font-weight: 500;
								letter-spacing: 0.0em;
								line-height: 1.0;
								display: flex;
								justify-content: center;
								align-items: center;
							}
							a.prev,
							a.next {
								color: #ffffff;
								background-color: #cccccc;
							}
								a.prev:before,
								a.next:before {
									font-size: 18px;
									font-weight: 300;
									line-height: 1;
									font-family: "FontAwesome";
								}
								a.prev:before {
									content: '\f053';
								}
								a.next:before {
									content: '\f054';
								}
							a.page-numbers {
								color: #ffffff;
								background-color: #cccccc;
							}
							span.current {
								color: #DF610F;
								background-color: #ffffff;
							}
							span.dots {
								color: #ffffff;
							}
}

/* Tablet ================================================== */
@media all and (min-width:560px) and (max-width:959px){
#person {
	width: 100%;
	border-top: solid 1px #DEDEDE;
}
	.person--topimage {
		width: 100%;
		height: 500px;
	}
		.person_topimage-loop {
			pointer-events: none;
			display: flex;
			justify-content: space-between;
			align-items: flex-start;
			width: 100%;
			height: 100%;
			overflow: hidden;
		}
			.person_topimage-loop img {
				width: auto;
				height: 100%;
			}
			.person_topimage-loop img:first-child {
				animation: loop 200s -100s linear infinite;
			}
			.person_topimage-loop img:last-child {
				animation: loop2 200s linear infinite;
			}
			@keyframes loop {
				0% {
					transform: translateX(100%);
				}
				to {
					transform: translateX(-100%);
				}
			}
			@keyframes loop2 {
				0% {
					transform: translateX(0);
				}
				to {
					transform: translateX(-200%);
				}
			}

	.person--contents {
		width: 100%;
		padding: 50px 0px 150px;
		margin: auto auto;
		position: relative;
	}
	.person--contents:after {
		content: '';
		display: block;
		width: 100%;
		height: calc(100% - 450px);
		background-color: #DF610F;
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: -1;
	}
		.person-loop {
			display: none;
		}
		.person--contents_inner {
			width: 90%;
			margin: auto auto;
			position: relative;
		}
			.section-heading {
				width: 100%;
				margin: auto auto 55px;
				font-size: 14px;
				font-weight: 500;
				line-height: 1.0;
				letter-spacing: 0.0em;
				text-align: left;
				position: relative;
			}
				.section-heading .section-heading_en {
					display: inline-block;
					margin-top: 15px;
					font-family: din-condensed, sans-serif;
					font-size: 24px;
					font-weight: 600;
					color: #DF610F;
					letter-spacing: 0.1em;
					white-space: nowrap;
				}
				.section-heading:after {
					content: '';
					display: block;
					width: 50px;
					height: 2px;
					background-color: #DF610F;
					position: absolute;
					bottom: -25px;
					left: 0;
				}

			.person-tab_container {
				width: 100%;
				margin-bottom: 45px;
			}
				.person-tab-group {
					width: 100%;
					display: flex;
					justify-content: center;
				}
				.person_tab {
					padding-top: 75px;
					padding-bottom: 10px;
					cursor: pointer;
					letter-spacing: 0.0;
					text-align: center;
					position: relative;
				}
				.employee_tab {
					width: 28%
				}
				.part_tab {
					width: 44%;
				}
				.handicapped_tab {
					width: 28%;
				}
				.part_tab:before {
					content: '';
					width: 0px;
					height: 100%;
					border-left: dotted 1px #cccccc;
					position: absolute;
					top: 50%;
					left: 0;
					transform: translate(0%, -50%);
					-webkit-transform: translate(0%, -50%);
				}
				.part_tab:after {
					content: '';
					width: 0px;
					height: 100%;
					border-right: dotted 1px #cccccc;
					position: absolute;
					top: 50%;
					right: 0;
					transform: translate(0%, -50%);
					-webkit-transform: translate(0%, -50%);
				}
				.person_tab.current {
					border-bottom: solid 2px #DF610F;
				}
					.person_tab-icon {
						position: absolute;
						bottom: 40px;
						transition: all 0.2s ease-out;
						-webkit-transition: all 0.2s ease-out;
						transform: translate(-50%, 0%);
						-webkit-transform: translate(-50%, 0%);
					}
					.person_tab .icon-active {
						opacity: 0.0;
					}
					.person_tab .icon-no-active {
						opacity: 1.0;
					}
					.person_tab.person_is-active .icon-active {
						opacity: 1.0;
					}
					.person_tab.person_is-active .icon-no-active {
						opacity: 0.0;
					}
					.employee_icon {
						width: 55px;
						left: 50%;
					}
					.part_icon {
						width: 57px;
						left: 50%;
					}
					.handicapped_icon {
						width: 47px;
						left: 50%;
					}
					.person_tab p {
						width: 100%;
						font-size: 15px;
						font-weight: 700;
						color: #000000;
						letter-spacing: 0.0;
						text-align: center;
						transition: all 0.2s ease-out;
						-webkit-transition: all 0.2s ease-out;
					}

			.person-panel_container {
				width: 100%;
				margin-bottom: 50px;
			}
				.person-list {
					width: 100%;
					display: flex;
					justify-content: space-between;
					align-items: flex-start;
					flex-wrap: wrap;
				}
					.person-item {
						width: 48%;
						margin-bottom: 30px;
					}
						.person-item a {
							display: block;
							width: 100%;
							color: #ffffff;
							transition: .2s;
							-webkit-transition: .2s;
							overflow: hidden;
							position: relative;
						}
							.person-thumb {
								width: 100%;
								height: auto;
								position: relative;
								z-index: 1;
								transition: .2s;
								-webkit-transition: .2s;
							}
							.person-item_container {
								width: 100%;
								height: 100%;
								position: absolute;
								top: 0;
								left: 0;
								z-index: 2;
							}
								.person-txt {
									width: 100%;
									height: 220px;
									padding: 105px 5% 25px;
									margin: auto auto;
									display: flex;
									justify-content: flex-start;
									flex-direction: column;
									line-height: 1.0;
									background: -moz-linear-gradient(bottom, rgba(0,0,0,1.0), rgba(255,255,255,0)); 
									background: -webkit-linear-gradient(bottom, rgba(0,0,0,1.0), rgba(255,255,255,0)); 
									background: linear-gradient(to top, rgba(0,0,0,1.0), rgba(255,255,255,0)); 
									position: absolute;
									bottom: 0;
								}
									.person-name {
										width: 100%;
										margin-bottom: 10px;
										font-size: 24px;
										font-weight: 700;
									}
									.person-hire_date {
										width: 100%;
										margin-bottom: 15px;
										font-size: 0.9rem;
										font-weight: 500;
									}
									.person-position {
										width: 100%;
										margin: auto auto 0px;
										font-size: 0.9rem;
										font-weight: 700;
									}

				.pagination {
					width: 100%;
				}
					ul.page-numbers {
						display: flex;
						justify-content: flex-start;
						align-items: center;
					}
						ul.page-numbers li {
							padding: 0px;
							margin-right: 7px;
						}
							ul.page-numbers li span,
							ul.page-numbers li a {
								display: block;
								width: 45px;
								height: 45px;
								font-size: 18px;
								font-weight: 500;
								letter-spacing: 0.0em;
								line-height: 1.0;
								display: flex;
								justify-content: center;
								align-items: center;
							}
							a.prev,
							a.next {
								color: #ffffff;
								background-color: #cccccc;
							}
								a.prev:before,
								a.next:before {
									font-size: 18px;
									font-weight: 300;
									line-height: 1;
									font-family: "FontAwesome";
								}
								a.prev:before {
									content: '\f053';
								}
								a.next:before {
									content: '\f054';
								}
							a.page-numbers {
								color: #ffffff;
								background-color: #cccccc;
							}
							span.current {
								color: #DF610F;
								background-color: #ffffff;
							}
							span.dots {
								color: #ffffff;
							}
}

/* SP ================================================== */
@media all and (max-width:559px){
#person {
	width: 100%;
	border-top: solid 1px #DEDEDE;
}
	.person--topimage {
		width: 100%;
		height: 400px;
	}
		.person_topimage-loop {
			pointer-events: none;
			display: flex;
			justify-content: space-between;
			align-items: flex-start;
			width: 100%;
			height: 100%;
			overflow: hidden;
		}
			.person_topimage-loop img {
				width: auto;
				height: 100%;
			}
			.person_topimage-loop img:first-child {
				animation: loop 200s -100s linear infinite;
			}
			.person_topimage-loop img:last-child {
				animation: loop2 200s linear infinite;
			}
			@keyframes loop {
				0% {
					transform: translateX(100%);
				}
				to {
					transform: translateX(-100%);
				}
			}
			@keyframes loop2 {
				0% {
					transform: translateX(0);
				}
				to {
					transform: translateX(-200%);
				}
			}

	.person--contents {
		width: 100%;
		padding: 50px 0px 150px;
		margin: auto auto;
		position: relative;
	}
	.person--contents:after {
		content: '';
		display: block;
		width: 100%;
		height: calc(100% - 450px);
		background-color: #DF610F;
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: -1;
	}
		.person-loop {
			display: none;
		}
		.person--contents_inner {
			width: 90%;
			margin: auto auto;
			position: relative;
		}
			.section-heading {
				width: 100%;
				margin: auto auto 75px;
				font-size: 14px;
				font-weight: 500;
				line-height: 1.0;
				letter-spacing: 0.0em;
				text-align: left;
				position: relative;
			}
				.section-heading .section-heading_en {
					display: inline-block;
					margin-top: 15px;
					font-family: din-condensed, sans-serif;
					font-size: 24px;
					font-weight: 600;
					color: #DF610F;
					letter-spacing: 0.1em;
				}
				.section-heading:after {
					content: '';
					display: block;
					width: 50px;
					height: 2px;
					background-color: #DF610F;
					position: absolute;
					bottom: -10px;
					left: 0;
				}

			.person-tab_container {
				width: 100%;
				height: 100px;
				margin-bottom: 45px;
			}
				.person-tab-group {
					width: 100%;
					display: flex;
					justify-content: center;
				}
				.person_tab {
					padding-top: 70px;
					padding-bottom: 5px;
					cursor: pointer;
					text-align: center;
					position: relative;
				}
				.employee_tab {
					width: 28%
				}
				.part_tab {
					width: 44%;
				}
				.handicapped_tab {
					width: 28%;
				}
				.part_tab:before {
					content: '';
					width: 0px;
					height: 100%;
					border-left: dotted 1px #cccccc;
					position: absolute;
					top: 50%;
					left: 0;
					transform: translate(0%, -50%);
					-webkit-transform: translate(0%, -50%);
				}
				.part_tab:after {
					content: '';
					width: 0px;
					height: 100%;
					border-right: dotted 1px #cccccc;
					position: absolute;
					top: 50%;
					right: 0;
					transform: translate(0%, -50%);
					-webkit-transform: translate(0%, -50%);
				}
				.person_tab.current {
					border-bottom: solid 2px #DF610F;
				}
					.person_tab-icon {
						position: absolute;
						bottom: 35px;
						transition: all 0.2s ease-out;
						-webkit-transition: all 0.2s ease-out;
						transform: translate(-50%, 0%);
						-webkit-transform: translate(-50%, 0%);
					}
					.person_tab .icon-active {
						opacity: 0.0;
					}
					.person_tab .icon-no-active {
						opacity: 1.0;
					}
					.person_tab.person_is-active .icon-active {
						opacity: 1.0;
					}
					.person_tab.person_is-active .icon-no-active {
						opacity: 0.0;
					}
					.employee_icon {
						width: 55px;
						left: 50%;
					}
					.part_icon {
						width: 57px;
						left: 50%;
					}
					.handicapped_icon {
						width: 47px;
						left: 50%;
					}
					.person_tab p {
						width: 100%;
						font-size: 12px;
						font-weight: 700;
						color: #000000;
						letter-spacing: 0.0;
						text-align: center;
						transition: all 0.2s ease-out;
						-webkit-transition: all 0.2s ease-out;
					}

			.person-panel_container {
				width: 100%;
				margin-bottom: 50px;
			}
				.person-list {
					width: 100%;
				}
					.person-item {
						width: 100%;
						margin-bottom: 30px;
					}
						.person-item a {
							display: block;
							width: 100%;
							height: auto;
							color: #ffffff;
							transition: .2s;
							-webkit-transition: .2s;
							position: relative;
						}
							.person-thumb {
								width: 100%;
								height: auto;
								position: relative;
								z-index: 1;
								transition: .2s;
								-webkit-transition: .2s;
							}
							.person-item_container {
								width: 100%;
								height: 100%;
								position: absolute;
								top: 0;
								left: 0;
								z-index: 2;
							}
								.person-txt {
									width: 100%;
									height: 220px;
									padding: 105px 5% 25px;
									margin: auto auto;
									display: flex;
									justify-content: flex-start;
									flex-direction: column;
									line-height: 1.0;
									background: -moz-linear-gradient(bottom, rgba(0,0,0,1.0), rgba(255,255,255,0)); 
									background: -webkit-linear-gradient(bottom, rgba(0,0,0,1.0), rgba(255,255,255,0)); 
									background: linear-gradient(to top, rgba(0,0,0,1.0), rgba(255,255,255,0)); 
									position: absolute;
									bottom: 0;
								}
									.person-name {
										width: 100%;
										margin-bottom: 10px;
										font-size: 24px;
										font-weight: 700;
									}
									.person-hire_date {
										width: 100%;
										margin-bottom: 15px;
										font-size: 0.9rem;
										font-weight: 500;
									}
									.person-position {
										width: 100%;
										margin: auto auto 0px;
										font-size: 0.9rem;
										font-weight: 700;
									}

				.pagination {
					width: 100%;
				}
					ul.page-numbers {
						display: flex;
						justify-content: flex-start;
						align-items: center;
					}
						ul.page-numbers li {
							padding: 0px;
							margin-right: 7px;
						}
							ul.page-numbers li span,
							ul.page-numbers li a {
								display: block;
								width: 45px;
								height: 45px;
								font-size: 18px;
								font-weight: 500;
								letter-spacing: 0.0em;
								line-height: 1.0;
								display: flex;
								justify-content: center;
								align-items: center;
							}
							a.prev,
							a.next {
								color: #ffffff;
								background-color: #cccccc;
							}
								a.prev:before,
								a.next:before {
									font-size: 18px;
									font-weight: 300;
									line-height: 1;
									font-family: "FontAwesome";
								}
								a.prev:before {
									content: '\f053';
								}
								a.next:before {
									content: '\f054';
								}
							a.page-numbers {
								color: #ffffff;
								background-color: #cccccc;
							}
							span.current {
								color: #DF610F;
								background-color: #ffffff;
							}
							span.dots {
								color: #ffffff;
							}
}