@charset "UTF-8";
.mgt-10 {
	margin-top: 10px!important;
}
.mgt-20 {
	margin-top: 20px!important;
}
.mgt-30 {
	margin-top: 30px!important;
}
.mgt-50 {
	margin-top: 50px!important;
}
.mgt-55 {
	margin-top: 50px!important;
}
.mgt-100 {
	margin-top: 100px!important;
}
.pd-20 {
	padding: 20px;
}
.p-center {
	text-align: center!important;
	margin: 0 auto;
}
.sp {
	display: none;
}
.scroll-target {
  scroll-margin-top: 150px;
}
/***********************Button************************/
.entry-btn-box {
	width: 100%;
	position: relative;
	margin: 0 auto;
	text-align: center;
	z-index: 11;
}
.entry-btn-box a {
	margin: 0 auto;
	text-align: center;
}
.entry-btn {
	background: white;
	padding: .2em 2em .4em;
	display: inline-block;
	text-align: center;
	color: black;
	font-size: 1.6rem;
	font-weight: bold;
	border-radius: .5em;
	border: 2px solid #FC0242;
	position: relative;
	cursor: pointer;
	transition: color 0.3s ease;
}
.entry-btn::before {
	position: absolute;
	right: 5px;
	content: '▶';
	color: #FC0242;

}
/* .entry-btn span {
	color:  #FC0242;
	padding-left: 1.8em;
} */
.entry-btn:after {
	content: '';
	position: absolute;
	top: 6px;
	left: 6px;
	width: 100%;
	height: 100%;
	background-color: #FC0242;
	border-radius: .5em;
	z-index: -1;
}
.entry-btn:hover:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #FC0242;
	border-radius: .5em;
	z-index: -1;
	opacity: 0;
	transition: color 0.3s ease;
}

.entry-btn-t {
	background: #FC0242;
	padding: .2em 2em;
	display: inline-block;
	text-align: center;
	color: white;
	font-size: 2rem;
	font-weight: bold;
	position: relative;
	cursor: pointer;
	transition: color 0.3s ease;
}
.entry-btn-t::before {
	position: absolute;
	right: 5px;
	content: '▶';
	color: white;

}
.entry-btn-t:hover {
	background: white;
	border: 2px solid #FC0242;
	color: #FC0242;
	font-size: 2rem;
}
.entry-btn-t:hover::before {
	color: #FC0242;

}

a.line-btn {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	margin: 0 auto;
	padding: .5rem 4rem;
	font-weight: bold;
	border: 2px solid #FC0242;
	color: #FC0242;
	transition: 0.5s;
}
a.line-btn-f {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	margin: 0 auto;
	padding: .5rem 4rem;
	font-weight: bold;
	border: 2px solid #FC0242;
	color: #FC0242;
	transition: 0.5s;
}
a.line-btn:hover,
a.line-btn-f:hover {
	color: #fff;
	background: #FC0242;
}

.entry-btn2 {
	background: white;
	padding: .6em 2em;
	display: block;
	text-align: center;
	color: black;
	font-size: 3rem;
	font-weight: bold;
	border-radius: .5em;
	border: 2px solid #FC0242;
	position: relative;
	cursor: pointer;
	transition: color 0.3s ease;
}
.entry-btn2::before {
	position: absolute;
	right: 5px;
	content: '▶';
	color: #FC0242;

}
.entry-btn2:after {
	content: '';
	position: absolute;
	top: 10px;
	left: 10px;
	width: 100%;
	height: 100%;
	background-color: #FC0242;
	border-radius: .5em;
	z-index: -1;
}
.entry-btn2:hover:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #FC0242;
	border-radius: .5em;
	z-index: -1;
	opacity: 0;
	transition: color 0.3s ease;
}
/*****************************all width******************************/
.full-width {
	position: relative;
	width: 100%;
	background-color: #F5F5F5;
	z-index: 5;
}
/*****************************title******************************/
.title-box,
.title-box2,
.entry-title {
	text-align: left;
	margin: 0;
	padding: 0;
}
	.title-box span,
	.entry-title span {
		background-color: #FC0242;
		display: inline-block;
		color: white;
		padding: 15px 15px;
		font-size: 1.2rem;
		font-weight: bold;
		line-height: 0;
	}
	.entry-title h3 {
		width: 100%;
		font-size: clamp(1.5rem, -1.773rem + 16.36vw, 10.5rem);
		font-weight: bolder;
		font-family: "Arial Black", Gadget, sans-serif;
		color: #242424;
		line-height: 1em;
	}
	.title-box h3 {
		width: 100%;
		font-size: clamp(1.5rem, -1.773rem + 16.36vw, 8.5rem);
		font-weight: bolder;
		font-family: "Arial Black", Gadget, sans-serif;
		color: #242424;
		line-height: 1em;
	}
	.title-box p {
		width: 100%;
		font-size: clamp(1.125em, 0.898em + 1.14vw, 1.75em);
		font-weight: bold;
		color: #242424;
		margin-top: 20px;
		line-height: 1em;
	}

	.title-box2 span {
		color: #FC0242;
		font-size: 2.6rem;
		font-weight: bold;
		line-height: 0;
	}
	.title-box2 h3 {
		width: 100%;
		font-size: clamp(1.5rem, -2.5rem + 20vw, 12.5rem);
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 900;
		color: #242424;
		line-height: 1em;
	}
