@charset "UTF-8";

h2{
  padding-bottom: 30px;
  margin: 0 auto;
  font-size: 6.4rem;
  font-weight:normal;
}
.firstview{
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 500px;
}
.bg{
  background-image: url(image/bg_img03.png);
}
.firstview_flex{
padding-left: 30px;
}
.firstview_flex h2{
  color: #000000;
}
.firstview .txt{
  color: #000000;
}
.ancestor{
  max-width: 1200px;
  padding: 100px 0 100px 0;

  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ancestor_img{
display: flex;
gap: 20px;
}
.ancestor_img p{
  text-align: center;
}
.ancestor_txt{
padding-left: 30px;
}

.genealogy{
  max-width: 1200px;
  padding-bottom: 30px;
  margin: 0 auto;
  text-align: center;
  font-size: 6.4rem;
  font-weight:normal;
}

.document{
  max-width: 1200px;
  padding: 100px 0 100px 0;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 20px;
}
.document p{
  text-align: center;
}
@media screen and (max-width: 1200px){
  .firstview img{
    padding-left: 30px;
  }
  .ancestor_img p img{
    width: 100%;
  }
  .firstview_flex{
    padding: 30px;
    }
  .ancestor{
    flex-wrap: wrap;
  }

  .ancestor{
    padding: 50px 30px;
  }
  .document{
    padding: 0 30px 50px 30px;
  }
  .ancestor_img{
    order: 1;
    gap: 20px;
    }
    .ancestor_img p{
      order: 0;
      max-width: 200px;
    }
    .ancestor_txt{
      padding: 0 0 30px 0;
      text-align: center;
      }
      .document img{
        width: 100%;
      }
}
@media screen and (max-width: 768px){

  
.firstview{
  padding: 130px 20px 40px 20px;
  height: auto;
}
.firstview_flex{
  padding: 0 0 0 30px;
  }

  .firstview img{
    padding-left: 0px;
  }
  .ancestor_img{
    gap: 10px;
    }
  .ancestor_img p img{
    width: 100%;
  }
  .ancestor_txt{
    padding: 0 0 15px 0;
    }
  .genealogy{
    max-width: 1200px;
    padding-bottom: 0px;
    margin: 0 auto;
    text-align: center;
    font-size: 5.0rem;
    font-weight:normal;
  }
  .ancestor{
    padding: 40px 20px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    gap: 20px;
  }
  
  .document{
    padding: 0 20px 40px 20px;
  }
  .document p{
    text-align: center;
  }
}

@media screen and (max-width: 455px){
  .ancestor_img .name,.document .name{
    font-size: 1.0rem;
  }
}
@media screen and (max-width: 430px){
.firstview_flex {
  padding: 0 0 0 15px;
}
.firstview_flex h2, .genealogy h2 {
  font-size: 3.2rem;
}
.genealogy h2 {
  font-size: 3.0rem;
}
}