@charset "utf-8";
/*------------------------------------------------------------
	technology
------------------------------------------------------------*/
#main {
	color: #292929;
}
#main .technology .flexWrap {
	display: flex;
	justify-content: space-between;
}
#main .technology .flexWrap.reverse {
	flex-direction: row-reverse;
}
#main .technology .contentBox {
	margin-bottom: 8rem;
	padding-bottom: 5.4rem;
}
#main .technology .contentBox.border-b {
	border-bottom: 1px solid #eee;
}
#main .technology .contentBox.mb-0 {
	margin-bottom: 0;
}
#main .technology .leftBox,
#main .technology .rightBox {
	width: calc(50% - 3.8rem);
}
@media all and (max-width: 896px) {
	#main .technology .flexWrap,
	#main .technology .flexWrap.reverse {
		flex-direction: column;
	}
	#main .technology .leftBox,
	#main .technology .rightBox {
		width: auto;
	}
}

.pageTitle {
	background-image: url(../img/technology/page_img.jpg);
}
#main .technology .tecTopContent {
	margin-bottom: 8rem;
}
#main .technology .photoMain {
	display: block;
	max-width: 62.8rem;
	margin: 2.4rem auto 4rem;
}
#main .technology .photoBox video {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	aspect-ratio: 488 / 326;
	object-fit: cover;
}

#main .technology h2 {
  margin-bottom: 8rem;
	text-align: center;
	font-weight: 400;
}
#main .technology h2 .en {
  padding: 0 5rem 0.6rem;
	margin: 0 auto 1rem;
	position: relative;
	display: block;
	width: fit-content;
	font-size: 2.4rem;
	letter-spacing: 0.14em;
}

#main .technology .topTxt {
	text-align: center;
	line-height: 2.07;
	letter-spacing: 0.02em;
}
#main .technology .subTxt {
	margin-top: 1.6rem;
	text-align: center;
	font-size: 0.9em;
}

#main .technology h4 {
	position: relative;
	z-index: 1;
	width: fit-content;
	margin-bottom: 3.2rem;
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.95;
	letter-spacing: 0.02em;
}
#main .technology h5 {
	margin-bottom: 2.4rem;
	font-size: 1.8rem;
	font-weight: normal;
	letter-spacing: 0.02em;
}
#main .technology .text {
	margin-bottom: 4rem;
  line-height: 2.07;
	letter-spacing: 0.04em;
}
#main .technology .text.mb-8 {
	margin-bottom: 0.8rem;
}
#main .technology .text.mb-16 {
	margin-bottom: 1.6rem;
}
#main .technology .note {
	font-size: 0.9em;
	line-height: 2.07;
}

#main .technology .sectionTtl {
  display: flex;
	gap: 2.4rem;
	margin-bottom: 7.2rem;
	align-items: flex-start;
}
#main .technology .sectionTtl:first-child {
	font-size: 65px;
	line-height: 1;
}
#main .technology .sectionTtl div span {
  display: block;
}
#main .technology .sectionTtl div span:nth-of-type(1) {
	position: relative;
	margin-bottom: 2.4rem;
	padding-top: 0.4rem;
	padding-bottom: 0.8rem;
	font-weight: normal;
  font-size: 2.5rem;
	line-height: 1.5;
}
#main .technology .sectionTtl div span:nth-of-type(1)::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 266px;
	height: 1px;
	background-color: #d4d4d4;
}
#main .technology .sectionTtl div span:nth-of-type(2) {
	font-weight: normal;
  font-size: 14px;
	line-height: 1.8;
}

#main .technology .listBox {
	display: flex;
	gap: 3.2rem;
}
#main .technology .listBox + .listBox {
	margin-top: 2.4rem;
}
#main .technology .circleNum {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	width: 10rem;
	height: 10rem;
	border-radius: 50%;
	background-color: #3e3e3e;
	color: white;
}
#main .technology .circleNum span {
	font-size: 2.4rem;
}
#main .technology .listContent span {
	display: block;
}
#main .technology .listContent span:nth-of-type(1) {
	margin-top: 0.8rem;
	margin-bottom: 0.8rem;
	font-size: 2rem;
}

#main .technology .col3Box {
	display: flex;
	justify-content: space-between;
	text-align: center;
}
#main .technology .col3Box div {
	width: calc(100% / 3 - 0.8rem);
}
#main .technology .col3Box img {
	display: block;
	width: 100%;
	margin-bottom: 1.2rem;
}
#main .technology .col3Box span {
	font-size: 12px;
}
@media all and (max-width: 896px) {
	#main .technology .contentBox {
		margin-bottom: 4.8rem;
		padding-bottom: 4rem;
	}

	#main .technology .tecTopContent {
		margin-bottom: 6.6rem;
	}
	#main .technology .topTxt {
		font-size: 1.2rem;
		line-height: 2.16;
	}
	#main .technology .subTxt {
		margin-top: 1.4rem;
		font-size: 0.8em;
	}
	#main .technology h2 {
		margin-bottom: 4.8rem;
	}
	#main .technology h2 .en {
		font-size: 2rem;
	}
	#main .technology h2 .jp {
		font-size: 1.2rems;
	}

	#main .technology .sectionTtl {
		gap: 1.6rem;
		margin-bottom: 3.2rem;
	}
	#main .technology .sectionTtl:first-child {
		font-size: calc(65px * 0.8);
	}
	#main .technology .sectionTtl div span:nth-of-type(1) {
		margin-bottom: 1.4rem;
		font-size: calc(2.5rem * 0.8);
	}
	#main .technology .sectionTtl div span:nth-of-type(2) {
		font-size: calc(14px * 0.8);
	}
	#main .technology h4 {
		margin-bottom: 2.4rem;
	}

	#main .technology .photoBox {
		margin-bottom: 2.4rem;
	}
	#main .technology .photoBox video {
		display: block;
		width: 100%;
		max-width: 100%;
		height: auto;
		aspect-ratio: 488 / 326;
		object-fit: cover;
	}
	#main .technology .reverse .photoBox {
		margin-top: 2.4rem;
	}

	#main .technology .listBox {
		gap: 2.4rem;
	}
	#main .technology .circleNum {
		width: 8rem;
		height: 8rem;
	}
	#main .technology .circleNum span {
		font-size: 2rem;
	}
}
@media all and (max-width: 680px) {
	#main .technology .photoMain {
		max-width: 100%;
	}

	#main .technology .col3Box {
		flex-wrap: wrap;
		row-gap: 4rem;
	}
	#main .technology .col3Box div {
		width: calc(100% / 2 - 0.8rem);
	}
}
@media all and (max-width: 480px) {
	#main .technology .col3Box div {
		width: 70%;
		margin: 0 auto;
	}
}