.title-text {
	text-align: justify;
	font-size: 14px;
	margin-top: 20px;
}
	.title-text span {
		text-align: justify;
		font-size: 16px;
		font-weight: bold;
		margin-top: 20px;
	}
/*****************************swiper******************************/
.swiper,
.swiper-m {
  width: 100%;
  padding: 0 0 60px 0;
  position: relative;
  overflow: visible;
}
.swiper-wrapper {
  padding-left: 10px;
  margin-left: 0;
}
	.swiper1 .swiper-slide {
		width: 500px;
		flex-shrink: 0;
		background: white;
		margin-right: 20px;
		padding: 10px;
		font-size: 1.5rem;
		text-align: left;
		border-radius: 10px;
		box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
	}
	.swiper2 .swiper-slide {
		width: 440px;
		flex-shrink: 0;
		background: white;
		margin-right: 20px;
		padding-bottom: 30px;
		font-size: 1.5rem;
		text-align: left;
		border-radius: 10px;
		cursor: grab;
		box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
	}
		.swiper1 .swiper-slide a,
		.swiper2 .swiper-slide a {
			color: #242424;
		}
		.swiper1 .swiper-slide img {
			width: stretch;
			max-width: 100%;
			object-fit: cover;
		}
		.swiper1 .swiper-slide span {
			font-size: 14px;
		}
		.swiper2 .swiper-slide span {
			font-size: 20px;
		}
		.swiper1 .swiper-slide p {
			font-size: 20px;
			font-weight: bold;
		}
		.swiper2 .swiper-slide p {
			font-size: 12px;
		}
	.swiper-button-next,
	.swiper-button-prev {
		background-color: #FC0242;
		width: 40px;
		height: 40px;
		border-radius: 50%;
		top: 50%;
		transform: translateY(-50%);
		z-index: 10;
		color: white;
	}
	.swiper-button-next::after,
	.swiper-button-prev::after {
		font-size: 18px;
	}
	.swiper-button-next {
		right: 10px;
	}
	.swiper-button-prev {
		left: 10px;
	}
	.swiper-pagination {
		position: absolute;
		bottom: 10px;
		left: 0;
		width: 100%;
		text-align: center;
	}
	.swiper-pagination-bullet {
		background: #ccc;
		opacity: 1;
	}
	.swiper-pagination-bullet-active {
		background: #FC0242;
	}
/***********************************DH************************************/
.dh-wrapper {
	background: url("../images/dhBg.png") no-repeat center bottom / contain;
	padding: 100px 0;
}
	.dh-section-logo {
		text-align: center;
		margin: 0;
	}
		.dh-section-logo img {
			width: 100%;
			height: 100%;
			max-width: 800px;
			max-height: 160px;
		}
	.dh-section-title {
		font-size: 2em;
		font-weight: bolder;
		font-family: "Arial Black", Gadget, sans-serif;
		color: #C8161D;
	}
	.dh-section-text {
		margin: 0 auto;
		text-align: center;
		width: 100%;
		max-width: 600px;
	}
		.dh-section-text p {
			font-size: 16px;
		}
	.dh-section-box {
		margin: 0 auto;
	}
		.dh-section-box-title {
			background-color: rgba(255,255,255,0.6);
			display: inline-block;
			padding: 0 1em;
			font-size: clamp(1.125rem, -0.375rem + 7.5vw, 5.25rem);
			font-weight: bolder;
			font-family: "Arial Black", Gadget, sans-serif;
			color: #C8161D;
			box-shadow:
				-5px 0 5px -5px rgba(0,0,0,0.3),
				0 -5px 5px -5px rgba(0,0,0,0.3),
				5px 0 5px -5px rgba(0,0,0,0.3); 
		}
		.dh-section-box-text {
			width: 100%;
			max-width: 800px;
			margin: 0 auto;
			background-color: rgba(255,255,255,0.6);
			display: block;
			padding: 1em 2em;
			box-shadow:
				-5px 0 5px -5px rgba(0,0,0,0.3),
				5px 0 5px -5px rgba(0,0,0,0.3),
				0 5px 5px -5px rgba(0,0,0,0.3);
		}
			.dh-section-box-text p {
				font-size: 16px;		
			}

