@import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@400;700&display=swap");
.font-en {
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 400;
}
.font-en.t-bold {
  font-weight: 700;
}

.btn a {
  display: block;
  color: #fff;
  padding: 21px 0;
  text-decoration: none;
  font-weight: bold;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  background-image: -moz-linear-gradient(0deg, #d70016 0%, #dd5007 100%);
  background-image: -webkit-linear-gradient(0deg, #d70016 0%, #dd5007 100%);
  background-image: -ms-linear-gradient(0deg, #d70016 0%, #dd5007 100%);
  line-height: 1;
  transition: all ease .5s;
  justify-content: center;
}
.btn a:hover:after {
  opacity: 0;
}
.btn a:hover .icon-plane {
  background-image: url("../images/shared/icon-plane.svg");
  background-size: 27px auto;
}
.btn a:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  background: #000;
  left: 0;
  top: 0;
  transition: opacity 0.5s ease;
}
.btn a .btn-text {
  z-index: 2;
  position: relative;
}
.btn a .icon {
  z-index: 2;
  position: relative;
  background-repeat: no-repeat;
  background-position: 0 0;
}
.btn a .icon-plane {
  width: 27px;
  height: 25px;
  background-image: url("../images/shared/icon-plane-rl.svg");
  background-size: 27px auto;
}
.btn a .icon-arrow {
  width: 25px;
  height: 8px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
  background-image: url("../images/shared/arrow.svg");
  background-size: 25px 8px;
  z-index: 4;
}

.btn-movie a {
  background: #000;
  transition: all .5s ease;
}
.btn-movie a:hover {
  color: #000;
  background: #fff;
}
.btn-movie a:hover .icon-movie {
  background-image: url("../images/shared/icon-movie-b.svg");
}
.btn-movie:after {
  content: none;
}
.btn-movie .icon-movie {
  width: 26px;
  height: 20px;
  background-image: url("../images/shared/icon-movie.svg");
  background-size: 26px auto;
}

.btn-more a {
  text-decoration: none;
  background: none;
  position: relative;
  justify-content: center;
}
.btn-more a:after {
  content: none;
}
.btn-more a:hover {
  background: #fff;
  color: #d70116;
}
.btn-more a:hover .icon-arrow {
  background-image: url("../images/shared/arrow-r.svg");
}

.tab-only {
  display: none;
}

.sp-only {
  display: none;
}

.st-GlobalFooter_PageTop {
  z-index: 99;
}

.contact {
  background: #000;
  padding: 70px 0 75px;
}
.contact-inner {
  width: 1000px;
  margin: 0 auto;
}
.contact-textarea {
  text-align: center;
  color: #fff;
  margin-bottom: 45px;
}
.contact-title {
  line-height: 1;
  margin-bottom: 40px;
}
.contact-title .font-en {
  color: #d70016;
  font-size: 3.75rem;
  letter-spacing: 0.06em;
}
.contact-title .font-jp {
  font-size: 0.875rem;
  display: block;
  margin-top: 10px;
}
.contact .text {
  font-size: 0.95rem;
}
.contact .btn {
  font-size: 1.6rem;
}
.contact .btn a {
  background: #fff;
  justify-content: center;
}
.contact .btn a:hover {
  color: #d70116;
}
.contact .btn a:hover .icon-plane {
  background-image: url("../images/shared/icon-plane-r.svg");
}
.contact .btn a:hover .icon-arrow {
  background-image: url("../images/shared/arrow-r.svg");
}
.contact .btn a:after {
  background: -moz-linear-gradient(left, #d70016 0%, #dd5007 100%);
  background: -webkit-linear-gradient(left, #d70016 0%, #dd5007 100%);
  background: linear-gradient(to right, #d70016 0%, #dd5007 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d70016', endColorstr='#dd5007',GradientType=1 );
}
.contact .btn .icon-plane {
  margin-right: 20px;
  background-image: url("../images/shared/icon-plane-w.svg");
}
.contact .btn .icon-arrow {
  width: 32px;
  position: relative;
  top: auto;
  background-size: 32px 11px;
  transform: none;
  right: auto;
  display: inline-block;
  margin-left: 30px;
}

.btn-fix {
  background: #000;
  position: fixed;
  right: 0;
  bottom: 0;
  width: 104px;
  height: 104px;
  display: none;
}
.btn-fix a {
  display: block;
  position: relative;
  background-image: -moz-linear-gradient(0deg, #d70016 0%, #dd5007 100%);
  background-image: -webkit-linear-gradient(0deg, #d70016 0%, #dd5007 100%);
  background-image: -ms-linear-gradient(0deg, #d70016 0%, #dd5007 100%);
}
.btn-fix a:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  transition: opacity ease 0.5s;
  background: #000;
  left: 0;
  top: 0;
  opacity: 1;
}
.btn-fix a img {
  vertical-align: top;
  z-index: 2;
  position: relative;
}
.btn-fix a:hover:after {
  opacity: 0;
}

.overray-bg {
  display: none;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.7;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  cursor: pointer;
}

@media screen and (max-width: 1024px) {
  .pc-only {
    display: none;
  }

  .tab-only {
    display: inline;
  }

  a:hover {
    opacity: 1;
  }

  .btn a {
    background: #000;
    transition: none;
    justify-content: center;
  }
  .btn a:hover:after {
    opacity: 0;
  }
  .btn a:hover .icon-plane {
    background-image: url("../images/shared/icon-plane-rl.svg");
  }
  .btn a:after {
    content: none;
  }

  .btn-movie a {
    background: #000;
    transition: none;
  }
  .btn-movie a:hover {
    color: #fff;
    background: #000;
  }
  .btn-movie a:hover .icon-movie {
    background-image: url("../images/shared/icon-movie.svg");
  }

  .btn-more a {
    background: none;
  }
  .btn-more a:hover {
    background: none;
    color: #fff;
  }
  .btn-more a:hover .icon-arrow {
    background-image: url("../images/shared/arrow.svg");
  }

  .btn a {
    font-weight: bold;
    transition: none;
  }
  .btn a:hover {
    opacity: 1;
  }

  .contact-inner {
    width: 100%;
    margin: 0 auto;
  }
  .contact-textarea {
    width: 84%;
    flex-direction: column;
    padding-right: 0;
    margin: 0 auto;
  }
  .contact-title {
    line-height: 1;
    text-align: center;
    margin-bottom: 25px;
    width: 100%;
  }
  .contact-title .font-en {
    letter-spacing: 0.02em;
    text-indent: 0.02em;
    color: #d70016;
    background: #d70016;
    background: -moz-linear-gradient(left, #d70016 0%, #dd5007 100%);
    background: -webkit-linear-gradient(left, #d70016 0%, #dd5007 100%);
    background: linear-gradient(to right, #d70016 0%, #dd5007 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .contact .text {
    width: 100%;
    margin-bottom: 60px;
  }
  .contact .text br {
    display: none;
  }
  .contact .btn {
    width: 92.682926829%;
    margin: 0 auto 0;
  }
  .contact .btn a {
    background: -moz-linear-gradient(left, #d70016 0%, #dd5007 100%);
    background: -webkit-linear-gradient(left, #d70016 0%, #dd5007 100%);
    background: linear-gradient(to right, #d70016 0%, #dd5007 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d70016', endColorstr='#dd5007',GradientType=1 );
    justify-content: center;
  }
  .contact .btn a:hover {
    color: #fff;
  }
  .contact .btn a:hover .icon-plane {
    background-image: url("../images/shared/icon-plane-w.svg");
    background-size: 30px auto;
  }
  .contact .btn a:hover .icon-arrow {
    background-image: url("../images/shared/arrow.svg");
  }
}
@media screen and (max-width: 768px) {
  a:hover {
    opacity: 1;
  }

  .btn a {
    background: #000;
    transition: none;
    justify-content: center;
  }
  .btn a:hover:after {
    opacity: 0;
  }
  .btn a:hover .icon-plane {
    background-image: url("../images/shared/icon-plane-rl.svg");
    background-size: 22px auto;
  }
  .btn a:after {
    content: none;
  }
  .btn a .icon-plane {
    width: 22px;
    height: 21px;
    background-size: 22px auto;
  }

  .btn-movie a {
    background: #000;
    transition: none;
  }
  .btn-movie a:hover {
    color: #fff;
    background: #000;
  }
  .btn-movie a:hover .icon-movie {
    background-image: url("../images/shared/icon-movie.svg");
  }
  .btn-movie .icon-movie {
    width: 22px;
    height: 18px;
    background-size: 22px auto;
  }

  .btn-more a {
    background: none;
  }
  .btn-more a:hover {
    background: none;
    color: #fff;
  }
  .btn-more a:hover .icon-arrow {
    background-image: url("../images/shared/arrow.svg");
  }

  .btn a {
    padding: 21px 0;
    font-weight: bold;
    transition: none;
  }
  .btn a:hover {
    opacity: 1;
  }
  .btn a .icon-plane {
    width: 27px;
  }
  .btn a .icon-movie {
    width: 26px;
  }
  .btn a .icon-arrow {
    width: 22px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 15px;
  }

  .tab-only {
    display: none;
  }

  .sp-only {
    display: inline;
  }

  .contact {
    padding-bottom: 0;
  }
  .contact-title .font-en {
    font-size: 2.5rem;
  }
  .contact-title .font-jp {
    margin-top: 10px;
  }
  .contact .text {
    font-size: 0.8rem;
  }
  .contact .text br {
    display: none;
  }
  .contact .btn {
    width: 100%;
    font-size: 1.15rem;
  }
  .contact .btn a {
    background: -moz-linear-gradient(left, #d70016 0%, #dd5007 100%);
    background: -webkit-linear-gradient(left, #d70016 0%, #dd5007 100%);
    background: linear-gradient(to right, #d70016 0%, #dd5007 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d70016', endColorstr='#dd5007',GradientType=1 );
    justify-content: center;
  }
  .contact .btn a:hover {
    color: #fff;
  }
  .contact .btn a:hover .icon-plane {
    background-image: url("../images/shared/icon-plane-w.svg");
    background-size: 30px;
  }
  .contact .btn a:hover .icon-arrow {
    background-image: url("../images/shared/arrow.svg");
  }
  .contact .btn .icon-plane {
    width: 30px;
    height: 25px;
    margin-right: 15px;
    background-size: 30px 25px;
  }
  .contact .btn .icon-arrow {
    width: 32px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 15px;
    margin-left: 0;
  }
}
@font-face {
  font-family: 'fontello';
  src: url("../fonts/icon/fontello.eot?32483");
  src: url("../fonts/icon/fontello.eot?32483#iefix") format("embedded-opentype"), url("../fonts/icon/fontello.woff2?32483") format("woff2"), url("../fonts/icon/fontello.woff?32483") format("woff"), url("../fonts/icon/fontello.ttf?32483") format("truetype"), url("../fonts/icon/fontello.svg?32483#fontello") format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-key:before {
  content: '\e800';
}

/* '' */
.icon-globe:before {
  content: '\e801';
}

/* '' */
.icon-person:before {
  content: '\e802';
}

/* '' */
.icon-phone-circled:before {
  content: '\e803';
}

/* '' */
.icon-document:before {
  content: '\e819';
}

/* '' */
.icon-graph:before {
  content: '\e81a';
}

/* '' */
.icon-atom:before {
  content: '\e81b';
}

/* '' */
.icon-cancel:before {
  content: '\e81c';
}

/* '' */
.icon-pdf_file:before {
  content: '\e82b';
}

/* '' */
.icon-search:before {
  content: '\e82f';
}

/* '' */
.icon-download:before {
  content: '\e830';
}

/* '' */
.icon-circle_exclamation_mark:before {
  content: '\e835';
}

/* '' */
.icon-search_question:before {
  content: '\e836';
}

/* '' */
.icon-exclamation:before {
  content: '\e83e';
}

/* '' */
.icon-settings:before {
  content: '\e843';
}

/* '' */
.icon-folder:before {
  content: '\e845';
}

/* '' */
.icon-line-chart:before {
  content: '\e848';
}

/* '' */
.icon-website_link:before {
  content: '\e84c';
}

/* '' */
.icon-icn_electrical:before {
  content: '\e8ba';
}

/* '' */
.icon-icn_mechanical:before {
  content: '\e8bb';
}

/* '' */
.icon-icn_thermal:before {
  content: '\e8bc';
}

/* '' */
.icon-icn_chemical:before {
  content: '\e8bd';
}

/* '' */
.icon-mail-alt:before {
  content: '\f0e0';
}

/* '' */
.icon-angle-double-down:before {
  content: '\f103';
}

/* '' */
.icon-angle-left:before {
  content: '\f104';
}

/* '' */
.icon-angle-right:before {
  content: '\f105';
}

/* '' */
.icon-angle-up:before {
  content: '\f106';
}

/* '' */
.icon-angle-down:before {
  content: '\f107';
}

/* '' */
.icon-angle-circled-down:before {
  content: '\f13a';
}

/* '' */
.icon-building-filled:before {
  content: '\f1ad';
}

/* '' */
.icon-youtube-play:before {
  content: '\f16a';
}

/*--------------------------
header
---------------------------*/
#header_wrapper {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1000;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
#header_wrapper.fixed {
  position: fixed;
  top: -126px;
  left: 0;
}
#header_wrapper.fixed2 {
  position: fixed;
  top: -126px;
  left: 0;
  transition: top 0.3s ease-in-out 0s;
}
#header_wrapper.fixed3 {
  position: fixed;
  top: -300px;
  left: 0;
}
#header_wrapper.fixed3 .gnavi > ul > li {
  transition: none;
}
#header_wrapper.fixed3 .gnavi > ul > li:first-child {
  margin-right: 30px;
}
#header_wrapper.fixed3 .gnavi > ul > li:first-child > a {
  height: 40px;
  line-height: 42px;
  width: 120px;
  text-align: center;
  padding: 0;
  background: #F6F7F7;
  border-radius: 8px 8px 0 0;
  background-size: 106px 13px;
  text-decoration: none;
}
#header_wrapper.fixed3 .gnavi > ul > li.nav-contact a {
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  background: #e20226;
  border-radius: 5px 5px 0 0;
  width: auto;
  padding: 0 25px 0 10px;
  display: inline-block;
  position: relative;
  transition: all 0.3s ease-in-out 0s;
}
#header_wrapper.fixed3 .gnavi > ul > li.nav-contact a.headercontact1 {
  display: none;
}
#header_wrapper.fixed3 .gnavi > ul > li.nav-contact a.headercontact2 {
  display: block;
}
#header_wrapper.fixed3 .gnavi > ul > li.nav-contact a:hover {
  background: #960119;
}
#header_wrapper.fixed3 .gnavi > ul > li.nav-contact a::after {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: auto;
  margin: 0;
  text-align: center;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  transition: all 0.3s ease-in-out 0s;
  content: "\f105";
}
#header_wrapper.fixed3 .gnavi > ul > li.nav-contact a > span:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: auto;
  margin: 0;
  text-align: center;
  display: inline-block;
  content: "\F0E0";
  margin-right: 6px;
}
#header_wrapper.fixed4 {
  top: -168px;
  transition: top 0.3s ease-in-out 0s;
}
#header_wrapper.fixed4 .gnavi > ul > li {
  transition: none;
}
#header_wrapper.fixed5 {
  top: -300px;
  transition: top 0.3s ease-in-out 0s;
}

@media only screen and (max-width: 1023px) {
  #header_wrapper {
    position: static;
    box-shadow: none;
  }

  #header_wrapper.fixed,
  #header_wrapper.fixed2,
  #header_wrapper.fixed3 {
    position: static;
  }
}
.st-GlobalHeader, .layout-Top_ContentsHeader {
  background: #fff;
}

