@charset "utf-8";
/* CSS Document */
/* ---------- cate1 ---------- */
.cate1 {
	padding-left: 0;
}
.cate1 .box_wrap{
	gap: 100px;
	max-width: 1280px;
	margin-right: auto;
	margin-left: 0;
}
.cate1 .box_wrap .leftbox{
	width: calc(50% - 50px);
	margin-bottom: auto;
}
.cate1 .box_wrap .rightbox{
	width: calc(50% - 50px);
	align-items: flex-start;
}

/* ---------- cate2 ---------- */
.cate2 .box_wrap .box{
	gap: 40px;
	align-items: flex-start;
}
.cate2 .box_wrap .box .boxitem{
	width: calc((100% - 80px)/3);
}
.cate2 .box_wrap .box .boxitem .numbox{
	width:40px;
	height: 40px;
	border-radius: 200px;
	background-color: #3A3A3A;
}
.cate2 .box_wrap > .box .boxitem .line {
	width: 30px;
	height: 1px;
	background-color: #707070;
}
/* ---------- cate3 ---------- */
.cate3 .box_wrap.bg_img_wrap2 {
	background-position: right center;
}
.cate3 {
	padding-bottom: clamp(70px, 8vw, 120px);
}
.cate3 .box_wrap {
	position: relative;
	width: 100%;
	min-height: clamp(650px, 52vw, 820px);
	align-items: stretch;
	overflow: visible;
}

.cate3 .box_wrap::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: #212121;
	background: linear-gradient(
		90deg,
		rgba(33, 33, 33, 0) 40%,
		rgba(33, 33, 33, 0.52) 52%,
		rgba(33, 33, 33, 0.71) 81%,
		rgba(33, 33, 33, 0.85) 100%
	);
	pointer-events: none;
}
.cate3 .box_wrap .rightbox {
	position: relative;
	z-index: 2;
	width: 57%;
	min-height: inherit;
	margin-left: auto;
	display: flex;
	flex-direction: column;
}

.cate3 .box_wrap .rightbox .message_top {
	flex: 0 0 52%;
	padding: clamp(45px, 5vw, 80px);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}
.cate3 .box_wrap .rightbox .message_top .namebox{
	gap: 10px;
	align-items: flex-end;
}
.cate3 .box_wrap .rightbox .message_top .namebox .label{
	color: #fff;
	font-family: "Zen Old Mincho",  sans-serif;
	font-size: 14px;
	line-height: 1;
}
.cate3 .box_wrap .rightbox .message_top .namebox .name{
	color: #fff;
	font-family: "Zen Old Mincho",  sans-serif;
	font-size: clamp(17px, 1.7vw, 26px);
	line-height: 1;
}
.cate3 .box_wrap .rightbox .message_bottom {
	position: relative;
	z-index: 3;
	transform: translateY(clamp(20px, 3vw, 40px));
	padding: clamp(35px, 4vw, 60px) clamp(45px, 5vw, 80px);
	background-color: #333333;
}
/* ---------- cate4 ---------- */
.cate4 {
	position: relative;
	overflow: hidden;
}
.cate4 > .deco1 {
	position: absolute;
	top: clamp(40px, 5vw, 80px);
	right: clamp(30px, 6vw, 100px);
	z-index: 1;
	width: clamp(100px, 10vw, 160px);
	height: auto;
	pointer-events: none;
}
.cate4 .box_wrap{
	gap: 80px;
}
.cate4 .box_wrap .boxitem{
	width: calc(50% - 40px);
	align-items: flex-start;
}
.cate4 .box_wrap .boxitem:nth-of-type(2) {
	margin-top: clamp(50px, 7vw, 100px);
}
.cate4 .box_wrap .boxitem .box{
	flex-direction: column;
	align-items: flex-end
}

/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {
}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px){
	.cate4 .box_wrap {
		gap: 60px;
	}
	.cate4 .box_wrap .boxitem {
		width: calc(50% - 30px);
	}
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px){
	.cate1 .box_wrap {
		gap: 60px;
	}
	.cate1 .box_wrap .leftbox,
	.cate1 .box_wrap .rightbox{
		width: calc(50% - 30px);
	}
	.cate2 .box_wrap .box .boxitem{
		width: calc((100% - 40px)/2);
	}
	.cate3 .box_wrap::after {
		background: rgba(33, 33, 33, 0.4);
	}

	.cate3 .box_wrap .rightbox {
		width: min(82%, 760px);
		margin-right: auto;
		margin-left: auto;
	}

	.cate3 .box_wrap .rightbox .message_top {
		width: 100%;
		align-items: center;
		text-align: center;
		padding: 0;
	}
	.cate3 .box_wrap .rightbox .message_top .titlebox1 p br{
		display: none;
	}
	.cate3 .box_wrap .rightbox .message_top .titlebox1{
		align-items: center;
	}
	.cate3 .box_wrap .rightbox .message_bottom {
		width: 100%;
		margin-right: auto;
		margin-left: auto;
	}
	.cate3 .box_wrap .rightbox .message_bottom {
		transform: translateY(0);
	}
	.cate4 .box_wrap {
		flex-direction: column;
	}
	.cate4 .box_wrap .boxitem {
		width: 70%;
	}
	.cate4 .box_wrap .boxitem:nth-of-type(2) {
		margin-top: 0;
	}
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px){
	.cate2 .box_wrap .box .boxitem{
		width: 90%;
	}

	.cate1 {
		padding-left: 50px;
	}
	.cate1 .box_wrap{
		margin-left: auto;
	}
	.cate1 .box_wrap {
		flex-direction: column;
		gap: 40px;
	}
	.cate1 .box_wrap .leftbox,
	.cate1 .box_wrap .rightbox{
		width:  90%;
	}
	.cate3 {
		padding-bottom: 150px;
	}
	.cate4 .box_wrap .boxitem {
		width: 90%;
	}
	.cate4 .box_wrap .boxitem .box .txtbox {
		padding: 30px;
	}
  .cate3 .box_wrap.bg_img_wrap2 {
	background-position: center center;
}
}
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px){
	.cate1 {
		padding-left: 20px;
	}
	.cate1 .box_wrap .leftbox,
	.cate1 .box_wrap .rightbox{
		width:  100%;
	}
	.cate1 .box_wrap .rightbox .boxitem p, .cate2 .box_wrap .rightbox .boxitem h3 {
		padding-bottom: 30px;
	}
	.cate3 .box_wrap .rightbox .message_bottom {
		padding: 30px 20px;
	}
	.cate3 .box_wrap .rightbox {
		width: calc(100% - 40px);
		margin-right: auto;
		margin-left: auto;
	}

	.cate3 .box_wrap .rightbox .message_top,
	.cate3 .box_wrap .rightbox .message_bottom {
		width: 100%;

	}

	.cate3 .box_wrap .rightbox .message_top {
		flex: 0 0 auto;
		padding: 150px 0px 60px;
		gap: 20px;
	}
  .cate3 .box_wrap .rightbox .message_top h3.default_title2 {
  font-size: clamp(22px, 2.2vw, 40px)}
	.cate3 .box_wrap.bg_img_wrap2 {
		background-position: 15% center;
	}
	.cate4 .box_wrap .boxitem {
		width: 100%;
	}
	.cate3 {
		padding-bottom: 0px;
	}
   .cate3 .box_wrap.bg_img_wrap2 {
	background-position: center top;
     background-size: 100% auto
}
}
/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px){
}