/***************************************ella***************************************/
.ella-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
}
	.ella-flex .child {
		width: calc(50% - 10px);
	}
/*****************************************Achievements**************************************/
.achi-inner {
	width: 100%;
	margin: 0 auto;
	padding: 50px 0;
}
	.achi-title {
		background-color: #FC0242;
		display: inline-block;
		text-align: center;
		color: white;
		padding: 5px 200px;
		font-size: clamp(1.125rem, 0.807rem + 1.59vw, 2rem);
		border-radius: 25px;
	}
/*****************************************works**************************************/
.works-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	gap: 50px;
}
	.works-flex .child {
		width: calc((100% - 50px) / 2);
		padding-bottom: 20px;
		background-color: #F5F5F5;
		box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
		display: flex;
		flex-direction: column;
	}
		.works-flex .child img {
			margin: 0;
			vertical-align: bottom;
		}
		.works-flex .child .obi {
			background-color: #242424;
			margin: 0;
			padding: 5px 0;
			color: white;
			text-align: center;
			font-weight: bold;
			position: relative;
		}
			.works-flex .child .obi::before {
				content: '';
				display: inline-block;
				width: 15px;
				height: 15px;
				margin-right: 5px;
				background-size: contain;
				background-repeat: no-repeat;
				background-position: center;
			}
			.tr-icon::before {
				background-image: url("../images/translation_icon.svg");
				vertical-align: middle;
			}

			.lqa-icon::before {
				background-image: url("../images/lqa_icon.svg");
				vertical-align: middle;
			}

			.cs-icon::before {
				background-image: url("../images/cs_icon.svg");
				vertical-align: middle;
			}
			.qa-icon::before {
				background-image: url("../images/qa_icon.svg");
				vertical-align: middle;
			}

		.works-flex .child .text-box {
			padding: 10px 10px 20px;
			text-align: left;
			flex-grow: 1;
			/* display: flex;
			flex-direction: column; */
		}
			.works-flex .child .text-box p {
				font-size: 16px;
				padding: 20px 0;
			}
				.works-flex .child .p-center {
					margin-top: auto;
					text-align: center;
				}
			.wcBatch-flex {
				display: flex;
				flex-wrap: nowrap;
				justify-content: flex-start;
				align-items: stretch;
			}
				.wcBatch-flex .wc {
					display: inline-block;
					background-color: #FC0242;
					color: white;
					margin-right: 10px;
					padding: 0 5px;
					font-size: 12px;
				}
		.location {
			background-color: #0e62d1;
			display: inline-block;
			margin: 0;
			color: white;
			text-align: center;
			padding: 0 5px;
			font-size: 14px;
		}

	.freelance-flex {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: stretch;
		gap: 20px;
		border: 1px solid #C2BFC5;
	}
		.freelance-flex .child {
			width: calc(50% - 10px);
			text-align: left;
		}
			.freelance-flex .child img {
				width: 100%;
				height: 100%;
				object-fit: cover;
				display: block;
				vertical-align: bottom;
			}
			.freelance-flex .child h3 {
				font-size: clamp(1.125rem, 0.216rem + 4.55vw, 3.625rem);
				font-weight: bold;
				color: #FC0242;
			}
			.freelance-flex .child p {
				font-size: 16px;
				text-align: justify;
			}
/*****************************************member**************************************/
.member-photo-box {
	position: relative;
	height: 210px;
	background-color: #F5F5F5;
	padding: 20px;
}
	.member-photo-box .member-title {
		position: absolute;
		top: 50%;
		left: 20px;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
	}
		.member-photo-box .member-title p.member-type {
			font-size: 14px;
		}
		.member-photo-box .member-title p.member-name {
			font-size: 32px;
			font-weight: bold;
			color: #FC0242;
			line-height: 1em;
		}
			.member-photo-box .member-title p.member-name span {
				font-size: 14px;
			}
	.member-photo-box .member-photo {
		position: absolute;
		bottom: 0;
		right: 5px;
	}
	.member-text {
		padding: 15px;
	}
		.member-text h4 {
			color: #FC0242;
			font-weight: bold;
			line-height: 1.4em;
		}
		.member-text p {
			font-size: 13px;
		}