@media only screen and (max-width: 1023px) {
  .st-GlobalHeader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 200;
  }

  #fc_header .header_nav .header_top_nav .link_gsn {
    display: none;
  }
}
.st-Breadcrumb {
  margin: 0;
  padding: 10px 0;
}
.st-Breadcrumb_Item a {
  color: #666;
  text-decoration: none;
  transition-duration: 0.3s;
}
.st-Breadcrumb_Item a:hover {
  color: #df0523;
  text-decoration: underline;
}

.st-Title span {
  font-size: 16px;
}

@media only screen and (max-width: 1023px) {
  .st-Title {
    margin: 7px 0 0 0;
    float: left;
  }
}
@media only screen and (max-width: 768px) {
  .st-Title {
    margin-top: 10px;
    line-height: 1;
    float: left;
  }
  .st-Title span {
    font-size: 12px;
  }
}
#fc_header {
  color: #555;
  background: #fff;
  width: 100%;
  margin-top: -10px;
  transition: all 0.3s ease-in-out 0s;
  /*--------------------------
  gnavi
  ---------------------------*/
  /*--------------------------
  languagenavi
  ---------------------------*/
}
#fc_header .header_inner {
  position: relative;
}
#fc_header .header_content {
  max-width: 1200px;
  padding: 0 15px;
  margin: 0 auto;
}
#fc_header .header_top {
  background: #fff;
  /*--------------------------
  hamburger menu
  ---------------------------*/
}
#fc_header .header_top_inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}
#fc_header .header_top .header_nav-sp {
  display: none;
}
#fc_header .header_nav .header_search {
  margin-top: 5px;
  float: right;
}
#fc_header .header_nav .header_search input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
#fc_header .header_nav .header_search #fc_search {
  position: relative;
}
#fc_header .header_nav .header_search #fc_search::before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: auto;
  margin: 0;
  text-align: center;
  color: #e20226;
  font-size: 14px;
  position: absolute;
  top: 50%;
  left: 10px;
  z-index: 10;
  transform: translateY(-50%);
  content: "\e82f";
}
#fc_header .header_nav .header_search .fc_search_input {
  line-height: 24px;
  font-size: 14px;
  background: #fff;
  border-radius: 5px;
  border: 1px solid #c1c1c1;
  width: 260px;
  height: 28px;
  padding: 0 10px 0 35px;
  margin: 0;
  outline: none;
  transition: all 0.3s ease-in-out 0s;
}
#fc_header .header_nav .header_search .fc_search_input:focus {
  background: #fff;
  border-color: #e20226;
}
#fc_header .header_nav .header_search .fc_search_submit {
  display: none;
}
#fc_header .header_nav_inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
  display: flex;
  justify-content: space-between;
}
#fc_header .header_nav .header_top_nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#fc_header .header_nav .header_top_nav .link_gsn {
  padding-right: 20px;
}
#fc_header .header_nav .header_top_nav .link_gsn a {
  color: #666;
  font-size: 14px;
  transition: all 0.3s ease-in-out 0s;
  text-decoration: none;
}
#fc_header .header_nav .header_top_nav .link_gsn a::after {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: auto;
  margin: 0;
  text-align: center;
  color: #e20226;
  margin-left: 10px;
  content: "\f105";
}
#fc_header .header_nav .header_top_nav .link_gsn a:hover {
  color: #e20226;
}
#fc_header .gnavi {
  font-weight: 400;
}
#fc_header .gnavi ul {
  list-style-type: none;
  display: flex;
  margin: 0;
  padding: 0;
}
#fc_header .gnavi > ul > li > a {
  color: #000;
  font-size: 16px;
  font-weight: 500;
  line-height: 40px;
  padding: 0 40px 0 0;
  display: block;
  transition: all 0.3s ease-in-out 0s;
  text-decoration: none;
}
#fc_header .gnavi > ul > li > a:hover {
  color: #e20226;
}
#fc_header .gnavi > ul > li > a.has-child {
  position: relative;
}
#fc_header .gnavi > ul > li > a.has-child::after {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: auto;
  margin: 0;
  text-align: center;
  color: #666;
  position: static;
  transform: none;
  margin-left: 4px;
  color: #e20226;
  content: "\f107";
  transition: all 0.3s ease-in-out 0s;
}
#fc_header .gnavi > ul > li:first-child a {
  transition: none;
}
#fc_header .gnavi > ul > li:last-child a {
  transition: none;
}
#fc_header .gnavi > ul > li:last-child a.headercontact2 {
  display: none;
}
#fc_header .gnavi > ul > li.current::before {
  content: "";
  width: 100%;
  height: 4px;
  background: #e20226;
  position: absolute;
  top: 0;
  left: 0;
}
#fc_header .gnavi > ul > li .has-child.is-open ~ div, #fc_header .gnavi > ul > li .has-child.is-open ~ ul {
  max-height: 100vh;
}
#fc_header .gnavi > ul > li .accordion_menu {
  background-color: rgba(79, 79, 79, 0.75);
  padding: 0;
  width: 100%;
  overflow: hidden;
  position: absolute;
  top: 81px;
  left: 0;
  display: none;
  z-index: 99;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) inset;
}
#fc_header .gnavi > ul > li .accordion_menu .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 15px;
  position: relative;
  text-align: left;
  display: flex;
}
#fc_header .gnavi > ul > li .accordion_menu .container .row {
  margin-right: 110px;
}
#fc_header .gnavi > ul > li .accordion_menu .container .row:last-child {
  margin-right: 0;
}
#fc_header .gnavi > ul > li .accordion_menu ul {
  display: block;
}
#fc_header .gnavi > ul > li .accordion_menu ul li a {
  color: #fff;
  padding: 5px 0;
  display: inline-block;
  transition: all 0.3s ease-in-out 0s;
  font-size: 1.4rem;
  text-decoration: none;
}
#fc_header .gnavi > ul > li .accordion_menu ul li a::before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: auto;
  margin: 0;
  text-align: center;
  margin-right: 6px;
  content: "\f105";
}
#fc_header .gnavi > ul > li .accordion_menu ul li a:hover {
  opacity: 0.6;
}
#fc_header .gnavi > ul > li .accordion_menu ul li a sub {
  font-size: 8px;
  bottom: 0;
}
#fc_header .gnavi > ul > li .accordion_menu.about_us ul:not(:last-child) {
  margin-right: 120px;
}
#fc_header .gnavi > ul > li .accordion_menu.about_us ul:first-child li:not(:first-child) {
  padding-left: 20px;
}
#fc_header .gnavi > ul > li .accordion_menu.about_us figure {
  float: right;
}
#fc_header .gnavi > ul > li .accordion_menu.products ul:not(:last-child) {
  margin-right: 60px;
}
#fc_header .gnavi > ul > li .accordion_menu.products ul li a {
  padding: 0;
  line-height: 42px;
  margin-bottom: 4px;
}
#fc_header .gnavi > ul > li .accordion_menu.products .banners {
  float: right;
}
#fc_header .gnavi > ul > li .accordion_menu.products .btn_block {
  margin-top: 20px;
}
#fc_header .gnavi > ul > li .accordion_menu.products .btn_block a {
  color: #e20226;
  line-height: 45px;
  text-align: center;
  background: #f9f9f9;
  border-radius: 5px;
  width: 320px;
  height: 45px;
  border: 1px solid #d0d0d0;
  position: relative;
  display: inline-block;
  transition: all 0.3s ease-in-out 0s;
}
#fc_header .gnavi > ul > li .accordion_menu.products .btn_block a span::before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: auto;
  margin: 0;
  text-align: center;
  margin-right: 10px;
  content: "\e82f";
}
#fc_header .gnavi > ul > li .accordion_menu.products .btn_block a::before, #fc_header .gnavi > ul > li .accordion_menu.products .btn_block a::after {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: auto;
  margin: 0;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#fc_header .gnavi > ul > li .accordion_menu.products .btn_block a::before {
  color: #dcb3b3;
  font-size: 22px;
  left: 20px;
}
#fc_header .gnavi > ul > li .accordion_menu.products .btn_block a::after {
  right: 10px;
}
#fc_header .gnavi > ul > li .accordion_menu.products .btn_block a:nth-child(2) {
  margin: 0 10px;
}
#fc_header .gnavi > ul > li .accordion_menu.products .btn_block a.btn_search::after {
  content: "\f105";
}
#fc_header .gnavi > ul > li .accordion_menu.products .btn_block a.btn_search_material::before {
  content: "\e81b";
}
#fc_header .gnavi > ul > li .accordion_menu.products .btn_block a.btn_search_property::before {
  content: "\e81a";
}
#fc_header .gnavi > ul > li .accordion_menu.products .btn_block a.btn_catalogue {
  float: right;
}
#fc_header .gnavi > ul > li .accordion_menu.products .btn_block a.btn_catalogue::before {
  content: "\e819";
}
#fc_header .gnavi > ul > li .accordion_menu.products .btn_block a:hover {
  color: #fff;
  background: #e20226;
}
#fc_header .gnavi > ul > li .accordion_menu.products .btn_block a:hover::before {
  color: #fff;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder {
  float: left;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dt {
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 5px;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dt::before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: auto;
  margin: 0;
  text-align: center;
  margin-right: 10px;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dt::after {
  /*@include media(tabL){
  @include fontSet_icon;
  font-size: 22px;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  content: "\f107";
  }*/
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dt.heading_property::before {
  content: "\e81a";
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dt.heading_material::before {
  content: "\e81b";
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dt.heading_catalogs::before {
  content: "\e819";
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dt.heading_videos::before {
  content: "\F16A";
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dd .btn_block {
  margin-top: 0;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dd .btn_block a {
  color: #000;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dd .btn_block a.btn_catalogue {
  color: #e20226;
  line-height: 45px;
  text-align: center;
  background: #f9f9f9;
  border-radius: 5px;
  width: 300px;
  height: 45px;
  border: 1px solid #d0d0d0;
  position: relative;
  display: inline-block;
  transition: all 0.3s ease-in-out 0s;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dd .btn_block a.btn_catalogue::before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  text-align: center;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  font-size: 22px;
  color: #dcb3b3;
  content: "\e819";
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dd .btn_block a.btn_catalogue span::before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  text-align: center;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: 10px;
  content: "\e82f";
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dd .btn_block a.btn_catalogue:hover {
  color: #fff;
  background: #e20226;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dd .btn_block a.btn_catalogue:hover::before {
  color: #fff;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dd .btn_block a.btn_videos {
  color: #e20226;
  line-height: 45px;
  text-align: center;
  background: #f9f9f9;
  border-radius: 5px;
  width: 300px;
  height: 45px;
  border: 1px solid #d0d0d0;
  position: relative;
  display: inline-block;
  transition: all 0.3s ease-in-out 0s;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dd .btn_block a.btn_videos:hover {
  color: #fff;
  background: #e20226;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dd .btn_block a.btn_videos:hover::before {
  color: #fff;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl + dl {
  margin-top: 30px;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .col {
  float: left;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .col:not(:last-child) {
  margin-right: 30px;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .sub_ctg {
  color: #fff;
  font-size: 18px;
  font-style: italic;
  position: relative;
  padding-left: 26px;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .sub_ctg::before {
  position: absolute;
  top: 50%;
  left: -2px;
  transform: translateY(-50%);
  display: block;
  font-family: "fontello";
  font-size: 24px;
  font-style: normal;
  font-weight: normal;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .sub_ctg.mechanical::before {
  content: "\E8BB";
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .sub_ctg.electrical::before {
  content: "\E8BA";
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .sub_ctg.thermal::before {
  content: "\E8BC";
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .sub_ctg.chemical::before {
  content: "\E8BD";
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .sub_ctg:not(:first-child) {
  margin-top: 20px;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder ul {
  float: none;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder:not(:last-child) {
  margin-right: 45px;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .btn_block {
  margin-top: 30px;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .btn_block .btn_download {
  color: #e20226;
  line-height: 45px;
  background: #f6f6f6;
  border: 1px solid #b9b9b9;
  border-radius: 5px;
  width: 300px;
  height: 45px;
  padding: 0 10px;
  display: inline-block;
  position: relative;
  transition: all 0.3s ease-in-out 0s;
  /*&::after {
  @include fontSet_icon;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  content: "\e830";
  }*/
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .btn_block .btn_download .st-Icon-Pdf:before {
  margin-top: -5px;
  font-size: 28px;
  transition: all 0.3s ease-in-out 0s;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .btn_block .btn_download:hover {
  color: #fff;
  background: #e20226;
}
#fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .btn_block .btn_download:hover .st-Icon-Pdf:before {
  color: #fff;
}
#fc_header .languagenavi {
  position: relative;
  transition: left .5s;
  width: 130px;
  z-index: 1;
}
#fc_header .languagenavi .languagenavi_txt {
  color: #666;
  font-size: 14px;
  position: relative;
  background: #fff;
  text-align: center;
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 4px 14px 4px 0px;
  cursor: pointer;
  transition: all 0.3s ease-in-out 0s;
}
#fc_header .languagenavi .languagenavi_txt:after {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: auto;
  margin: 0;
  text-align: center;
  position: absolute;
  top: 4px;
  right: 10px;
  color: #e20226;
  content: '\f107';
  transition: all .2s;
}
#fc_header .languagenavi .languagenavi_txt:hover {
  background: #e20226;
  color: #fff;
}
#fc_header .languagenavi .languagenavi_txt:hover:after {
  color: #fff;
}
#fc_header .languagenavi .languagenavi_txt.is-open {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
#fc_header .languagenavi .languagenavi_txt.is-open:after {
  transform: rotate(180deg);
}
#fc_header .languagenavi .languagenavi_txt.is-open ~ ul {
  max-height: 100vh;
}
#fc_header .languagenavi ul {
  transition: max-height .5s;
  position: absolute;
  z-index: 10000;
  top: auto;
  left: auto;
  width: 100%;
  max-height: 0;
  overflow: hidden;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  background-color: #fff;
  border-radius: 5px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  list-style-type: none;
  padding: 0;
}
#fc_header .languagenavi ul li {
  border-bottom: 1px solid #ccc;
}
#fc_header .languagenavi ul li a {
  color: #666;
  font-size: 14px;
  position: relative;
  text-align: center;
  padding: 4px 14px 4px 0px;
  display: block;
  transition: all 0.5s;
  position: relative;
  text-decoration: none;
}
#fc_header .languagenavi ul li a:after {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: auto;
  margin: 0;
  text-align: center;
  position: absolute;
  top: 4px;
  right: 10px;
  color: #e20226;
  content: '\f105';
  margin-left: 10px;
}
#fc_header .languagenavi ul li a:hover {
  color: #fff;
  background: #e20226;
}
#fc_header .languagenavi ul li a:hover:after {
  color: #fff;
}

@media only screen and (max-width: 1023px) {
  #fc_header {
    margin-top: 65px;
    background: #fff;
    width: 100%;
    left: 0 !important;
    border-bottom: 1px solid #e6e6e6;
  }
  #fc_header .header_content {
    background: #fff;
    width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
  }
  #fc_header .header_top {
    float: none;
    width: 100%;
    height: 40px;
    padding: 0 15px 0 10px;
    position: relative;
    z-index: 101;
  }
  #fc_header .header_top .header_top_nav .link_gsn {
    display: none;
  }
  #fc_header .header_top_inner {
    padding: 0;
  }
  #fc_header .header_top .header_nav-sp {
    display: block;
    float: right;
    position: relative;
    top: 0;
    padding-left: 0;
  }
  #fc_header .header_top .header_nav-sp li {
    display: inline-block;
    cursor: pointer;
    margin-left: 8px;
    vertical-align: middle;
  }
  #fc_header .header_top .header_nav-sp li.is-open .btnSpMenu_content .bar span:nth-child(1), #fc_header .header_top .header_nav-sp li.is-open .btnSpMenu_content .bar span:nth-child(4) {
    top: 12px;
    opacity: 0;
  }
  #fc_header .header_top .header_nav-sp li.is-open .btnSpMenu_content .bar span:nth-child(2) {
    transform: rotate(-135deg);
  }
  #fc_header .header_top .header_nav-sp li.is-open .btnSpMenu_content .bar span:nth-child(3) {
    transform: rotate(135deg);
  }
  #fc_header .header_top .header_nav-sp li .btnSpMenu_content {
    font-size: 8px;
    padding: 0 5px 3px 5px;
    border: 1px solid #ddd;
    background-color: #eee;
    height: 40px;
    border-radius: 3px;
  }
  #fc_header .header_top .header_nav-sp li .btnSpMenu_content .bar {
    display: block;
    text-align: center;
    position: relative;
    width: 28px;
    height: 25px;
    margin: 0 auto;
  }
  #fc_header .header_top .header_nav-sp li .btnSpMenu_content .bar span {
    position: absolute;
    top: 12px;
    left: 3px;
    display: block;
    width: 22px;
    height: 2px;
    background-color: #777;
  }
  #fc_header .header_top .header_nav-sp li .btnSpMenu_content .bar span:nth-child(1) {
    top: 7px;
    transition: .25s ease-in-out;
  }
  #fc_header .header_top .header_nav-sp li .btnSpMenu_content .bar span:nth-child(2), #fc_header .header_top .header_nav-sp li .btnSpMenu_content .bar span:nth-child(3) {
    top: 12px;
    transition: .5s ease-in-out;
  }
  #fc_header .header_top .header_nav-sp li .btnSpMenu_content .bar span:nth-child(4) {
    top: 17px;
    transition: .25s ease-in-out;
  }
  #fc_header .header_top .header_nav-sp li .btnSpMenu_content .bar p {
    text-align: center;
  }
  #fc_header .header_top .header_nav-sp li .icon {
    font-size: 22px;
    margin-top: 3px;
  }

  #fc_header .header_nav .header_search {
    display: none;
  }

  #fc_header .header_nav_inner {
    padding: 0;
  }

  #fc_header .gnavi {
    float: none;
    width: 100%;
    margin: 0;
    position: absolute;
    top: -100vh;
    left: 0;
    height: 100vh;
    z-index: 100;
    overflow: auto;
    transition: top .5s;
    -webkit-overflow-scrolling: touch;
  }
  #fc_header .gnavi.is-open {
    top: 0;
    padding-top: 58px;
  }

  #fc_header .gnavi > ul {
    height: 100%;
  }

  #fc_header .gnavi > ul > li {
    float: none;
    display: block;
    margin: 0;
    border-bottom: 1px solid #ccc;
    background-color: #f8f8f8;
  }

  #fc_header .gnavi > ul > li > a {
    font-size: 16px;
    width: 100%;
    height: auto;
    padding: 0 15px;
    position: relative;
  }

  #fc_header .gnavi > ul > li > a.has-child::after {
    color: #e20226;
  }

  #fc_header .gnavi > ul > li > a.has-child.is-open2::after {
    transform: rotate(180deg);
  }

  #fc_header .gnavi > ul > li.current::before {
    display: none;
  }

  #fc_header .gnavi > ul > li .has-child.is-open ~ div, #fc_header .gnavi > ul > li .has-child.is-open ~ ul {
    max-height: 100%;
    padding: 0;
    border-bottom: none;
  }

  #fc_header .gnavi > ul > li .accordion_menu {
    position: static;
  }

  #fc_header .gnavi > ul > li .accordion_menu .container {
    padding: 0;
  }

  #fc_header .gnavi > ul > li .accordion_menu ul {
    float: none;
  }

  #fc_header .gnavi > ul > li .accordion_menu ul li a {
    padding: 8px 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    display: block;
    position: relative;
  }

  #fc_header .gnavi > ul > li .accordion_menu ul li a::before {
    font-size: 22px;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
  }

  #fc_header .gnavi > ul > li .accordion_menu.about_us ul:not(:last-child) {
    margin-right: 0;
  }

  #fc_header .gnavi > ul > li .accordion_menu.about_us ul:first-child li:not(:first-child) {
    padding: 0;
  }

  #fc_header .gnavi > ul > li .accordion_menu.about_us ul:first-child li:not(:first-child) a {
    background: #c02532;
    padding-left: 20px;
  }

  #fc_header .gnavi > ul > li .accordion_menu.about_us figure {
    display: none;
  }

  #fc_header .gnavi > ul > li .accordion_menu.products ul:not(:last-child) {
    margin-right: 0;
  }

  #fc_header .gnavi > ul > li .accordion_menu.products ul li a.prd {
    padding-left: 12px;
  }

  #fc_header .gnavi > ul > li .accordion_menu.products .banners {
    display: none;
  }

  #fc_header .gnavi > ul > li .accordion_menu.products .btn_block {
    margin: 0;
    padding: 15px;
  }

  #fc_header .gnavi > ul > li .accordion_menu.products .btn_block a {
    width: 100%;
  }

  #fc_header .gnavi > ul > li .accordion_menu.products .btn_block a:nth-child(2) {
    margin: 10px 0;
  }

  #fc_header .gnavi > ul > li .accordion_menu.products .btn_block a.btn_catalogue {
    float: none;
  }

  #fc_header .gnavi > ul > li .accordion_menu.technical_data .holder {
    float: none;
  }

  #fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dt {
    font-size: 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    margin: 0;
    padding: 10px;
    position: relative;
  }

  #fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dt.heading_catalogs {
    display: none;
  }

  #fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dt.heading_videos {
    display: none;
  }

  #fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dd ul a {
    background: #bf3b47;
    padding: 8px 10px 8px 30px;
  }

  #fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dd .btn_block a.btn_catalogue {
    width: 100%;
  }

  #fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dd .btn_block a.btn_videos {
    width: 100%;
  }

  #fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl + dl {
    margin-top: 0;
  }

  #fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .col {
    float: none;
  }

  #fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .col:not(:last-child) {
    margin-right: 0;
  }

  #fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .sub_ctg {
    font-size: 16px;
    background: #c02532;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    padding: 10px;
    cursor: pointer;
  }

  #fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .sub_ctg:not(:first-child) {
    margin-top: 0;
  }

  #fc_header .gnavi > ul > li .accordion_menu.technical_data .holder:not(:last-child) {
    margin-right: 0;
  }

  #fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .btn_block {
    margin-top: 0;
    padding: 15px;
  }

  #fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .btn_block.btn_block_catalogue {
    padding-bottom: 0;
  }

  #fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .btn_block .btn_download {
    text-align: center;
    width: 100%;
  }

  #fc_header .gnavi {
    /*.has-child + dd,
    .has-child + ul{
    max-height: 0;
    overflow: hidden;
    }*/
  }
  #fc_header .gnavi li .has-child.is-open + ul, #fc_header .gnavi li .has-child.is-open + dd {
    max-height: 100vh;
    position: relative;
    top: inherit;
    left: inherit;
    padding: 0;
  }

  #fc_header .languagenavi {
    margin: 0;
    position: absolute;
    padding: 0;
    top: 41px;
    left: -60%;
    bottom: 0;
    width: 60%;
    margin-top: 0;
    background-color: #f8f8f8;
    border-right: 1px solid #ccc;
  }
  #fc_header .languagenavi.is-open {
    left: 0;
  }

  #fc_header .languagenavi .languagenavi_txt {
    display: none;
  }

  #fc_header .languagenavi ul {
    border-radius: 0;
  }

  #fc_header .languagenavi ul li a {
    text-align: center;
  }

  #fc_header .languagenavi ul li a:after {
    top: 15px;
    right: 10px;
  }

  #fc_header .languagenavi ul {
    display: block;
    max-height: inherit;
    overflow: inherit;
  }
  #fc_header .languagenavi ul li {
    display: block;
    border-bottom: 1px solid #ccc;
  }
  #fc_header .languagenavi ul li a {
    display: block;
    padding: 15px 10px;
  }
}
.body_toppage .header_nav {
  background: rgba(255, 255, 255, 0.8);
}

