@charset "utf-8";

.h2TitEn .num,
.h2TitEn .en{
 color: var(--blue2);
}
/*--------------------
   entry
----------------------*/
#entryLead{
 padding: 130px 5% 100px;
}
#entryLead p{
 font-size: 14px;
 text-align: center;
 line-height: 2.1;
}
#entryLead .catch{
 margin-bottom: 45px;
 font-size: 36px;
 font-weight: 700;
 line-height: 1.5;
}

@media screen and (max-width: 768px) {/* SP */
#entryLead{
 padding: 80px 5%;
}
#entryLead p{
 font-size: 14px;
 text-align: center;
 line-height: 2.1;
}
#entryLead .catch{
 margin-bottom: 45px;
 font-size: min(7vw,36px);
}

}/*-SP only-*/

/******/
#flow{
 padding-top: 100px;
 padding-bottom: 120px;
}

#flow h2{
 margin-bottom: 60px;
}
@media screen and (min-width: 769px) {
 #flow ul{
  gap:0 50px;
 }
 #flow ul li{
  width: calc((100% - 50px*3)/4);
 }
 #flow ul li + li::before{
  content: "";
  background-color: var(--blue);
  width: 19px;
  height: 30px;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
 position: absolute;
  right: 100%;
  top: 0;
  bottom: 0;
  margin: auto 12px auto 0;
 }
}/*-PC only-*/
#flow ul li{
 position: relative;
 background: #fff;
 padding: 47px 30px 35px;
}
#flow ul li h3{
 margin-bottom: 18px;
 color: var(--blue);
 font-size: 24px;
 text-align: center;
}
#flow ul li h3 span{
 display: block;
 margin-bottom: 25px;
 font-size: 16px;
}
#flow ul li p{
 font-size: 14px;
 line-height: 1.7;
}

@media screen and (max-width: 768px) {/* SP  #flow */
 #flow{
 padding-top: 80px;
 padding-bottom: 80px;
}

#flow h2{
 margin-bottom: 40px;
}
 #flow ul li{
  margin-top: 40px;
 padding: 20px 25px 35px;
 }
#flow ul li + li::before{
  content: "";
  background-color: var(--blue);
  width: 30px;
  height: 19px;
clip-path: polygon(0 0, 50% 100%, 100% 0);
 position: absolute;
 bottom: 100%;
 left: 0;
 right: 0;
 margin:0 auto 10px;
 }
#flow ul li h3{
 margin-bottom: 20px;
}
#flow ul li h3 span{
 margin-bottom: 15px;
 font-size: 16px;
}
}/*-SP only-*/
/******/
#requirements{
 padding-top: 140px;
 padding-bottom: 130px;
}
#requirements h2{
 margin-bottom: 60px;
}
#requirements dl{
 border-top: 1px #BFBFBF solid;
}
#requirements dl dt{
 border-bottom: 1px #BFBFBF solid;
 width: 15.75%;
 padding: 28px 0;
 color: var(--blue);
 font-size: 20px;
 font-weight: 700;
}
#requirements dl dd{
 border-bottom: 1px #BFBFBF solid;
 width: 84.25%;
 padding: 28px 0;
 font-size: 20px;
}

@media screen and (max-width: 768px) {/* SP #requirements*/
#requirements{
 padding-top: 80px;
 padding-bottom: 80px;
}
#requirements dl dt{
 width:28%;
 padding: 20px 0;
 font-size: 15px;
}
#requirements dl dd{
 width: 72%;
 padding: 20px 0;
 font-size: 14px;
}

}/*-SP only-*/


@media screen and (min-width: 769px) {

}/*-PC only-*/
@media screen and (max-width: 768px) {/* SP */

}/*-SP only-*/