.member-text-wrap {
	transition: max-height 0.5s ease;
	overflow: hidden;
	max-height: 200px;
	padding-bottom: 40px;
	position: relative;
}

.read-more-overlay {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 50px;
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
	pointer-events: none;
	transition: opacity 0.3s;
}

.member-text-wrap.expanded .read-more-overlay {
	opacity: 0;
}

.read-more-btn {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #242424;
  color: white;
  border: none;
  padding: 8px 16px;
  cursor: pointer;
  border-radius: 4px;
  font-size: 1rem;
  z-index: 2;
}
/*****************************************good place**************************************/
.good-place-wrapper {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 0;
}
.gp-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 50px;
	background-color: white;
	padding: 20px;
	border-radius: 15px;
}
.gp-flex:nth-child(odd) {
	flex-direction: row-reverse;
}
.gp-flex .child {
	width: calc(50% - 25px);
	position: relative;
	text-align: left;
}
.gp-flex .child span.left {
	position: absolute;
	top: 0;
	left: 0;
	background-color: #FC0242;
	font-size: 14px;
	color: white;
	padding: 0 15px;
	border-top-left-radius: 12px;
}
.gp-flex .child span.right {
	position: absolute;
	top: 0;
	right: 0;
	background-color: #FC0242;
	font-size: 14px;
	color: white;
	padding: 0 15px;
	border-top-right-radius: 12px;
}
	.gp-flex .child img {
		width: 100%;
		vertical-align: bottom;
	}
	.gp-flex .child span {
		font-size: clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem);
		line-height: 1em;
		font-weight: bolder;
	}
	.gp-flex .child p {
		font-size: 16px;
		text-align: justify;
	}
		.gp-flex .child p span {
			font-size: 16px;
			font-weight: bold;
			color: #FC0242;
		}
		.gp-flex .child .place-box {
			background-color: #FEFDEA;
			padding: 15px;
		}
			.gp-flex .child .place-box h5 {
				font-weight: bold;
			}
/*****************************************Career up**************************************/
.cu-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 50px;
	background-color: white;
	padding: 20px;
	border-radius: 15px;
}
	.cu-flex .child {
		width: calc(50% - 25px);
		position: relative;
		text-align: left;
	}
		.cu-flex .child span {
			font-size: 26px;
			font-weight: bolder;
			line-height: 1em;
		}
		.cu-flex .child p {
			font-size: 14px;
		}
/*****************************************work environment**************************************/
.lab-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 50px;
	background-color: white;
	border-radius: 15px;
}
	.lab-flex .child {
		width: calc(50% - 25px);
		position: relative;
		text-align: left;
		box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
	}
		.lab-flex .child span {
			position: absolute;
			left: 0;
			bottom: 0;
			background-color: white;
			font-size: 13px;
			font-weight: bold;
			padding: 5px 10px;
			border-top-right-radius: 12px;
			border-bottom-left-radius: 12px;
		}
		.lab-flex .child img {
			vertical-align: bottom;
		}
.lab-img {
	position: relative;
	box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
}
	.lab-img span {
		position: absolute;
		left: 0;
		bottom: 0;
		background-color: white;
		font-size: 13px;
		font-weight: bold;
		padding: 5px 10px;
		border-top-right-radius: 12px;
		border-bottom-left-radius: 12px;
	}
	.lab-img img {
		vertical-align: bottom;
	}
/*****************************************faq/Lab**************************************/
.ac-title {
	text-align: left;
	padding: .2rem .5rem;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
}
	.ac-red {
		border-left: 5px solid #FC0242;
	}
	.ac-orange {
		border-left: 5px solid #fca402;
	}
	.ac-pink {
		border-left: 5px solid #f55959;
	}
	.ac-gray {
		border-left: 5px solid #494949;
	}
	.ac-black {
		border-left: 5px solid #000000;
	}
