html {
  font-size: 0.66667vw;
}

@media screen and (max-width: 750px) {
  html {
    font-size: 1.33333vw;
  }
}

@media screen and (min-width: 1500px) {
  html {
    font-size: 10px;
  }
}

header {
  background-color: #fff;
}

.kv {
  width: 100%;
  background-image: url(../img/fa/kv.png);
  background-repeat: no-repeat;
  background-size: cover;
  height: 40rem;
  margin: 7rem auto 0;
}

@media screen and (max-width: 750px) {
  .kv {
    background-image: url(../img/fa/kv_sp.png);
    height: 48rem;
    margin: 12rem auto 0;
  }
}

.lead {
  width: 100%;
  padding: 0 4rem 13rem 4rem;
}

@media screen and (max-width: 750px) {
  .lead {
    padding: 0 0 8rem 0;
  }
}

.lead .txt1 {
  font-size: 3.2rem;
  line-height: 1.875em;
  font-weight: bold;
  color: #123086;
  text-align: center;
  padding: 10rem 0 0 0;
  letter-spacing: 1px;
}

@media screen and (max-width: 750px) {
  .lead .txt1 {
    font-size: 5rem;
    line-height: 1.4em;
    padding: 9rem 0 0 0;
  }
}

.lead .txt2 {
  font-size: 1.8rem;
  line-height: 2.223em;
  color: #333333;
  text-align: center;
  margin: 3rem auto 0;
  letter-spacing: 1px;
}

@media screen and (max-width: 750px) {
  .lead .txt2 {
    width: 66.3rem;
    font-size: 3.6rem;
    line-height: 1.7em;
    text-align: justify;
    margin: 3rem auto 8rem;
  }
}

.equipment {
  width: 100%;
  padding: 0 4rem 14rem 4rem;
}

@media screen and (max-width: 750px) {
  .equipment {
    padding: 0 0 14rem 0;
  }
}

.equipment .wrap {
  width: 99.7rem;
  margin: 0 0 0 19rem;
}

@media screen and (min-width: 1501px) {
  .equipment .wrap {
    margin: auto;
    position: relative;
    left: -8rem;
  }
}

@media screen and (max-width: 750px) {
  .equipment .wrap {
    width: 67rem;
    margin: auto;
  }
}

.equipment_txt {
  font-size: 1.6rem;
  line-height: 1.7em;
  color: #333333;
  margin: 5rem auto 0;
}

@media screen and (max-width: 750px) {
  .equipment_txt {
    width: 67rem;
    font-size: 3.6rem;
    line-height: 1.7em;
    text-align: justify;
    margin: 3rem auto 2rem;
  }
}

.equipment_block {
  margin: 6rem auto 0;
}

@media screen and (max-width: 750px) {
  .equipment_block {
    width: 67rem;
  }
}