@media only screen and (max-width: 1023px) and (max-width: 1023px) {
  #fc_header .header_top .header_nav-sp li.sp_hidden {
    display: none;
  }
}
@media only screen and (min-width: 1025px) {
  #fc_header .gnavi > ul > li:first-child > a {
    padding-left: 0;
  }
}
@media only screen and (max-width: 768px) {
  #fc_header .gnavi > ul > li .accordion_menu.technical_data .holder dl dt {
    font-size: 14px;
  }

  #fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .sub_ctg {
    font-size: 14px;
    padding: 6px 10px 6px 38px;
  }

  #fc_header .gnavi > ul > li .accordion_menu.technical_data .holder .sub_ctg::before {
    left: 20px;
    font-size: 16px;
  }
}
.is-anime,
.mv-anime {
  opacity: 0;
  will-change: opacity, transform;
}

@keyframes opacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.is-animated.fade-opacity {
  animation: opacity 0.75s cubic-bezier(0.15, 0.77, 0.25, 1);
  animation-fill-mode: backwards;
}

@keyframes fade-top {
  0% {
    transform: translateY(50px);
    opacity: 0;
  }
  100% {
    transform: translateY(0px);
    opacity: 1;
  }
}
.is-animated.fade-top,
.mv-animated.fade-top {
  animation: fade-top 0.75s cubic-bezier(0.15, 0.77, 0.25, 1);
  animation-fill-mode: backwards;
}