.ac-sub-title {
	text-align: left;
	padding: .2rem 1rem;
	font-size: 16px;
	font-weight: bold;
}
.accordion  {
	margin: 20px auto;
}
	.accordion-title {
		position: relative;
		border: none;
		display: flex;
		align-items: flex-start;
		gap: 0.5em;
		padding: 1em 1.6em 1em 1em;
		font-weight: bold;
		color: white;
		border-radius: 15px;
		cursor: pointer;
		text-align: left;
	}
		.accordion-title::before {
			content: attr(data-label);
			flex-shrink: 0;
			display: inline-block;
			min-width: 1em;
		}
		.at-red {
			background: #FC0242;
		}
		.at-orange {
			background: #fca402;
		}
		.at-blue {
			background: #0266fc;
		}
		.at-green {
			background: #24b850;
		}
		.at-pink {
			background: #f55959;
		}
		.at-gray {
			background: #494949;
		}
		.at-black {
			background: #000000;
		}
		.at-black::before {
			content: '';
			flex-shrink: 0;
			display: inline-block;
			min-width: 0;
		}
		/* details.accordion:nth-of-type(even) .accordion-title {
			background: #BE6B80;
		} */
		summary.accordion-title::-webkit-details-marker {
		display:none;
		}
		.accordion-title:after {
			content: "+";
			position: absolute;
			top: calc(50% - 0.5em);
			right: 10px;
			line-height: 1;
			padding: 0;
			pointer-events: none;
		}
	.accordion::details-content {
		opacity: 0;
		block-size: 0;
		transition: .3s;
		transition-property: display, opacity, block-size, padding;
		transition-behavior: allow-discrete;
		text-align: left;
		line-height: 1.6em;
		background: #ffffff;
	}
		.accordion .accordion-content {
			padding: 0;
		}
			.accordion .accordion-content > *:first-of-type {
			margin-top: 0;
			}
			.accordion .accordion-content > *:last-of-type {
			margin-bottom: 0;
			}
				.accordion[open]::details-content {
					padding: 20px;
					font-size: 16px;
					opacity: 1;
					block-size: auto;
					block-size: calc-size(auto, size);
				}
					.accordion[open] .accordion-content {
						padding: 0;
					}
					.accordion[open] .accordion-title:after {
						content: "－";
					}
						.accordion .accordion-content p span {
							color: #FC0242;
							font-weight: bold;
						}
						.accordion .accordion-content p b {
							font-weight: bold;
						}
/*****************************************Lab**************************************/
.maps {
    width: 100%;
    height: 300px;
}
	.maps iframe {
		width: 100%;
		height: 300px;
	}
/*****************************************entry**************************************/
.entry-wrapper {
	background: white;
	padding: 20px;
	color: black;
	border-radius: .5em;
	border: 1px solid #444444;
	position: relative;
	transition: color 0.3s ease;
}
	.entry-wrapper:after {
		content: '';
		position: absolute;
		top: 6px;
		left: 6px;
		width: 100%;
		height: 100%;
		background-color: #FC0242;
		border-radius: .5em;
		z-index: -1;
	}
	.entry-flex {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		gap: 20px;
	}
		.entry-flex .child {
			width: calc(50% - 10px);
			position: relative;
			text-align: left;
		}
			.entry-flex .child > .title-box {
				border-bottom: 1px solid #FC0242;
				padding-bottom: 20px;
			}
			.entry-flex .child img {
				vertical-align: bottom;
			}

