@charset "UTF-8";
/* ********************************************************************** */
/* For Top Page */
/* ********************************************************************** */

/* ---------------------------------------------------------------------- */
/* PC */
/* ---------------------------------------------------------------------- */
.page_toppage {
  background: url(../images_v2/index/body_bg_v2.png) no-repeat top 1036px right -100px;
}

/* mv */
.page_toppage #mv .company {
  writing-mode: unset;
  color: #fff;
  left: auto;
  right: 0;
  top: 500px;
  font-size: 200px;
}
.page_toppage #mv .scroll {
  top: 488px;
}

/* scrolltext */
#scrolltext {
  font-size: 120px;
  line-height: 1.8;
}
#scrolltext .wrapper {
  width: calc(100% - 330px);
  position: relative;
  left: 330px;
  overflow: hidden;
}
#scrolltext .inner {
  animation: scrolltext 30s infinite linear;
  position: relative;
  width: fit-content;
}
@keyframes scrolltext {
  0% {
    left: 105%;
  }
  100% {
    left: -15em;
  }
}
#scrolltext .text {
  background: #f18c4042 url(../images_v2/index/imtec_scrolltext_bg.svg) no-repeat;
  background-size: 300px;
  background-position: -300px 0;
  background-clip: text;
  -webkit-background-clip: text;
  color: rgba(0, 0, 0, 0);
  transition: all 0.3s ease-out;
  white-space: nowrap;
}

/* top_news */
#top_news .title {
  width: 360px;
}
#top_news .ch3 {
  margin-top: 0;
}
#top_news .content {
  flex: 1;
}
#top_news .content li {
  border-bottom: #323030 1px solid;
}
#top_news .content li:last-child {
  border-bottom: none;
}
#top_news .content a {
  display: flex;
  padding: 1em 0;
  position: relative;
}
#top_news .content a:hover {
  color: #f18c40;
}
#top_news .content a::after {
  content: "";
  width: 19px;
  height: 8px;
  margin: auto;
  background: url(../images_v2/icon_arrow_black.svg) no-repeat center center;
  background-size: contain;
}
#top_news .content .news_date {
  width: 9em;
}
#top_news .content .news_title {
  flex: 1;
  padding-right: 1em;
}

/* top_about */
#top_about .cflex > li {
  width: 30.90909%;
  position: relative;
  overflow: hidden;
  border-radius: 0 100px 0 100px;
}
#top_about .cflex > li a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  height: 400px;
  background: url(../images_v2/index/about_01_bg.jpg) no-repeat center center;
  background-size: auto 100%;
  border-radius: 0 100px 0 100px;
  box-sizing: border-box;
  font-size: 25px;
  color: #fff;
  border: #f18c40 0 solid;
}
#top_about .cflex > li:nth-child(2) a {
  background-image: url(../images_v2/index/about_02_bg.jpg);
  /* pointer-events: none; */
}
#top_about .cflex > li:nth-child(3) a {
  background-image: url(../images_v2/index/about_03_bg.jpg);
}
#top_about .cflex > li a:hover {
  background-size: auto 110%;
  border: #f18c40 10px solid;
}
#top_about .cflex > li a::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 200%;
  border-top: transparent 400px solid;
  border-right: #f18c40 400px solid;
}
#top_about .cflex > li.upview a::after {
  animation: aboutview 0.6s forwards ease-out 0.6s;
}
#top_about .cflex > li.upview:nth-child(2) a::after {
  animation: aboutview 0.6s forwards ease-out 1s;
}
#top_about .cflex > li.upview:nth-child(3) a::after {
  animation: aboutview 0.6s forwards ease-out 1.4s;
}
@keyframes aboutview {
  100% {
    bottom: calc(50px - 200%);
  }
}
#top_about span {
  display: block;
}
#top_about .icon {
  margin-bottom: 10px;
}

