#top .part_1 {
  position: relative;
}

#top .part_1 h3 img {
  max-width: 450px;
  width: 75%;
}

#top .part_1 .f16 {
  line-height: 2;
}

#top .part_1 .tit img {
  width: 45%;
  max-width: 510px;
}

#top .part_1 .scroll {
  position: absolute;
  top: 75%;
  right: 15%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 100%;
  max-width: 20px;
}

#top .part_2 {
  font-size: 0;
  overflow: hidden;
}

#top .part_2 img {
  width: 100%;
  height: 100%;
}

#top .part_2 .child1 li {
  width: 50%;
}

#top .part_2 .child2 li {
  width: 25%;
}

#top .part_2 .nah {
  pointer-events: none;
}

#top .part_2 .nah .bg {
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
}

#top .part_2 .item {
  overflow: hidden;
  position: relative;
}

#top .part_2 .item .title_item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#top .part_2 .item img {
  -webkit-transition: all 5s;
  transition: all 5s;
}

#top .part_2 .item:hover img:nth-child(1) {
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
}

#top .part_3 hr {
  background-color: #878787;
  width: 100%;
  height: 1px;
  border: 0;
}

#top .part_3 .child_1 .tit {
  text-align: center;
  margin-bottom: 20px;
}

#top .part_3 .child_1 .tit img {
  max-width: 197px;
  width: 44%;
}

#top .part_3 .child_1 .tit.events img {
  max-width: 264px;
  width: 58%;
}

#top .part_3 .child_1 li {
  width: 46.5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#top .part_3 .child_1 .item {
  padding: 15px 0;
  border-bottom: 1px solid #878787;
}

#top .part_3 .child_1 .item span {
  color: #878787;
}

#top .part_3 .child_1 .item_arrow {
  padding: 15px 0;
  border-top: 1px solid #878787;
  margin-top: 50px;
}

#top .part_3 .child_1 .item_arrow p {
  position: relative;
  margin-right: 20px;
  padding-left: 30px;
}

#top .part_3 .child_1 .item_arrow p::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 25px;
  height: 25px;
  background-image: url(./../images/top/arrow.svg);
  background-size: 100% 100%;
}

#top .part_3 .child_2 .tit {
  text-align: center;
}

#top .part_3 .child_2 .tit img {
  max-width: 163px;
}

#top .part_3 .child_2 .kit {
  text-align: center;
}

#top .part_3 .child_2 .kit img {
  max-width: 440px;
}

#top .part_3 .child_2 .tit_border {
  border: 1px solid #000;
  padding: 5px;
  display: block;
  cursor: pointer;
}

#top .part_3 .child_2 ul {
  margin-top: 20px;
}

#top .part_3 .child_2 ul li {
  width: 75%;
}

#top .part_3 .child_2 ul li .f22 {
  font-family: "HelveticaNeue";
  color: #231815;
  font-weight: bold;
}

#top .part_3 .child_2 ul li:nth-child(2) {
  width: 19%;
}
#top .bnr-concept{text-align: center;}
#top .part_4 {
  background-image: url(./../images/top/bg.png);
  background-size: cover;
  background-position: center;
  padding: 60px 0 80px;
}

#top .part_4 h3 img {
  max-width: 700px;
  width: 70%;
}

#top .part_4 .tit {
  text-align: center;
}

#top .part_4 .tit img {
  max-width: 270px;
  width: 45%;
}

#top .part_4 .time {
  color: #878787;
}

#top .part_4 .child_1 li:nth-child(1) {
  width: 71.2%;
}

#top .part_4 .child_1 li:nth-child(2) {
  width: 24.2%;
}

#top .part_4 .child_1 li:nth-child(2) a {
  display: block;
}

#top .part_4 .child_2 {
  border-bottom: 1px solid #878787;
  padding-bottom: 2rem;
  position: relative;
}

#top .part_4 .child_2 img {
  position: absolute;
  width: 30%;
  max-width: 275px;
  bottom: 0;
  right: 0;
  -webkit-transform: translate(0%, 68%);
          transform: translate(0%, 68%);
}

#top .part_4 .child_3 .item {
  border-bottom: 1px solid #878787;
  padding: 20px 0;
}

#top .part_4 .child_3 .item:last-child {
  border-bottom: 0;
}

#top .part_4 .child_3 .item li:nth-child(1) {
  width: 5%;
  margin-right: 2%;
}

#top .part_4 .child_3 .item li:nth-child(1) img {
  width: 100%;
}

#top .part_4 .child_3 .item li:nth-child(2) {
  width: 60%;
}

#top .part_5 .tit img {
  width: 40%;
  max-width: 350px;
}

