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


/* pegetitle */


.mvv-image-wrapper {
  text-align: center;
  margin-bottom: clamp(40px, 8vw, 80px);
  max-width: 900px;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  transform: translateX(5%);
  padding-left: clamp(10px, 5vw, 40px);
  padding-right: clamp(10px, 5vw, 40px);
  box-sizing: border-box;
}

.mvv-image {
  width: 100%;
  height: auto;
}

.mvv-intro {
  text-align: center;
  margin: clamp(2rem, 5vw, 4rem) auto;
  max-width: 90%;
  width: clamp(300px, 80%, 700px);
  font-size: clamp(14px, 2vw, 18px);
  color: #2b6963;
  letter-spacing: 0.03em;
  font-weight: 400;
  padding: 0 clamp(0.5rem, 3vw, 2rem);
  border-left: clamp(1px, 0.5vw, 2px) solid #8bc1ae;
  border-right: clamp(1px, 0.5vw, 2px) solid #8bc1ae;
}



.mvv_wrap{
  margin-top: clamp(60px, 10vw, 120px);
}


.mvv .box_wrap {
  position: relative;
  margin-bottom: 60px;
gap: clamp(0px, 8vw, 100px);
  align-items: center;
    
}
.mvv h2 {
  position: absolute;
  top: 30%;
  left: 70%;
  transform: translateX(-50%);
  font-size: 18vw;
  color: rgba(81,81,81,0.15);
  font-weight: bold;
  z-index: -3;
  white-space: nowrap;
  pointer-events: none;


}
.mvv .box_wrap:nth-of-type(odd) h2 {
  top: 30%;
  left: 25%;
}
.mvv .txtbox {
  background-color: rgba(255,255,255,0.5);
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.05); 
}

/* main */
.cate_wrap .cate1{
	padding-top: 150px;
}
.cate1 .titlebox p{
	padding: 0 0 40px 100px;
}



.cate1 .box_wrap{
	display: flex;
	align-items: top;
}
.cate1 .box_wrap .imgbox{
	width: 40%;
}

.cate1 .box_wrap .imgbox img{
	width: 100%;
	height: auto;
}

.cate1 .box_wrap .txtbox{
	padding-left: 150px;
	padding-right: 100px;
	padding-top: 50px;
}


.cate1 .box_wrap .txtbox h2{
	margin-bottom: 50px;
}
.cate1 .box_wrap .txtbox .logo{
	width: 200px;
    margin-left: auto;
}


.cate2 .titlebox{
	display: flex;
	width: 60%;
	align-items: center;
}
.cate2 .titleitem{
	display: column;
	padding-left: 30px;
}
.cate2 .icon{
	width: 90px;
}
.cate2 .box_wrap{
	display: flex;
	padding-bottom: 60px;
	margin-bottom: 40px;
	border-bottom: 2px dotted rgba(49, 154, 176, 0.5);
}

.cate2 .txtbox{
	margin-left: 40px;
}
.cate2 .txtbox .default_title3{
	margin-bottom: 30px;
	font-weight: 700;
}
.cate3{
	background-color: #F3F4F8;
}
.cate3 .titlebox{
	margin: auto;
	text-align: center;
	padding-bottom: 40px;
}

.cate4 .box_wrap{
	display: flex;
	align-items: center;
	margin-bottom: 70px;
}
.cate4 .box_wrap .imgbox{
	width: 40%;
}

.cate4 .box_wrap .imgbox img{
	width: 100%;
	height: auto;
}

.cate4 .box_wrap .txtbox{
	padding-left: 150px;
	padding-right: 100px;
	width: 70%;
}
.cate4 .box_wrap .txtitem{
	margin-bottom: 30px;
}


.cate4 .box_wrap .txtbox h2{
	margin-bottom: 40px;
}
.cate4 .box_wrap .txtbox .logo{
	width: 200px;
    margin-left: auto;
}
.cate4 .box_wrap .txtbox p span{
	color: #319AB0;
}
.cate4 .box2{
	display: flex;
	flex-direction: row-reverse;
	padding-right: 100px;
	margin-bottom: 0px;
	
}
/* ---------- text ---------- */