/* top_business */
#top_business {
  background: #f18c40 url(../images_v2/index/business_bg1.jpg) no-repeat center center;
  background-size: cover;
  background-attachment: fixed;
  padding: 100px 0;
}
#top_business .ch3,
#top_business .ch3 .en::first-letter {
  margin: 0;
  color: #fff;
}
#top_business .cflex > li {
  width: 46.3636%;
  position: relative;
  overflow: hidden;
  border-radius: 0 100px 0 0;
  margin-top: 7.2727%;
}
#top_business .cflex > li a {
  display: block;
  width: 100%;
  background: #fff;
  border-radius: 0 100px 0 0;
  box-sizing: border-box;
  border: #f18c40 0 solid;
  padding: 15px;
}
#top_business .cflex > li a:hover {
  border: #f18c40 10px solid;
  padding: 5px;
}
#top_business .cflex > li a::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 200%;
  border-top: transparent 510px solid;
  border-right: #f18c40 510px solid;
}
#top_business .cflex > li.upview a::after {
  animation: aboutview 0.6s forwards ease-out 0.6s;
}
#top_business .cflex > li.upview:nth-child(2n) a::after {
  animation: aboutview 0.6s forwards ease-out 1s;
}
#top_business .cflex span {
  display: block;
  line-height: 1.2;
}
#top_business .cflex .photo {
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-bottom: 70.8333%;
  position: relative;
  border-radius: 0 90px 0 0;
}
#top_business .cflex img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  max-width: none;
}
#top_business .cflex a:hover img {
  transform: scale(110%);
}
#top_business .cflex .num {
  color: #f18c40;
  font-size: 80px;
  line-height: 1;
  margin-top: -0.5em;
  position: relative;
}
#top_business .cflex .en {
  font-size: 30px;
  padding-top: 0.2em;
}
#top_business .cflex .jp {
  font-size: 20px;
  padding: 0.3em 0 2em;
}

/* top_recruit */
#top_recruit {
  background: #4c729f url(../images_v2/index/recruit_bg_v1.jpg) no-repeat center center;
  background-size: cover;
  padding: 100px 0;
  position: relative;
  overflow: hidden;
  color: #fff;
}
#top_recruit .ch3 {
  margin: 0 auto 40px;
  color: #fff;
}
#top_recruit .ch3 .en::first-letter {
  color: #f18c40;
}
#top_recruit .wanted {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  /* font-size: 200px; */
  font-size: 160px;
  letter-spacing: -0.03em;
  mix-blend-mode: soft-light;
  opacity: 0.5;
  line-height: 0.7;
}
#top_recruit .cflex > li {
  width: 45.4545%;
  font-size: 30px;
}
#top_recruit .cflex > li .size_ss {
  font-size: 12px;
}

/* End PC */
/* ---------------------------------------------------------------------- */

@media (max-width: 1460px) {
  #top_recruit .wanted {
    font-size: 140px;
  }
}
@media (max-width: 1280px) {
  #top_recruit .wanted {
    font-size: 120px;
  }
}

@media (max-width: 1100px) {
  #top_recruit .wanted {
    font-size: 110px;
  }
}

