@charset "UTF-8";

/* ========== primary ========== */
.primary {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 0 0 8rem;
}

.primary-bg {
  background-image: url(../img/top_fv.jpg);
  background-repeat: no-repeat;
  background-size: 100%;
}

.primary-txt {
  color: #fff;
  font-size: 4.5rem;
  font-family: serif;
  font-weight: 400;
  letter-spacing: 0.03em;
}

/*  ========== lead =========== */

#lead {
  margin-bottom: 5rem;
}

#lead .lead_txt {
  font-size: 3.2rem;
  color: #083691;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-align: center;
  margin-bottom: 3rem;
}

#lead p {
  letter-spacing: 0.03em;
}

/* ========== 特徴 ========== */
#feature {
  max-width: 1000px;
  margin: 0 auto 7.0rem;
}

#feature .feature_list {
  display: flex;
  justify-content: center;
  align-items: center;
}

#feature .feature_list:after {
  content: "";
  clear: both;
  display: block;
}

#feature .feature_list li {
  float: left;
  width: calc(33.3333333% - 6rem/3);
  margin: 3.0rem 3.0rem 3.0rem 0;
}

#feature .feature_list li h3 {
  font-size: 1.9rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-align: center;
}

#feature .feature_list li a {
  color: #083691;
}

#feature .feature_list li .feature_img {
  text-align: center;
}

#feature .feature_list li:nth-child(3n) {
  margin-right: 0;
}




/* ---------------レスポンシブ---------------- */

@media (max-width: 1024px) {
  .primary-txt {
    font-size: 4rem;
    padding: 0 2rem;
  }
}

@media (max-width: 768px) {
  .primary {
    margin-bottom: 5rem;
  }
  .primary-bg {
    background-size: cover;
  }
  .primary-txt {
    font-size: 5vw;
  }
  #lead .lead_txt {
    font-size: 2.8rem;
    margin-bottom: 2rem;
  }
  #feature {
    margin: 10px auto;
  }

  #feature .feature_list {
    display: block;
    margin-bottom: 1.0rem;
  }

  #feature .feature_list li {
    float: none;
    width: auto;
    margin: 0 0 5rem;
  }

  #feature .feature_list li h3 {
    font-size: 2.0rem;
  }
}

@media (max-width: 428px) {
  .primary {
    margin: 0 0 3rem;
  }
  .primary-txt {
    font-size: 1.8rem;
  }
  #lead {
    margin: 0 0 3rem;
  }
  #lead .lead_txt {
    font-size: 1.9rem;
    margin-bottom: 1.0rem;
  }

  #feature {
    margin: 0 auto;
  }

  #feature .feature_list {
    display: block;
    margin-bottom: 2.0rem;
  }

  #feature .feature_list li {
    width: 100%;
    margin-bottom: 2.0rem;
  }

  #feature .feature_list li h3 {
    font-size: 1.8rem;
  }
}