@media (min-width: 769px) and (max-width: 1199px) {
.contents-wrapper {
	padding: 0 10px;
}
.mgt-10 {
	margin-top: 10px!important;
}
.mgt-20 {
	margin-top: 20px!important;
}
.mgt-30 {
	margin-top: 30px!important;
}
.mgt-50 {
	margin-top: 50px!important;
}
.mgt-55 {
	margin-top: 20px!important;
}
.mgt-100 {
	margin-top: 50px!important;
}
.pd-20 {
	padding: 10px;
}
/*****************************all width******************************/
.full-width {
	padding: 0 10px;
}
/*****************************Title******************************/
.title-box,
.title-box2 {
	text-align: left;
	margin: 0;
	padding: 0;
}
	.title-box span {
		background-color: #FC0242;
		display: inline-block;
		color: white;
		padding: 15px 15px;
		font-size: 1.2rem;
		font-weight: bold;
		line-height: 0;
	}
	.title-box h3 {
		width: 100%;
		font-size: clamp(1.5rem, -1.773rem + 16.36vw, 10.5rem);
		font-weight: bolder;
		font-family: "Arial Black", Gadget, sans-serif;
		color: #242424;
		line-height: 1em;
	}
	.title-box p {
		width: 100%;
		font-size: clamp(1.125rem, -0.375rem + 7.5vw, 5.25rem);
		font-weight: bold;
		color: #242424;
		line-height: 1em;
	}

	.title-box2 span {
		color: #FC0242;
		font-size: 2.6rem;
		font-weight: bold;
		line-height: 0;
	}
	.title-box2 h3 {
		width: 100%;
		font-size: clamp(1.5rem, -2.5rem + 20vw, 12.5rem);
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 900;
		color: #242424;
		line-height: 1em;
	}
.title-text {
	text-align: justify;
	font-size: 14px;
	margin-top: 20px;
}
/*****************************swiper******************************/
.swiper,
.swiper-m {
  width: 100%;
  padding: 0 0 60px 0;
  position: relative;
  overflow: visible;
}

.swiper-wrapper {
  padding-left: 10px;
  margin-left: 0;
}
	.swiper1 .swiper-slide {
		width: 500px;
		flex-shrink: 0;
		background: white;
		margin-right: 20px;
		padding: 10px;
		font-size: 1.5rem;
		text-align: left;
		border-radius: 10px;
		box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
	}
	.swiper2 .swiper-slide {
		width: 440px;
		flex-shrink: 0;
		background: white;
		margin-right: 20px;
		padding-bottom: 30px;
		font-size: 1.5rem;
		text-align: left;
		border-radius: 10px;
		cursor: grab;
		box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
	}
/***********************************DH************************************/
.dh-wrapper {
	background: url("../images/dhBg.png") no-repeat center center / contain;
	padding: 50px 0;
}
		.dh-section-logo img {
			max-width: 500px;
		}
	.dh-section-title {
		font-size: 2em;
		font-weight: bolder;
		font-family: "Arial Black", Gadget, sans-serif;
		color: #C8161D;
	}
		.dh-section-box-title {
			padding: 0 .5em;
			font-size: 2em;
		}
		.dh-section-box-text {
			padding: 1em;
		}
			.dh-section-box-text p {
				font-size: 16px;
				text-align: justify;		
			}
				.dh-section-box-text p br {
					display: none;	
				}

/***************************************ella***************************************/
.ella-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
}
	.ella-flex .child {
		width: 100%;
	}
/*****************************************Achievements**************************************/
.achi-inner {
	width: 100%;
	margin: 0 auto;
	padding: 50px 0;
}
	.achi-title {
		background-color: #FC0242;
		display: inline-block;
		text-align: center;
		color: white;
		padding: 5px 200px;
		font-size: clamp(1.125rem, 0.807rem + 1.59vw, 2rem);
		border-radius: 25px;
	}
/*****************************************works**************************************/
.works-flex {
	gap: 25px;
}
	.works-flex .child {
		width: calc((100% - 50px) / 2);
	}
		.works-flex .child .obi {
			background-color: #242424;
			margin: 0;
			padding: 2px 0;
			color: white;
			text-align: center;
			font-weight: bold;
			position: relative;
		}
		.works-flex .child .text-box {
			padding: 10px 10px 20px;
			text-align: left;
		}
			.works-flex .child .text-box p {
				font-size: 14px;
				padding: 10px 0;
			}
				.wcBatch-flex .wc {
					font-size: 11px;
				}
		.location {
			font-size: 11px;
		}

	.freelance-flex {
		gap: 10px;
	}
		.freelance-flex .child {
			width: calc(50% - 5px);
		}
			.freelance-flex .child h3 {
				font-size: 1.6em;
			}
			.freelance-flex .child p {
				font-size: 14px;
			}
/*****************************************member**************************************/
.member-photo-box {
	position: relative;
	height: 210px;
	background-color: #F5F5F5;
	padding: 20px;
}
	.member-photo-box .member-title {
		position: absolute;
		top: 50%;
		left: 20px;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
	}
		.member-photo-box .member-title p.member-type {
			font-size: 14px;
		}
		.member-photo-box .member-title p.member-name {
			font-size: 32px;
			font-weight: bold;
			color: #FC0242;
			line-height: 1em;
		}
			.member-photo-box .member-title p.member-name span {
				font-size: 14px;
			}
	.member-photo-box .member-photo {
		position: absolute;
		bottom: 0;
		right: 5px;
	}
	.member-text {
		padding: 15px;
	}
		.member-text h4 {
			color: #FC0242;
			font-weight: bold;
			line-height: 1.4em;
		}
		.member-text p {
			font-size: 13px;
		}

.member-text-wrap {
	position: relative;
	max-height: 160px;
	padding-bottom: 60px;
	overflow: hidden;
	transition: max-height 0.5s ease;
}

.member-text-wrap.expanded {
	max-height: 1000px;
}