/* ---------------------------------------------------------------------- */
/* SP */
/* ---------------------------------------------------------------------- */
@media (max-width: 1000px) {
  .page_toppage {
    background: url(../images_v2/index/body_bg_v2.png) no-repeat top 328.5333vw left;
    background-size: 116.5266vw;
  }

  /* mv */
  .page_toppage #mv .mv_h2 {
    padding-top: 5vw;
  }
  .page_toppage #mv .mv_h2 .en {
    font-size: 16vw;
    line-height: 1;
  }
  .page_toppage #mv .mv_h2 .jp {
    font-size: 5.3333vw;
    line-height: 1.6;
    margin-top: 2vw;
  }
  .page_toppage #mv .bg_block {
    height: 74.6667vw;
    top: 0;
    margin-top: 12vw;
    position: relative;
  }
  #mv .bg_block img {
    height: 74.6667vw;
    width: 80vw;
  }
  .page_toppage #mv .company {
    top: auto;
    bottom: -1.5vw;
    font-size: 14.4vw;
  }
  .page_toppage #mv .scroll {
    top: 68vw;
    right: 88vw;
    animation: 6s ease-in-out infinite move_scroll_toppage;
  }
  @keyframes move_scroll_toppage {
    0% {
      height: 12.8vw;
    }
    99.99% {
      height: 74.6667vw;
    }
    100% {
      height: 12.8vw;
    }
  }

  /* scrolltext */
  #scrolltext {
    font-size: 13.3333vw;
    width: 100%;
  }
  #scrolltext .wrapper {
    width: 100%;
    left: 0;
  }
  @keyframes scrolltext {
    0% {
      left: 105%;
    }
    100% {
      left: -15em;
    }
  }
  #scrolltext .text {
    background-size: 40vw;
    background-position: -40vw 0;
  }

  /* top_news */
  #top_news .title {
    width: auto;
    margin-bottom: 5vw;
  }
  #top_news .content a {
    flex-wrap: wrap;
  }
  #top_news .content a::after {
    width: 4.9333vw;
    height: 1.9627vw;
  }
  #top_news .content .news_date {
    width: 100%;
  }

  /* top_about */
  #top_about {
    margin-top: 21.3333vw;
  }
  #top_about p {
    text-align: left;
  }
  #top_about .cflex > li {
    width: 74.6667vw;
    border-radius: 0 26.6667vw;
    margin: 10.6667vw auto 0;
  }
  #top_about .cflex > li a {
    width: 100%;
    height: 80vw;
    border-radius: 0 26.6667vw;
    font-size: 6.6667vw;
    background-size: 100% auto;
  }
  #top_about .cflex > li a:hover {
    background-size: auto 110%;
    border: #f18c40 1.3333vw solid;
    background-size: 110% auto;
  }
  #top_about .cflex > li a::after {
    border-top: transparent 74.6667vw solid;
    border-right: #f18c40 74.6667vw solid;
  }
  #top_about .cflex > li.upview a::after,
  #top_about .cflex > li.upview:nth-child(2) a::after,
  #top_about .cflex > li.upview:nth-child(3) a::after {
    animation: aboutview 0.6s forwards ease-out 0.6s;
  }
  @keyframes aboutview {
    100% {
      bottom: calc(13.3333vw - 200%);
    }
  }
  #top_about .icon {
    margin-bottom: 2.6667vw;
  }

  /* top_business */
  #top_business {
    padding: 13.3333vw 0;
  }
  #top_business .cflex > li {
    width: 74.6667vw;
    border-radius: 0 26.6667vw 0 0;
    margin: 10.6667vw auto 0;
  }
  #top_business .cflex > li a {
    border-radius: 0 26.6667vw 0 0;
    padding: 2.1333vw;
  }
  #top_business .cflex > li a:hover {
    border: #f18c40 1.3333vw solid;
    padding: 0.8vw;
  }
  #top_business .cflex > li a::after {
    border-top: transparent 74.6667vw solid;
    border-right: #f18c40 74.6667vw solid;
  }
  #top_business .cflex > li.upview a::after,
  #top_business .cflex > li.upview:nth-child(2n) a::after {
    animation: aboutview 0.6s forwards ease-out 0.6s;
  }
  #top_business .cflex .photo {
    border-radius: 0 25.3333vw 0 0;
  }
  #top_business .cflex .num {
    font-size: 21.3333vw;
  }
  #top_business .cflex .en {
    font-size: 8vw;
  }
  #top_business .cflex .jp {
    font-size: 5.3333vw;
  }

  /* top_recruit */
  #top_recruit {
    background: #4c729f url(../images_v2/index/recruit_bg_sp_v1.jpg) no-repeat center center;
    background-size: cover;
    padding: 13.3333vw 0;
  }
  #top_recruit .ch3 {
    margin: 0 auto 5.3333vw;
  }
  #top_recruit .wanted {
    /* font-size: 26.6667vw; */
    font-size: 10.6667vw;
  }
  #top_recruit .cflex > li {
    width: 88vw;
    font-size: 1rem;
  }
  #top_recruit .cflex > li .size_ss {
    font-size: 0.625rem;
  }
}
/* End @media (max-width:1000px) */