@keyframes fade-slide1 {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  5% {
    opacity: 1;
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    transform: translateX(0);
  }
  25% {
    opacity: 0;
    transform: translateX(-50px);
  }
  99.9% {
    opacity: 0;
    transform: translateX(-50px);
  }
  100% {
    opacity: 0;
    transform: translateX(50px);
  }
}
.mv-animated.fade-slide {
  animation: fade-slide1 24s cubic-bezier(0.15, 0.77, 0.25, 1) infinite;
}

@keyframes fade-slide-heater {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  3% {
    opacity: 1;
    transform: translateX(0);
  }
  30% {
    opacity: 1;
    transform: translateX(0);
  }
  33% {
    opacity: 0;
    transform: translateX(-50px);
  }
  99.9% {
    opacity: 0;
    transform: translateX(-50px);
  }
  100% {
    opacity: 0;
    transform: translateX(50px);
  }
}
.heater .mv-animated.fade-slide {
  animation: fade-slide-heater 18s cubic-bezier(0.15, 0.77, 0.25, 1) infinite;
}

@keyframes fade-top2 {
  0% {
    transform: translateY(110px);
    opacity: 0;
  }
  100% {
    transform: translateY(60px);
    opacity: 1;
  }
}
.is-animated.fade-top2 {
  animation: fade-top2 0.75s cubic-bezier(0.15, 0.77, 0.25, 1);
  animation-fill-mode: backwards;
}

