@charset "UTF-8";

/*--------- h3 h4  --------*/

h3.ttl_3 {
  font-weight: 700;
  display: inline-block;
  border-bottom: 1px solid #000;
}

h3.ttl_3 .eng {
  display: block;
  font-style: italic;
  letter-spacing: normal;
}

h3.ttl_3 .emphasis {
  color: rgba(237, 134, 1, 1);
}

/*--------- nav_local --------*/
.nav_local {
  position: relative;
  height: 416px;
}

.nav_local .bg_img {
  z-index: -10;
  position: absolute;
  top: 0;
  height: 416px;
  clip-path: polygon(125px 0px, 100% 0, calc(100% - 125px) 100%, 0 100%);
}

.nav_local .bg_img .mask {
  overflow: hidden;
  height: 416px;
}

.nav_local .bg_img img {
  width: 1000px;
  height: 620px;
  margin: -172px 0 0 -140px;
}

.nav_local ul {
  display: flex;
  justify-content: center;
}

.nav_card {
  aspect-ratio: 1 / 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.nav_card .frame {
  font-weight: 700;
  line-height: 38px;
  letter-spacing: 0.04em;
  text-align: center;
  width: 70.8%;
  aspect-ratio: 1 / 1;
  border: 1px solid;
  border-image: linear-gradient(94.37deg, #d30f1a, #f6b320) 1;
  background-color: rgba(255, 255, 255, 0.8);
  transform: rotate(45deg);
  display: flex;
  justify-content: center;
  align-items: center;
}

.nav_card .item_inner {
  transform: rotate(-45deg);
  line-height: 1.6rem;
}

.nav_card .emphasis {
  color: rgba(237, 134, 1, 1);
}

.nav_card .arrow_down {
  display: block;
  width: 2px;
  height: 12px;
  border-right: 2px solid #000;
  margin: 0.5rem auto 0;
}

.nav_card .arrow_down::before {
  content: "";
  display: block;
  position: relative;
  left: -5px;
  top: 1px;
  width: 2px;
  height: 10px;
  background-color: #000;
  border-radius: 2px;
  transform: rotate(-45deg);
  top: calc(50% - 2px);
  left: -3px;
}

.nav_card .arrow_down::after {
  content: "";
  display: block;
  position: relative;
  width: 2px;
  height: 10px;
  background-color: #000;
  border-radius: 2px;
  transform: rotate(45deg);
  top: -50%;
  left: 3px;
}

/*--------- development --------*/

.img_wrap.clip {
  margin: 0 0 16px 0;
  clip-path: polygon(63px 0px, 100% 0, calc(100% - 63px) 100%, 0 100%);
}

.img_wrap.clip .mask {
  overflow: hidden;
}

.img_wrap.clip .mask img {
  width: 100%;
  margin: 0;
}

.section_detail {
  margin: 16px 0 0 0;
}

.section_detail .ttl_4 {
  font-size: 20px;
  font-weight: 700;
  line-height: 32px;
  margin: 0 0 8px 0;
}

.section_detail .ttl_4 .number {
  font-family: "Archivo";
  font-style: italic;
  letter-spacing: normal;
  line-height: 100%;
  display: block;
  margin: 0 0 4px 0;
}

.section_detail .ttl_4 .number::before {
  content: "";
  display: inline-block;
  width: 16px;
  padding: 8px 0 0 0;
  margin: 0 4px 0 0;
  border-top: 1px solid #000;
}

#contents_environment.inner .list_features li {
  position: relative;
  padding-left: 1rem;
  text-indent: -1rem;
  font-size: 15px;
  margin-bottom: 5px;
}

#contents_environment.inner .list_features li::before {
  content: "";
  display: inline-block;
  position: relative;
  width: 3px;
  margin: 7px 7px 0 0;
  height: 15px;
  background-color: rgba(237, 134, 1, 1);
}

.img_wrap,
.youtube {
  margin-bottom: 24px;
}

.txt.emphasis {
  font-weight: 700;
}

/* content movie -----------*/