.read-more-overlay {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 50px;
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
	pointer-events: none;
	transition: opacity 0.3s;
}

.member-text-wrap.expanded .read-more-overlay {
	opacity: 0;
}

.read-more-btn {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #242424;
  color: white;
  border: none;
  padding: 8px 16px;
  cursor: pointer;
  border-radius: 4px;
  font-size: 1rem;
  z-index: 2;
}
/*****************************************good place**************************************/
.gp-flex {
	gap: 20px;
	padding: 10px;
}
.gp-flex .child {
	width: calc(50% - 10px);
}
.gp-flex .child span.left {
	font-size: 12px;
}
.gp-flex .child span.right {
	font-size: 12px;
}
	.gp-flex .child span {
		font-size: 1.4em;
	}
	.gp-flex .child p {
		font-size: 14px;
	}
		.gp-flex .child .place-box {
			padding: 10px;
		}
/*****************************************Career up**************************************/
.cu-flex {
	margin-top: 50px;
	gap: 20px;
	padding: 10px;
}
	.cu-flex .child {
		width: calc(50% - 10px);
	}
		.cu-flex .child span {
			font-size: 1.4em;
		}
		.cu-flex .child span br {
			display: none;
		}
		.cu-flex .child p {
			font-size: 14px;
		}
		.cu-flex .child img {
			width: 100%;
			width: stretch;
		}
/*****************************************work environment**************************************/
.lab-flex {
	gap: 20px;
}
	.lab-flex .child {
		width: calc(50% - 10px);
	}
		.lab-flex .child span {
			font-size: 12px;
			padding: 2px 10px;
			border-bottom-left-radius: 10px;
		}
