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




.container {
	padding-top: 30px;
}

.container > section:not(:last-child) {
	margin-bottom: 150px;
}

/* midashi02 */

.midashi02 h3 {
	padding-left: 60px;
}

.midashi02 h3::before {
	content: "";
	position: absolute;
left: 0px;
top: 9px;
	width: 50px;
	height: 1px;
	display: block;
	background-color: #C30013;
}


/* contents02 */

.contents02 {
	text-align: center;
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 1300px;
}

.container > section.contents02 {
	margin-bottom: 0px;
}

.contents02 .box-back-wrap {
	width: 100%;
}

.contents02 .box-back {
	position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
  z-index: -1;
}

.contents02 .box-back::before {
	content: "";
	background-image: url("../../images/about/back01.jpg");
background-position: center top;
background-repeat: no-repeat;
background-size: cover;
	position: fixed;
  top: 0;
  left: 0;
  display: block;
  width: 100vw;
  height: 100vh;
}

.contents02 .box-inner-wrap {
	position: absolute;
left: 0px;
top: 0px;
	width: 100%;
	height: 100%;
	display: flex;
  justify-content: center;
align-items: center;
flex-wrap: wrap;
}

.contents02 .box-inner {
	background-color: #FFF;
	border-radius: 50px;
	padding: 80px 0px;
}

.contents02 .box-inner > div:not(:last-child) {
	margin-bottom: 60px;
}

.contents02 h2, .contents02 h3, .contents03 .lay06 h5 {
	font-size: 50px;
color: #C30013;
line-height: 1.2;
font-weight: 700;
	letter-spacing: 0.05em;
	position: relative;
	margin-bottom: 30px;
}

.contents02 h2::after {
	content: "";
	width: 100px;
	height: 1px;
	display: block;
	margin: 0px auto;
	margin-top: 20px;
	background-color: #C30013;
	
}

.contents02 h3, .contents03 .lay06 h5 {
	font-size: 20px;
	text-align: center;
}


/* contents03 */

.contents03 {
	width: 100%;
	background-color: #F8F8FE;
	padding: 100px 0px;
}

.contents03 .box-inner > div:not(:last-child) {
	margin-bottom: 100px;
}


/* contents04 */

.contents04 {
	display: flex;
  justify-content: space-between;
flex-wrap: wrap;
}

.contents04 .box {
	width: 535px;
	position: relative;
	background-image: url("../../images/common/link-arrow01.svg");
background-position: left 1px top 1px;
background-repeat: no-repeat;
background-size: 46px;
}

.contents04 .box::before {
	content: "";
	width: 48px;
	height: 48px;
	position: absolute;
	left:0px;
	top:0px;
	background: #FFF;
	border-radius: 50%;
	transition: 0.5s;
	opacity: 1;
}

.contents04 .box:hover::before {
	opacity: 0;
}

.contents04 .box h6::before {
	content: "";
	position: absolute;
	width: 8px;
	height: 8px;
	border-radius: 8px;
	top:20px;
	left:20px;
	background: #C30013;
	transition: 0.5s;
	opacity: 1;	
}

.contents04 .box:hover h6::before {
	transform: scale(3);
	opacity: 0;
}

.contents04 .box-text {
	margin-bottom: 15px;
}

.contents04 .box-img {
	border-radius: 20px;
	position: relative;
	overflow: hidden;
}

.contents04 .box-img img {
	transition:.5s all;
}

.contents04 .box:hover img {
	transform:scale(1.1,1.1);
  transition:.5s all;
}

.contents04 h6 {
	font-size: 22px;
color: #262626;
line-height: 1.2;
font-weight: 400;
	position: relative;
	padding: 10px 0px;
	padding-left: 60px;
}



/* lay01 */

.lay01 {
	position: relative;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items: flex-end;
}

.lay01 .box01 {
	width: 570px;
}

.lay01 .box02 {
	width: 470px;
}

