@charset "UTF-8";


.firstview{
  padding: 150px 0 50px 0;
  margin: 0 auto;
  background-image: url(image/bg_img03.png);
  height: 500px;
}

.firstview h2{
  max-width: 1200px;
  padding-bottom: 30px;
  margin: 0 auto;
  text-align: center;
}
.firstview .txt{
  max-width: 1200px;
  padding: 0;
margin: 0 auto;
text-align: center;
}
.lesson_step{
  max-width: 1200px;
  padding: 100px 0 100px 0;
  margin: 0 auto;
}
.lesson_step h2{
  max-width: 1200px;
  padding-bottom: 30px;
  margin: 0 auto;
  text-align: center;
}
.lesson_step h3{
  font-weight: normal;
}

.lesson_step_flex ol{
  max-width: 1400px; 
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  text-align: center;
}
.lesson_step_flex ol li{
max-width: 300px;
margin: 0 auto;
margin-bottom: 30px;
  text-align: center;
}
.lesson_step_flex ol li img,.family_flex img{
  opacity: 0.9;
}
.lesson_step_flex ol li p{
text-align: justify;
}
.family{
    padding: 100px 0 100px 0;
    margin: 0 auto;
     background-image: url(image/bg_img03.png);
}
.family h2{
  text-align: center;
}
.family_flex{
  max-width: 1200px;
  padding-bottom: 100px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
.family_flex img{
    margin: 30px auto;
    box-shadow: 20px 20px 0 #fffcfc;
  }

.family_flex .txt{
  width: 100%;
  padding: 0 0 15px 30px;
}
.leader{
  max-width: 1200px;
  margin: 0 auto;
}
.leader_flex{
  max-width: 1200px;
  display: flex;
flex-wrap: wrap;
justify-content: center;
}

.leader_item{
  display: flex;
}
.leader_txt{
  padding: 30px;
}
.txt{
  padding: 5px 0 0 0;
  
}
@media screen and (max-width: 1200px){
  .firstview{
    padding: 170px 30px 50px 30px;
    height: 480px;
}
.firstview h2{
  padding-bottom: 15px;
}
.lesson_step{
  padding: 50px 30px;
}
.lesson_step h2{
  padding-bottom: 15px;
}
.family{
  padding: 50px 30px;
}
.family_flex{
  padding-bottom: 0;
  flex-wrap: wrap;
  text-align: center;
}
.family_flex img{
  max-width: 90%;
  margin: 0 auto;
  margin-bottom: 30px;
}
.family_flex .txt{
  padding: 15px 0 0 0;
  text-align: center;
}}
@media screen and (max-width: 1030px){
.lesson_step_flex ol li{
  max-width: 250px;
  }
  .lesson_step_flex ol li img{
    width: 100%;
  }}
  @media screen and (max-width: 860px){
    .lesson_step_flex ol li{
      max-width: 300px;
      }
@media screen and (max-width: 768px){
  .firstview{
    padding: 170px 30px 50px 30px;
    height: 430px;
  }
  .family h2
{
  padding-left: 25px;
  font-size: 4.0rem;
}
h3{
  font-size: 1.8rem;
}
.lesson_step_flex ol{
  gap: 10px;
}
.lesson_step_flex ol li{
  width: 100%;
  margin: 0 auto;
  margin-bottom: 15px;
    text-align: center;
  }
  .lesson_step_flex ol li img{
    width: 100%;
  }
}
@media screen and (max-width: 700px){
  .lesson_step_flex ol li{
    max-width: 250px;
    margin-bottom: 30px;
    }
}
@media screen and (max-width: 600px){
  .lesson_step_flex ol li{
    max-width: 100%;
    margin-bottom: 15px;
    }
}
@media screen and (max-width: 430px){

.firstview{
  padding: 180px 20px 20px 20px;
  height: 430px;
}
.lesson_step{
  padding: 40px 20px;
}
.family{
  padding: 40px 20px 40px 20px;
}
.family h2
{
  padding-left: 0;
  text-align: center;
  font-size: 3.2rem;
}

.lesson_step_flex ol li{
  max-width: 100%;
  }
.family_flex img{
  max-width: 100%;
  padding:0;
  margin: 0;
  box-shadow: none;
}
.txt{
      text-align: justify;
}
}}