#top .part_5 ul {display: flex; flex-wrap: wrap; justify-content: space-between; max-width: 1100px; margin: 0 auto; width: 94%;}
#top .part_5 li{margin-top: 70px;}
#top .part_5 .logo01{width: 19.73%; margin-left: 6.1%;}
#top .part_5 .logo02{width: 31.55%;}
#top .part_5 .logo03{width: 21.73%; margin-right: 6%;}
#top .part_5 .logo04{width: 12.1%;}
#top .part_5 .logo07{width: 20%;}
#top .part_5 .logo05{width: 36%;}
#top .part_5 .logo06{width: 36%;}

#top .part_7{
    padding: 20px 0 50px;
}
#top .float_banner {
  position: fixed;
  right: 0;
  top: 50%;
  z-index: 88;
}

#top .float_banner .close_f {
  position: absolute;
  top: 0;
  right: 0;
  max-width: 20px;
  -webkit-transform: translate(0, -100%);
          transform: translate(0, -100%);
  cursor: pointer;
}

@media (min-width: 769px) and (max-width: 1000px) {
  #top .nav.f21 {
    font-size: 18px;
  }
  #top .part_1 .scroll {
    right: 1%;
  }
}

@media (max-width: 768px) {
  #top .part_1 .scroll {
    top: 50%;
    right: 4%;
    width: 3vw;
  }
  #top .part_2 .child1 li {
    width: 100%;
  }
  #top .part_2 .child2 li {
    width: 50%;
  }
  #top .part_3 .child_1 li {
    width: 100%;
  }
  #top .part_3 .child_1 li:nth-child(2) {
    margin-top: 13vw;
  }
  #top .part_3 .child_2 {
    margin-top: 20vw;
  }
  #top .part_3 .child_2 ul li:nth-child(1) {
    width: 100%;
  }
  #top .part_3 .child_2 ul li:nth-child(2) {
    width: 100%;
    text-align: center;
    margin-top: 5vw;
  }
  #top .part_3 .child_2 ul li:nth-child(2) img {
    width: 50%;
    max-width: 190px;
  }
  #top .part_3 hr {
    margin-top: 15vw;
  }
  #top .part_4 {
    padding: 6vw 0;
  }
  #top .part_4 .child_3 .item li:nth-child(1) {
    width: 12%;
  }
  #top .part_5 .tit img {
    width: 52%;
  }
    #top .part_5 li{margin-top: 30px;}
  #top .float_banner {
    position: fixed;
    width: 100%;
    top: unset;
    bottom: 0;
  }

  #top .float_banner .close_f {
    top: 0;
    bottom: auto;
    right: 0;
    -webkit-transform: translate(0,0);
    transform: translate(0,0);
  }

  footer {
    padding-bottom: calc(25vw + 50px);
  }

  .page-top {
    top: auto;
    bottom: 28vw;
  }
}

/*form*/
#form_contact {display: none;}

#form_contact .formgroup {display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 40px;}
#form_contact .formgroup .col-1 {flex-basis: 13%;}
#form_contact .formgroup .col-1 span {color: red; margin-left: 5px;}
#form_contact .formgroup .col-2 {flex-basis: 85%;}
#form_contact .formgroup .col-2 {display: flex; flex-wrap: wrap; justify-content: space-between;}
#form_contact .formgroup .col-2 label {flex-basis: 50%; display: flex; align-items: baseline;}
#form_contact .formgroup input[type=text] {width: 100%;}
#form_contact input[type=submit] {width: 100%; max-width: 350px; color: #fff; background: #000 url(../images/cm/arr_btn.png) no-repeat right 20px center; background-size: 25px auto; font-size: 1.4rem; font-weight: bold; padding: 10px 0; margin: 40px auto 0; display: block;}
#form_contact input[type=submit]:hover {opacity: 0.6; cursor: pointer;}
#form_contact .formgroup input {font-size: 1.4rem; padding: 7px;}
#form_contact .error {color: red; margin: 5px 0 0;}
#form_contact #formgroup-1 .col-2 span {color: red;}

@media (max-width: 768px) {
  #form_contact .formgroup {margin-bottom: 20px;}
  #form_contact .formgroup .col-1 {flex-basis: 100%; margin: 0 0 5px;}
  #form_contact .formgroup .col-2 {flex-basis: 100%;}
  #form_contact #formgroup-1 .col-1 {display: none;}
}


/* add */
.video-wrap{max-width: 1400px;}
.video-frm{position: relative; line-height: 1;}
.video-frm_img{width: 100%; position: relative; z-index: 50; cursor: pointer;}
.video-frm_img.play{opacity: 0; pointer-events: none;}
.video-frm_yt{position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.video-nav{display: flex; justify-content: space-between; max-width: 850px; width: 100%; margin-left: auto; margin-right: auto;}
.video-nav li{width: 48%; cursor: pointer;}
.video-nav li a.active{opacity: .6;}

#visionbook{text-align: center;}
#visionbook a:hover{opacity: .8;}