.lay01 h3 {
	font-size: 30px;
line-height: 1.6;
letter-spacing: 0em;
font-weight: 700;
	margin-bottom: 40px;
}

.lay01 p {
	width: 490px;
	line-height: 2;
}


/* lay02 */

.lay02 {
	width: 1230px;
}

.lay02 .box {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	align-items: center;
	gap:0px 80px;
}

.lay02 .box:nth-child(even) {
	flex-direction: row-reverse;
}

.lay02 .box:not(:last-child) {
	margin-bottom: 20px;
}

.lay02 .box-text {
	width: 400px;
}

.lay02 .box-img {
	width: 680px;
}

.lay02 .box-img img {
	border-radius: 250px;
}

.lay02 h3 {
	font-size: 28px;
line-height: 1.2;
font-weight: 500;
	position: relative;
	padding-left: 140px;
	margin-bottom: 25px;
}

.lay02 h3::before {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
	width: 120px;
	display: inline-block;
	padding: 4px 0px;
	text-align: center;
	font-size: 22px;
color: #F8F8FE;
line-height: 1.2;
letter-spacing: 0.1em;
font-weight: 500;
	background-color: #C30013;
}

.lay02 .box:nth-child(1) h3::before {
	content: "参画型";
}

.lay02 .box:nth-child(2) h3::before {
	content: "高精度";
}

.lay02 .box:nth-child(3) h3::before {
	content: "高精度";
}


/* lay03 */

.lay03 .item-wrap{
	display: flex;
  justify-content: center;
flex-wrap: wrap;
	gap:0px 30px;
}

.lay03 .item {
	width: 300px;
}

.lay03 h4 {
	font-size: 20px;
color: #FFF;
line-height: 1.2;
letter-spacing: 0.05em;
font-weight: 500;
	padding: 12px 0px;
	background-color: #888787;
	border-radius: 60px;
	margin-bottom: 10px;
}

.lay03 ul li {
	line-height: 1.2;
letter-spacing: 0.05em;
font-weight: 400;
	padding: 12px 0px;
}

.lay03 ul li:not(:last-child) {
	border-bottom-style : solid;
border-color : #E2E2E6;
border-width : 1px;
}


/* lay04 */

.lay04 .item-wrap{
	display: flex;
  justify-content: center;
flex-wrap: wrap;
	gap:0px 40px;
}

.lay04 .item {
	width: 180px;
}

.lay04 .item img {
	border-radius: 50%;
}

.lay04 h6 {
	padding-top: 20px;
	font-weight: 400;
	letter-spacing: 0.05em;
}

/* lay05 */

.lay05 .box {
	display: flex;
  justify-content: space-between;
flex-wrap: wrap;
	flex-direction: row-reverse;
}

.lay05 .box:not(:last-child) {
	margin-bottom: 70px;
}

.lay05 .box-img {
	width: 640px;
}

.lay05 .box-img img {
	border-radius: 20px;
}

.lay05 .box-text {
	width: 400px;
	padding-top: 50px;
}

.lay05 h5 {
	font-size: 28px;
color: #C30013;
line-height: 1.4;
letter-spacing: 0.05em;
font-weight: 700;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom-style : solid;
border-color : #3F3B3A;
border-width : 1px;
}

/* lay06 */

.lay06 .table-inner {
	overflow-x: auto;
}

.lay06 table {
	width: 100%;
}

.lay06 table tr:nth-child(odd):not(:first-child) {
	background-color: #FFF;
}

.lay06 table td {
	width: 25%;
	padding: 20px;
}

.lay06 table tr:first-child td {
	padding: 0px 5px 10px;
}

.lay06 table tr:first-child td span {
	font-size: 20px;
color: #FFF;
line-height: 1.2;
letter-spacing: 0.05em;
font-weight: 500;
	padding: 12px 0px;
	background-color: #888787;
	border-radius: 60px;
	display: block;
	text-align: center;
}

.sp-view {
	display: none;
}

