﻿strong,
strong span,
strong em {
  font-weight: bold;
}
em,
em strong {
  font-style: italic;
}
ol {
  list-style: decimal;
  list-style-position: inside;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeLeft {
  0% {
    transform: translateX(5%);
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    opacity: 1;
  }
}
@-webkit-keyframes fadeLeft {
  0% {
    transform: translateX(5%);
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    opacity: 1;
  }
}
@keyframes fadeRight {
  0% {
    transform: translateX(-5%);
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    opacity: 1;
  }
}
@-webkit-keyframes fadeRight {
  0% {
    transform: translateX(-5%);
    opacity: 0;
  }
  100% {
    transform: translateX(0%);
    opacity: 1;
  }
}
@keyframes fadeUp {
  0% {
    transform: translateY(10%);
    opacity: 0;
  }
  100% {
    transform: translateY(0%);
    opacity: 1;
  }
}
@-webkit-keyframes fadeUp {
  0% {
    transform: translateY(10%);
    opacity: 0;
  }
  100% {
    transform: translateY(0%);
    opacity: 1;
  }
}
@keyframes slideRight {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0%);
  }
}
@keyframes slideLeft {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0%);
  }
}
.fade01,
.fade-l,
.fade-r,
.fade-u {
  opacity: 0;
}
.fade01.view,
.view .fade01 {
  animation: fadeIn 0.5s ease 0.5s forwards;
}
.fade-l.view,
.view .fade-l {
  animation: fadeLeft 0.5s ease 0.5s forwards;
}
.fade-r.view,
.view .fade-r {
  animation: fadeRight 0.5s ease 0.5s forwards;
}
.fade-u.view,
.view .fade-u {
  animation: fadeUp 0.5s ease 0.5s forwards;
}
.view .delay1 {
  animation-delay: 0.1s;
}
.view .delay3 {
  animation-delay: 0.3s;
}
.view .delay5 {
  animation-delay: 0.5s;
}
.view .delay7 {
  animation-delay: 0.7s;
}
.view .delay9 {
  animation-delay: 0.9s;
}
.js-scroll {
  display: inherit;
}
.motion-txt {
  display: inline-block;
  position: relative;
  overflow: hidden;
}
.motion-txt:after {
  content: "";
  position: absolute;
  opacity: 1;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  background-color: #000;
  -webkit-transform: translate3d(-101%, 0, 0);
  transform: translate3d(-101%, 0, 0);
}
.js-scroll.show .motion-txt:after,
.js-scroll.show .motion-txt-right:after {
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  transition-duration: 1.2s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.js-scroll.done .motion-txt:after {
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  transition-duration: 1.2s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transform: translate3d(103%, 0, 0);
  transform: translate3d(103%, 0, 0);
}
.motion-txt-right:after {
  content: "";
  position: absolute;
  opacity: 1;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  background-color: #000;
  -webkit-transform: translate3d(103%, 0, 0);
  transform: translate3d(103%, 0, 0);
}
.js-scroll.done .motion-txt-right:after {
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  transition-duration: 1.2s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  -webkit-transform: translate3d(-101%, 0, 0);
  transform: translate3d(-101%, 0, 0);
}
.js-scroll.img-scroll.show .motion-txt:after,
.js-scroll.img-scroll.done .motion-txt:after {
  transition-duration: 1.6s;
}
.motion-txt .motion-inner {
  display: inline-block;
  opacity: 0;
  transition-duration: 0.5s;
}
.js-scroll.done .motion-txt .motion-inner {
  opacity: 1;
}
.ImgScroll {
  position: relative;
  overflow: hidden;
}
.sc .thumb {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.sc::after,
.sc_g::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  height: 25%;
  z-index: 0;
  transform: translate3d(-50%, 0, 0);
  -webkit-transform: translate3d(-50%, 0, 0);
}
.safari .sc::after,
.safari .sc_g::after {
  left: -100%;
  transform: none;
}
.sc::after {
  background-image: linear-gradient(
    90deg,
    #007a4c 0%,
    #007a4c 50%,
    #fff 50%,
    #fff 100%
  );
}
.sc_g::after {
  background-image: linear-gradient(
    90deg,
    #007a4c 0%,
    #007a4c 50%,
    #eee 50%,
    #eee 100%
  );
}
.sc4::after {
  background-image: linear-gradient(
    90deg,
    #d7aa00 0%,
    #d7aa00 50%,
    #fff 50%,
    #fff 100%
  );
}
.sc_g.sc4::after {
  background-image: linear-gradient(
    90deg,
    #007a4c 0%,
    #007a4c 50%,
    #eee 50%,
    #eee 100%
  );
}
.sc2::before,
.sc2::after {
  top: 25%;
}
.sc3::before,
.sc3::after {
  top: 50%;
}
.sc4::before,
.sc4::after {
  top: 75%;
}
.item .ImgScroll:before,
.ImgScroll.r:before {
  -webkit-transform: translate3d(103%, 0, 0);
  transform: translate3d(103%, 0, 0);
}
@keyframes scroll01 {
  0% {
    -webkit-transform: translate3d(-101%, 0, 0);
    transform: translate3d(-101%, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  99% {
    -webkit-transform: translate3d(103%, 0, 0);
    transform: translate3d(103%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(103%, 0, 0);
    transform: translate3d(103%, 0, 0);
  }
}
@keyframes scroll001 {
  0% {
    left: -100%;
  }
  50% {
    left: 0;
  }
  99% {
    left: 103%;
  }
  100% {
    left: 103%;
  }
}
@-webkit-keyframes scroll01 {
  0% {
    -webkit-transform: translate3d(-101%, 0, 0);
    transform: translate3d(-101%, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  99% {
    -webkit-transform: translate3d(103%, 0, 0);
    transform: translate3d(103%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(103%, 0, 0);
    transform: translate3d(103%, 0, 0);
    height: 0;
  }
}
@keyframes scroll02 {
  0% {
    -webkit-transform: translate3d(103%, 0, 0);
    transform: translate3d(103%, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-101%, 0, 0);
    transform: translate3d(-101%, 0, 0);
  }
}
@keyframes scroll03 {
  0% {
    -webkit-transform: translate3d(-101%, 0, 0);
    transform: translate3d(-101%, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(2000%, 0, 0);
    transform: translate3d(2000%, 0, 0);
  }
}
@keyframes scroll04 {
  0% {
    -webkit-transform: translate3d(103%, 0, 0);
    transform: translate3d(103%, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-2000%, 0, 0);
    transform: translate3d(-2000%, 0, 0);
  }
}
@keyframes scroll05 {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(103%, 0, 0);
    transform: translate3d(103%, 0, 0);
  }
}
@keyframes scroll06 {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(2000%, 0, 0);
    transform: translate3d(2000%, 0, 0);
  }
}
@-webkit-keyframes scroll01 {
  0% {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(103%, 0, 0);
    transform: translate3d(103%, 0, 0);
  }
}
@-webkit-keyframes scroll02 {
  0% {
    -webkit-transform: translate3d(103%, 0, 0);
    transform: translate3d(103%, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-101%, 0, 0);
    transform: translate3d(-101%, 0, 0);
  }
}
@-webkit-keyframes scroll03 {
  0% {
    -webkit-transform: translate3d(-101%, 0, 0);
    transform: translate3d(-101%, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(2000%, 0, 0);
    transform: translate3d(2000%, 0, 0);
  }
}
@-webkit-keyframes scroll04 {
  0% {
    -webkit-transform: translate3d(103%, 0, 0);
    transform: translate3d(103%, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-2000%, 0, 0);
    transform: translate3d(-2000%, 0, 0);
  }
}
@-webkit-keyframes scroll05 {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(103%, 0, 0);
    transform: translate3d(103%, 0, 0);
  }
}
@-webkit-keyframes scroll06 {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(2000%, 0, 0);
    transform: translate3d(2000%, 0, 0);
  }
}
.view .sc1::after {
  animation: scroll01 1.8s cubic-bezier(0.19, 1, 0.22, 1) 0.6s forwards;
  -webkit-animation: scroll01 1.8s cubic-bezier(0.19, 1, 0.22, 1) 0.6s forwards;
}
.view .sc2::after {
  animation: scroll01 1.8s cubic-bezier(0.19, 1, 0.22, 1) 0.9s forwards;
  -webkit-animation: scroll01 1.8s cubic-bezier(0.19, 1, 0.22, 1) 0.9s forwards;
}
.view .sc3::after {
  animation: scroll01 1.8s cubic-bezier(0.19, 1, 0.22, 1) 0.8s forwards;
  -webkit-animation: scroll01 1.8s cubic-bezier(0.19, 1, 0.22, 1) 0.8s forwards;
}
.view .sc4::after {
  animation: scroll01 1.8s cubic-bezier(0.19, 1, 0.22, 1) 0.7s forwards;
  -webkit-animation: scroll01 1.8s cubic-bezier(0.19, 1, 0.22, 1) 0.7s forwards;
}
.safari .view .sc1::after {
  animation: scroll001 1.8s cubic-bezier(0.19, 1, 0.22, 1) 0.6s forwards;
  -webkit-animation: scroll001 1.8s cubic-bezier(0.19, 1, 0.22, 1) 0.6s forwards;
}
.safari .view .sc2::after {
  animation: scroll001 1.8s cubic-bezier(0.19, 1, 0.22, 1) 0.9s forwards;
  -webkit-animation: scroll001 1.8s cubic-bezier(0.19, 1, 0.22, 1) 0.9s forwards;
}
.safari .view .sc3::after {
  animation: scroll001 1.8s cubic-bezier(0.19, 1, 0.22, 1) 0.8s forwards;
  -webkit-animation: scroll001 1.8s cubic-bezier(0.19, 1, 0.22, 1) 0.8s forwards;
}
.safari .view .sc4::after {
  animation: scroll001 1.8s cubic-bezier(0.19, 1, 0.22, 1) 0.7s forwards;
  -webkit-animation: scroll001 1.8s cubic-bezier(0.19, 1, 0.22, 1) 0.7s forwards;
}
.top section {
  height: 100vh;
  width: 100%;
  overflow: hidden;
  position: relative;
}
.fp-section.fp-table,
.fp-slide.fp-table,
.fp-tableCell {
  display: block;
}
#fp-nav ul li a span,
.fp-slidesNav ul li a span {
  border-radius: 0;
  height: 1px;
  width: 30px;
  margin: 0;
  background: #007a4c;
}
#fp-nav ul li:hover a span,
.fp-slidesNav ul li:hover a span {
  height: 1px;
  width: 30px;
  margin: 0;
  transform: scaleX(1.3);
}
#fp-nav ul li a.active span,
#fp-nav ul li:hover a.active span,
.fp-slidesNav ul li a.active span,
.fp-slidesNav ul li:hover a.active span {
  height: 1px;
  width: 30px;
  transform: scaleX(1.7);
  margin: 0;
  border-radius: 0;
  background-color: #d7aa00;
}
.main_vg img {
  height: 100vh;
}
.main_vg .fnc-nav {
  display: none;
}
.main_vg .fnc-slide__mask {
  height: 100%;
  top: 0;
  -webkit-clip-path: polygon(30% 0%, 60 0%, 85% 110%, 55% 120%);
  clip-path: polygon(30% 0%, 60% 0%, 85% 110%, 55% 120%);
}
.safari .fnc-slide__inner .fnc-slide__mask {
  transform: skewX(15deg);
  width: 14vw;
}
.fnc-slide__inner .fnc-slide__content {
  left: 10%;
  top: 30%;
  z-index: 5;
}
.fnc-slide__inner .fnc-slide__heading-line:nth-child(2) {
  padding: 0;
}
.fnc-slide__content .fnc-slide__heading {
  margin-bottom: 0;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}
.fnc-slide__inner .fnc-slide__mask {
  right: 0;
  left: 100px;
  z-index: 4;
  height: 150%;
}
.fnc-slide__inner .fnc-slid1 {
  left: 0px;
  z-index: 3;
  -moz-transition-duration: 5.8s;
  -webkit-transition-duration: 5.8s;
  -o-transition-duration: 5.8s;
  -ms-transition-duration: 5.8s;
  transition-duration: 5.8s;
}
.fnc-slide__inner .fnc-slid2 {
  left: -100px;
  z-index: 2;
  -moz-transition-duration: 3.8s;
  -webkit-transition-duration: 3.8s;
  -o-transition-duration: 3.8s;
  -ms-transition-duration: 3.8s;
  transition-duration: 3.8s;
}
.fnc-slide__inner .fnc-slid3 {
  left: -200px;
  z-index: 1;
  -moz-transition-duration: 1.8s;
  -webkit-transition-duration: 1.8s;
  -o-transition-duration: 1.8s;
  -ms-transition-duration: 1.8s;
  transition-duration: 1.8s;
}
.top .fnc-slider .fnc-slide__mask .fnc-slide__mask-inner {
  background-color: rgba(215, 170, 0, 0.5) !important;
  background-image: none;
  top: 40%;
  height: 150vh;
  margin-top: -60vh;
}
.top .fnc-slider .fnc-slid1 .fnc-slide__mask-inner,
.top .fnc-slider .fnc-slid2 .fnc-slide__mask-inner,
.top .fnc-slider .fnc-slid3 .fnc-slide__mask-inner {
  background-color: rgba(0, 122, 76, 0.5) !important;
  background-position: 50% 50%;
}
.fnc-slide__heading .main_catch span {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}
.fnc-slide__heading-line span {
  line-height: 1.4;
}
.english_btn {
  position: absolute;
  z-index: 1;
  right: 0;
  top: 90px;
  display: flex;
  border: solid 2px #fff;
}
.english_btn li {
  display: inline-table;
}
.english_btn span {
  color: #000;
  background-color: #fff;
  display: block;
}
.english_btn a {
  color: #fff;
  display: block;
}
.english_btn span,
.english_btn a {
  display: table-cell;
  vertical-align: middle;
  height: 25px;
  width: 84px;
  text-align: center;
  font-weight: bold;
}
.english_btn .font {
  position: relative;
  top: 2px;
}
.scroll_btn {
  position: absolute;
  bottom: 0px;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.scroll_btn a {
  padding-top: 70px;
  color: #fff;
  font-size: 14px;
}
.scroll_btn a span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb 2s infinite;
  animation: sdb 2s infinite;
  opacity: 0;
  box-sizing: border-box;
}
.scroll_btn a span:nth-of-type(1) {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}
.scroll_btn a span:nth-of-type(2) {
  top: 16px;
  -webkit-animation-delay: 0.15s;
  animation-delay: 0.15s;
}
.scroll_btn a span:nth-of-type(3) {
  top: 32px;
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}
@-webkit-keyframes sdb {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.top .ttl_02,
.contact_wrap .ttl_02 {
  padding-top: 95px;
}
.top_center_ttl {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
.business .position_center a,
.business_list {
  width: 50%;
  background-position: center;
  background-size: cover;
  color: #fff;
  display: inline-grid;
  grid-template-columns: 0.5fr 1fr;
  grid-template-rows: 1fr;
  grid-template-areas: ". .";
  padding: 20px 0;
  height: 200px;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  box-shadow: none;
}
.view.business .position_center a,
.view.business_list {
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
  transition: 0.5s ease 0.8s;
}
.business .position_center a {
  opacity: 0;
}
.business.view .position_center a {
  opacity: 1;
}
.business.view .position_center a:hover {
  opacity: 0.8;
}
.business .position_center a .fl {
  position: relative;
}
.business .position_center a .fl::before {
  position: absolute;
  content: "";
  width: 95%;
  height: 40%;
  transform: scale(1.3);
  opacity: 0;
  border: 1px solid #fff;
  transition: 0.2s ease;
}
.business .position_center a:hover .fl::before {
  opacity: 1;
  transform: scale(1);
}
.business.view .position_center a:nth-child(1) {
  transition: 0.5s ease-in-out 0.3s;
}
.business.view .position_center a:nth-child(2) {
  transition: 0.5s ease-in-out 0.5s;
}
.business.view .position_center a:nth-child(3) {
  transition: 0.5s ease-in-out 0.7s;
}
.business.view .position_center a:nth-child(4) {
  transition: 0.5s ease-in-out 0.9s;
}
@keyframes labelanm {
  0% {
    transform: skewX(10deg) translateY(-100%);
  }
  100% {
    transform: skewX(10deg) translateY(0%);
  }
}
.business.view .position_center a:nth-child(1)::before {
  animation: labelanm 0.1s linear 0.5s forwards;
}
.business.view .position_center a:nth-child(2)::before {
  animation: labelanm 0.1s linear 0.7s forwards;
}
.business.view .position_center a:nth-child(3)::before {
  animation: labelanm 0.1s linear 0.9s forwards;
}
.business.view .position_center a:nth-child(4)::before {
  animation: labelanm 0.1s linear 1.1s forwards;
}
.view.business_list:nth-child(1)::before {
  animation: labelanm 0.1s linear 0.5s forwards;
}
.view.business_list:nth-child(2)::before {
  animation: labelanm 0.1s linear 0.7s forwards;
}
.view.business_list:nth-child(3)::before {
  animation: labelanm 0.1s linear 0.9s forwards;
}
.view.business_list:nth-child(4)::before {
  animation: labelanm 0.1s linear 1.1s forwards;
}
.business .position_center a::before,
.business_list::before {
  position: absolute;
  content: "";
  width: 31%;
  height: 100%;
  display: inline-block;
  background-color: rgba(0, 122, 76, 0.7);
  transform: skewX(10deg) translateY(-100%);
  left: 1%;
}
.business .position_center a:last-child::before,
.business_list:last-child::before {
  background-color: rgba(215, 170, 0, 0.6);
}
.business .position_center a div,
.business_page_ttl {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  opacity: 0;
}
.business .position_center a dl {
  display: inline-grid;
  align-items: center;
  justify-content: center;
  grid-template-columns: 1fr;
  grid-template-rows: 0.5fr 1fr;
  grid-template-areas: "." ".";
  padding: 0 5%;
  opacity: 0;
}
.business.view .position_center a:nth-child(1) .fl,
.business.view .position_center a:nth-child(1) .fr,
.view.business_list:nth-child(1) .fl,
.view.business_list:nth-child(1) .fr {
  animation: fadeUp 0.5s linear 0.6s forwards;
}
.business.view .position_center a:nth-child(2) .fl,
.business.view .position_center a:nth-child(2) .fr,
.view.business_list:nth-child(2) .fl,
.view.business_list:nth-child(2) .fr {
  animation: fadeUp 0.5s linear 0.8s forwards;
}
.business.view .position_center a:nth-child(3) .fl,
.business.view .position_center a:nth-child(3) .fr,
.view.business_list:nth-child(3) .fl,
.view.business_list:nth-child(3) .fr {
  animation: fadeUp 0.5s linear 1s forwards;
}
.business.view .position_center a:nth-child(4) .fl,
.business.view .position_center a:nth-child(4) .fr,
.view.business_list:nth-child(4) .fl,
.view.business_list:nth-child(4) .fr {
  animation: fadeUp 0.5s linear 1.2s forwards;
}
.business .position_center a dl dt,
.business_list dl dt {
  font-weight: bold;
  padding-bottom: 3%;
}
.position_center {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  position: absolute;
  width: 100%;
}
.btn_l {
  position: absolute;
  bottom: 5%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  z-index: 1;
  overflow: hidden;
}
.btn_l a {
  color: #fff;
  background-color: rgba(0, 0, 0, 0.8);
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  padding: 15px 0 15px 8.5%;
  -webkit-transform: translate(-10%, -50%);
  -moz-transform: translate(-10%, -50%);
  -ms-transform: translate(-10%, -50%);
  -o-transform: translate(-10%, -50%);
  transform: translate(-10%, 0%);
  width: 100%;
  top: 0%;
  left: 50%;
  text-align: left;
  overflow: hidden;
}
.btn_l a::before {
  position: absolute;
  content: "";
  top: 40%;
  left: 16%;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.btn_l a::after,
.btn_r a::after,
.contact_btn::before {
  position: absolute;
  content: "";
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
  transform: translateX(103%);
  transition: 0.5s ease;
}
.btn_r a::after,
.contact_btn::before {
  transform: translateX(-103%);
}
.btn_l a:hover::after,
.btn_r a:hover::after,
.contact_btn:hover::before {
  transform: translateX(0%);
  z-index: -1;
}
.btn_r {
  position: absolute;
  bottom: 5%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  z-index: 1;
  overflow: hidden;
}
.btn_r a {
  color: #fff;
  background-color: rgba(0, 0, 0, 0.8);
  position: relative;
  z-index: 1;
  padding: 15px 8.5% 15px 0;
  -webkit-transform: translate(2%, -50%);
  -moz-transform: translate(2%, -50%);
  -ms-transform: translate(2%, -50%);
  -o-transform: translate(2%, -50%);
  transform: translate(2%, 0%);
  width: 100%;
  top: 0%;
  left: -50%;
  text-align: right;
  overflow: hidden;
}
.btn_r a::before {
  position: absolute;
  content: "";
  top: 40%;
  left: 95%;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.view .top_center_ttl {
  animation: fadeOut 0.5s ease 0.5s forwards;
}
.top .product {
  background-color: #eee;
}
.product .line1::before,
.product .line1::after,
.product .line2::before,
.product .line2::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  width: 100%;
}
.product .line1::before,
.product .line2::before,
.product .line2::after {
  background-color: #007a4c;
}
.product .line1::after {
  background-color: #d7aa00;
}
.product .line1::before {
  top: -90px;
  transform: scaleX(0);
  transform-origin: left;
}
.product .line1::after {
  bottom: -40px;
  transform: scaleX(0);
  transform-origin: right;
}
.product .line2::before {
  top: -80px;
  transform: scaleX(0);
  transform-origin: right;
}
.product .line2::after {
  top: -70px;
  transform: scaleX(0);
  transform-origin: left;
}
.view.product .line1::before,
.view.product .line1::after,
.view.product .line2::before,
.view.product .line2::after {
  transform: scaleX(1);
  transition: 1s ease;
}
.product_list .slick-slide {
  background-color: #eee;
}
.product_list .slick-dots {
  display: none !important;
}
.sale::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 50%;
  z-index: -1;
  background-color: rgba(0, 122, 76, 0.7);
  top: 25%;
  left: 0;
  transform: translateY(-50%) skewY(-15deg) scaleX(0);
  transform-origin: right;
}
@media screen and (max-width: 1024px) {
  .sale::before {
    top: 30%;
  }
}
@media screen and (max-width: 768px) {
  .sale::before {
    top: 40%;
    height: 40%;
  }
}
@media screen and (max-width: 500px) {
  .sale::before {
    top: 46%;
  }
}
.sale.view::before {
  animation: partneranm 0.1s linear 0.7s forwards;
}
.project .top-center-img img {
  object-position: bottom;
  font-family: "object-fit:cover; object-position: bottom;";
}
.top_project_txt {
  position: absolute;
  width: 355px;
  right: 14%;
  top: 42%;
  padding: 2%;
  z-index: 4;
}
.top_project_txt dt,
.top_project_txt dd {
  margin-bottom: 0.8em;
  line-height: 1.6;
}
.top_project_txt dt {
  font-weight: bold;
}
.top-center-img {
  background-color: #fff;
}
.top-center-img,
.top-center-img img {
  height: 450px;
  box-shadow: none;
  transition: 0.5s ease 0.5s;
}
.view .top-center-img {
  box-shadow: 0 0 10px rgba(160, 160, 160, 0.5);
}
.project .top-center-img,
.partner .top-center-img {
  top: 55%;
  opacity: 0;
  overflow: hidden;
  transition: 0.5s ease 0.5s;
}
.project .top-center-img::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 50%;
  z-index: 1;
  background-color: rgba(0, 122, 76, 0.7);
  top: 8%;
  left: 0;
  transform: translateY(-50%) skewY(15deg) scaleX(0);
  transform-origin: left;
  transition: 0.1s ease 0.4s;
}
.project .js_active .top-center-img::before {
  transform: translateY(-50%) skewY(15deg) scaleX(1);
}
.project.view .top-center-img,
.partner.view .top-center-img {
  top: 50%;
  opacity: 1;
}
.company_link1,
.company_link2 {
  box-shadow: none;
}
.view .company_link1,
.view .company_link2 {
  box-shadow: 0 0 10px rgba(160, 160, 160, 0.5);
}
.top_company_blocks .h55 {
  height: 55vh;
}
.company_link_blocks .h55 {
  height: 52vh;
}
.top_company_blocks .h45 {
  height: 45vh;
}
.company_link_blocks .h45 {
  height: 48vh;
}
.company_link1::after,
.company_link2::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  height: 90px;
  width: 140px;
  opacity: 0;
  border: 1px solid #fff;
  transform: translate(-50%, -50%) scale(1.1);
  transition: 0.5s ease;
  z-index: 5;
}
.js_active.company_link1::after,
.js_active.company_link2::after {
  opacity: 1;
  transform: scale(1) translate(-50%, -50%);
}
.company_link1 {
  overflow: hidden;
  height: 100vh;
}
.company_link1 img {
  height: 100vh;
}
.company_link1 .btn_l {
  bottom: 17%;
}
.company_link1 .btn_l:after {
  background-color: rgba(0, 0, 0, 0.6);
}
.company_link1 .btn_l a::before {
  left: 24%;
}
.company_link2,
.office_link {
  overflow: hidden;
  box-shadow: 0 0 10px rgba(160, 160, 160, 0.5);
}
.company_link2::before,
.office_link::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 140px;
  z-index: 1;
  background-color: rgba(0, 122, 76, 0.7);
  top: 39%;
  left: 0;
  transform: translateY(-50%) skewY(15deg) scaleX(0);
  transform-origin: left;
}
.top_company_blocks .company_link2::before {
  top: 40%;
}
.company_link2::before {
  top: 30%;
}
.office_link::before {
  top: 34%;
}
@keyframes comlinkanm {
  0% {
    transform: translateY(-50%) skewY(15deg) scaleX(0);
  }
  100% {
    transform: translateY(-50%) skewY(15deg) scaleX(1);
  }
}
.view .top_company_blocks:nth-child(2) .company_link2:nth-child(1)::before,
.view .company_link_blocks:nth-child(1) .company_link2:nth-child(1)::before {
  animation: comlinkanm 0.1s linear 0.8s forwards;
}
.view .top_company_blocks:nth-child(2) .company_link2:nth-child(2)::before,
.view .company_link_blocks:nth-child(1) .company_link2:nth-child(2)::before {
  animation: comlinkanm 0.1s linear 1s forwards;
}
.view .top_company_blocks:nth-child(3) .company_link2:nth-child(1)::before,
.view .company_link_blocks:nth-child(2) .company_link2:nth-child(1)::before {
  animation: comlinkanm 0.1s linear 1.2s forwards;
}
.view .top_company_blocks:nth-child(3) .company_link2:nth-child(2)::before,
.view .company_link_blocks:nth-child(2) .company_link2:nth-child(2)::before {
  animation: comlinkanm 0.1s linear 1.4s forwards;
}
.top_company_blocks .ttl_03,
.company_link_blocks .ttl_03 {
  opacity: 0;
}
.view .top_company_blocks:nth-child(1) .ttl_03 {
  opacity: 1;
  transition: 0.5s linear 0.5s;
}
.view .top_company_blocks:nth-child(2) .company_link2:nth-child(1) .ttl_03,
.view .company_link_blocks:nth-child(1) .company_link2:nth-child(1) .ttl_03 {
  opacity: 1;
  transition: 0.5s linear 0.7s;
}
.view .top_company_blocks:nth-child(2) .company_link2:nth-child(2) .ttl_03,
.view .company_link_blocks:nth-child(1) .company_link2:nth-child(2) .ttl_03 {
  opacity: 1;
  transition: 0.5s linear 0.9s;
}
.view .top_company_blocks:nth-child(3) .company_link2:nth-child(1) .ttl_03,
.view .company_link_blocks:nth-child(2) .company_link2:nth-child(1) .ttl_03 {
  opacity: 1;
  transition: 0.5s linear 1.1s;
}
.view .top_company_blocks:nth-child(3) .company_link2:nth-child(2) .ttl_03,
.view .company_link_blocks:nth-child(2) .company_link2:nth-child(2) .ttl_03 {
  opacity: 1;
  transition: 0.5s linear 1.3s;
}
.office_link::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-right: 4px solid #fff;
  border-bottom: 4px solid #fff;
  -webkit-transform: rotate(45deg) translateX(-50%);
  transform: rotate(45deg) translateX(-50%);
  position: absolute;
  left: 50%;
  bottom: 6px;
  -moz-transition-duration: 0.8s;
  -webkit-transition-duration: 0.8s;
  -o-transition-duration: 0.8s;
  -ms-transition-duration: 0.8s;
  transition-duration: 0.8s;
}
.company_link2 img {
  position: absolute;
  top: 0;
  left: 0;
  object-position: 70% 50%;
}
.company_link2 .btn_l::after {
  left: 20%;
  background-color: rgba(0, 0, 0, 0.6);
}
.company_link2 .btn_l a {
  left: 19%;
  padding: 15px 0 15px 33%;
}
.company_link2 .btn_l a::before {
  left: 70%;
}
.company_link2 .btn_r::after {
  left: -20%;
  background-color: rgba(0, 0, 0, 0.6);
}
.company_link2 .btn_r a {
  left: -45%;
  padding: 15px 33% 15px 0;
}
.company_link2 .btn_r a::before {
  left: 92%;
}
.top_company_blocks:nth-child(3) .company_link2:last-child::before,
.company_link_blocks:nth-child(2) .company_link2:last-child::before,
.office_link:last-child::before {
  background-color: rgba(215, 170, 0, 0.5);
}
.partner .top-center-img::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 50%;
  z-index: 1;
  background-color: rgba(0, 122, 76, 0.7);
  top: 12%;
  left: 0;
  transform: translateY(-50%) skewY(-15deg) scaleX(0);
  transform-origin: right;
}
@keyframes partneranm {
  0% {
    transform: translateY(-50%) skewY(-15deg) scaleX(0);
  }
  100% {
    transform: translateY(-50%) skewY(-15deg) scaleX(1);
  }
}
.partner.view .top-center-img::before {
  animation: partneranm 0.1s linear 0.9s forwards;
}
.partner_txt {
  width: 60%;
  padding: 1em 0;
  text-align: center;
  z-index: 3;
}
.partner_txt p {
  color: #fff;
  font-weight: bold;
}
.y_square::after,
.y_square::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #d7aa00;
  opacity: 0;
  transform: scale(0.6);
  transform-origin: center;
  transition: 0.3s ease;
}
.y_square::before {
  width: 110%;
  height: 110%;
  top: -5%;
  left: -5%;
  border: 1px solid #fff;
}
@keyframes y_scale {
  0% {
    transform: scale(0.6);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.view .y_square::after {
  animation: y_scale 0.3s ease 1.3s forwards;
}
.view .js_active .y_square::after {
  border: 1px solid rgba(0, 0, 0, 0);
}
.js_active .y_square::before {
  opacity: 1;
  transform: scale(1);
  transition: 0.4s ease;
}
.y_square p {
  opacity: 0;
}
.view .y_square p {
  animation: fadeUp 0.5s ease 1.3s forwards;
}
.special .top-center-img {
  height: 78%;
  width: 100%;
  bottom: 0;
  position: absolute;
  box-shadow: none;
}
.special-link {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.special .d_f_50::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 60%;
  z-index: 1;
  background-color: rgba(0, 122, 76, 0.7);
  top: 6%;
  left: 0;
  transform: translateY(-50%) skewY(40deg) scaleX(0);
  transform-origin: left;
}
@keyframes spanm {
  0% {
    transform: translateY(-50%) skewY(40deg) scaleX(0);
  }
  100% {
    transform: translateY(-50%) skewY(40deg) scaleX(1);
  }
}
@keyframes spanm2 {
  0% {
    transform: translateY(-50%) skewY(20deg) scaleX(0);
  }
  100% {
    transform: translateY(-50%) skewY(20deg) scaleX(1);
  }
}
.special.view .d_f_50:nth-child(1)::before {
  animation: spanm 0.1s linear 1s forwards;
}
.special.view .d_f_50:nth-child(2)::before {
  animation: spanm 0.1s linear 1.2s forwards;
}
.special .ttl_03 {
  opacity: 0;
  position: relative;
}
.special .ttl_03::after {
  position: absolute;
  content: "";
  height: 120%;
  width: 200px;
  top: -10%;
  left: 50%;
  border: 1px solid #fff;
  transform: translateX(-50%) scale(1.3);
  opacity: 0;
  transition: 0.5s ease;
}
.special a:hover .ttl_03::after {
  transform: translateX(-50%) scale(1);
  opacity: 1;
}
.special .txt_box {
  width: 70%;
  padding: 4% 1%;
  position: absolute;
  left: 50%;
  bottom: 10%;
  transform: translateX(-50%);
  min-height: 170px;
  box-sizing: border-box;
  z-index: 4;
  opacity: 0;
}
.special.view .d_f_50:nth-child(1) .ttl_03,
.special.view .d_f_50:nth-child(1) .txt_box {
  animation: fadeIn 0.5s ease 1s forwards;
}
.special.view .d_f_50:nth-child(2) .ttl_03,
.special.view .d_f_50:nth-child(2) .txt_box {
  animation: fadeIn 0.5s ease 1.2s forwards;
}
.special .txt_box p {
  color: #000;
}
.news {
  background-color: #eee;
}
.news .position_center > span::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -60px;
  height: 1px;
  width: 100%;
  background-color: #d7aa00;
  transform: scaleX(0);
  transform-origin: left;
  transition: 1s ease;
}
.news_lists {
  background-color: #eee;
}
.news_list_inner .news_lists {
  background-color: rgba(0, 0, 0, 0);
}
.news_list {
  padding: 15px 0;
  width: 90%;
  margin: 0 auto;
}
.news_l {
  -webkit-flex: 0 0 25%;
  flex: 0 0 25%;
}
.news_cat {
  background-color: #007a4c;
  padding: 0.5em;
  width: 100px;
  text-align: center;
  font-weight: bold;
  color: #fff;
  font-size: 14px;
}
.news_date {
  color: #000;
}
.news_r {
  -webkit-flex: 0 0 75%;
  flex: 0 0 75%;
}
.news_cont {
  color: #000;
}
.news .position_center > span::after,
.news .position_center::before,
.news .position_center::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  width: 100%;
  background-color: #007a4c;
  transform: scaleX(0);
}
.news .position_center > span::after,
.news .position_center::before {
  transform-origin: right;
}
.news .position_center::after {
  transform-origin: left;
}
.news.view .position_center > span::before,
.news.view .position_center > span::after,
.news.view .position_center::before,
.news.view .position_center::after {
  transform: scaleX(1) translate3d(0, 0, 0);
  transition: 1s ease;
}
.news .position_center::before {
  bottom: -50px;
}
.news .position_center::after {
  bottom: -60px;
}
.news .position_center > span::after {
  bottom: -70px;
}
.sp_contact_wrap {
  display: none;
}
.fp-section.fp-table.sp_site_map {
  display: none;
}
.project-archive.sub_mv {
  background-position: 50% 95%;
}
.thumb {
  width: 50%;
  position: absolute;
  height: 500px;
  top: 0;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
@keyframes thumbanm1 {
  0% {
    transform: translateX(0);
  }
  30% {
    transform: translateX(0%);
  }
  60% {
    transform: translateX(-15%);
  }
  100% {
    transform: translateX(100%);
  }
}
@keyframes thumbanm2 {
  0% {
    transform: translateX(0);
  }
  30% {
    transform: translateX(15%);
  }
  60% {
    transform: translateX(15%);
  }
  100% {
    transform: translateX(-100%);
  }
}
.ImgScroll.view.thumb::after,
.view.thumb::after {
  animation: fadeOut 0.4s linear 1s forwards;
}
.thumb::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.item {
  z-index: 1;
}
.item:nth-child(odd) .thumb {
  left: 0;
}
.item:nth-child(even) .thumb {
  right: 0;
}
.desc_block {
  width: 50%;
  display: table;
  height: 550px;
  box-sizing: border-box;
  background-color: #fff;
  z-index: 3;
  opacity: 0;
}
.view .desc_block {
  animation: fadeUp 0.5s ease 0.7s forwards;
}
.item:nth-child(odd) .desc_block {
  margin-left: auto;
  padding: 40px 0px 40px 30px;
}
.item:nth-child(odd) .desc_block p {
  margin: 60px 45px 0 0;
}
.item:nth-child(even) .desc_block {
  margin-right: auto;
  padding: 40px 0 40px 45px;
}
.item:nth-child(even) .desc_block p {
  margin: 60px 30px 0 0;
}
.ttl_label h3 {
  z-index: 3;
  line-height: 1;
  font-weight: bold;
  padding: 5px 0 10px;
}
.project_list_wrap .two_label:nth-child(odd)::before,
.project_list_wrap .two_label:nth-child(odd)::after {
  right: 0;
}
.project_list_wrap .two_label:nth-child(even)::before,
.project_list_wrap .two_label:nth-child(even)::after,
.top_message_wrap .two_label::before,
.top_message_wrap .two_label::after {
  left: 0;
}
.two_label:nth-child(even)::before,
.two_label:nth-child(even)::after,
.top_message_wrap .two_label::before,
.top_message_wrap .two_label::after {
  transform: translateX(-100%);
}
.two_label:nth-child(even).view::before,
.two_label:nth-child(even).view::after,
.top_message_wrap .two_label.view::before,
.top_message_wrap .two_label.view::after {
  animation: slideRight 0.8s ease 0.5s forwards;
}
.project_list_wrap .item:nth-child(1) {
  padding-bottom: 70px;
}
.project_list_wrap .item:nth-child(2),
.project_list_wrap .item:nth-child(3) {
  margin-top: 70px;
  padding-bottom: 70px;
}
.project_list_wrap .item:nth-child(1) .desc_block .ttl_label::after {
  content: "";
  position: absolute;
  height: 100%;
  width: 115%;
  top: 0;
  right: 0;
  z-index: 0;
  background-color: rgba(0, 122, 76, 0.8);
}
.project_list_wrap .item:nth-child(2) .desc_block .ttl_label::after {
  content: "";
  position: absolute;
  height: 100%;
  width: 120%;
  top: 0;
  left: -45px;
  z-index: 0;
  background-color: rgba(215, 170, 0, 0.8);
}
.project_list_wrap .item:nth-child(3) .desc_block .ttl_label {
  width: 115%;
  margin-left: -15%;
  background-image: linear-gradient(
    105deg,
    rgba(0, 160, 200, 0.8) 0%,
    rgba(0, 160, 200, 0.8) 45%,
    rgba(241, 145, 73, 0.8) 45%,
    rgba(241, 145, 73, 0.8) 100%
  );
}
.project_list_wrap .item:nth-child(3) .desc_block .ttl_label h3 {
  margin-left: 13.5%;
}
.project_list_wrap
  .item:nth-child(3)
  .desc_block
  .ttl_label
  h3
  span:nth-child(2) {
  margin-right: 110px;
}
.project_list_wrap .item:nth-child(odd) .btn_l a {
  left: 35%;
  padding: 15px 0 15px 13%;
}
.project_list_wrap .item:nth-child(odd) .btn_l::after {
  right: 0;
  left: auto;
  width: 75%;
  -webkit-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
.project_list_wrap .item:nth-child(odd) .btn_l a::before {
  left: 30%;
}
.project_list_wrap .item:nth-child(even) .btn_r a {
  left: -55%;
  padding: 15px 27% 15px 0;
}
.project_list_wrap .item:nth-child(even) .btn_r::after {
  left: 0;
  width: 75%;
  -webkit-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
.project_list_wrap .item:nth-child(even) .btn_r a::before {
  left: 92%;
}
.product_tag.sale_tag {
  background-color: #555;
}
.sale_detail .overview_table {
  width: 100%;
}
.sale_detail .overview_table td {
  padding: 18px 0 18px 25px;
}
@media screen and (max-width: 500px) {
  .sale_detail .overview_table td {
    padding: 12px 0 12px 18px;
  }
}
.sale_works {
  padding-bottom: 5%;
}
.sale_works .ttl_02 {
  margin-bottom: 40px;
}
@media screen and (max-width: 500px) {
  .sale_works .ttl_02 {
    margin-bottom: 24px;
  }
}
.sale_works .download-wrap {
  padding: 5% 0 0;
  width: 80%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 500px) {
  .sale_works .download-wrap {
    padding: 10% 0;
    width: 90%;
  }
}
.sale_works .download-button {
  display: block;
  margin: 16px;
  background-color: #007a4c;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
  padding: 14px;
}
@media screen and (max-width: 500px) {
  .sale_works .download-button {
    font-size: 14px;
  }
}
.sale_slider {
  width: 800px;
  margin: auto;
}
@media screen and (max-width: 1024px) {
  .sale_slider {
    width: 75%;
  }
}
@media screen and (max-width: 500px) {
  .sale_slider {
    width: 80%;
  }
}
.sale_slider .product_thumb {
  height: 400px;
}
@media screen and (max-width: 1024px) {
  .sale_slider .product_thumb {
    height: 360px;
  }
}
@media screen and (max-width: 768px) {
  .sale_slider .product_thumb {
    height: 320px;
  }
}
@media screen and (max-width: 500px) {
  .sale_slider .product_thumb {
    height: 200px;
  }
}
.sale_slider dl {
  padding: 20px 10px;
}
@media screen and (max-width: 500px) {
  .sale_slider dl {
    padding: 16px 10px;
  }
}
.sale-contact .contact_form .disabled {
  pointer-events: none;
  background-color: #fafafa;
}
.project_detail_wrap {
  background-color: #eee;
  padding: 3% 0;
}
.project_detail .inner {
  background-color: #fff;
  padding: 2%;
  box-sizing: border-box;
}
.selector {
  position: relative;
  text-align: center;
  width: 250px;
  margin: 0 auto;
  border-bottom: 1px solid #000;
  margin-bottom: 25px;
}
.selector select {
  cursor: pointer;
  background-color: #fff;
  border: none;
  padding: 8px 20px;
  width: 100%;
  -webkit-appearance: none;
}
.project_table_wrap {
  overflow-x: scroll;
  -webkit-transform: translateZ(0px);
  transform: translateZ(0px);
}
.sp_notice {
  display: none;
  text-align: center;
}
#scrollbar {
  width: 100%;
  height: 8px;
  overflow-x: scroll;
  overflow-y: hidden;
}
.scroll_inner {
  width: 1380px;
  height: 1px;
}
#scrollbar::-webkit-scrollbar,
.project_table_wrap::-webkit-scrollbar {
  height: 5px;
  width: 5px;
}
#scrollbar::-webkit-scrollbar-track,
.project_table_wrap::-webkit-scrollbar-track {
  background: #eee;
}
#scrollbar::-webkit-scrollbar-thumb,
.project_table_wrap::-webkit-scrollbar-thumb {
  background: #007a4c;
}
.project_table {
  width: 100%;
}
.project_table td {
  position: relative;
  vertical-align: middle;
}
.project_table td::after {
  content: "";
  position: absolute;
  width: 120%;
  height: 1px;
  left: 7%;
  bottom: 0;
  background-color: #eee;
}
.project_table td:last-child::after {
  width: 100%;
}
.project_table tr:nth-child(1)::after,
.project_table tr:nth-child(2)::after {
  content: none;
}
.project_table_ttl {
  background-color: #313131;
  color: #fff;
  text-align: center;
  padding: 8px 0;
  min-width: 120px;
  border: none;
  font-weight: bold;
}
.project_table_ttl:nth-child(1),
.project_table_ttl:nth-child(4),
.project_table_ttl:nth-child(6) {
  min-width: 260px;
}
.project_table_cont {
  text-align: center;
  height: 50px;
  padding: 12px 0;
  box-sizing: border-box;
}
.project_table_cont .cate_tag {
  padding: 0.5em;
  font-weight: bold;
}
.photo_tag {
  color: #fff;
  background-color: #000;
  padding: 2px 0;
  width: 75px;
}
.business_list {
  width: 100%;
  height: 450px;
  grid-template-columns: 0.3fr 1fr;
  opacity: 0;
}
.business_list .fl {
  position: relative;
}
.business_list .fl::before {
  position: absolute;
  content: "";
  width: 80%;
  height: 80px;
  top: 50%;
  left: 50%;
  border: 1px solid #fff;
  opacity: 0;
  transition: 0.5s ease;
  transform: translate(-50%, -50%) scale(1.1);
}
.business_list.js_active .fl::before {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.view.business_list {
  opacity: 1;
  transition: opacity 0.4s ease;
}
.business_list::before {
  width: 21%;
}
.business_list dl {
  width: 50%;
  padding: 8% 10% 8% 21%;
  opacity: 0;
}
.business_list .btn_l a::before {
  left: 17%;
}
.business_head_wrap .heading_ttl {
  padding: 0 0 40px;
}
.business_detail,
.product_detail {
  padding: 5% 0 10%;
}
.business_detail .thumb,
.product_detail .thumb {
  width: 53%;
}
.item.business_detail dl.desc_block,
.item.product_detail dl.desc_block {
  padding: 6% 5%;
  height: 460px;
}
.business_detail_ttl {
  margin-bottom: 20px;
  font-weight: bold;
}
.item:nth-child(2) .business_detail_ttl {
  margin-bottom: 50px;
}
.business_field {
  background-color: #eee;
  padding: 5% 0;
}
.business_field .d_f {
  padding-top: 4%;
  justify-content: space-between;
  flex-wrap: wrap;
}
.business_field .d_f_49 {
  flex: 0 0 49%;
  -webkit-flex: 0 0 49%;
  max-width: 49%;
  margin-bottom: 3%;
}
.busi_f_img {
  height: 300px;
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
}
.field_name {
  color: #007a4c;
  text-align: center;
  padding: 0.5em 0;
  font-weight: bold;
  border-bottom: 1px solid #000;
}
.field_cont {
  padding: 8px 0 8px 2.5em;
}
.field_cont a {
  color: #000;
  font-weight: bold;
}
.field_cont::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-color: #007a4c;
}
.field_cont::after {
  position: absolute;
  content: "";
  top: 48%;
  left: 12px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg) translateY(-50%);
  transform: rotate(45deg) translateY(-50%);
}
.project_in_business,
.project_in_business .project_list_wrap {
  padding-top: 5%;
}
.project_in_business .project_list_wrap .btn_l a::after {
  background-color: rgba(255, 255, 255, 0.1);
}
.project_in_business .project_list_wrap .environment .btn_l a {
  background-color: rgba(0, 122, 76, 0.8);
}
.project_in_business .project_list_wrap .civil-engineering .btn_l a {
  background-color: rgba(215, 170, 0, 0.8);
}
.project_in_business .project_list_wrap .aqua-tech .btn_l a,
.project_in_business .project_list_wrap .facility .btn_l a {
  background-image: linear-gradient(
    105deg,
    rgba(0, 160, 200, 0.8) 0%,
    rgba(0, 160, 200, 0.8) 40%,
    rgba(241, 145, 73, 0.8) 40%,
    rgba(241, 145, 73, 0.8) 100%
  );
}
.system_desc {
  padding: 8% 0 5%;
}
.system_desc .thumb {
  width: 55%;
  z-index: 2;
}
.system_desc .inner {
  position: relative;
  z-index: 1;
}
.system_desc .item .desc_block {
  padding: 40px 65px 40px 110px;
  height: 450px;
}
.system_desc .item .desc_block h3 {
  position: relative;
  color: #000;
  display: inline-block;
}
.r-logo::after {
  content: url("../img/business/r.svg");
  width: 14px;
  position: absolute;
  top: -10px;
  right: -14px;
  display: inline-block;
}
.tm-logo::after {
  content: url("../img/business/tm.svg");
  width: 14px;
  height: 14px;
  position: absolute;
  top: -14px;
  right: -14px;
  display: inline-block;
}
.system_desc .item .desc_block h3 span {
  display: block;
}
.g_thumb {
  position: absolute;
  z-index: -1;
  bottom: 0;
  right: 0;
  width: 75%;
  background-size: cover;
  background-repeat: no-repeat;
  height: 400px;
  opacity: 0;
  transform: translateX(10%);
  transition: 0.5s ease 0.5s;
}
.g_thumb::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 122, 76, 0.7);
}
.g_thumb.view {
  opacity: 0.7;
  transform: translateX(0%);
}
.system_desc .thumb {
  height: 400px;
}
.system_desc .desc_block dt:nth-child(1) {
  margin-bottom: 0.5em;
}
.system_desc .desc_block dd:nth-child(3) {
  margin: 2em 0;
  text-align: center;
}
.system_desc .desc_block dd:nth-child(4) {
  text-align: center;
}
.field_tag {
  width: 240px;
  color: #fff;
  display: inline-block;
  text-align: center;
  padding: 1em;
}
.top_b_line {
  position: relative;
}
.top_b_line::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  top: 90px;
  background-color: #000;
}
.sys_overview,
.sys_detail {
  padding: 40px 0;
}
.g_symbol {
  position: relative;
  padding-left: 2em;
}
.g_symbol::before {
  position: absolute;
  content: "";
  left: 0.3em;
  top: 50%;
  transform: translateY(-50%);
  width: 1.2em;
  height: 10px;
  background: linear-gradient(
    165deg,
    #007a4c 0%,
    #007a4c 50%,
    #004d30 50%,
    #004d30 100%
  );
}
.sys_overview_txt {
  padding: 80px;
  box-sizing: border-box;
}
.sys_feature {
  padding: 80px 0;
}
.sys_feature.top_b_line::before {
  top: 130px;
}
.sys_feature_lists {
  flex-wrap: wrap;
  padding: 50px;
}
.sys_feature_desc {
  padding: 30px 75px;
}
.sys_feature_ttl {
  margin-bottom: 2em;
}
.sys_feature_num {
  transform: skewX(-8deg);
  display: inline-block;
}
.sys_feature_txt {
  line-height: 1.8;
}
.sys_detail .sc::after {
  background: linear-gradient(
    90deg,
    #007a4c 0%,
    #007a4c 50%,
    #eee 50%,
    #eee 100%
  );
}
.sys_detail .sc4::after {
  background-image: linear-gradient(
    90deg,
    #d7aa00 0%,
    #d7aa00 50%,
    #eee 50%,
    #eee 100%
  );
}
.sys_detail::before,
.sys_detail::after,
.sys_detail_inner::before,
.sys_detail_inner::after {
  position: absolute;
  content: "";
  height: 1px;
  width: 100%;
  left: 0;
}
.sys_detail::before,
.sys_detail_inner::before,
.sys_detail_inner::after {
  background-color: #007a4c;
}
.sys_detail::before {
  top: 90px;
}
.sys_detail::after {
  bottom: 25px;
}
.sys_detail_inner::before {
  top: 100px;
}
.sys_detail_inner::after {
  top: 110px;
}
.sys_detail::after {
  background-color: #d7aa00;
}
.sys_detail_inner {
  padding-top: 80px;
}
.sys_detail_inner .thumb {
  background-size: contain;
  background-position: top;
  z-index: 8;
}
.sys_detail_inner .thumb::after,
.sys_detail_desc {
  background-color: #eee;
}
.sys_detail .item:nth-child(odd) .sys_detail_desc {
  margin-left: auto;
  padding: 95px 0 40px 45px;
}
.sys_detail .item:nth-child(odd) .sys_detail_desc.have_h4 {
  padding: 155px 0 40px 45px;
}
.sys_detail .item:nth-child(even) .sys_detail_desc {
  margin-right: auto;
  padding: 95px 45px 40px 0;
}
.sys_detail .item:nth-child(even) .sys_detail_desc.have_h4 {
  padding: 155px 45px 40px 0;
}
.sys_detail_desc ol {
  counter-reset: list-count;
  list-style: none;
}
.sys_detail_desc ol > li::before {
  content: counter(list-count) ".";
  counter-increment: list-count;
  font-weight: bold;
  position: absolute;
  left: 0;
}
.sys_detail_desc li {
  line-height: 2;
  position: relative;
  padding-left: 1.5em;
}
.sys_detail_tag {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #007a4c;
}
.item:last-child .sys_detail_tag {
  background-color: #d7aa00;
}
.sys_detail .item:nth-child(odd) .sys_detail_tag {
  padding: 1.2em 0 1.2em 40px;
}
.sys_detail .item:nth-child(even) .sys_detail_tag {
  padding: 1.2em 0 1.2em 0;
}
.sys_detail_tag::after {
  position: absolute;
  top: 0;
  content: "";
  height: 100%;
  width: 100%;
}
.sys_detail .item:nth-child(odd) .sys_detail_tag::after {
  right: -100%;
}
.sys_detail .item:nth-child(even) .sys_detail_tag::after {
  left: -100%;
}
.sys_detail_tag::after {
  background-color: #007a4c;
}
.item:last-child .sys_detail_tag::after {
  background-color: #d7aa00;
}
.sys_detail_tag h4 {
  display: inline-block;
  position: relative;
}
.sys_detail_tag h4 span {
  display: block;
  line-height: 1;
}
.sys_detail_tag .r-logo::after {
  content: url("../img/business/r-w.svg");
}
.sys_detail_tag .tm-logo::after {
  content: url("../img/business/tm-w.svg");
}
.flow_thumb {
  text-align: center;
  padding: 5% 0 3%;
}
.flow_thumb a {
  width: 50%;
}
.flow_txt {
  padding: 0 8%;
}
.view .y_square.philosophy_theme p {
  animation: fadeUp 0.5s ease 0.5s forwards;
}
.y_square.philosophy_theme::after {
  transition: 0.3s ease 0.8s;
}
.com_philosophy {
  padding: 5% 0;
  position: relative;
}
.com_philosophy_bg {
  position: absolute;
  height: 100%;
  width: 100%;
  opacity: 0.4;
  background-image: url("../img/company/worldmap.png");
  background-position: 50% 15%;
  background-size: 70%;
  background-repeat: no-repeat;
}
.philosophy_theme {
  width: 60%;
  padding: 0.8em 0;
  text-align: center;
  margin: 5% auto;
}
.philosophy_list {
  position: relative;
  padding: 1.5em 0;
}
.philosophy_list .g_symbol {
  min-width: 172px;
  box-sizing: border-box;
  z-index: 3;
  opacity: 0;
}
.philosophy_list .view .g_symbol {
  opacity: 1;
  transition: 0.5s ease 0.7s;
}
.philosophy_list_thumb {
  position: absolute;
  left: 0;
  height: 120px;
  width: 35%;
  background-size: cover;
  background-repeat: no-repeat;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  transform: translateX(-99.9%);
}
.philosophy_list_thumb.view {
  animation: slideRight 0.5s ease 0.3s forwards;
}
.philosophy_list_thumb::before {
  content: "";
  position: absolute;
  width: 120%;
  height: 140px;
  z-index: 1;
  background-color: rgba(0, 122, 76, 0.7);
  top: -4%;
  left: 0;
  transform: translateY(-50%) skewY(15deg) scaleX(0);
  transform-origin: left;
}
.philosophy_list_thumb.view::before {
  transform: translateY(-50%) skewY(15deg) scaleX(1);
  transition: 0.5s ease 0.5s;
}
.philosophy_list:nth-child(3) .philosophy_list_thumb::before {
  background-color: rgba(215, 170, 0, 0.5);
}
.philosophy_list_desc {
  display: table;
  width: 61%;
  margin-left: auto;
  padding: 10px;
  min-height: 120px;
  box-sizing: border-box;
}
.com_thought {
  padding: 5% 0;
}
.com_thought_txt {
  padding: 50px 0;
}
.company_link_blocks .btn_r a,
.company_link_blocks .btn_l a {
  width: 50%;
}
.company_link_blocks .company_link2 .btn_r a {
  padding: 15px 16% 15px 0;
}
.company_link_blocks .company_link2 .btn_l a {
  left: 41%;
  padding: 15px 0 15px 12%;
}
.company_link_blocks .company_link2 .btn_l a::before {
  left: 62%;
}
.company_link_blocks .btn_r a::before {
  left: 90%;
}
.company_link_blocks .btn_r::after,
.company_link_blocks .btn_l::after {
  width: 40%;
}
.company_link_blocks .btn_l::after {
  left: 65%;
}
.company_link_blocks .btn_r::after {
  left: -5%;
}
.top_message_wrap {
  padding: 5% 0 15%;
}
.top_message_wrap .two_label::before {
  bottom: -8%;
}
.top_message_wrap .two_label::after {
  bottom: -14%;
  background-color: rgba(0, 122, 76, 0.7);
}
.top_message_wrap .d_f {
  flex-wrap: wrap;
}
.top_thumb,
.top_thumb img {
  width: 310px;
}
.top_message_desc {
  width: 65%;
  box-sizing: border-box;
  padding: 15px 0 10% 60px;
}
.top_message_ttl {
  margin-bottom: 1em;
  font-weight: bold;
}
.top_name {
  padding: 15px 0 15px 50px;
  position: absolute;
  top: 360px;
}
.overview_wrap,
.history_wrap,
.news_list_wrap {
  background-color: #eee;
  padding: 30px 0;
}
.news_list_wrap {
  background-color: rgba(0, 0, 0, 0);
}
.overview_inner {
  background-color: #fff;
  padding: 40px 50px;
}
.overview_table th,
.partner_table th {
  width: 25%;
  text-align: center;
  vertical-align: middle;
  position: relative;
}
.overview_table th {
  width: 20%;
  font-weight: bold;
}
.overview_table th::before,
.partner_table th::before,
.overview_table th::after,
.partner_table th::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 3px;
  left: 0;
  top: -1px;
  transform-origin: left;
  transform: scaleX(0);
  background-color: #555;
  transition: 0.5s ease 0.3s;
}
.overview_table .view th::before,
.partner_table .view th::before,
.overview_table .view th::after,
.partner_table .view th::after,
.overview_table tr.view:last-child th::after,
.partner_table tr.view:last-child th::after,
.overview_table .view td::before,
.partner_table .view td::before,
.overview_table .view td::after,
.partner_table .view td::after,
.overview_table tr.view:last-child td::after,
.partner_table tr.view:last-child td::after {
  transform: scaleX(1);
}
.overview_table tr:last-child th::after,
.partner_table tr:last-child th::after {
  top: auto;
  bottom: -1px;
}
.overview_table td,
.partner_table td {
  padding: 2em 0 2em 3em;
  vertical-align: middle;
  position: relative;
}
.overview_table td a:visited,
.partner_table td a:visited {
  color: blue;
}
.overview_table td::before,
.partner_table td::before,
.overview_table td::after,
.partner_table td::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  left: 0;
  top: 0;
  transform: scaleX(0);
  transition: 0.5s ease 0.6s;
  transform-origin: left;
  background-color: #d2d2d2;
}
.partner_table td::before,
.partner_table td::after {
  background-color: #555;
}
.overview_table tr:last-child td::after,
.partner_table tr:last-child td::after {
  top: auto;
  bottom: 0;
}
.group_logo {
  width: 150px;
  margin-bottom: 0.5em;
}
.sp_list {
  display: none;
}
.office_links {
  margin: 5% 0;
}
.office_link {
  height: 300px;
  justify-content: center;
  align-items: center;
  opacity: 0;
}
.office_link:nth-child(1) {
  transition: 0.4s ease;
  z-index: 4;
}
.view .office_link:nth-child(1)::before {
  transform: translateY(-50%) skewY(15deg) scaleX(1);
  transition: 0.1s ease 0.5s;
}
.office_link:nth-child(2) {
  transition: 0.4s ease 0.2s;
  z-index: 3;
}
.view .office_link:nth-child(2)::before {
  transform: translateY(-50%) skewY(15deg) scaleX(1);
  transition: 0.1s ease 0.7s;
}
.office_link:nth-child(3) {
  transition: 0.4s ease 0.4s;
  z-index: 2;
}
.view .office_link:nth-child(3)::before {
  transform: translateY(-50%) skewY(15deg) scaleX(1);
  transition: 0.1s ease 0.9s;
}
.office_link:nth-child(4) {
  transition: 0.4s ease 0.6s;
  z-index: 1;
}
.view .office_link:nth-child(4)::before {
  transform: translateY(-50%) skewY(15deg) scaleX(1);
  transition: 0.1s ease 1.1s;
}
.view .office_link {
  opacity: 1;
}
.office_link_bg {
  position: absolute;
  height: 100%;
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  filter: brightness(0.8);
  transition: filter 0.5s ease;
}
.office_link:hover .office_link_bg {
  filter: brightness(1);
}
.office_link h2 {
  position: relative;
  z-index: 3;
  text-align: center;
  opacity: 0;
}
.office_link h2::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 150%;
  height: 150%;
  border: 1px solid #fff;
  opacity: 0;
  transform: translate(-50%, -50%) scale(1.2);
  transform-origin: center;
  transition: 0.3s;
  content: "";
}
.office_link:hover h2::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.view .office_link:nth-child(1) h2 {
  opacity: 1;
  transition: 0.5s ease 0.5s;
}
.view .office_link:nth-child(2) h2 {
  opacity: 1;
  transition: 0.5s ease 0.7s;
}
.view .office_link:nth-child(3) h2 {
  opacity: 1;
  transition: 0.5s ease 0.9s;
}
.view .office_link:nth-child(4) h2 {
  opacity: 1;
  transition: 0.5s ease 1.1s;
}
.big_num {
  font-size: 50px;
  line-height: 1.2;
}
.office_list {
  padding-top: 60px;
}
.office_location,
.office_detail,
.office_movie,
.office_map {
  position: relative;
  margin-bottom: 8%;
  z-index: 3;
}
.office_detail {
  z-index: -1;
  transition: 0.5s ease 1s;
}
.office_detail.view {
  z-index: 3;
}
.office_list:nth-child(even) .sc::after {
  background: linear-gradient(
    90deg,
    #007a4c 0%,
    #007a4c 50%,
    #eee 50%,
    #eee 100%
  );
}
.office_list:nth-child(even) .sc4::after {
  background-image: linear-gradient(
    90deg,
    #d7aa00 0%,
    #d7aa00 50%,
    #eee 50%,
    #eee 100%
  );
}
.office_map {
  margin-bottom: 0;
  padding-bottom: 5%;
}
.office_location .thumb {
  width: 55%;
  height: 400px;
  z-index: 5;
}
.office_list .g_thumb {
  z-index: 0;
}
.office_location .desc_block {
  height: 450px;
}
.office_location h2 {
  text-align: center;
}
.office_detail .thumb {
  width: 52%;
  z-index: 3;
}
.item .office_detail .desc_block,
.office_list:nth-child(even) .office_detail .desc_block {
  padding: 0 0 0 60px;
  width: 45%;
}
.office_list:nth-child(odd) .desc_block p,
.office_list:nth-child(even) .desc_block p {
  margin: 0;
}
.office_detail .g_symbol {
  padding-left: 3em;
}
.office_detail .thumb,
.office_detail .desc_block {
  height: 400px;
}
.i_tel,
.i_fax {
  position: relative;
  padding-left: 1.4em;
}
.icon_tel,
.icon_fax {
  position: absolute;
  left: 0;
  top: 45%;
  transform: translateY(-50%);
  width: 14px;
}
.office_detail dt,
.office_detail dd {
  margin-bottom: 1.5em;
}
.office_detail dd:last-child {
  margin-bottom: 0;
}
.b_label {
  position: relative;
  padding: 8px 0;
  width: 200px;
  margin: 0 auto;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.7);
}
.b_label::before {
  content: "";
  position: absolute;
  height: 100%;
  width: 50vw;
  top: 0;
  right: -50vw;
  background-color: rgba(0, 0, 0, 0.7);
}
.office_map .b_label::before {
  right: auto;
  left: -50vw;
}
.office_content {
  margin-top: 5%;
}
.office_content iframe {
  width: 100%;
  height: 550px;
  margin-top: 5%;
}
.g_bar {
  content: "";
  position: absolute;
  width: 100px;
  height: 75%;
  background-color: rgba(0, 122, 76, 0.8);
  top: 510px;
  left: 46.1%;
  transform-origin: top;
}
.office_list:nth-child(even) {
  background-color: #eee;
}
.office_list:nth-child(even) .thumb {
  left: 0;
}
.office_list:nth-child(even) .thumb::after {
  background-color: #eee;
}
.office_list:nth-child(even) .desc_block {
  margin-right: 0;
  margin-left: auto;
  background-color: #eee;
  padding: 40px 0px 40px 30px;
}
.office_list:nth-child(even) .g_txt {
  color: #d7aa00;
}
.office_list:nth-child(even) .g_thumb::after {
  background-color: rgba(215, 170, 0, 0.7);
}
.office_list:nth-child(even) .g_bar {
  background-color: rgba(215, 170, 0, 0.8);
}
.history_inner {
  background-color: #fff;
  padding: 30px 40px;
}
.history_table {
  width: 100%;
}
.history_table th {
  position: relative;
  text-align: center;
  vertical-align: middle;
  padding: 8px 0;
}
.history_table th:after {
  position: absolute;
  content: "";
  height: 1px;
  width: 100%;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: #000;
}
.history_table th span {
  font-weight: bold;
}
.history_table td {
  position: relative;
  vertical-align: middle;
}
.history_table td::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 100%;
  left: 0;
  bottom: -50%;
  background-color: rgba(0, 122, 76, 0.8);
}
.history_table tr:last-child td::before {
  content: none;
}
.history_desc {
  position: relative;
  display: block;
  background-color: rgba(0, 122, 76, 0.8);
  padding: 2px 0 2px 30px;
}
.history_desc::before {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  background-color: #d7aa00;
  left: -8px;
  top: 50%;
  transform: translateY(-50%);
}
.product_list_wrap {
  padding: 3% 0;
}
.product_list_inner {
  background-color: #fff;
}
.product_select {
  padding: 2% 0;
  text-align: center;
}
.select_wrap {
  width: 300px;
  text-align: center;
  display: inline-block;
  border-bottom: 1px solid #000;
}
.select_wrap::before,
.selector::before {
  content: "▲";
  position: absolute;
  right: 0;
  top: 8px;
  font-size: 0.5em;
  transform: scale(0.8);
}
.select_wrap::after,
.selector::after {
  content: "▼";
  position: absolute;
  right: 0;
  bottom: 8px;
  font-size: 0.5em;
  transform: scale(0.8);
}
.product_select select {
  -webkit-appearance: none;
  padding: 8px 20px;
  width: 300px;
  border: none;
  background: #fff;
}
.product_cards {
  padding: 30px;
  flex-wrap: wrap;
  justify-content: space-between;
}
.product_card {
  flex-wrap: wrap;
}
.product_img,
.product_img img {
  height: 280px;
}
.product_info {
  padding: 10px 20px 40px;
  min-height: 175px;
  box-sizing: border-box;
  color: #000;
}
.product_info dt {
  padding: 3% 0;
}
.pager {
  padding: 3% 0;
}
.page-numbers {
  text-align: center;
}
.page-numbers li {
  display: inline-block;
}
.page-numbers li a,
.page-numbers li span {
  display: block;
  color: #fff;
  width: 24px;
  background-color: #333;
  padding: 2px 4px;
  box-sizing: border-box;
  font-weight: bold;
}
.page-numbers.current {
  background-color: #007a4c;
}
.page-numbers.prev,
.page-numbers.next {
  color: rgba(0, 0, 0, 0);
  position: relative;
}
.page-numbers.prev::before,
.page-numbers.next::before {
  position: absolute;
  content: "";
  top: 56%;
  left: 25%;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg) translate(-50%, -50%);
  transform: rotate(45deg) translate(-50%, -50%);
  transform-origin: center;
}
.page-numbers.prev::before {
  top: 40%;
  left: 35%;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
.product_catch,
.news_catch {
  padding: 15px 40px 15px 25px;
  background-color: rgba(0, 0, 0, 0.8);
  color: #fff;
  position: absolute;
  bottom: 60px;
  left: 10%;
  max-width: 65%;
}
.product_catch::before,
.news_catch::before {
  position: absolute;
  content: "";
  height: 100%;
  width: 100%;
  top: 0;
  left: -100%;
  background-color: rgba(0, 0, 0, 0.8);
}
.product_head_wrap {
  padding-top: 5%;
}
.product_slider .product_tags {
  position: absolute;
  top: 10px;
  right: 30px;
  width: auto !important;
}
.thumb-item,
.thumb-item-nav {
  width: 800px;
  margin: 0 auto;
}
.thumb-item {
  margin: 0 auto 20px;
}
.slider.thumb-item .slick-slide div {
  width: 96.5%;
}
.product-thumb {
  width: 100%;
  position: relative;
}
.product-thumb,
.product-thumb img {
  height: 400px;
}
.product-thumb-min,
.product-thumb-min img {
  height: 120px;
}
.product-thumb-min {
  opacity: 0.6;
  transition: opacity 0.5s ease;
  cursor: pointer;
}
.slick-current .product-thumb-min {
  opacity: 1;
}
.product_detail_wrap {
  padding-top: 5%;
}
.product_detail:last-child {
  padding: 5% 0;
}
.product_detail_wrap::before,
.product_detail_wrap::after,
.product_detail_wrap .g_line_w::before,
.product_detail_wrap .g_line_w::after {
  position: absolute;
  content: "";
  left: 0;
  height: 1px;
  width: 100%;
  background-color: #007a4c;
}
.product_detail_wrap::before {
  top: 0px;
}
.product_detail_wrap .g_line_w::before {
  top: 10px;
}
.product_detail_wrap .g_line_w::after {
  top: 20px;
}
.product_detail_wrap::after {
  bottom: 20px;
  background-color: #d7aa00;
}
.item.product_detail dl.desc_block {
  padding: 4% 5%;
}
.product_detail dt,
.product_detail dd {
  margin-bottom: 1em;
}
.product_detail .thumb {
  background-position: center;
  background-size: 85%;
}
.anchorWrap {
  margin-top: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 50px;
}
.anchorButton {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 250px;
  width: 90%;
  height: 45px;
  background-color: #787878;
  color: #fff;
  line-height: 1;
  transition: background-color 0.3s;
}
.anchorButton:before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%) rotate(45deg);
  right: 20px;
  width: 5px;
  height: 5px;
  border: 1px solid;
  border-color: #fff #fff rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
  transition: transform 0.3s;
}
.anchorButton:hover {
  background-color: #007a4c;
  opacity: 1;
}
.anchorButton:hover:before {
  transform: translate(6px, -50%) rotate(45deg);
}
@media screen and (max-width: 650px) {
  .anchorWrap {
    flex-direction: column;
    gap: 30px 0;
  }
}
.downloadSec {
  padding-top: 95px;
}
.downloadSec_txt {
  text-align: center;
  padding: 5% 0;
  width: 80%;
  margin: 0 auto;
}
.downloadLink {
  display: table;
  margin: auto;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.contact_form_wrap {
  background-color: #eee;
  padding: 70px 0 5%;
}
.contact_form_wrap .ttl_02 {
  margin-bottom: 30px;
}
.contact_head_wrap .heading_txt {
  padding: 70px 20px;
  box-sizing: border-box;
  width: 75%;
}
.contact_head_wrap .heading_txt p {
  text-align: left;
}
.contact_head_wrap .heading_txt a {
  font-weight: bold;
}

.contact_form {
  padding: 20px 4%;
  background-color: #fff;
}
.contact_form .req {
  background-color: #d7aa00;
  color: #fff;
  font-weight: bold;
  padding: 2px 10px;
  border-radius: 5px;
  margin: 0 2px;
}
th .req {
  float: right;
}
.contact_form table {
  padding: 0 5%;
  margin: 0 auto;
  width: 100%;
}
.contact_form input::placeholder,
.contact_form textarea::placeholder {
  color: #ddd;
}
.contact_form tr {
  border-bottom: 1px solid #d2d2d2;
}
.contact_form th {
  width: 35%;
  vertical-align: middle;
  padding: 15px 10px 15px 30px;
  background-color: #eee;
}
.contact_form tr:last-child th {
  vertical-align: top;
}
.contact_form td {
  width: 65%;
  padding: 15px 10px;
}
.contact_form .d_f {
  justify-content: space-between;
}
.mwform-radio-field {
  display: block;
  padding: 6px 0 6px 20px;
}
.mwform-radio-field label {
  cursor: pointer;
}
.mwform-radio-field-text {
  position: relative;
  padding-left: 30px;
}
.mwform-radio-field-text:before {
  position: absolute;
  top: 50%;
  left: 5px;
  margin-top: -7px;
  width: 6px;
  height: 8px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  content: "";
  opacity: 0;
  -webkit-transform: rotate(45deg) scale(0.8);
  -ms-transform: rotate(45deg) scale(0.8);
  transform: rotate(45deg) scale(0.8);
  transition: 0.2s;
  z-index: 2;
}
.mw_wp_form.mw_wp_form_complete {
  padding-top: 5%;
  text-align: center;
}
input[type="radio"] {
  -webkit-appearance: none;
  display: none;
}
input[type="radio"]:checked + .mwform-radio-field-text:before {
  opacity: 1;
  -webkit-transform: rotate(45deg) scale(1);
  -ms-transform: rotate(45deg) scale(1);
  transform: rotate(45deg) scale(1);
}
.mwform-radio-field-text:after {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -10px;
  width: 16px;
  height: 16px;
  border: 1px solid #007a4c;
  border-radius: 50%;
  content: "";
  transition: 0.2s;
}
input[type="radio"]:checked + .mwform-radio-field-text:after {
  background-color: #007a4c;
}
td.contact_desc {
  text-align: center;
  padding: 30px 0 50px;
}
.contact_form input:not([type="reset"]),
.contact_form textarea {
  width: 100%;
  border: 1px solid #ddd;
  font-size: 16px;
  padding: 8px 0 8px 16px;
  box-sizing: border-box;
  -webkit-appearance: none;
  border-radius: 0px;
}
.contact_form textarea {
  margin: 15px 0 0 15px;
  width: 95%;
}
.contact_form input.contact_name {
  width: 45%;
  margin-right: 8%;
}
.contact_form input.contact_name:nth-child(2) {
  margin-right: 0;
}
.contact_form input[type="text"].contact_tel {
  width: 28%;
  margin: 0 7px;
}
.contact_form input.contact_tel:first-child {
  margin: 0 7px 0 0;
}
.contact_form input.contact_tel:last-child {
  margin: 0 0 0 7px;
}
.contact_label {
  margin-top: 4%;
  background-color: #eee;
  padding: 10px;
}
.contact_info {
  padding: 3% 0;
}
.privacy {
  padding: 5% 0;
}
.privacy p {
  padding: 0 10px;
}
.entry_btnarea {
  text-align: center;
}
.resetbtn,
.submitbtn {
  cursor: pointer;
  position: relative;
  width: 82%;
  color: #fff;
  background-color: #007a4c;
  border: none;
  padding: 13px 0;
  margin: 0 auto;
  font-weight: bold;
  box-sizing: border-box;
  margin-bottom: 20px;
  transition: 0.5s ease;
  -webkit-appearance: none;
  border-radius: 0px;
}
.resetbtn:hover,
.submitbtn:hover {
  opacity: 0.7;
}
.contact_ttl {
  border-left: 8px solid #007a4c;
  padding-left: 1em;
  position: relative;
  margin-bottom: 5%;
  line-height: 2.5;
}
.contact_ttl::after {
  position: absolute;
  content: "";
  height: 1px;
  width: 100%;
  bottom: 0;
  left: 0;
  background-color: #888;
}
label[for="form_clear"] {
  position: relative;
  width: 82%;
  display: block;
  margin: 0 auto 20px;
}
button[name="submitBack"] {
  display: block;
  cursor: pointer;
  position: relative;
  width: 82%;
  color: #fff;
  background-color: #000;
  border: none;
  padding: 13px 0;
  margin: 0 auto;
  font-weight: bold;
  box-sizing: border-box;
  margin-bottom: 20px;
  transition: 0.5s ease;
  -webkit-appearance: none;
  border-radius: 0px;
}
button[name="submitBack"]::after,
.submitbtn::after {
  position: absolute;
  content: "";
  top: 40%;
  right: 35%;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
button[name="submitBack"]::after {
  left: 35%;
  right: auto;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
.resetbtn {
  background-color: #888;
  margin-bottom: 0;
  width: 100%;
}
.callbtn_area {
  text-align: center;
}
.callbtn {
  position: relative;
  padding-left: 50px;
  display: inline-block;
  margin: 50px auto;
}
.callbtn::after {
  position: absolute;
  content: "";
  height: 1px;
  width: calc(100% - 50px);
  left: 50px;
  bottom: 0;
  background-color: #007a4c;
}
.callbtn img {
  width: 35px;
  position: absolute;
  left: 0;
  top: 4px;
}
.contact_info dl {
  margin-bottom: 25px;
  padding: 0 10px;
}
.news_list_wrap {
  position: relative;
  padding: 0;
}
.news_list_wrap::before,
.news_list_wrap::after {
  position: absolute;
  content: "";
  height: 100%;
  width: 8%;
  top: 0;
  left: 0;
  background-color: #eee;
}
.news_list_wrap::after {
  left: auto;
  right: 0;
}
.news_list_inner {
  padding: 60px 80px;
  position: relative;
}
.news_list_inner::before,
.news_list_inner::after {
  position: absolute;
  content: "";
  height: 40px;
  width: 140vw;
  top: 0;
  left: -20vw;
  background-color: #eee;
}
.news_list_inner::after {
  top: auto;
  bottom: 0;
}
.news_list_inner .news_list {
  width: 100%;
}
.news_list_inner .news_l {
  -webkit-flex: 0 0 30%;
  flex: 0 0 30%;
}
.news_list_inner .news_r {
  -webkit-flex: 0 0 70%;
  flex: 0 0 70%;
}
.news_list_inner .pager {
  padding: 3% 0 0;
}
.news_page_wrap {
  background-color: #fff;
}
.news_page_inner {
  padding: 5% 8%;
}
.news_head {
  text-align: center;
  padding-bottom: 5%;
}
.news_head .news_date {
  padding: 3% 0;
  display: inline-block;
}
.news_thumb {
  display: block;
  text-align: center;
}
.news_thumb,
.news_thumb img {
  height: 550px;
}
.news_desc p {
  padding: 40px 30px 60px;
}
.news_desc a {
  color: blue;
}
.news_desc iframe {
  width: 100%;
  height: 500px;
}
.partner_recruit {
  padding: 5% 0;
}
.partner_recruit_inner {
  padding: 40px 100px;
}
.partner_table {
  width: 100%;
}
.partner_table th {
  width: 30%;
  font-weight: bold;
}
.partner_voice {
  padding-top: 5%;
}
.voice_item {
  margin: 5% 0;
}
.voice_desc {
  height: 500px;
}
.partner_voice_inner .item:nth-child(odd) .desc_block p {
  margin: 30px 45px 0 0;
}
.partner_voice_inner .item:nth-child(even) .thumb {
  right: auto;
}
.partner_voice_inner .item:nth-child(even) .desc_block {
  margin-right: 0;
  margin-left: auto;
  padding: 40px 0px 40px 30px;
}
.sitemap_head {
  height: 50vh;
}
.sitemap_head .sitemap {
  padding: 10% 20px 0 0;
  justify-content: space-between;
}
.sitemap_head .sitemap .f16 {
  font-size: inherit;
}
.sitemap_head .sitemap_list {
  -webkit-flex: 0 0 16.6%;
  flex: 0 0 16.6%;
  max-width: 16.6%;
  box-sizing: border-box;
  text-align: left;
  position: relative;
}
.sitemap_head .sitemap_list dt::after,
.sitemap_head .sitemap_list dd::after {
  right: -8px;
}
.sitemap_list .green_border::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  width: 115%;
  background: #007a4c;
}
.contact_inner .contact_btn::after {
  top: 42.5%;
}
.search_result_inner {
  padding: 100px 0;
}
.result_lists {
  padding: 0 10%;
}
ul.result_lists {
  padding: 5% 10%;
}
.result_list a {
  position: relative;
  color: #000;
  padding: 10px 0;
}
.result_list a::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #007a4c;
  bottom: 0;
  left: 0;
  transform: scale(0);
  transform-origin: left;
  transition: 0.5s ease;
}
.result_list a:hover:after {
  transform: scale(1);
}
.result_l {
  flex: 0 0 25%;
  text-align: center;
}
.result_r {
  flex: 0 0 75%;
  text-align: left;
}
@media screen and (min-width: 1600px) {
  .system_desc .thumb {
    width: 52%;
  }
  .partner .top-center-img::before {
    height: 60%;
    top: 4%;
  }
}
@media screen and (max-height: 860px) {
  .product .line1::before {
    top: -70px;
  }
  .product .line2::before {
    top: -60px;
  }
  .product .line2::after {
    top: -50px;
  }
  .top .ttl_02,
  .contact_wrap .ttl_02 {
    padding-top: 74px;
  }
}
@media screen and (max-height: 768px) {
  .fnc-slide__heading-line {
    font-size: 70px;
  }
  .fnc-slide__mask {
    width: 62vh;
  }
  .scroll_btn {
    bottom: -35px;
  }
  .project.view .top-center-img,
  .partner.view .top-center-img,
  .position_center {
    top: 55%;
  }
  .top_company_blocks .ttl_03,
  .company_link_blocks .ttl_03 {
    top: 50%;
  }
  .project .top-center-img,
  .partner .top-center-img {
    top: 60%;
  }
  .btn_l,
  .btn_r {
    bottom: 3%;
  }
  .top .ttl_02,
  .contact_wrap .ttl_02 {
    padding-top: 70px;
  }
  .business .position_center a {
    height: 175px;
  }
  .product .line1::before {
    top: -30px;
  }
  .product .line2::before {
    top: -14px;
  }
  .product .line2::after {
    top: -22px;
  }
  .product .line1::after {
    bottom: -15px;
  }
  .top-center-img,
  .top-center-img img {
    height: 350px;
  }
  .btn_l a {
    padding: 10px 0 10px 8.5%;
  }
  .btn_r a {
    padding: 10px 8.5% 10px 0;
  }
  .company_link2 .btn_r a {
    padding: 10px 33% 10px 0;
  }
  .company_link2 .btn_l a {
    padding: 10px 0 10px 33%;
  }
  .special .top-center-img {
    height: 72%;
  }
  .special .d_f_50::before {
    top: -10%;
  }
  .special .txt_box {
    min-height: 140px;
    padding: 2%;
    bottom: 4%;
  }
  .special .position_center {
    top: 50%;
  }
  .news .position_center > span::before {
    top: -30px;
  }
  .news .btn_l {
    bottom: 3%;
  }
  .news .position_center::before {
    bottom: -24px;
  }
  .news .position_center::after {
    bottom: -32px;
  }
  .news .position_center span::after {
    bottom: -40px;
  }
  .item .office_detail .desc_block,
  .office_list:nth-child(even) .office_detail .desc_block {
    width: 44%;
  }
  .product_catch,
  .news_catch {
    bottom: 30px;
    padding: 10px 40px 10px 25px;
  }
  .project_list_wrap .item:nth-child(3) .desc_block .ttl_label h3 {
    margin-left: 16.5%;
  }
}
@media screen and (max-height: 600px) {
  .btn_l,
  .btn_r {
    bottom: 0;
  }
  .news .btn_l {
    bottom: -2%;
  }
  .news_list {
    padding: 10px 0;
  }
  .partner .top-center-img::before {
    top: 7%;
  }
  .news .position_center > span::before {
    top: -20px;
  }
  .news .position_center::before {
    bottom: -24px;
  }
  .top_company_blocks .company_link2::before {
    top: 36%;
  }
  .partner .top-center-img::before {
    top: 8%;
  }
}
@media screen and (max-width: 1160px) {
  .product_list.slider {
    width: 90%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 1024px) {
  .safari .fnc-slide__mask {
    width: 17vw;
    transform: translate3d(0, 0, 0) skewX(15deg);
  }
  .safari .m--active-slide .fnc-slide__mask {
    transform: translate3d(0, 0, 0) skewX(15deg);
  }
  .fnc-slide__inner .fnc-slide__content {
    top: 28%;
  }
  .fnc-slide__heading-line {
    font-size: 75px;
  }
  .fnc-slide__heading .main_catch span {
    font-size: 22px;
  }
  .slider,
  .contact_inner,
  .sitemap {
    padding: 0 5%;
  }
  .top .btn_r a,
  .top .btn_l a,
  .btn_r a,
  .btn_l a,
  .contact_btn {
    font-size: 14px;
  }
  .company_link1 {
    height: 100%;
  }
  .top_company_blocks .h55 {
    height: 52%;
  }
  .top_company_blocks .h45 {
    height: 48%;
  }
  .top_company_blocks img.h55,
  .top_company_blocks img.h45 {
    height: 100%;
  }
  .top_company_blocks .btn_l,
  .top_company_blocks .btn_r {
    bottom: 18%;
  }
  .partner .top-center-img::before {
    top: 21%;
  }
  .top_company_blocks .company_link2::before {
    top: 42%;
  }
  .special .d_f_50::before {
    top: 12%;
  }
  .special .txt_box {
    padding: 4% 2%;
    min-height: 160px;
  }
  .news .position_center::before {
    bottom: -40px;
  }
  .news .position_center::after {
    bottom: -32px;
  }
  .news .position_center > span::after {
    bottom: -24px;
  }
  .contact_btn {
    width: 65%;
  }
  .sitemap_list dd {
    font-size: 12px;
  }
  .sitemap_list dt::after {
    height: 6px;
    width: 6px;
  }
  .sitemap_list dd::after {
    height: 4px;
    width: 4px;
  }
  .sub_mv,
  .mv_color1::before,
  .mv_color1::after,
  .mv_color2::before,
  .mv_color2::after {
    height: 60vh;
  }
  .thumb {
    height: 400px;
  }
  .desc_block {
    height: 450px;
  }
  .project_list_wrap .desc_block {
    width: 500px;
  }
  .project_list_wrap .item:nth-child(3) .desc_block .ttl_label h3 {
    margin-left: 15.5%;
  }
  .project_list_wrap
    .item:nth-child(3)
    .desc_block
    .ttl_label
    h3
    span:nth-child(2) {
    margin-right: 98px;
  }
  .select_wrap::before,
  .selector::before {
    top: 7px;
  }
  .select_wrap::after,
  .selector::after {
    bottom: 7px;
  }
  .project_table_cont {
    font-size: 14px;
  }
  .project_detail_wrap {
    padding: 3% 5%;
  }
  .business_list {
    height: 300px;
  }
  .business_field {
    padding: 5%;
  }
  .sys_overview .g_symbol,
  .sys_feature .g_symbol,
  .sys_detail .g_symbol {
    margin: 0 5%;
  }
  .sys_detail .item:nth-child(odd) .sys_detail_tag {
    padding: 1.2em 0 1.2em 25px;
    width: 100%;
    box-sizing: border-box;
  }
  .sys_detail .item:nth-child(odd) .sys_detail_desc {
    padding: 95px 20px 40px 25px;
  }
  .sys_detail .item:nth-child(odd) .sys_detail_desc.have_h4 {
    padding: 155px 20px 40px 25px;
  }
  .sys_detail .item:nth-child(even) .sys_detail_tag {
    padding: 1.2em 0 1.2em 20px;
    width: 100%;
    box-sizing: border-box;
  }
  .sys_detail .item:nth-child(even) .sys_detail_desc {
    padding: 95px 25px 40px 20px;
  }
  .sys_detail .item:nth-child(even) .sys_detail_desc.have_h4 {
    padding: 155px 25px 40px 20px;
  }
  .philosophy_theme {
    width: 60%;
  }
  .philosophy_list_thumb {
    transform: translateX(-99.8%);
  }
  .com_thought_txt {
    padding: 40px 5%;
  }
  .philosophy_list .inner {
    width: 90%;
  }
  .top_thumb,
  .top_thumb img {
    width: 270px;
  }
  .overview_wrap,
  .history_wrap {
    padding: 20px 5%;
  }
  .news_list_wrap {
    padding: 0 5%;
  }
  .overview_inner {
    padding: 30px 40px;
  }
  .overview_table th,
  .partner_table th,
  .overview_table td,
  .partner_table td {
    font-size: 14px;
  }
  .office_link {
    height: 250px;
  }
  .office_link h2::after {
    content: none;
  }
  .g_bar {
    width: 88px;
    left: 45.9%;
    top: 460px;
  }
  .office_movie,
  .office_map {
    padding: 0 5% 5%;
  }
  .office_location .thumb,
  .office_detail .thumb,
  .office_detail .desc_block {
    height: 350px;
  }
  .office_location .desc_block {
    padding: 40px 0px 40px 50px;
    margin-right: 5%;
    height: 400px;
    width: 45%;
  }
  .office_content iframe {
    height: 500px;
  }
  .office_content iframe {
    height: 450px;
  }
  td.contact_desc {
    padding: 20px 0 40px;
  }
  .contact_info2 dt,
  .contact_info2 dd,
  .contact_info3 dt,
  .contact_info3 dd {
    font-size: 14px;
  }
  .news_list_wrap::before,
  .news_list_wrap::after {
    width: 5%;
  }
  .news_thumb,
  .news_thumb img {
    height: 450px;
  }
  .top_name {
    top: 310px;
  }
}
@media screen and (max-width: 768px) {
  .fnc-slide__heading-line {
    font-size: 70px;
  }
  .fnc-slide__mask {
    width: 50vw;
  }
  .fnc-slide__heading .main_catch span {
    font-size: 20px;
  }
  .business .position_center a::before {
    width: 35%;
  }
  .business .fl.f20 {
    font-size: 16px;
  }
  .business .position_center a,
  .business_list {
    padding: 10px;
  }
  .business .position_center a .fl::before,
  .project .top-center-img::before,
  .company_link1::after,
  .company_link2::after,
  .y_square::before,
  .special .ttl_03::after,
  .business_list .fl::before {
    content: none;
  }
  .top_company_wrap {
    flex-wrap: wrap;
    height: 100%;
  }
  .company_link1,
  .company_link1 img {
    height: 100%;
  }
  .top_company_blocks.d_f_25 {
    height: 65%;
  }
  .top_company_blocks.d_f_50 {
    flex: 0 0 100%;
    -webkit-flex: 0 0 100%;
    max-width: 100%;
    height: 35%;
  }
  .top_company_blocks.d_f_25 {
    flex: 0 0 50%;
    -webkit-flex: 0 0 50%;
    max-width: 50%;
  }
  .top_company_blocks img.h55,
  .company_link_blocks img.h55,
  .top_company_blocks img.h45,
  .company_link_blocks img.h45 {
    height: 100%;
  }
  .top_company_blocks .h55,
  .company_link_blocks .h55 {
    height: 55%;
  }
  .top_company_blocks .h45,
  .company_link_blocks .h45 {
    height: 45%;
  }
  .top_company_blocks .company_link2.h55::before {
    top: 33%;
  }
  .top_company_blocks .company_link2::before {
    top: 30%;
  }
  .top_company_blocks .company_link2 .btn_r a::before {
    left: 82%;
  }
  .top_company_blocks .company_link2 .btn_l a::before {
    left: 56%;
  }
  .top_company_blocks .company_link2 .btn_l a {
    left: 46%;
    padding: 6px 0 5px 9%;
  }
  .top_company_blocks .company_link2 .btn_l::after {
    left: 47%;
  }
  .top_company_blocks .company_link2 .btn_r a {
    padding: 6px 11% 5px 0;
  }
  .top_company_blocks .company_link2 .btn_r::after {
    left: -34%;
  }
  .top_company_blocks .company_link2 .btn_r a {
    left: -46%;
  }
  .top_company_blocks .company_link2 .btn_r a::before {
    left: 92%;
  }
  .top_company_blocks .company_link2 .btn_r::after {
    left: -41%;
  }
  .top_company_blocks .company_link2 .btn_l a::before {
    left: 27%;
  }
  .top_company_blocks .btn_l,
  .top_company_blocks .btn_r {
    bottom: 12%;
  }
  .special .d_f_50::before {
    top: 26%;
  }
  .partner .top-center-img::before {
    top: 25%;
  }
  .news_l {
    -webkit-flex: 0 0 35%;
    flex: 0 0 35%;
  }
  .news_r {
    -webkit-flex: 0 0 65%;
    flex: 0 0 65%;
  }
  .project_list_wrap .item:nth-child(3) .desc_block .ttl_label h3 {
    margin-left: 11.5%;
  }
  .project_list_wrap .item:nth-child(3) .desc_block .ttl_label {
    background-image: linear-gradient(
      105deg,
      rgba(0, 200, 200, 0.8) 0%,
      rgba(0, 200, 200, 0.8) 50%,
      rgba(241, 145, 73, 0.8) 50%,
      rgba(241, 145, 73, 0.8) 100%
    );
  }
  .project_list_wrap .item:nth-child(even) .btn_r a {
    padding: 10px 27% 10px 0;
  }
  .project_list_wrap .item:nth-child(odd) .btn_l a {
    padding: 10px 0 10px 13%;
  }
  .project_list_wrap .desc_block {
    width: 380px;
  }
  .sp_notice {
    display: block;
    margin-bottom: 20px;
  }
  .select_wrap::before,
  .selector::before {
    top: 8px;
  }
  .select_wrap::after,
  .selector::after {
    bottom: 8px;
  }
  .project_table_ttl {
    font-size: 14px;
  }
  .business_list {
    height: 260px;
  }
  .business_list::before {
    width: 23%;
  }
  .business_list dl {
    width: auto;
    padding: 8% 0 8% 10%;
  }
  .busi_f_img {
    height: 250px;
  }
  .field_cont {
    font-size: 14px;
  }
  .sys_feature_desc {
    padding: 30px 40px;
  }
  .system_desc .thumb {
    height: 350px;
    width: 48%;
  }
  .system_desc .item .desc_block {
    padding: 30px 80px 30px 60px;
    height: 400px;
    width: 55%;
  }
  .sys_feature_list dd {
    font-size: 14px;
  }
  .sys_detail .thumb,
  .sys_detail_desc {
    width: 90%;
  }
  .sys_detail .thumb {
    height: 350px;
    position: inherit;
    margin-bottom: 20px;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .sys_detail_tag::after {
    content: none;
  }
  .sys_detail .item:nth-child(odd) .sys_detail_desc {
    padding: 90px 75px 40px 25px;
  }
  .sys_detail .item:nth-child(odd) .sys_detail_desc.have_h4 {
    padding: 150px 75px 40px 25px;
  }
  .sys_detail .item:nth-child(odd) .sys_detail_tag {
    padding: 1em 0 1em 25px;
  }
  .sys_detail .item:nth-child(even) .sys_detail_tag {
    padding: 1em 0 1em 100px;
  }
  .sys_detail .item:nth-child(even) .sys_detail_desc {
    padding: 90px 0px 40px 100px;
  }
  .sys_detail .item:nth-child(even) .sys_detail_desc.have_h4 {
    padding: 150px 0px 40px 100px;
  }
  .philosophy_theme {
    width: 80%;
  }
  .company_link_wrap {
    height: 50vh;
  }
  .company_link_blocks .company_link2 .btn_r a {
    padding: 10px 16% 10px 0;
  }
  .company_link2 .btn_r a {
    left: -35%;
  }
  .company_link_blocks .btn_r::after,
  .company_link_blocks .btn_l::after {
    width: 50%;
  }
  .company_link_blocks .company_link2 .btn_l a {
    left: 31%;
    padding: 10px 0 10px 12%;
  }
  .company_link_blocks .btn_l::after {
    left: 55%;
  }
  .company .sub_mv {
    background-position: 70%;
  }
  .top_thumb,
  .top_thumb img {
    width: 260px;
  }
  .top_message_desc {
    width: 60%;
    padding: 15px 0 70px 30px;
  }
  .top_message_ttl.f24 {
    font-size: 18px;
  }
  .two_label::before {
    height: 120px;
  }
  .two_label::after {
    height: 90px;
  }
  .top_name {
    top: 44%;
  }
  .overview_table .d_f {
    display: none;
  }
  .sp_list {
    display: block;
  }
  .overview_table th {
    width: 25%;
  }
  .big_num {
    font-size: 42px;
  }
  .office_link {
    height: 190px;
  }
  .item .office_detail .desc_block,
  .office_list:nth-child(even) .office_detail .desc_block {
    padding: 0 20px 0 10px;
    width: 44%;
  }
  .office_detail .thumb {
    width: 47%;
  }
  .g_bar {
    width: 75px;
    left: 45%;
  }
  .office_detail dd {
    font-size: 14px;
  }
  .history_desc {
    font-size: 14px;
  }
  .product_detail .thumb {
    height: 350px;
  }
  .product_detail:nth-child(odd) .thumb {
    background-position: 5% 100%;
  }
  .product_detail:nth-child(even) .thumb {
    background-position: 95% 100%;
  }
  .item.product_detail dl.desc_block {
    height: 410px;
  }
  .thumb-item,
  .thumb-item-nav {
    width: 90%;
  }
  .item.product_detail dl.desc_block {
    height: auto;
    min-height: 300px;
    width: 55%;
  }
  .product_detail_wrap .g_line_w::before {
    top: 8px;
  }
  .product_detail_wrap .g_line_w::after {
    top: 16px;
  }
  .contact_head_wrap .heading_txt {
    padding: 50px 20px;
  }
  .contact_form th {
    width: 40%;
    padding: 10px 5px 10px 15px;
    font-size: 14px;
  }
  .contact_form td {
    width: 60%;
    font-size: 14px;
  }
  .contact_form input.contact_tel {
    width: 26%;
  }
  .resetbtn,
  .submitbtn {
    padding: 10px 0;
  }
  .contact_form input.contact_name {
    margin-right: 6%;
  }
  .contact_form input[type="text"].contact_tel,
  .contact_form input.contact_tel:first-child,
  .contact_form input.contact_tel:last-child {
    margin: 0;
  }
  .news_list_inner {
    padding: 50px 60px;
  }
  .page-number {
    font-size: 14px;
  }
  .news_list_inner::before,
  .news_list_inner::after {
    height: 40px;
  }
  .news_thumb,
  .news_thumb img,
  .news_desc iframe {
    height: 400px;
  }
  .sitemap {
    flex-wrap: wrap;
  }
  .sitemap_head .sitemap {
    padding: 10% 5% 5%;
  }
  .sitemap_head .sitemap_list {
    -webkit-flex: 0 0 33.33%;
    flex: 0 0 33.33%;
    max-width: 33.33%;
  }
  .sitemap_list .green_border::before {
    width: 100%;
  }
  .sitemap_head .sitemap_list dt::after,
  .sitemap_head .sitemap_list dd::after {
    right: 12px;
  }
}
@media screen and (max-width: 500px) {
  #fp-nav ul li a span,
  .fp-slidesNav ul li a span,
  #fp-nav ul li a.active span,
  #fp-nav ul li:hover a.active span,
  .fp-slidesNav ul li a.active span,
  .fp-slidesNav ul li:hover a.active span {
    width: 8px;
  }
  .safari .fnc-slide__mask {
    width: 17vw;
    transform: skewX(15deg);
  }
  .fnc-slide__heading-line {
    font-size: 40px;
  }
  .fnc-slide__heading .main_catch span {
    font-size: 16px;
  }
  .english_btn span,
  .english_btn a {
    font-size: 12px;
  }
  .fnc-slide__inner .fnc-slide__mask {
    left: 60px;
  }
  .fnc-slide__inner .fnc-slid1 {
    left: 10px;
  }
  .fnc-slide__inner .fnc-slid2 {
    left: -34px;
  }
  .fnc-slide__inner .fnc-slid3 {
    left: -79px;
  }
  .scroll_btn a {
    font-size: 12px;
  }
  .scroll_btn a span {
    width: 16px;
    height: 16px;
    left: 60%;
  }
  .btn_l a::before {
    left: 24%;
  }
  .business .position_center a {
    width: 100%;
    height: 80px;
  }
  .business .position_center a dl {
    display: flex;
  }
  .business .position_center a dl dt {
    padding-bottom: 0;
  }
  .business .position_center dd {
    display: none;
  }
  .product .ttl_02::before {
    bottom: -15px;
  }
  .product .ttl_02::after {
    bottom: -21px;
  }
  .slider .slick-slide .product_thumb,
  .slider .slick-slide .product_thumb img {
    height: 150px;
  }
  .top_project_txt {
    width: 260px;
    right: 6%;
    padding: 4%;
  }
  .product .line1::before {
    top: -30px;
  }
  .product .line1::after {
    bottom: -20px;
  }
  .product .line2::before {
    top: -24px;
  }
  .product .line2::after {
    top: -18px;
  }
  .product_list.slider {
    width: 80%;
  }
  .product_list.slider dl dd {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    height: 3em;
  }
  .top_company_blocks.d_f_50 {
    height: 40%;
  }
  .top_company_wrap,
  .company_link1,
  .company_link1 img,
  .top_company_blocks img.h55,
  .company_link_blocks img.h55,
  .top_company_blocks img.h45,
  .company_link_blocks img.h45 {
    height: 100%;
  }
  .top_company_blocks.d_f_25 {
    height: 60%;
  }
  .top_company_blocks .h55 {
    height: 52%;
  }
  .top_company_blocks:nth-child(2) img.h55 {
    object-position: top;
  }
  .top_company_blocks .h45 {
    height: 48%;
  }
  .company_link1 .btn_l {
    bottom: -4%;
  }
  .top_company_wrap .company_link2 .btn_r a::before {
    left: 82%;
  }
  .company_link2 .btn_l,
  .company_link2 .btn_r {
    bottom: auto;
    top: 86%;
  }
  .company_link2 .btn_r a {
    padding: 6px 33% 5px 0;
  }
  .company_link2 .btn_l a {
    padding: 6px 0 5px 33%;
  }
  .top_company_blocks .company_link2::before {
    top: 39%;
  }
  .top_company_wrap .company_link2 .btn_r a::before {
    left: 94%;
  }
  .top_company_blocks .company_link2 .btn_l a::before {
    left: 35%;
  }
  .partner .top-center-img::before {
    top: 35%;
  }
  .partner_txt p {
    font-size: 18px;
  }
  .special .top-center-img {
    height: 72%;
    flex-wrap: wrap;
  }
  .special .top-center-img a {
    height: 50%;
  }
  .special .d_f_50 {
    -webkit-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .special .d_f_50::before {
    height: 150%;
    height: 80%;
    transform: translateY(-50%) skewY(20deg) scaleX(0);
  }
  .special.view .d_f_50:nth-child(1)::before {
    animation: spanm2 0.1s linear 1s forwards;
  }
  .special.view .d_f_50:nth-child(2)::before {
    animation: spanm2 0.1s linear 1.2s forwards;
  }
  .special .position_center {
    top: 20%;
  }
  .special .txt_box {
    min-height: 100px;
  }
  .partner_txt {
    width: 80%;
  }
  .news_list {
    padding: 4px 0;
  }
  .news_list .d_f {
    align-items: center;
  }
  .news_cat {
    font-size: 12px;
  }
  .news_r {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    height: 3em;
  }
  .news .news_r p {
    line-height: 1.3;
  }
  .news .btn_l {
    bottom: 0;
  }
  .fp-section.fp-table.sp_site_map {
    display: block;
  }
  .top_contact_wrap {
    display: none;
  }
  .sp_contact_wrap {
    display: block;
    text-align: center;
  }
  .sp_contact_btn {
    position: relative;
    width: 50%;
    text-align: center;
    color: #fff;
    font-weight: bold;
    font-size: 14px;
    background-color: #007a4c;
    background-image: url("../img/top/mail-icon.svg");
    background-repeat: no-repeat;
    background-size: 10%;
    background-position: 10%;
  }
  .sp_contact_btn::before {
    position: absolute;
    content: "";
    top: 35%;
    right: 15%;
    width: 4px;
    height: 4px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .mv_line {
    height: 60px;
    bottom: -20px;
  }
  .thumb {
    height: 300px;
    width: 85%;
  }
  .project_list_wrap .item .inner {
    padding-top: 250px;
  }
  .item:nth-child(odd) .desc_block p {
    margin: 10px 45px 0 0;
  }
  .item:nth-child(even) .desc_block p {
    margin: 10px 30px 0 0;
  }
  .desc_block {
    height: 380px;
    width: 85%;
  }
  .project_list_wrap .item:nth-child(3) .desc_block .ttl_label h3 {
    margin-left: auto;
    text-align: center;
  }
  .project_list_wrap
    .item:nth-child(3)
    .desc_block
    .ttl_label
    h3
    span:nth-child(2) {
    margin-right: 80px;
  }
  .project_list_wrap
    .item:nth-child(3)
    .desc_block
    .ttl_label
    h3
    span:nth-child(3) {
    margin-right: 46px;
  }
  .two_label::before {
    height: 100px;
    width: 90%;
  }
  .project_list_wrap .btn_r,
  .project_list_wrap .btn_l {
    bottom: -4px;
  }
  .project_list_wrap .item:nth-child(even) .btn_r a {
    padding: 6px 27% 6px 0;
  }
  .project_list_wrap .item:nth-child(odd) .btn_l a {
    padding: 6px 0 6px 13%;
  }
  .project_list_wrap .item:nth-child(3) .desc_block .ttl_label {
    background-image: linear-gradient(
      105deg,
      rgba(0, 200, 200, 0.8) 0%,
      rgba(0, 200, 200, 0.8) 47.5%,
      rgba(241, 145, 73, 0.8) 47.5%,
      rgba(241, 145, 73, 0.8) 100%
    );
  }
  .contact_inner .contact_btn::after {
    right: 20%;
    top: 37.5%;
  }
  .btn_l a {
    padding: 6px 0 6px 8.5%;
  }
  .contact_wrap .ttl_02 {
    padding-top: 40px;
  }
  .project_list_wrap .desc_block {
    width: 90%;
  }
  .project_detail .inner {
    background-color: #fff;
    padding: 6%;
  }
  .project_table {
    width: 800px;
  }
  .selector select {
    height: 3em;
  }
  .select_wrap::before,
  .selector::before {
    top: 10px;
  }
  .select_wrap::after,
  .selector::after {
    bottom: 10px;
  }
  .project_table_ttl:nth-child(1),
  .project_table_ttl:nth-child(4),
  .project_table_ttl:nth-child(6) {
    min-width: 220px;
  }
  .business_list::before {
    width: 35%;
  }
  .business_list .btn_l a::before {
    left: 24%;
  }
  .business_list {
    height: 240px;
  }
  .business_list {
    grid-template-columns: 0.5fr 1fr;
  }
  .business_detail .thumb,
  .product_detail .thumb {
    width: 90%;
  }
  .business_detail,
  .product_detail {
    padding: 250px 0 80px;
  }
  .item.business_detail dl.desc_block,
  .item.product_detail dl.desc_block {
    height: auto;
  }
  .business_detail_ttl {
    margin-bottom: 12px;
  }
  .item:nth-child(2) .business_detail_ttl {
    margin-bottom: 25px;
  }
  .business_detail_wrap .g_label::after,
  .business_detail_wrap .y_label::after {
    bottom: 3%;
  }
  .busi_f_img {
    height: 200px;
  }
  .business_field .d_f {
    flex-wrap: wrap;
    padding: 0 5%;
  }
  .business_field .d_f_49 {
    flex: 0 0 100%;
    -webkit-flex: 0 0 100%;
    max-width: 100%;
    margin: 20px 0;
  }
  .field_cont::before {
    top: 46%;
  }
  .field_cont::after {
    top: 43%;
    width: 5px;
    height: 5px;
  }
  .system_desc .thumb {
    height: 250px;
    width: 100%;
    position: inherit;
  }
  .system_desc .item .desc_block {
    padding: 15px 20px;
    height: 260px;
    margin: 0 auto;
  }
  .g_thumb {
    width: 100%;
  }
  .sys_overview,
  .sys_detail {
    padding: 20px 0;
  }
  .top_b_line::before {
    top: 70px;
  }
  .sys_overview_txt {
    padding: 40px 20px;
    font-size: 14px;
  }
  .sys_feature {
    padding: 40px 0;
  }
  .sys_feature.top_b_line::before {
    top: 90px;
  }
  .sys_feature_lists {
    padding: 20px;
  }
  .sys_feature_desc {
    padding: 20px 40px;
  }
  .sys_feature_ttl {
    margin-bottom: 1em;
  }
  .sys_feature_list.d_f_50 {
    flex: 0 0 100%;
    -webkit-flex: 0 0 100%;
    max-width: 100%;
  }
  .sys_detail::before {
    top: 70px;
  }
  .sys_detail_inner {
    padding-top: 50px;
  }
  .sys_detail_inner::before {
    top: 76px;
  }
  .sys_detail_inner::after {
    top: 82px;
  }
  .sys_detail .thumb {
    height: 250px;
    width: 95%;
  }
  .sys_detail .item:nth-child(odd) .sys_detail_desc {
    padding: 90px 20px 40px 20px;
    width: 95%;
  }
  .sys_detail .item:nth-child(odd) .sys_detail_desc.have_h4 {
    padding: 140px 20px 40px 20px;
  }
  .sys_detail_tag,
  .sys_detail_desc li {
    font-size: 14px;
  }
  .sys_detail .item:nth-child(odd) .sys_detail_tag {
    padding: 0.8em 0 0.8em 20px;
  }
  .sys_detail .item:nth-child(even) .sys_detail_desc {
    width: 95%;
    padding: 90px 0px 40px 40px;
  }
  .sys_detail .item:nth-child(even) .sys_detail_desc.have_h4 {
    padding: 140px 0px 40px 40px;
  }
  .sys_detail .item:nth-child(even) .sys_detail_tag {
    padding: 0.8em 0 0.8em 40px;
  }
  .com_philosophy_bg {
    background-size: 100%;
    background-position: 50% 5%;
  }
  .philosophy_theme {
    width: 95%;
    margin: 15% auto;
  }
  .philosophy_theme .f32 {
    font-size: 18px;
  }
  .philosophy_list {
    display: block;
  }
  .philosophy_list_thumb {
    width: 90%;
    height: 80px;
    position: inherit;
    margin: 0 auto;
  }
  .philosophy_list_thumb::before {
    width: 100%;
    height: 90px;
  }
  .philosophy_list_desc {
    width: 100%;
  }
  .com_philosophy {
    padding: 10% 0 5%;
  }
  .company_link_blocks .btn_r a,
  .company_link_blocks .btn_l a {
    width: 80%;
  }
  .company_link_blocks .company_link2 .btn_r a {
    padding: 6px 16% 6px 0;
  }
  .company_link_blocks .company_link2 .btn_l a {
    left: 33%;
    padding: 6px 0 6px 12%;
  }
  .company_link2 img {
    object-position: right;
  }
  .company_link_blocks .company_link2::before {
    top: 42%;
  }
  .company_link_blocks .btn_r::after {
    left: -7%;
  }
  .company_link_blocks .btn_r::after,
  .company_link_blocks .btn_l::after {
    width: 65%;
  }
  .company_link_blocks .btn_l::after {
    left: 42%;
  }
  .company_link_blocks .company_link2 .btn_l a::before {
    left: 51%;
  }
  .top_message_wrap {
    padding: 30px 0 5%;
  }
  .top_thumb {
    margin-left: 25px;
  }
  .top_thumb,
  .top_thumb img {
    width: 220px;
  }
  .top_name {
    position: absolute;
    top: 260px;
    padding: 5px 0 5px 50px;
  }
  .top_message_wrap .two_label::before {
    bottom: auto;
    top: 220px;
    height: 80px;
  }
  .top_message_wrap .two_label::after {
    bottom: auto;
    top: 250px;
  }
  .top_message_desc {
    width: 90%;
    padding: 80px 30px 10px;
  }
  .overview_wrap,
  .history_wrap {
    padding: 15px 5%;
  }
  .overview_table td {
    padding: 1em 0 1em 2em;
  }
  .overview_inner {
    padding: 15px;
  }
  .group_logo {
    width: 120px;
  }
  .office_links {
    flex-wrap: wrap;
  }
  .office_link {
    height: 180px;
    -webkit-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .office_link::before {
    height: 100px;
    top: 42%;
  }
  .big_num {
    font-size: 36px;
  }
  .office_link h2 {
    font-size: 14px;
  }
  .office_location .thumb,
  .office_detail .thumb,
  .office_location .desc_block,
  .g_thumb {
    height: 200px;
  }
  .office_location .thumb {
    width: 50%;
  }
  .office_location .desc_block,
  .item:nth-child(odd) .office_location .desc_block,
  .item:nth-child(even) .office_location .desc_block {
    padding: 40px 0px;
  }
  .office_list:nth-child(even) .desc_block {
    margin-right: 5%;
  }
  .office_detail .thumb {
    width: 90%;
    position: inherit;
  }
  .item .office_detail .desc_block,
  .office_list:nth-child(even) .office_detail .desc_block {
    padding: 0 35px 0 0;
    margin: 20px 0 0 auto;
    width: 90%;
  }
  .g_bar {
    top: 260px;
    left: 40.1%;
  }
  .office_content iframe {
    height: 250px;
  }
  .history_inner {
    padding: 15px 20px;
  }
  .history_table th {
    width: 30%;
  }
  .select_wrap,
  .product_select select {
    width: auto;
  }
  .product_cards {
    flex-wrap: wrap;
  }
  .product_card.d_f_45 {
    flex: 0 0 100%;
    -webkit-flex: 0 0 100%;
    max-width: 100%;
  }
  .product_img,
  .product_img img {
    height: 220px;
  }
  .product_catch,
  .news_catch {
    bottom: 45px;
    padding: 5px 35px 5px 10px;
  }
  .product_catch.f24,
  .news_catch.f24 {
    font-size: 14px;
  }
  .product_slider .product_tags {
    right: 10px;
  }
  .thumb-item,
  .thumb-item-nav {
    width: 95%;
  }
  .product-thumb,
  .product-thumb img {
    height: 200px;
  }
  .product-thumb-min,
  .product-thumb-min img {
    height: 80px;
  }
  .thumb-item-nav .prev-arrow {
    left: 1%;
    width: 12px;
    height: 12px;
  }
  .thumb-item-nav .next-arrow {
    right: 2%;
    width: 12px;
    height: 12px;
  }
  .item.product_detail dl.desc_block {
    width: 90%;
  }
  .product_detail:nth-child(odd) .thumb {
    background-position: 50% 25%;
    left: 50%;
    transform: translateX(-50%);
  }
  .product_detail:nth-child(even) .thumb {
    background-position: 50% 25%;
    right: 50%;
    transform: translateX(50%);
  }
  .contact_head_wrap .heading_txt {
    padding: 40px 20px;
    width: 95%;
  }
  .contact_link {
    -webkit-flex: 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
  .contact_link:nth-child(even):after {
    content: none;
  }
  .contact_link:nth-child(3):after {
    content: "";
  }
  .contact_form th,
  .contact_form td {
    width: 100%;
    display: block;
    box-sizing: border-box;
  }
  .contact_form input:not([type="reset"]),
  .contact_form textarea {
    padding: 5px 0 5px 10px;
  }
  .contact_form input.contact_tel {
    width: 75px;
  }
  .contact_form input.contact_tel:first-child {
    margin: 0 4px 0 0;
  }
  .contact_form input.contact_tel {
    margin: 0 4px;
  }
  .contact_form input.contact_tel:last-child {
    margin: 0 0 0 4px;
  }
  .contact_form textarea {
    margin: 8px;
  }
  .contact_form input[type="text"].contact_tel {
    width: 27%;
  }
  .contact_info p,
  .privacy p {
    font-size: 14px;
  }
  .mw_wp_form_confirm .privacy p:nth-child(3) {
    margin-top: 12px;
  }
  .contact_link:nth-child(1),
  .contact_link:nth-child(2) {
    background-size: 18%;
  }
  .contact_link:nth-child(3) {
    background-size: 16%;
  }
  .contact_link:nth-child(4) {
    background-size: 20%;
  }
  .contact_link:nth-child(5) {
    background-size: 14%;
  }
  button[name="submitBack"]::after {
    left: 25%;
  }
  .submitbtn::after {
    right: 25%;
  }
  .resetbtn,
  .submitbtn {
    padding: 8px 0;
  }
  .callbtn {
    margin: 30px 0;
  }
  .callbtn img {
    width: 30px;
    left: 10px;
    top: 2px;
  }
  .contact_info2 h2,
  .contact_info3 h2 {
    font-size: 14px;
  }
  .news_list_inner::before,
  .news_list_inner::after {
    height: 20px;
  }
  .news_list_inner {
    padding: 30px 15px;
  }
  .news_list .d_f {
    flex-wrap: wrap;
  }
  .news_list_inner .news_l,
  .news_list_inner .news_r {
    -webkit-flex: 0 0 100%;
    flex: 0 0 100%;
  }
  .news_list_inner .news_r {
    padding-top: 15px;
  }
  .news_catch {
    font-size: 12px;
    bottom: 45px;
  }
  .news_thumb,
  .news_thumb img,
  .news_desc iframe {
    height: 280px;
  }
  .news_desc p {
    padding: 25px 10px 40px;
  }
  .partner_recruit_inner {
    padding: 30px 20px;
  }
  .partner_table th,
  .partner_table td {
    width: 100%;
    box-sizing: border-box;
    display: block;
  }
  .partner_table td,
  .partner_table tr:first-child td {
    border: none;
  }
  .partner_table td {
    padding: 1em 2em;
  }
  .partner_voice {
    padding-top: 8%;
  }
  .voice_item .thumb {
    position: inherit;
    width: 90%;
  }
  .desc_block.voice_desc {
    width: 90%;
  }
  .partner_voice_inner .item:nth-child(odd) .desc_block,
  .partner_voice_inner .item:nth-child(even) .desc_block {
    padding: 40px 0;
  }
  .partner_voice_inner .item:nth-child(odd) .desc_block p {
    margin: 10px 30px 0 0;
  }
  .partner_table tr th::after {
    top: auto;
    bottom: -1px;
  }
  .sitemap_head {
    height: auto;
  }
  .sitemap_head .sitemap {
    margin: 15% auto 0%;
  }
  .sitemap_list .green_border::before {
    content: none;
  }
  .sitemap_head .sitemap_list {
    -webkit-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}
@media screen and (max-width: 500px) and (max-height: 640px) {
  .top .ttl_02,
  .contact_wrap .ttl_02 {
    padding-top: 54px;
  }
  .ttl_03.f20 {
    font-size: 14px;
  }
  .special .position_center {
    top: 30px;
  }
  .slider .slick-slide .product_thumb,
  .slider .slick-slide .product_thumb img {
    height: 120px;
  }
  .product .line1::before {
    top: -14px;
  }
  .product .line2::before {
    top: -10px;
  }
  .product .line2::after {
    top: -6px;
  }
  .product .line1::after {
    bottom: -6px;
  }
  .special .txt_box {
    min-height: auto;
  }
  .business_list::before {
    width: 36%;
  }
}
@media all and (-ms-high-contrast: none) {
  .fnc-slide__inner .fnc-slide__mask {
    transform: skewX(10deg);
    width: 14vw;
  }
  .fp-section.fp-table,
  .fp-slide.fp-table {
    display: table;
  }
  .business .position_center a::before {
    width: 35%;
  }
  .business .position_center a::before,
  .business_list::before {
    top: 0%;
  }
  .business .position_center a div {
    top: 50%;
    transform: translateY(-50%);
  }
  .business .position_center a .fl::before {
    width: 120%;
    height: 120%;
    top: -17%;
    left: -10%;
  }
  .business .position_center a:nth-child(1) div {
    left: 8%;
  }
  .business .position_center a:nth-child(2) div {
    left: 4%;
  }
  .business .position_center a:nth-child(3) div {
    left: 11%;
  }
  .business .position_center a:nth-child(4) div {
    left: 10%;
  }
  .business .position_center a dl {
    width: 60%;
  }
  .business .position_center a dl dt {
    padding-bottom: 10%;
  }
  .partner .top-center-img::before {
    top: 7%;
  }
  .top_company_blocks .company_link2::before {
    top: 37%;
  }
  .news .position_center::before {
    bottom: -24px;
  }
  .sitemap .sitemap_list dt::after {
    top: 40%;
  }
  .contact_inner .contact_btn::after {
    top: 38%;
  }
  .business_list {
    display: flex;
  }
  .business_page_ttl {
    width: 25%;
  }
  .business_field .field_cont::before {
    top: 44%;
  }
  .business_field .field_cont::after {
    top: 42%;
  }
  .view .sc1::after {
    animation: scroll03 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s forwards;
  }
  .view .sc2::after {
    animation: scroll03 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.7s forwards;
  }
  .view .sc3::after {
    animation: scroll03 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.6s forwards;
  }
  .view .sc4::after {
    animation: scroll03 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.5s forwards;
  }
  .top_name {
    left: auto;
    right: 73%;
  }
  .history_table td::before {
    height: 180%;
    bottom: -90%;
  }
  .history_desc {
    padding: 6px 0 0px 30px;
  }
  label[for="form_clear"]::after,
  .resetbtn::after,
  .submitbtn::after {
    top: 42%;
  }
  .history_table .fade-u {
    opacity: 1;
  }
  .office_link_bg {
    top: 0%;
    left: 0%;
  }
  :nth-child(1).contact_link,
  :nth-child(2).contact_link,
  :nth-child(3).contact_link,
  :nth-child(4).contact_link,
  :nth-child(5).contact_link {
    background-size: 30%;
  }
  .contact_form input:not([type="reset"]),
  .contact_form textarea {
    line-height: 1;
  }
  .contact_form .req {
    padding: 8px 10px 4px;
  }
  .contact_form td {
    padding: 22px 10px 10px;
  }
  #fancybox-content {
    overflow-y: hidden !important;
  }
  #scrollbar {
    height: 16px;
  }
}
@media all and (-ms-high-contrast: none) and (max-width: 1400px) {
  .business .position_center a div {
    font-size: 80%;
  }
  .business .position_center a:nth-child(2) div {
    left: 4%;
  }
  .business .position_center a:nth-child(4) div {
    left: 8%;
  }
  .item.business_detail dl.desc_block {
    height: 420px;
    width: 500px;
  }
}
@media all and (-ms-high-contrast: none) and (max-height: 768px) {
  header .nav_menu > li > a {
    height: 28px;
  }
  header ul li {
    margin: 1px 0 0 0;
  }
  .business .position_center a::before {
    width: 30%;
  }
  .company_link_wrap .company_link2::before {
    top: 20%;
  }
  .child_menu {
    top: 66px;
  }
  .select_wrap::before,
  .selector::before {
    top: 10px;
  }
  .select_wrap::after,
  .selector::after {
    bottom: 10px;
  }
  .mv_color1::after {
    width: 8%;
    left: 4%;
  }
  .mv_color1::before {
    width: 8%;
    left: -2%;
  }
  .mv_color2::after {
    width: 8%;
    left: 16%;
  }
  .mv_color2::before {
    width: 8%;
    left: 10%;
  }
}
@supports (-ms-ime-align: auto) {
  .fnc-slide__inner .fnc-slide__mask {
    transform: skewX(10deg);
    width: 14vw;
  }
  .partner .top-center-img::before {
    top: 2%;
  }
  .business_detail_wrap .g_label::after {
    bottom: 17%;
  }
  .partner .top-center-img::before {
    top: 9%;
  }
  .history_table .fade-u {
    opacity: 1;
  }
  footer .footer_area {
    height: 50vh;
  }
  .top .ttl_02,
  .contact_wrap .ttl_02 {
    padding-top: 80px;
  }
  .contact_inner .contact_btn::after {
    top: 42%;
  }
  label[for="form_clear"]::after,
  .resetbtn::after,
  .submitbtn::after {
    top: 41%;
  }
  #scrollbar {
    height: 16px;
  }
  .select_wrap::before,
  .selector::before {
    top: 12px;
  }
  .select_wrap::after,
  .selector::after {
    bottom: 12px;
  }
  .mv_color1::after {
    width: 8%;
    left: 4%;
  }
  .mv_color1::before {
    width: 8%;
    left: -2%;
  }
  .mv_color2::after {
    width: 8%;
    left: 16%;
  }
  .mv_color2::before {
    width: 8%;
    left: 10%;
  }
} /*# sourceMappingURL=style.min.css.map */