.equipment dl {
  width: 99.7rem;
  margin: auto;
  padding: 2rem 0;
  border-top: 1px solid #DCDCDC;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

@media screen and (max-width: 750px) {
  .equipment dl {
    width: 67rem;
    padding: 4.5rem 0;
    flex-direction: column;
    align-items: baseline;
  }
}

.equipment dl span {
  vertical-align: sub;
  margin-left: .5rem;
}

.equipment dl.base {
  align-items: baseline;
}

.equipment dl.bor-bt {
  border-bottom: 1px solid #DCDCDC;
}

.equipment dt {
  width: 16.5rem;
  float: left;
  font-size: 1.5rem;
  line-height: 1.814em;
  font-weight: bold;
  padding-left: 3rem;
  color: #333333;
}

@media screen and (max-width: 750px) {
  .equipment dt {
    width: 67rem;
    font-size: 3.2rem;
    line-height: 1.2em;
    padding-left: 0;
  }
}

.equipment dd {
  width: 75rem;
  font-size: 1.5rem;
  line-height: 1.814em;
  font-weight: normal;
  color: #333333;
}

@media screen and (max-width: 750px) {
  .equipment dd {
    width: 67rem;
    font-size: 3.2rem;
    line-height: 1.7em;
    margin: 2rem 0 0 0;
    white-space: nowrap;
  }
}

.equipment_pic-wrap {
  width: 99.7rem;
  margin: 7rem auto 0;
}

@media screen and (max-width: 750px) {
  .equipment_pic-wrap {
    width: 59rem;
  }
}

.equipment_pic-wrap .h3 {
  text-align: center;
}

.equipment_pic-wrap .h3::after {
  display: none;
}

.equipment_pic-wrap .h3.mt {
  margin: 7rem auto 0;
}

@media screen and (max-width: 750px) {
  .equipment_pic-wrap .h3.mt {
    margin: 15rem auto 0;
  }
}

.equipment_pic-wrap .movie {
  width: 64rem;
  margin: 3.5rem auto 0;
  display: block;
}

@media screen and (max-width: 750px) {
  .equipment_pic-wrap .movie {
    width: 59rem;
    margin: 5rem auto 0;
  }
}

.equipment_pic-wrap .pic-flex {
  width: 86.5rem;
  margin: 8.3rem auto 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 750px) {
  .equipment_pic-wrap .pic-flex {
    width: 59rem;
    margin: 5.5rem auto 0;
    justify-content: center;
    flex-wrap: wrap;
  }
}

.equipment_pic-wrap .pic-flex .img {
  width: 24.7rem;
}

@media screen and (max-width: 750px) {
  .equipment_pic-wrap .pic-flex .img {
    width: 27.2rem;
    margin: 0 2rem 0 0;
  }
  .equipment_pic-wrap .pic-flex .img.ml {
    margin: 0 0 0 2rem;
  }
}

.equipment_pic-wrap .pic-flex .img2 {
  width: 29rem;
}

@media screen and (max-width: 750px) {
  .equipment_pic-wrap .pic-flex .img2 {
    width: 37.2rem;
    margin: 4rem auto 0;
  }
}

.equipment_pic-wrap .pic-flex2 {
  width: 72.4rem;
  margin: 2.5rem auto 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

@media screen and (max-width: 750px) {
  .equipment_pic-wrap .pic-flex2 {
    width: 59rem;
    margin: 5rem auto 0;
  }
}

.equipment_pic-wrap .pic-flex2 .img {
  width: 17.3rem;
  margin: 1rem 0 0 0;
}

@media screen and (max-width: 750px) {
  .equipment_pic-wrap .pic-flex2 .img {
    width: 28.7rem;
    margin: 1.3rem 0 0 0;
  }
  .equipment_pic-wrap .pic-flex2 .img.order1 {
    order: 1;
  }
  .equipment_pic-wrap .pic-flex2 .img.order2 {
    order: 2;
  }
  .equipment_pic-wrap .pic-flex2 .img.order3 {
    order: 3;
  }
  .equipment_pic-wrap .pic-flex2 .img.order4 {
    order: 4;
  }
  .equipment_pic-wrap .pic-flex2 .img.order5 {
    order: 5;
  }
  .equipment_pic-wrap .pic-flex2 .img.order6 {
    order: 6;
  }
  .equipment_pic-wrap .pic-flex2 .img.order7 {
    order: 7;
  }
  .equipment_pic-wrap .pic-flex2 .img.order8 {
    order: 8;
  }
}

.equipment2 {
  width: 100%;
  padding: 0 4rem 14rem 4rem;
}

@media screen and (max-width: 750px) {
  .equipment2 {
    padding: 0 0 18rem 0;
  }
}

.equipment2 .wrap {
  width: 99.7rem;
  margin: 0 0 0 19rem;
}

@media screen and (min-width: 1501px) {
  .equipment2 .wrap {
    margin: auto;
    position: relative;
    left: -8rem;
  }
}

@media screen and (max-width: 750px) {
  .equipment2 .wrap {
    width: 67rem;
    margin: auto;
  }
}

.equipment2_block {
  margin: 6rem auto 0;
}

@media screen and (max-width: 750px) {
  .equipment2_block {
    width: 67rem;
    margin: 5rem auto 0;
  }
}

.equipment2 dl {
  width: 99.7rem;
  margin: auto;
  padding: 2rem 0;
  border-top: 1px solid #DCDCDC;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

@media screen and (max-width: 750px) {
  .equipment2 dl {
    width: 67rem;
    padding: 4.5rem 0;
    flex-direction: column;
    align-items: baseline;
  }
}

.equipment2 dl span {
  vertical-align: sub;
  margin-left: .5rem;
}

.equipment2 dl.base {
  align-items: baseline;
}

.equipment2 dl.bor-bt {
  border-bottom: 1px solid #DCDCDC;
}

.equipment2 dt {
  width: 16.5rem;
  float: left;
  font-size: 1.5rem;
  line-height: 1.814em;
  font-weight: bold;
  padding-left: 3rem;
  color: #333333;
}

@media screen and (max-width: 750px) {
  .equipment2 dt {
    width: 67rem;
    font-size: 3.2rem;
    line-height: 1.2em;
    padding-left: 0;
  }
}

.equipment2 dd {
  width: 75rem;
  font-size: 1.5rem;
  line-height: 1.814em;
  font-weight: normal;
  color: #333333;
}

@media screen and (max-width: 750px) {
  .equipment2 dd {
    width: 67rem;
    font-size: 3.2rem;
    line-height: 1.7em;
    margin: 2rem 0 0 0;
  }
}

.equipment2_pic-wrap {
  width: 100rem;
  margin: 2.5rem auto 0;
}

@media screen and (max-width: 750px) {
  .equipment2_pic-wrap {
    width: 59rem;
    margin: 0 auto;
  }
}

.equipment2_pic-wrap .movie {
  width: 64rem;
  margin: 8rem auto 0;
  display: block;
}

@media screen and (max-width: 750px) {
  .equipment2_pic-wrap .movie {
    width: 59rem;
  }
}

.equipment2_pic-wrap .pic-flex3 {
  width: 100rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

@media screen and (max-width: 750px) {
  .equipment2_pic-wrap .pic-flex3 {
    width: 59rem;
  }
}

.equipment2_pic-wrap .pic-flex3 .img {
  width: 30.6rem;
  margin: 5rem 0 0 0;
}

@media screen and (max-width: 750px) {
  .equipment2_pic-wrap .pic-flex3 .img {
    width: 59rem;
    margin: 6rem 0 0 0;
  }
}

.equipment2_pic-wrap .txt {
  font-size: 1.5rem;
  color: #333333;
  margin: 1.5rem 0 0 0;
}

@media screen and (max-width: 750px) {
  .equipment2_pic-wrap .txt {
    font-size: 3rem;
    margin: 3rem 0 0 0;
  }
}

.equipment2_pic-wrap .txt--width {
  width: 64rem;
  margin: 1.5rem auto 0;
}

@media screen and (max-width: 750px) {
  .equipment2_pic-wrap .txt--width {
    margin: 3rem 0 0 0;
  }
}

.equipment2 .flow_img {
  width: 100%;
  margin: 10rem auto 0;
}

@media screen and (max-width: 750px) {
  .equipment2 .flow_img {
    width: 59rem;
  }
}

.equipment2 .txt2 {
  font-size: 1.6rem;
  line-height: 1.5em;
  color: #333333;
  margin: 3.5rem 0 0 0;
}

@media screen and (max-width: 750px) {
  .equipment2 .txt2 {
    width: 59rem;
    margin: 5.5rem auto 0;
    font-size: 3.2rem;
    line-height: 2em;
  }
}

.equipment2 .txt2.txt2-alt {
  margin-top: 7.5rem;
  font-size: 2rem;
}

@media screen and (max-width: 750px) {
  .equipment2 .txt2.txt2-alt {
    margin-top: 10rem;
    font-size: 4rem;
    word-break: keep-all;
  }
}

.equipment2 .txt2.txt2-alt .fw-bold {
  font-weight: bold;
}

.equipment2 .txt3 {
  font-size: 1.4rem;
  text-align: right;
  color: #333333;
  margin: 3rem 0 0 0;
}

@media screen and (max-width: 750px) {
  .equipment2 .txt3 {
    width: 59rem;
    font-size: 2rem;
    margin: 3rem 0 0 6rem;
  }
}