.default_en_title2{
	font-weight: 700;
}
.default_txt2{
	color: #333333;
	line-height: 2;
}
.titlebox .default_txt2{
	color: #6F6F6F;
}
/* ---------- flow ---------- */
.flow_box{
	display: flex;
	align-items: center;
	justify-content: center;
}
.flow_layout{
	max-width: 180px;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.flow-img{
	position: relative;
	padding: 15px;
	margin-bottom: 10px;
	background-color: #fff;
	border-radius: 10px;

}
.flow_layout .num{
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;

}

.flow_box h3{
	font-weight: 700;
}
.flow_box .arrow{
	padding-left: 20px;
	padding-right: 20px;
}
.flow_box .arrow img{
	width: 15px;
}

/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {
}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px){
.flow-img{
	padding: 10px;
}
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px){
	.cate1 .titlebox p{
		padding: 0 0 40px 60px;
}

    
	.cate1 .box_wrap .txtbox{
		padding-left: 100px;
		padding-right: 70px;
		padding-top: 0px;
}
	.cate1 .box_wrap .imgbox{
		width: 100%;
}
	.cate1 .box_wrap .txtbox{
		padding-left: 80px;
		padding-right: 80px;
		width: 100%;
}
	.cate1 .box_wrap .txtbox .logo{
		padding-top: 40px;
	}
	.cate1 .box_wrap .txtbox .logo img{
		width: 150px;
	}
	.cate1 .box_wrap .txtbox h2{
		margin-bottom: 30px;
}
   


	.cate2 .titlebox{
		display: flex;
		flex-direction: column;
		width: 50%;
}
	.cate2 .titleitem{
		padding-left: 0px;
	}
	.cate2 .box_wrap{
		align-items: center;
	}


	.cate4 .box_wrap .txtbox{
		padding-left: 100px;
		padding-right: 70px;
		padding-top: 0px;
}
	.cate4 .box_wrap .txtbox{
		padding-left: 80px;
		padding-right: 80px;
		width: 100%;
}
	.cate4 .box_wrap .imgbox{
		width: 70%;
}
	.cate4 .box_wrap .txtbox h2{
		margin-bottom: 30px;
}
	.cate4 .box2{
		padding-right: 60px;
	
}

}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px){
  .mvv-item p {
text-align: left;
  }
    
	.cate1 .titlebox p{
		padding: 0 0 40px 50px;
}
	.cate_wrap .cate1{
		padding-top: 100px;
}
	.cate1 .box_wrap{
		flex-direction: column;
}
	.cate1 .box_wrap .txtbox{
		padding-left: 50px;
		padding-right: 50px;
	}

	.cate1 .box_wrap .txtbox .logo{
		padding-top: 0px;
	}
    
.mvv-image-wrapper {
    width: 100%;
              transform: none;
  }

  .mvv h2 {
  top: clamp(70px, 15vw, 170px);
    left: 50%;
    transform: translateX(-50%);
  font-size: clamp(100px, 15vw, 400px);
    color: rgba(255, 255, 255, 0.72);
    z-index: 3;
  }

  .mvv .box_wrap:nth-of-type(odd) h2 {
  top: clamp(70px, 15vw, 170px);
    left: 50%;
  }
    

.mvv_wrap .box_wrap .txtbox{
		padding-left: 70px;
		padding-right: 70px;
		padding-top: 20px;
}
  .mvv .box_wrap {
      gap:20px;
  margin-left: clamp(20px, 5vw, 100px);
  margin-right: clamp(20px, 5vw, 100px);
    }
    
   .mvv_wrap .imgbox {
  position: relative;
  overflow: hidden;
  padding: 0 !important;
}

.mvv .box_wrap .imgbox::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4) !important;
  pointer-events: none;
  z-index: 1;
}
    
	.cate2 .titlebox{
		width: 100%;
	}
	.cate2 .txtbox .default_title3{
		margin-bottom: 20px;
	}
	.cate3 .flow_box{
		gap: 50px;
		justify-content: flex-start;
	/*	flex-direction: column;*/
	}
	.flow_layout{
		max-width: calc(50% - 50px / 2);
		padding-top: 20px;
	}
	.flow_layout:nth-of-type(3),.flow_layout:nth-of-type(7){
		transform: translateY(50%);
	}
	.flow_box .arrow{
		display: none;
	}
	.cate4 .box_wrap{
		flex-direction: column;
	}
	.cate4 .box_wrap .imgbox{
		width: 100%;
		margin: 0 auto;
		padding-bottom: 30px;
		padding-left: 50px;
		padding-right: 50px;
}
	.cate4 .box_wrap .txtbox{
		padding-left: 50px;
		padding-right: 50px;
}
	.cate4 .box2{
		padding-right: 0px;
}
	

}
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px){
	.cate_wrap .cate1{
		padding-top: 40px;
}
	.cate1 .titlebox p{
		padding: 0 0 20px 20px;
}
	.cate1 .box_wrap .txtbox{
		padding-left: 20px;
		padding-right: 20px;
		padding-top: 0px;
}
	.cate1 .box_wrap .txtbox .logo{
		margin: 0 auto;
		width: 10px;
}
	.cate1 .box_wrap .imgbox{
		padding-left: 20px;
		padding-right: 20px;
}
	.cate1 .box_wrap .txtbox .logo{
		padding-top: 20px;
	}
    .mvv_wrap .box_wrap .txtbox {
        padding-top: 20px;
    }
	.cate2 .box_wrap{
		flex-direction: column;
}

	.cate2 .txtbox{
		margin-left: 0px;
}
	.cate2 .titlebox{
		width: 100%;
		align-items: center;
		text-align: center;
		margin-bottom: 30px;
		
}
	.cate4 .box_wrap .txtbox{
		padding-left: 20px;
		padding-right: 20px;
}
	.cate4 .box_wrap .imgbox{
		padding-left: 20px;
		padding-right: 20px;
}
	.cate3 .titlebox{
		padding-bottom: 50px;
	}
	.cate3 .flow_box{
		padding-top: 0px;
}
	.cate3 .flow_box{
		gap: 30px 0;
		justify-content: center;
	/*	flex-direction: column;*/
	}
	.flow_layout{
		width: 80%;
		max-width: 100%;
		padding-top: 20px;
	}
	.flow_layout:nth-of-type(3),.flow_layout:nth-of-type(7){
		transform: translateY(0);
	}
	.flow_layout .num{
		font-size: 30px;
	}
	.cate4 .box_wrap{
		margin-bottom: 50px;
	}
}
/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px){
}