@media only screen and (max-width: 1024px) {
  .is-animated.fade-top2 {
    animation: fade-top 0.75s cubic-bezier(0.15, 0.77, 0.25, 1);
    animation-fill-mode: backwards;
  }
}
@keyframes fade-top3 {
  0% {
    transform: translateY(50%);
    opacity: 0;
  }
  100% {
    transform: translateY(-50%);
    opacity: 1;
  }
}
.mv-animated.fade-top3 {
  animation: fade-top3 0.75s cubic-bezier(0.15, 0.77, 0.25, 1);
  animation-fill-mode: backwards;
}

@media only screen and (max-width: 1024px) {
  .mv-animated.fade-top3 {
    animation: fade-top 0.75s cubic-bezier(0.15, 0.77, 0.25, 1);
    animation-fill-mode: backwards;
  }
}
@keyframes modal-video {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes modal-video-inner {
  from {
    transform: translate(0);
  }
  to {
    transform: translate(0, 0);
  }
}
.modal-video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  z-index: 1000000;
  cursor: pointer;
  opacity: 1;
  animation-timing-function: ease-out;
  animation-duration: 0.3s;
  animation-name: modal-video;
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  -ms-transition: opacity 0.3s ease-out;
  -o-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}

.modal-video-close {
  opacity: 0;
}

.modal-video-body {
  max-width: 940px;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  display: table;
}

.modal-video-inner {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
  height: 100%;
}

.modal-video-movie-wrap {
  width: 100%;
  height: 0;
  position: relative;
  padding-bottom: 56.25%;
  background-color: #333;
  animation-timing-function: ease-out;
  animation-duration: 0.3s;
  animation-name: modal-video-inner;
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -ms-transition: -ms-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}
.modal-video-movie-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modal-video-close-btn {
  position: absolute;
  z-index: 2;
  top: -48px;
  right: 0;
  display: inline-block;
  width: 48px;
  height: 48px;
  overflow: hidden;
  border: none;
  background: transparent;
}
.modal-video-close-btn:before {
  transform: rotate(45deg);
}
.modal-video-close-btn:after {
  transform: rotate(-45deg);
}
.modal-video-close-btn:before, .modal-video-close-btn:after {
  content: '';
  position: absolute;
  height: 2px;
  width: 100%;
  top: 50%;
  left: 0;
  margin-top: -1px;
  background: #fff;
  border-radius: 5px;
  margin-top: -6px;
}

.inner {
  margin: 0 auto;
  position: relative;
}

.ecd-main {
  margin: 0 auto;
  min-width: 1024px;
}

.main {
  padding-top: 214px;
}