.content_movie {
  background: var(--base-f-7-f-7-f-5, #f7f7f5);
  padding: 40px 24px;
}

/*  PC style =======================================*/

@media not screen and (max-width: 780px) {
  /* h3 h4  PC  -----------*/

  h3.ttl_3 {
    font-size: 32px;
    line-height: 33.6px;
    margin-bottom: 1.5rem;
  }

  h3.ttl_3 .eng {
    font-size: 14px;
  }

  /* nav_local  PC--------*/

  .nav_local {
    margin: 0 0 80px 0;
    padding-top: calc((416px - 25vw) / 2);
  }

  @media not screen and (max-width: 1100px) {
    .nav_local {
      padding-top: 83px;
    }
  }

  .nav_card {
    width: 24%;
    font-size: 16px;
    line-height: 38px;
  }

  .nav_local ul {
    max-width: 1000px;
    margin: auto;
  }

  .nav_card .emphasis {
    font-size: 24px;
  }

  .nav_local .bg_img {
    left: calc(50vw - 351px);
    width: 701px;
  }

  .nav_local .bg_img img {
    width: 1000px;
    height: 620px;
    margin: -172px 0 0 -140px;
  }

  /* development  PC ---*/

  .development_summary.wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .development_summary.wrapper .col_img {
    width: 52%;
  }

  .development_summary.wrapper .col_txt {
    width: 44%;
  }

  .development_details {
    display: flex;
    justify-content: space-between;
  }

  .section_detail {
    width: 30%;
  }

  #contents_evaluation.inner {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    align-items: center;
  }

  #contents_environment.inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
    flex-wrap: wrap;
  }
  #contents_environment.inner .img_wrap {
    order: 2;
  }
  #contents_environment.inner .col_txt {
    order: 1;
  }
  #contents_environment.inner .list_features {
    order: 3;
  }

  #contents_achievement.inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  #contents_evaluation.inner .img_wrap,
  #contents_environment.inner .img_wrap {
    width: 48%;
  }

  #contents_evaluation.inner .img_wrap img,
  #contents_environment.inner .img_wrap img {
    width: 100%;
  }

  #contents_evaluation.inner .col_txt,
  #contents_environment.inner .col_txt {
    width: 48%;
  }

  #contents_achievement.inner .col_img .youtube {
    width: 100%;
  }

  #contents_achievement.inner .col_img {
    width: 52%;
  }

  #contents_achievement.inner .col_txt {
    width: 44%;
  }

  /*content_movie PC -------*/

  .content_movie {
    padding: 56px 0;
    text-align: center;
  }

  .content_movie .txt {
    text-align: left;
    margin: 0 auto 32px;
    padding: 0 24px;
    max-width: calc(1000px + (24px * 2));
  }

  .movies_wrap {
    margin: auto;
    display: flex;
    justify-content: space-between;
    max-width: 1280px;
  }

  .movies_wrap .col_youtube {
    width: 30vw;
    margin: 0 12.5px;
  }
}

/*  SP style =======================================*/

@media screen and (max-width: 780px) {
  /*  h3 h4  SP --------*/

  h3.ttl_3 {
    font-size: 24px;
    line-height: 33.6px;
    margin-bottom: 1.5rem;
  }

  h3.ttl_3 .eng {
    font-size: 12px;
    line-height: 1em;
  }

  /*  nav_local style  SP --------*/
  .nav_local {
    margin: 0 0 80px 0;
    padding-top: 24px;
  }

  .nav_local ul {
    flex-wrap: wrap;
    /* width: 103vw; */
    /* margin-left: -1.5vw; */
    margin: auto;
  }

  .nav_card {
    width: 193.2px;

    font-size: 15px;
    line-height: 32px;
  }

  .nav_card .emphasis {
    font-size: 20px;
    line-height: 28px;
  }

  .nav_local .bg_img {
    left: calc((100vw - 232px) / 2);
    width: 232px;
  }

  .nav_local .bg_img img {
    width: 1000px;
    height: 620px;
    margin: -172px 0 0 -140px;
  }

  @media screen and (max-width: 500px) {
    .contents_head {
      padding: 40px 12px 0 12px;
      letter-spacing: 0.8px;
    }

    .nav_card {
      width: 48%;
    }
  }

  /* img movie  SP --------*/
  .img_wrap {
    margin-bottom: 24px;
  }

  .img_wrap img,
  #contents_environment .youtube {
    width: calc(100vw - 24px);
    margin-left: -24px;
  }

  /*content_movie SP -------*/

  .content_movie {
    padding: 40px 24px;
  }
}