.lab-img {
	position: relative;
	box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
}
	.lab-img span {
		font-size: 12px;
		padding: 2px 10px;
		border-bottom-left-radius: 10px;
	}
}
@media screen and (max-width: 768px) {
.mgt-10 {
	margin-top: 5px!important;
}
.mgt-20 {
	margin-top: 10px!important;
}
.mgt-30 {
	margin-top: 15px!important;
}
.mgt-50 {
	margin-top: 50px!important;
}
.mgt-55 {
	margin-top: 20px!important;
}
.mgt-100 {
	margin-top: 50px!important;
}
.pd-20 {
	padding: 10px;
}
.sp {
	display: block;
}
.contents-wrapper {
	padding: 0 10px;
}
.title-text {
	text-align: justify;
	font-size: 14px;
	margin-top: 20px;
}
/*****************************all width******************************/
.full-width {
	padding: 0 10px;
}
/*****************************swiper******************************/
.swiper {
  padding: 0 0 50px 0;
}
.swiper-m {
  padding: 0 10px 10px 10px;
}
.swiper-wrapper {
  padding-left: 0;
}
	.swiper1 .swiper-slide {
		width: 100%;
		margin: 0 25px;
	}
	.swiper2 .swiper-slide {
		width: 100%;
		margin: 0 25px;
	}
		.swiper2 .swiper-slide p {
			font-size: 12px;
		}
	.swiper-button-next,
	.swiper-button-prev {
		width: 30px;
		height: 30px;
	}
	.swiper-button-next::after,
	.swiper-button-prev::after {
		font-size: 14px;
	}
/***********************************DH************************************/
.dh-wrapper {
	background: url("../images/dhBg.png") no-repeat center center / contain;
	padding: 30px 0;
}
		.dh-section-logo img {
			max-width: 400px;
			max-height: 80px;
		}
	.dh-section-title {
		font-size: 1.4em;
	}
		.dh-section-text p {
			padding: 0 10px;
			text-align: justify;
			font-size: 12px;
		}
		.dh-section-box-title {
			padding: 0 .5em;
			font-size: 1.4em;
		}
		.dh-section-box-text {
			padding: .5em 1em;
		}
			.dh-section-box-text p {
				text-align: justify;
				font-size: 12px;		
			}
			.dh-section-box-text p br {
				display: none;		
			}
/*****************************************Achievements**************************************/
.achi-inner {
	padding: 0 0 20px;
}
	.achi-title {
		background-color: #FC0242;
		display: block;
		padding: 5px 0;
		font-size: 1em;
		border-radius: 25px;
	}
/***************************************ella***************************************/
.ella-flex .child {
	width: 100%;
}
/*****************************************works**************************************/
.works-flex {
	gap: 20px;
}
	.works-flex .child {
		width: 100%;
	}
		.works-flex .child img {
			width: stretch;
		}
		.works-flex .child .text-box {
			text-align: justify;
		}
			.works-flex .child .text-box p {
				font-size: 14px;
				padding: 10px 0;
			}
			.wcBatch-flex {
				display: flex;
				flex-wrap: nowrap;
				justify-content: flex-start;
				align-items: stretch;
			}
				.wcBatch-flex .wc {
					font-size: 10px;
				}
		.location {
			font-size: 10px;
		}

	.freelance-flex {
		gap: 10px;
	}
		.freelance-flex .child {
			width: 100%;
			text-align: left;
		}
			.freelance-flex .child p {
				font-size: 14px;
			}
/*****************************************member**************************************/
.member-photo-box {
	position: relative;
	height: 210px;
	background-color: #F5F5F5;
	padding: 20px;
}
	.member-photo-box .member-title {
		position: absolute;
		top: 50%;
		left: 20px;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
	}
		.member-photo-box .member-title p.member-type {
			font-size: 12px;
		}
		.member-photo-box .member-title p.member-name {
			font-size: 23px;
			font-weight: bold;
			color: #FC0242;
			line-height: 1em;
		}
			.member-photo-box .member-title p.member-name span {
				font-size: 12px;
			}
	.member-photo-box .member-photo {
		position: absolute;
		bottom: 0;
		right: 5px;
	}
	.member-text {
		padding: 15px;
	}
		.member-text h4 {
			font-size: 1.2em;
		}
		.member-text p {
			font-size: 14px;
		}

.member-text-wrap {
	position: relative;
	max-height: 160px;
	padding-bottom: 30px;
	overflow: hidden;
	transition: max-height 0.5s ease;
}

.member-text-wrap.expanded {
	max-height: 1000px;
}

.read-more-overlay {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 50px;
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
	pointer-events: none;
	transition: opacity 0.3s;
}

.member-text-wrap.expanded .read-more-overlay {
	opacity: 0;
}

.read-more-btn {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #242424;
  color: white;
  border: none;
  padding: 8px 16px;
  cursor: pointer;
  border-radius: 4px;
  font-size: 1rem;
  z-index: 2;
}
/*****************************************good place**************************************/
.good-place-wrapper {
	padding: 0;
}
.gp-flex {
	gap: 20px;
	padding: 10px;
}
.gp-flex:nth-child(odd) {
	flex-direction: row;
}
.gp-flex .child {
	width: 100%;
}
.gp-flex .child span.left {
	font-size: 12px;
	padding: 0 10px;
}
.gp-flex .child span.right {
	font-size: 12px;
	padding: 0 10px;
}
	.gp-flex .child span {
		font-size: 1.4em;
	}
	.gp-flex .child p {
		font-size: 14px;
	}
		.gp-flex .child .place-box {
			padding: 10px;
		}
/*****************************************Career up**************************************/
.cu-flex {
	gap: 20px;
	padding: 10px;
}
	.cu-flex .child {
		width: 100%;
	}
		.cu-flex .child span {
			font-size: 1.4em;
			font-weight: bolder;
			line-height: 1em;
		}
		.cu-flex .child img {
			width: 100%;
		}
/*****************************************work environment**************************************/
.lab-flex {
	gap: 20px;
}
	.lab-flex .child {
		width: 100%;
	}
		.lab-flex .child span {
			font-size: 11px;
			padding: 2px 5px;
			border-bottom-left-radius: 10px;
		}
		.lab-flex .child img {
			width: 100%;
			vertical-align: bottom;
		}
	.lab-img span {
		font-size: 11px;
		padding: 2px 5px;
		border-bottom-left-radius: 9px;
	}
	.lab-img img {
		height: 292px;
		vertical-align: bottom;
		object-fit: cover;
		border-radius: 10px;
	}
/*****************************************entry**************************************/
.entry-wrapper {
	background: white;
	padding: 20px;
	color: black;
	border-radius: .5em;
	border: 1px solid #444444;
	position: relative;
	transition: color 0.3s ease;
}
	.entry-wrapper:after {
		content: '';
		position: absolute;
		top: 6px;
		left: 6px;
		width: 100%;
		height: 100%;
		background-color: #FC0242;
		border-radius: .5em;
		z-index: -1;
	}
	.entry-flex {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		gap: 0;
	}
		.entry-flex .child {
			width: 100%;
			position: relative;
			text-align: left;
		}
			.entry-flex .child > .title-box {
				border-bottom: 1px solid #FC0242;
				padding-bottom: 20px;
			}
			.entry-flex .child img {
				vertical-align: bottom;
				display: none;
			}
}