.mv {
  background: url("../images/index/bg-mv.jpg") no-repeat center top;
  height: 720px;
  margin: 0 auto;
  position: relative;
}
.mv-inner {
  width: 1300px;
  height: 100%;
  margin: 0 auto;
  position: relative;
}
.mv-textarea {
  padding: 147px 0 0 38px;
}
.mv-textarea .mv-catch1 {
  margin-bottom: 32px;
}
.mv-textarea .mv-catch2 {
  animation-delay: 0.5s;
}
.mv-img-wrap {
  position: absolute;
  right: -20px;
  bottom: 85px;
  width: 647px;
  height: 527px;
}
.mv-img {
  position: absolute;
  right: 0;
  top: 0;
  opacity: 0;
}
.mv-img.mv-img1 {
  animation-delay: 0s;
}
.mv-img.mv-img2 {
  animation-delay: 6s;
}
.mv-img.mv-img3 {
  animation-delay: 12s;
}
.mv-img.mv-img4 {
  animation-delay: 18s;
}
.mv .btn-mv {
  background: #000;
  position: absolute;
  right: 0;
  bottom: 0;
}
.mv .btn-mv.is-fixed {
  position: fixed;
  bottom: 165px;
  z-index: 999;
}
.mv .btn-mv a {
  display: block;
  position: relative;
  background-image: -moz-linear-gradient(0deg, #d70016 0%, #dd5007 100%);
  background-image: -webkit-linear-gradient(0deg, #d70016 0%, #dd5007 100%);
  background-image: -ms-linear-gradient(0deg, #d70016 0%, #dd5007 100%);
}
.mv .btn-mv a:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  transition: opacity ease 0.5s;
  background: #000;
  left: 0;
  top: 0;
  opacity: 1;
}
.mv .btn-mv a img {
  vertical-align: top;
  z-index: 2;
  position: relative;
}
.mv .btn-mv a:hover:after {
  opacity: 0;
}

.innv {
  background: url("../images/index/bg-innv.jpg") no-repeat center top;
  min-height: 800px;
}
.innv-inner {
  width: 1300px;
  margin: 0 auto;
  padding-top: 111px;
  display: flex;
  flex-direction: row-reverse;
}
.innv-img {
  width: 48.23076923%;
  margin-left: -24px;
  margin-right: 18px;
}
.innv-img img {
  width: 100%;
  height: auto;
}
.innv-textarea {
  width: 47.692307692%;
  margin-top: 45px;
}
.innv-title {
  font-size: 3.1rem;
  line-height: 1.12;
  letter-spacing: 0.02em;
}
.innv-text {
  margin: 25px 0 35px;
  font-size: 0.875rem;
  line-height: 2;
}
.innv .btn {
  width: 346px;
}
.innv .btn .icon-plane {
  margin-right: 20px;
}

.lineup {
  position: relative;
  padding-bottom: 153px;
}
.lineup:after {
  content: "";
  display: block;
  width: 100%;
  height: 575px;
  position: absolute;
  bottom: -412px;
  left: 0;
  background: url("../images/index/bg-text.gif") no-repeat left top;
  z-index: -1;
}
.lineup-bg {
  position: absolute;
  left: 0;
  top: 0;
  background: #000;
  display: block;
  width: 86.875%;
  min-height: 390px;
}
.lineup-inner {
  width: 83.333333333%;
  max-width: 1600px;
  min-width: 1300px;
  margin: 0 auto;
  z-index: 2;
  position: relative;
  padding-top: 60px;
  display: flex;
  justify-content: space-between;
  padding-left: 3.21428571429%;
}
.lineup-textarea {
  width: 21.071428571%;
  min-width: 295px;
  color: #fff;
  position: relative;
  z-index: 2;
}
.lineup-title {
  font-size: 2.48rem;
  letter-spacing: 0.03em;
  line-height: 1;
  margin-bottom: 50px;
}
.lineup-title .font-jp {
  font-size: 1.0rem;
  display: block;
  margin-top: 10px;
}
.lineup .btn-inner {
  padding: 1.5px;
  background: #666;
}
.lineup .btn a {
  padding-left: 15px;
  justify-content: flex-start;
}
.lineup .btn a .icon {
  margin-right: 10px;
}
.lineup .btn-movie {
  margin-bottom: 22px;
}
.lineup .btn-contact:hover .btn-inner {
  background-image: -moz-linear-gradient(0deg, #d70016 0%, #dd5007 100%);
  background-image: -webkit-linear-gradient(0deg, #d70016 0%, #dd5007 100%);
  background-image: -ms-linear-gradient(0deg, #d70016 0%, #dd5007 100%);
}
.lineup-list {
  width: 74.446085672%;
  max-width: 1008px;
  background: #fff;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  box-shadow: 0px -16px 29px 0px rgba(50, 50, 50, 0.07), 0px 34px 65px 0px rgba(50, 50, 50, 0.19);
  position: relative;
  z-index: 3;
}
.lineup-list-item {
  width: 50%;
  border-bottom: 1px solid #d7d7d7;
}
.lineup-list-item:last-child {
  border-bottom: none;
}
.lineup-list-item:nth-of-type(2n+1) {
  border-right: 1px solid #d7d7d7;
}
.lineup-list-item a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 25px;
  color: #000;
  text-decoration: none;
  position: relative;
  transition: opacity 0.5s ease;
}
.lineup-list-item a:hover .img {
  transform: scale(1.1);
}
.lineup-list-item a:after {
  content: "";
  display: block;
  position: absolute;
  width: 26px;
  height: 9px;
  background: url("../images/shared/arrow.png") no-repeat 0 0;
  background-size: 26px 9px;
  right: 30px;
  bottom: 20px;
}
.lineup-list-item .coming {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 25px;
  color: #000;
  text-decoration: none;
}
.lineup-list-item .coming:after {
  content: "Coming soon... ";
  font-size: 0.875rem;
  display: block;
  position: absolute;
  right: 30px;
  bottom: 20px;
}
.lineup-list-item .img {
  width: 160px;
  margin-right: 10px;
  transition: transform .5s ease;
}
.lineup-list-item dl {
  width: 272px;
}
.lineup-list-item dt {
  font-weight: bold;
  font-size: 1.15rem;
  margin-bottom: 15px;
}
.lineup-list-item dt small {
  display: block;
  font-size: .875rem;
}
.lineup-list-item dd {
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
}

.case {
  position: relative;
  margin-bottom: 105px;
  z-index: 2;
  padding-top: 60px;
  margin-top: -60px;
}
.case-bg {
  position: absolute;
  right: 0;
  top: 0;
  background: #d70016;
  background: -moz-linear-gradient(left, #d70016 0%, #dd5007 100%);
  background: -webkit-linear-gradient(left, #d70016 0%, #dd5007 100%);
  background: linear-gradient(to right, #d70016 0%, #dd5007 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d70016', endColorstr='#dd5007',GradientType=1 );
  display: block;
  width: 83.625%;
  min-width: 1200px;
  min-height: 360px;
}
.case-inner {
  width: 83.333333333%;
  max-width: 1600px;
  min-width: 1300px;
  margin: 0 auto;
  z-index: 2;
  position: relative;
  padding: 60px 0 0;
  box-sizing: border-box;
}
.case-title-wrap {
  width: 77.5%;
  margin-left: 13.125%;
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}
.case-title {
  color: #fff;
  display: flex;
  align-items: center;
  line-height: 1;
}
.case-title .font-en {
  font-size: 2.75rem;
}
.case-title .font-jp {
  font-size: 1rem;
  margin-left: 40px;
}
.case .btn-more {
  width: 166px;
  font-weight: bold;
  font-size: 0.95rem;
}
.case .btn-more a {
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: 11px 0;
}
.case .btn-more a:after {
  content: none;
}
.case-list-wrap {
  margin-top: 55px;
  margin-bottom: 33px;
  width: 77.5%;
}
.case-list-wrap.swiper-container {
  margin-left: 13.125%;
  margin-right: 0;
  overflow: visible;
}
.case-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
}
.case-card.swiper-slide {
  width: 23.165%;
  height: auto;
  display: flex;
  align-items: stretch;
  background: #fff;
  margin-right: 2.44666666667%;
}
.case-card.swiper-slide:last-child {
  margin-right: 0;
}
.case-card a {
  width: 100%;
  display: block;
  background: #fff;
  box-shadow: 0px 34px 65px 0px rgba(50, 50, 50, 0.19);
  text-decoration: none;
}
.case-card a:hover .case-card-img img {
  transform: scale(1.2);
}
.case-card a:after {
  content: "";
  display: block;
  position: absolute;
  width: 26px;
  height: 9px;
  background: url("../images/shared/arrow.png") no-repeat 0 0;
  background-size: 26px 9px;
  right: 30px;
  bottom: 20px;
}
.case-card .coming {
  width: 100%;
  display: block;
  background: #fff;
  box-shadow: 0px 34px 65px 0px rgba(50, 50, 50, 0.19);
  text-decoration: none;
}
.case-card .coming:before {
  position: absolute;
  content: "Coming Soon";
  left: 0;
  top: 0;
  color: #fff;
  background: rgba(51, 51, 51, 0.5);
  width: 100%;
  height: 100%;
  text-align: center;
  font-size: 1.4rem;
  font-weight: bold;
  padding-top: 34%;
  box-sizing: border-box;
}
.case-card .coming:after {
  content: "";
  display: block;
  position: absolute;
  width: 26px;
  height: 9px;
  background: url("../images/shared/arrow.png") no-repeat 0 0;
  background-size: 26px 9px;
  right: 30px;
  bottom: 20px;
}
.case-card-img {
  overflow: hidden;
}
.case-card-img img {
  transition: transform ease .5s;
}
.case-card-textarea {
  padding: 26px 30px 30px;
}
.case-card-textarea .date {
  color: #ca0000;
  font-size: 0.75rem;
}
.case-card-textarea .case-card-title {
  font-weight: bold;
  color: #000;
  margin-top: 10px;
}
.case .banner a {
  width: 818px;
  margin: 0 auto;
  display: block;
  background: url("../images/index/bg-bnr-over.png") no-repeat 0 0;
  position: relative;
}
.case .banner a:after {
  content: "";
  width: 100%;
  height: 100%;
  background: url("../images/index/bg-bnr.png") no-repeat 0 0;
  transition: opacity .5s ease;
  opacity: 1;
  left: 0;
  top: 0;
  position: absolute;
}
.case .banner a img {
  position: relative;
  z-index: 2;
}
.case .banner a:hover:after {
  opacity: 0;
}
.case .swiper-button-next, .case .swiper-button-prev {
  display: none;
}
.case .swiper-pagination {
  display: none;
}

.case-cat {
  display: inline-block;
  background: #d70016;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 3px 7px 2px;
  margin-bottom: 6px;
}

@media screen and (max-width: 768px) {
  .case-cat {
    font-size: 0.75rem;
    padding: 3px 7px 2px;
    margin-bottom: 6px;
  }
}
.movie {
  background: url("../images/index/bg-movie.jpg") no-repeat center bottom;
  background-size: cover;
  padding: 135px 0 192px;
}
.movie-inner {
  width: 57.2014945%;
  min-width: 1024px;
  margin: 0 auto;
  background: #fff;
}
.movie-title {
  line-height: 1;
  text-align: center;
  transform: translateY(-30px);
}
.movie-title .font-en {
  font-size: 4.35rem;
  display: block;
  color: #d70016;
}
.movie-title .font-jp {
  font-size: 1.2rem;
  display: block;
  margin-top: 10px;
}
.movie-lead {
  text-align: center;
}
.movie-thum {
  width: 77.276908923%;
  margin: 45px auto 16px;
}
.movie-thum a {
  display: block;
}
.movie .btn {
  width: 540px;
  margin: 0 auto;
  transform: translateY(34px);
  font-size: 1.15rem;
}
.movie .btn .icon-plane {
  margin-right: 15px;
}
.movie .btn a {
  justify-content: center;
}

@media only screen and (max-width: 1200px) {
  .case-bg {
    position: absolute;
    right: 0;
    top: 0;
    display: block;
    width: 96%;
    min-width: auto;
    min-height: 360px;
  }
}
@media only screen and (max-width: 1023px) {
  .main {
    padding-top: 0;
  }
}
@media screen and (max-width: 1024px) {
  .inner {
    width: auto;
  }

  .ecd-main {
    margin: 0 auto;
    min-width: auto;
  }

  .mv {
    background: url("../images/index/tab/bg-mv.jpg") no-repeat center bottom;
    background-size: cover;
    height: auto;
  }
  .mv-textarea {
    padding: 0;
    overflow: hidden;
  }
  .mv-catch1 {
    margin: 0;
    width: 100%;
  }
  .mv-catch1 img {
    width: 100%;
  }
  .mv-catch2 {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
  .mv-catch2 img {
    width: 100%;
  }
  .mv-inner {
    width: auto;
  }
  .mv-img-wrap {
    padding-right: 0;
    position: absolute;
    right: auto;
    top: auto;
    width: 53.560976%;
    height: auto;
    bottom: 0;
    right: 0;
    overflow: hidden;
    padding-top: 44.535%;
  }
  .mv-img4 {
    width: 90%;
    top: 10%;
  }
  .mv .btn-mv {
    display: none;
  }

  .innv {
    background: url("../images/index/tab/bg-innv.jpg") no-repeat center top;
    background-size: 100% auto;
    min-height: auto;
    padding-bottom: 80px;
  }
  .innv-inner {
    width: 100%;
    margin: 0 auto;
    padding-top: 80px;
    flex-direction: column-reverse;
  }
  .innv-img {
    width: 76.463414634%;
    margin: 0 auto;
  }
  .innv-textarea {
    width: 92.682926829%;
    margin: -10px auto 0;
  }
  .innv-title {
    width: 69%;
    font-size: 3.15rem;
    text-align: center;
    margin: 0 auto;
  }
  .innv-text {
    margin: 20px 0 25px;
  }
  .innv .btn-contact.pc-only {
    display: block;
  }
  .innv .btn {
    margin: 12px auto 0;
  }
  .innv .btn a {
    padding-left: 0;
  }

  .lineup {
    padding-bottom: 80px;
  }
  .lineup:after {
    bottom: -46%;
    left: -1%;
  }
  .lineup-bg {
    width: 96.341463414%;
    min-height: 307px;
  }
  .lineup-inner {
    width: 100%;
    max-width: none;
    min-width: auto;
    margin: 0 auto;
    z-index: 2;
    position: relative;
    padding-top: 50px;
    display: flex;
    flex-direction: column;
    padding-left: 0;
  }
  .lineup-textarea {
    width: 89.024390243%;
    min-width: auto;
    margin-left: 3.65853658537%;
    margin-bottom: 50px;
  }
  .lineup-title {
    margin-bottom: 50px;
    display: flex;
    align-items: flex-end;
    line-height: 1;
  }
  .lineup-title .font-en {
    margin-right: .5em;
  }
  .lineup-btnarea {
    display: flex;
    justify-content: space-between;
  }
  .lineup .btn {
    width: 47.945205479%;
    margin-bottom: 0;
  }
  .lineup .btn a {
    justify-content: center;
  }
  .lineup .btn-contact:hover .btn-inner {
    background: #666;
  }
  .lineup-list {
    width: 96.3414634146%;
    max-width: none;
    margin-left: 3.65853658537%;
    box-shadow: 0px -16px 29px 0px rgba(50, 50, 50, 0.07), 0px 34px 65px 0px rgba(50, 50, 50, 0.19);
  }
  .lineup-list a:hover .img {
    transform: none;
  }
  .lineup-list .img {
    transition: none;
  }

  .case {
    margin-bottom: 80px;
  }
  .case-bg {
    position: absolute;
    right: 0;
    top: 0;
    display: block;
    width: 96.341463414%;
    min-height: 334px;
  }
  .case-inner {
    width: 100%;
    max-width: none;
    min-width: auto;
    margin: 0 auto;
    z-index: 2;
    position: relative;
    padding: 45px 0 0;
    box-sizing: border-box;
  }
  .case-title-wrap {
    width: 89.024390243%;
    margin-left: 7.31707317%;
    flex-direction: column;
  }
  .case-title {
    line-height: 1;
    margin-bottom: 50px;
    align-items: flex-end;
  }
  .case-title .font-jp {
    margin-left: 30px;
  }
  .case .btn-more {
    width: 100%;
    margin-bottom: 50px;
  }
  .case .btn-more a {
    padding: 15px 0;
  }
  .case-list-wrap {
    margin-top: 0;
    margin-bottom: 33px;
  }
  .case-list-wrap.swiper-container {
    width: 92.682926829%;
    padding: 0 3.94736842105% 5%;
    margin: 0 auto;
    overflow: hidden;
  }
  .case-list {
    justify-content: space-between;
  }
  .case-card {
    background: none;
  }
  .case-card.swiper-slide {
    background: none;
    opacity: 0;
    margin-right: 0;
  }
  .case-card.swiper-slide.swiper-slide-active, .case-card.swiper-slide.swiper-slide-next {
    opacity: 1;
  }
  .case-card a {
    width: 87.645%;
    margin: 0 auto;
    transition: none;
    position: relative;
  }
  .case-card a:hover .case-card-img img {
    transform: none;
  }
  .case-card a:after {
    width: 24px;
    height: 8px;
    background-size: 24px 8px;
  }
  .case-card .coming {
    width: 87.645%;
    margin: 0 auto;
    transition: none;
    position: relative;
  }
  .case-card .coming:hover .case-card-img img {
    transform: none;
  }
  .case-card .coming:after {
    width: 24px;
    height: 8px;
    background-size: 24px 8px;
  }
  .case-card img {
    width: 100%;
  }
  .case-card-textarea {
    padding: 30px 25px 40px;
  }
  .case-card-textarea .date {
    font-size: 0.75rem;
  }
  .case-card-textarea .case-card-title {
    margin-top: 5px;
  }
  .case .swiper-button-next, .case .swiper-button-prev {
    display: block;
  }
  .case .swiper-container-horizontal > .swiper-pagination-bullets, .case .swiper-pagination-custom, .case .swiper-pagination-fraction {
    bottom: 0;
  }
  .case .swiper-pagination {
    display: block;
    position: relative;
    left: auto;
    top: auto;
    margin-top: 20px;
  }
  .case .swiper-pagination-bullet {
    opacity: .12;
    width: 13px;
    height: 13px;
  }
  .case .swiper-pagination-bullet-active {
    opacity: 1;
  }
  .case .swiper-button-next:after, .case .swiper-button-prev:after {
    transform: scale(0.8, 1.2);
  }
  .case .banner a {
    width: 92%;
    transition: none;
    margin-top: 30px;
    background: none;
  }
  .case .banner a:after {
    content: none;
  }
  .case .banner a:hover {
    opacity: 1;
  }

  .movie {
    background: url("../images/index/tab/bg-movie.jpg") no-repeat center bottom;
    background-size: cover;
  }
  .movie-inner {
    width: 92.682926829%;
    min-width: auto;
  }
  .movie-thum {
    width: 84.47368421%;
  }
}
@media screen and (max-width: 768px) {
  .mv {
    background: url("../images/index/sp/bg-mv.jpg") no-repeat center top;
    background-size: cover;
  }
  .mv-img-wrap {
    width: 100%;
    bottom: 0;
    left: 0;
    right: auto;
    overflow: hidden;
    padding-top: 77.735%;
  }

  .innv {
    background: url("../images/index/sp/bg-innv.jpg") no-repeat left top;
    background-size: 100% auto;
  }
  .innv-inner {
    flex-direction: column;
  }
  .innv-img {
    width: 100%;
    margin: 0;
  }
  .innv-textarea {
    width: 92%;
    margin: 0 auto;
  }
  .innv-title {
    width: 100%;
    font-size: 1.85rem;
    text-align: left;
  }
  .innv-text {
    margin: 20px 0 25px;
  }
  .innv .btn {
    width: 84%;
    margin: 12px auto 0;
    text-align: center;
  }
  .innv .btn a {
    padding-left: 0;
  }
  .innv .btn .icon-plane {
    margin-right: 20px;
  }
  .innv .btn-contact.pc-only {
    display: none;
  }

  .lineup:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: -15%;
    left: 0;
    background: url(../images/index/sp/bg-text.gif) no-repeat left top;
    background-size: 100% auto;
    z-index: -1;
  }
  .lineup:after {
    content: none;
  }
  .lineup-bg {
    width: 96%;
    min-height: 431px;
  }
  .lineup-textarea {
    width: 82.666666666%;
    color: #d70016;
    margin-left: 6.66666666667%;
  }
  .lineup-title {
    font-size: 2.2rem;
    margin-bottom: 25px;
    flex-direction: column;
    align-items: flex-start;
  }
  .lineup-title .font-en {
    color: #d70016;
    background: #d70016;
    background: -moz-linear-gradient(left, #d70016 0%, #dd5007 100%);
    background: -webkit-linear-gradient(left, #d70016 0%, #dd5007 100%);
    background: linear-gradient(to right, #d70016 0%, #dd5007 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-right: 0;
  }
  .lineup-title .font-jp {
    font-size: 1.0rem;
    margin-top: 15px;
  }
  .lineup-btnarea {
    flex-direction: column;
  }
  .lineup .btn {
    width: 100%;
    text-align: center;
  }
  .lineup .btn a {
    border: 1px solid #666;
    padding-left: 0;
  }
  .lineup .btn a .icon {
    margin-right: 10px;
  }
  .lineup .btn-movie {
    margin-bottom: 22px;
  }
  .lineup-list {
    width: 96%;
    margin-left: 4%;
    flex-direction: column;
    box-shadow: 0px 34px 65px 0px rgba(50, 50, 50, 0.19);
  }
  .lineup-list-item {
    width: 100%;
  }
  .lineup-list-item:nth-of-type(2n+1) {
    border-right: none;
  }
  .lineup-list-item a {
    padding: 10px 4.166666666%;
    transition: none;
  }
  .lineup-list-item a:hover {
    opacity: 1;
  }
  .lineup-list-item a:after {
    width: 24px;
    height: 9px;
    background-size: 24px 9px;
    right: 4.166666666%;
    bottom: 20px;
  }
  .lineup-list-item .coming {
    padding: 10px 4.166666666%;
  }
  .lineup-list-item .coming:after {
    right: 4.166666666%;
    bottom: 20px;
    font-size: 0.75rem;
  }
  .lineup-list-item .img {
    width: 30.833333333%;
    margin-right: 0;
  }
  .lineup-list-item dl {
    width: 60.694444444%;
  }
  .lineup-list-item dt {
    font-size: 0.95rem;
    margin-bottom: 5px;
  }
  .lineup-list-item dd {
    margin: 0;
    padding: 0;
    font-size: 0.75rem;
  }

  .case-bg {
    width: 96%;
    min-height: 360px;
  }
  .case-title-wrap {
    width: 78.533333333%;
    margin-left: 10.666666666%;
  }
  .case-title {
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.1;
    margin-bottom: 30px;
  }
  .case-title .font-en {
    font-size: 2.2rem;
  }
  .case-title .font-jp {
    font-size: .875rem;
    margin-left: 0;
    margin-top: 15px;
  }
  .case .btn-more {
    width: 100%;
    font-size: 0.8rem;
    margin-bottom: 45px;
  }
  .case-list-wrap.swiper-container {
    width: 100%;
    padding: 0;
    margin: 0;
  }
  .case-card.swiper-slide {
    background: none;
  }
  .case-card a {
    margin: 0 0 0 10.666666666%;
    width: 78.666666666%;
    box-shadow: 0px 9px 40px 0px rgba(0, 0, 0, 0.19);
  }
  .case-card .coming {
    margin: 0 0 0 10.666666666%;
    width: 78.666666666%;
    box-shadow: 0px 9px 40px 0px rgba(0, 0, 0, 0.19);
  }
  .case-card-textarea {
    padding: 30px 25px 40px;
  }
  .case-card-textarea .date {
    font-size: 0.75rem;
  }
  .case-card-textarea .case-card-title {
    margin-top: 5px;
  }
  .case .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
  }

  .movie {
    background: url("../images/index/sp/bg-movie.jpg") no-repeat center bottom;
    background-size: cover;
    padding: 100px 0;
  }
  .movie-inner {
    width: 92%;
  }
  .movie-title {
    line-height: 1;
    text-align: center;
    transform: translateY(-17px);
  }
  .movie-title .font-en {
    font-size: 2.5rem;
  }
  .movie-title .font-jp {
    font-size: .875rem;
    margin-top: 10px;
  }
  .movie-lead {
    width: 85.652173913%;
    margin: 0 auto;
    text-align: left;
    font-size: .875rem;
  }
  .movie-thum {
    width: 85.652173913%;
    margin: 30px auto 0;
  }
  .movie .btn {
    width: 85.652173913%;
    margin: 0 auto;
    transform: translateY(35px);
    text-align: left;
    font-size: .875rem;
  }
  .movie .btn .icon-plane {
    margin-right: 20px;
    min-width: 27px;
  }
  .movie .btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px 0;
  }
}
/************************************
form
*************************************/
.contact-form {
  /* for firefox */
  /* for ie10 ie11 */
  /* Google Chrome, Safari, Opera 15+, Android, iOS */
  /* Google Chrome, Safari, Opera 15+, Android, iOS */
  /* Firefox 18- */
  /* Firefox 19+ */
  /* IE 10+ */
}
.contact-form select {
  outline: none;
}
.contact-form option {
  outline: none;
}
.contact-form select {
  outline: 0;
}
.contact-form option {
  outline: 0;
}
.contact-form input:-webkit-autofill,
.contact-form textarea:-webkit-autofill {
  background-color: #faffbd;
  background-image: none;
  color: black;
}
.contact-form select:-moz-focusring * {
  text-shadow: none;
}
.contact-form select::-moz-focus-inner,
.contact-form option::-moz-focus-inner {
  border: 0px;
}
.contact-form option,
.contact-form select,
.contact-form textarea,
.contact-form input[type="number"],
.contact-form input[type="button"],
.contact-form input[type="submit"],
.contact-form input[type="text"],
.contact-form input[type="password"],
.contact-form input[type="email"],
.contact-form input[type="select"],
.contact-form input[type="option"] {
  -webkit-appearance: none;
  border-radius: 0;
  outline: 0;
  background: #fff;
}
.contact-form input[type="option"],
.contact-form input[type="select"] {
  overflow: hidden;
  word-wrap: normal !important;
  white-space: normal;
  max-width: 100%;
}
.contact-form select {
  -moz-appearance: none;
  text-indent: 0.01px;
  text-overflow: '';
}
.contact-form select::-ms-expand {
  display: none;
}
.contact-form input:-webkit-autofill,
.contact-form textarea:-webkit-autofill,
.contact-form select:-webkit-autofill {
  background-color: #fff;
  background-image: none;
  color: #999;
}
.contact-form ::-webkit-input-placeholder {
  color: #999;
}
.contact-form :-moz-placeholder {
  color: #999;
  opacity: 1;
}
.contact-form ::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.contact-form :-ms-input-placeholder {
  color: #999;
}
.contact-form textarea,
.contact-form input[type="number"],
.contact-form input[type="tel"],
.contact-form input[type="email"],
.contact-form input[type="password"],
.contact-form input[type=text] {
  width: 100%;
  padding: 0 10px;
  height: 38px;
  background: #f9f9f9;
  color: #000;
  overflow: hidden;
  border: 1px solid #f9f9f9;
}
.contact-form textarea.form-err,
.contact-form input[type="number"].form-err,
.contact-form input[type="tel"].form-err,
.contact-form input[type="email"].form-err,
.contact-form input[type="password"].form-err,
.contact-form input[type=text].form-err {
  border: 1px solid #ff0000;
}
.contact-form .required {
  color: #d70016;
}
.contact-form .aform-error {
  color: #d70016;
}
.contact-form .aform-error.Privacy_Policy {
  text-align: center;
}
.contact-form textarea {
  height: 100px;
  padding: 10px 10px;
  color: #000;
}
.contact-form textarea:focus,
.contact-form input[type="number"]:focus,
.contact-form input[type="tel"]:focus,
.contact-form input[type="email"]:focus,
.contact-form input[type="password"]:focus,
.contact-form input[type="text"]:focus {
  border: 1px solid #999 !important;
}
.contact-form button {
  border: none;
  background: none;
}
.contact-form button {
  cursor: pointer;
}
.contact-form button:focus,
.contact-form a:focus {
  outline: none !important;
}

.contact-form {
  color: #fff;
  /* checkbox */
}
.contact-form ul,
.contact-form li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.contact-form dl,
.contact-form dt,
.contact-form dd {
  margin: 0;
  padding: 0;
}
.contact-form textarea {
  color: #666;
}
.contact-form .aform-checkbox-ul input[type=checkbox] {
  display: none;
  margin: 0;
}
.contact-form .aform-checkbox-ul li {
  position: relative;
}
.contact-form .aform-checkbox-ul label {
  padding-left: 27px;
  position: relative;
  z-index: 2;
}
.contact-form .aform-checkbox-ul i {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -10px;
  display: inline-block;
  border: 1px solid #f9f9f9;
  background: #f9f9f9;
  width: 20px;
  height: 20px;
  z-index: 5;
  pointer-events: none;
}
.contact-form .aform-checkbox-ul input[type=checkbox]:checked + i {
  background: url("../images/shared/icon-check.png") no-repeat 0 0 #fff;
  background-size: 100% auto;
}

.contact-layout {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}

.contact-layout-l {
  width: 470px;
  position: relative;
}
.contact-layout-l dl {
  margin-bottom: 23px;
}
.contact-layout-l dl:last-child {
  margin-bottom: 0;
}
.contact-layout-l dl dt {
  margin-bottom: 10px;
}
.contact-layout-l .aform-checkbox-ul {
  position: relative;
  width: 110%;
  padding-top: 10px;
}
.contact-layout-l .aform-checkbox-ul li {
  display: inline-block !important;
  min-width: 140px;
  margin-right: 10px;
  margin-bottom: 15px;
}

textarea.aform-textarea {
  height: 222px;
}

.contact-layout-r {
  width: 470px;
}
.contact-layout-r dl {
  margin-bottom: 20px;
}
.contact-layout-r dl:last-child {
  margin-bottom: 0;
}
.contact-layout-r dl dt {
  margin-bottom: 2px;
}

.contact-privacy {
  margin-bottom: 50px;
}

.contact-privacy-agree {
  display: flex;
  justify-content: center;
  margin-bottom: 16px;
}

.contact-privacy-agree-ttl {
  padding-right: 20px;
}

.aform-input-example {
  text-align: center;
  font-size: 0.875rem;
}
.aform-input-example a {
  color: #fff;
  text-decoration: none;
}
.aform-input-example a b {
  font-weight: 400;
  text-decoration: underline;
}

#aform_btn_confirm_1923 {
  background: #d70216;
  background-image: -moz-linear-gradient(0deg, #d70016 0%, #dd5007 100%);
  background-image: -webkit-linear-gradient(0deg, #d70016 0%, #dd5007 100%);
  background-image: -ms-linear-gradient(0deg, #d70016 0%, #dd5007 100%);
  width: 100%;
  border: none;
  display: block;
  width: 100%;
  height: 100px;
  position: relative;
}
#aform_btn_confirm_1923:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  transition: opacity ease 0.5s;
  background: #940f1e;
  left: 0;
  top: 0;
  opacity: 0;
  z-index: 1;
}
#aform_btn_confirm_1923:hover:after {
  opacity: 1;
}
#aform_btn_confirm_1923 span {
  position: relative;
  z-index: 5;
  font-size: 1.625rem;
  padding: 0 66px 0 66px;
}
#aform_btn_confirm_1923 span i.icon-plane {
  display: block;
  content: "";
  width: 26px;
  height: 21px;
  position: absolute;
  background: url("../images/shared/icon-contact-plane.png") 0 0 no-repeat;
  background-size: 100% auto;
  left: 0;
  top: 50%;
  margin-top: -10px;
}
#aform_btn_confirm_1923 span i.icon-arrow {
  display: block;
  content: "";
  width: 32px;
  height: 12px;
  position: absolute;
  background: url("../images/shared/icon-contact-arrow.png") 0 0 no-repeat;
  background-size: 100% auto;
  right: 0;
  top: 50%;
  margin-top: -6px;
}

.ecd-main {
  width: 100%;
  overflow: hidden;
}

@media screen and (max-width: 1050px) {
  .contact-form {
    width: 92%;
    margin: -24px auto 0;
    padding-bottom: 30px;
  }
  .contact-form textarea,
  .contact-form input[type="number"],
  .contact-form input[type="tel"],
  .contact-form input[type="email"],
  .contact-form input[type="password"],
  .contact-form input[type=text] {
    width: 100%;
    padding: 0 10px;
    height: 38px;
    font-size: 0.875rem;
  }
  .contact-form textarea.form-err,
  .contact-form input[type="number"].form-err,
  .contact-form input[type="tel"].form-err,
  .contact-form input[type="email"].form-err,
  .contact-form input[type="password"].form-err,
  .contact-form input[type=text].form-err {
    border: 1px solid #ff0000;
  }
  .contact-form textarea {
    height: 150px;
    padding: 10px 10px;
  }
  .contact-form .aform-error.Privacy_Policy {
    text-align: left;
  }

  .contact-form .aform-checkbox-ul label {
    padding-left: 27px;
    position: relative;
    z-index: 2;
  }
  .contact-form .aform-checkbox-ul i {
    margin-top: -9px;
    width: 18px;
    height: 18px;
    z-index: 5;
  }
  .contact-form .aform-checkbox-ul input[type=checkbox]:checked + i {
    background: url("../images/shared/icon-check.png") no-repeat 0 0 #fff;
    background-size: 100% auto;
  }

  .contact-layout {
    display: block;
    margin-bottom: 30px;
  }

  .contact-layout-l {
    width: 100%;
  }
  .contact-layout-l dl {
    margin-bottom: 18px;
  }
  .contact-layout-l dl:last-child {
    margin-bottom: 0;
  }
  .contact-layout-l dl dt {
    margin-bottom: 6px;
    font-size: 0.875rem;
  }
  .contact-layout-l .aform-checkbox-ul {
    position: relative;
    width: 100%;
    padding-top: 10px;
  }
  .contact-layout-l .aform-checkbox-ul li {
    min-width: 46%;
    margin-right: 0;
    margin-bottom: 16px;
    font-size: 0.75rem;
  }

  textarea.aform-textarea {
    height: 150px;
    font-size: 0.875rem;
  }

  .contact-layout-r {
    width: 100%;
  }
  .contact-layout-r dl {
    margin-bottom: 18px;
    font-size: 0.875rem;
  }
  .contact-layout-r dl:last-child {
    margin-bottom: 0;
  }
  .contact-layout-r dl dt {
    margin-bottom: 6px;
  }

  .contact-privacy {
    margin-bottom: 30px;
  }

  .contact-privacy-agree {
    margin-bottom: 16px;
    font-size: 0.875rem;
  }

  .contact-privacy-agree-ttl {
    padding-right: 20px;
  }

  .aform-input-example {
    text-align: center;
    font-size: 0.625rem;
  }
  .aform-input-example a {
    color: #fff;
    text-decoration: none;
  }
  .aform-input-example a b {
    font-weight: 400;
    text-decoration: underline;
  }

  #aform_btn_confirm_1923 {
    width: 92%;
    margin: 0 auto;
    height: 62px;
  }
  #aform_btn_confirm_1923 span {
    font-size: 1.375rem;
    padding: 0 55px 0 55px;
  }
  #aform_btn_confirm_1923 span i.icon-plane {
    width: 30px;
    height: 24px;
    top: 50%;
    margin-top: -12px;
  }
  #aform_btn_confirm_1923 span i.icon-arrow {
    width: 32px;
    height: 12px;
    top: 50%;
    margin-top: -6px;
    transform: translateX(30px);
  }
}