@charset "utf-8";
.contents_wrap {
	padding: 40px 0 0;
}
.message_body {
  padding: 0 33px;
}
.message_wrap {
  display: flex;
  gap: 80px;
  flex-direction: column;
}
.message_wrap_01 {
	padding: 0 0 80px;
}
.message_ttl {
  font-size: 60px;
  line-height: 0.7;
  color: rgba(255, 255, 255, 0.4);
  position: absolute;
  top: -30px;
  left: -35px;
  z-index: 1;
}
.message_txt_wrap {
  position: relative;
}
.sec_ttl_wrap {
	position: absolute;
	top: -75px;
}
.sec_ttl_jp {
	color: #222;
	font-size: 20px;
	position: absolute;
	bottom: 5px;
	left: 28px;
	z-index: 1;
}
.sec_ttl_en {
	color: #FFF;
	opacity: .4;
	font-size: 60px;
	line-height: 1.3;
}
.message_photo {
  text-align: center;
}
.message_img {
  max-width: 400px;
  width: 100%;
}
.message_txts {
	margin: 30px 0 0;
	line-height: 2;
}
.message_txts p + p {
  margin: 10px 0 0;
}
.message_recruit_wrap {
	background: #FFF;
	padding: 60px 0 217px;
}
.message_wrap_02 {
	gap: 40px 0;
}
.message_recruit_wrap .sec_ttl_jp {
	position: unset;
}
@media only screen and (min-width: 768px) {
	.contents_wrap {
		padding: 70px 0 0;
	}
  .message_wrap {
    flex-direction: row;
    gap: 40px;
  }
	.message_wrap_01 {
		flex-direction: row-reverse;
		padding: 0 0 120px;
	}
	.sec_ttl_jp {
		font-size: clamp(20px, 2.34vw, 30px);
		bottom: 21px;
		left: 32px;
	}
	.sec_ttl_en {
		font-size: clamp(60px, 12.5vw, 160px);
	}
  .message_photo {
    width: 40%;
  }
  .message_img {
    max-width: 100%;
  }
  .message_txt_wrap {
    width: calc(100% - (40% + 40px));
  }
	.message_txts {
		margin: 0;
		padding: 17% 0 0;
	}
	.message_recruit_wrap {
		padding: 90px 0 260px;
	}
	.message_recruit_wrap .message_txt_wrap {
		margin: 20px 0 0;
	}
	.message_recruit_wrap .message_txts {
		padding: 0;
		margin: 23px 0 0;
	}
}
@media only screen and (min-width: 1280px) {
	.contents_wrap {
		padding: 100px 0 0;
	}
  .message_body {
    padding: 0 33px 0 80px;
  }
  .message_txt_wrap {
    max-width: 800px;
  }
  .message_wrap {
    gap: 100px;
  }
	.message_wrap_01 {
		padding: 0 0 160px;
	}
	.sec_ttl_jp {
		font-size: 30px;
		bottom: 40px;
		left: 40px;
	}
	.sec_ttl_en {
		font-size: 160px;
	}
	.message_txts {
		padding: 120px 0 0;
	}
	.message_txts p + p {
		margin: 27px 0 0;
	}
	.message_recruit_wrap {
		padding: 120px 0 372px;
	}
	.message_recruit_wrap .message_txt_wrap {
		margin: 40px 0 0;
	}
}
@media only screen and (min-width: 1580px) {
  .message_photo {
    width: unset;
  }
}