@charset "UTF-8";
/* SCSS */
@keyframes bgAnime {
  0% {
    opacity: 0; }
  6.666% {
    opacity: 1; }
  33.333% {
    opacity: 1; }
  40% {
    opacity: 0; }
  100% {
    opacity: 0; } }
@keyframes line_yoko {
  0% {
    transform: translate(-330px, 0); }
  40% {
    transform: translate(0, 0); }
  41% {
    transform: translate(0, 0); }
  80% {
    transform: translate(330px, 0); }
  100% {
    transform: translate(330px, 0); } }
@keyframes line_tate {
  0% {
    transform: translate(0, -120px); }
  20% {
    transform: translate(0, -120px); }
  60% {
    transform: translate(0, 0); }
  61% {
    transform: translate(0, 0); }
  100% {
    transform: translate(0, 120px); } }
@keyframes line1_yoko {
  0% {
    transform: translate(-300px, 0); }
  40% {
    transform: translate(0, 0); }
  41% {
    transform: translate(0, 0); }
  80% {
    transform: translate(300px, 0); }
  100% {
    transform: translate(300px, 0); } }
@keyframes line1_tate {
  0% {
    transform: translate(0, -250px); }
  20% {
    transform: translate(0, -250px); }
  60% {
    transform: translate(0, 0); }
  61% {
    transform: translate(0, 0); }
  100% {
    transform: translate(0, 250px); } }
@keyframes line2_yoko {
  0% {
    transform: translate(-300px, 0); }
  20% {
    transform: translate(-300px, 0); }
  60% {
    transform: translate(0, 0); }
  61% {
    transform: translate(0, 0); }
  100% {
    transform: translate(300px, 0); } }
@keyframes line2_tate {
  0% {
    transform: translate(0, -250px); }
  40% {
    transform: translate(0, 0); }
  41% {
    transform: translate(0, 0); }
  80% {
    transform: translate(0, 250px); }
  100% {
    transform: translate(0, 250px); } }
@media screen and (min-width: 1201px) {
  .tab_only,
  .sp_only {
    display: none !important; } }
@media screen and (min-width: 701px) and (max-width: 1000px) {
  .pc_only {
    display: none !important; } }
@media screen and (max-width: 700px) {
  .line1,
  .line2 {
    display: none !important; }

  .pc_only,
  .tab_only,
  .lg_only {
    display: none !important; } }
header {
  top: -80px;
  transition: all 1s ease 0s; }
  header.active {
    top: 0; }

section {
  position: relative; }

.active .line {
  position: absolute;
  top: 40px;
  left: 50%;
  width: 330px;
  height: 120px;
  margin: 0 0 0 -170px;
  overflow: hidden; }
  @media screen and (max-width: 700px) {
    .active .line {
      transform: scale(0.5, 0.5);
      top: -15px; } }
  .active .line:before {
    position: absolute;
    left: 10px;
    top: 0;
    content: "";
    width: 1px;
    height: 120px;
    background: #000;
    animation: line_tate 1s;
    transform: translate(0, 120px); }
    @media screen and (max-width: 700px) {
      .active .line:before {
        width: 2px; } }
  .active .line:after {
    position: absolute;
    top: 60px;
    left: 0;
    content: "";
    height: 1px;
    width: 330px;
    background: #000;
    animation: line_yoko 2s;
    transform: translate(330px, 0); }
    @media screen and (max-width: 700px) {
      .active .line:after {
        height: 2px; } }

.line1.active {
  position: absolute;
  top: 80px;
  right: 30px;
  width: 300px;
  height: 250px;
  overflow: hidden; }
  .line1.active:before {
    position: absolute;
    right: 20px;
    top: 0;
    content: "";
    width: 1px;
    height: 250px;
    background: #000;
    animation: line1_tate 2s;
    transform: translate(0, 250px); }
  .line1.active:after {
    position: absolute;
    top: 20px;
    left: 0;
    content: "";
    width: 300px;
    height: 1px;
    background: #000;
    animation: line1_yoko 1s;
    transform: translate(300px, 0); }

.line2.active {
  position: absolute;
  bottom: 40px;
  left: 30px;
  width: 300px;
  height: 250px;
  overflow: hidden; }
  .line2.active:before {
    position: absolute;
    left: 20px;
    top: 0;
    content: "";
    width: 1px;
    height: 250px;
    background: #000;
    animation: line2_tate 1s;
    transform: translate(0, 250px); }
  .line2.active:after {
    position: absolute;
    bottom: 20px;
    left: 0;
    content: "";
    width: 300px;
    height: 1px;
    background: #000;
    animation: line2_yoko 2s;
    transform: translate(300px, 0); }

.top_hw {
  font-style: italic;
  font-size: 40px;
  font-weight: 200;
  text-align: center;
  letter-spacing: 0.1em;
  margin: 0 0 30px;
  padding: 0;
  position: relative; }
  @media screen and (max-width: 700px) {
    .top_hw {
      font-size: 23px; } }
  .top_hw span {
    font-style: normal;
    font-size: 18px;
    display: block;
    letter-spacing: 0.05em; }
    @media screen and (max-width: 700px) {
      .top_hw span {
        font-size: 12px; } }

.btnarea {
  text-align: center;
  margin-top: 40px; }
  @media screen and (max-width: 700px) {
    .btnarea {
      margin-top: 20px; } }

.btn1 {
  display: block;
  width: 200px;
  margin: 0 auto;
  padding: 12px 0;
  box-sizing: border-box;
  border: 1px solid #000;
  text-align: center;
  color: #000;
  transition: all 0.3s ease 0s; }
  .btn1:hover {
    text-decoration: none;
    opacity: 0.8;
    color: #000;
    background: #fff; }
  .btn1:before {
    content: "";
    width: 6px;
    height: 6px;
    display: inline-block;
    transform: rotate(45deg);
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    margin: 0 10px 0 0;
    position: relative;
    top: -2px; }

.btn2 {
  display: block;
  width: 200px;
  margin: 0 auto;
  padding: 12px 0;
  box-sizing: border-box;
  background: #2ab0cd;
  color: #fff;
  text-align: center;
  transition: all 0.3s ease 0s; }
  .btn2:hover {
    text-decoration: none;
    opacity: 0.8;
    color: #fff; }
  .btn2:before {
    content: "";
    width: 6px;
    height: 6px;
    display: inline-block;
    transform: rotate(45deg);
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    margin: 0 10px 0 0;
    position: relative;
    top: -2px; }

#top_mainvisual {
  height: calc(100vh + 18vw);
  margin: -80px 0 0 0;
  background: #fff;
  position: relative; }
  #top_mainvisual .mainbg {
    position: absolute;
    top: 0;
    left: 0;
    height: calc(100vh + 18vw);
    width: 100%;
    z-index: 1;
    transition: all 1s ease 5s;
    opacity: 0; }
    #top_mainvisual .mainbg .slide {
      position: absolute;
      width: 100%;
      height: calc(100vh + 18vw);
      background: no-repeat center center / cover;
      opacity: 0;
      animation: bgAnime 15s infinite;
      /* 3画像 × 各5s = 15s */ }
      #top_mainvisual .mainbg .slide.bg1 {
        background-image: url(../img/top/top03.jpg);
        /* 背景の画像を指定 */ }
      #top_mainvisual .mainbg .slide.bg2 {
        background-image: url(../img/top/top01.jpg);
        /* 背景の画像を指定 */
        animation-delay: 5s; }
      #top_mainvisual .mainbg .slide.bg3 {
        background-image: url(../img/top/top02.jpg);
        /* 背景の画像を指定 */
        animation-delay: 10s; }
  #top_mainvisual .text {
    position: absolute;
    top: calc(50% - 9vw);
    left: 0;
    transform: translate(0, -50%);
    width: 100%;
    text-align: center;
    z-index: 2;
    padding: 0 30px;
    box-sizing: border-box; }
    #top_mainvisual .text h1 {
      margin: 0 0 53px;
      padding: 0;
      transition: all 1.5s ease 0s;
      transform: translate(0, 30px);
      opacity: 0; }
    #top_mainvisual .text p {
      transition: all 1.5s ease 1s;
      transform: translate(0, 30px);
      opacity: 0; }
  #top_mainvisual .scroll {
    position: absolute;
    bottom: calc(18vw + 20px);
    left: 50%;
    margin: 0 0 0 -30px;
    z-index: 5;
    transition: all 1s ease 6.5s;
    transform: translate(0, -30px);
    opacity: 0; }
    @media screen and (max-width: 700px) {
      #top_mainvisual .scroll {
        width: 30px;
        bottom: calc(18vw + 80px);
        margin: 0 0 0 -15px; } }
  #top_mainvisual.active .mainbg {
    opacity: 1; }
  #top_mainvisual.active .text h1,
  #top_mainvisual.active .text p,
  #top_mainvisual.active .scroll {
    transform: translate(0, 0);
    opacity: 1; }

#top_lead .bg {
  padding: 0;
  margin: -9vw 0 0 0;
  transform: skew(0deg, -10deg);
  overflow: hidden;
  width: 100%;
  height: 564px;
  position: absolute;
  z-index: 1; }
#top_lead .effect {
  background: url(../img/common/bg_page01.png);
  transform: skew(0deg, 10deg);
  width: 100%;
  height: calc(100% + 18vw);
  margin: -9vw auto;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0; }
  #top_lead .effect .ef1 {
    position: absolute;
    bottom: 17.6vw;
    right: 0;
    z-index: 2;
    transition: all 1s ease 0s;
    opacity: 0;
    transform: translate(0, -500px); }
    @media screen and (max-width: 1000px) {
      #top_lead .effect .ef1 {
        right: -100px; } }
    @media screen and (max-width: 800px) {
      #top_lead .effect .ef1 {
        right: -110px; } }
    @media screen and (max-width: 600px) {
      #top_lead .effect .ef1 {
        right: -130px; } }
    @media screen and (max-width: 500px) {
      #top_lead .effect .ef1 {
        right: -150px; } }
    @media screen and (max-width: 400px) {
      #top_lead .effect .ef1 {
        right: -200px; } }
    @media screen and (max-width: 350px) {
      #top_lead .effect .ef1 {
        right: -230px; } }
  #top_lead .effect .ef2 {
    position: absolute;
    top: 18vw;
    left: 0;
    z-index: 1;
    transition: all 1s ease 0.3s;
    opacity: 0;
    transform: translate(0, 500px); }
    @media screen and (max-width: 1000px) {
      #top_lead .effect .ef2 {
        left: -100px; } }
    @media screen and (max-width: 800px) {
      #top_lead .effect .ef2 {
        left: -110px; } }
    @media screen and (max-width: 600px) {
      #top_lead .effect .ef2 {
        left: -130px; } }
    @media screen and (max-width: 500px) {
      #top_lead .effect .ef2 {
        left: -150px; } }
    @media screen and (max-width: 400px) {
      #top_lead .effect .ef2 {
        left: -200px; } }
    @media screen and (max-width: 350px) {
      #top_lead .effect .ef2 {
        leftt: -230px; } }
  #top_lead .effect .ef3 {
    position: absolute;
    bottom: 20%;
    left: 0;
    z-index: 2;
    transition: all 1s ease 0.6s;
    opacity: 0;
    transform: translate(0, -500px); }
    @media screen and (max-width: 1000px) {
      #top_lead .effect .ef3 {
        left: -100px; } }
    @media screen and (max-width: 800px) {
      #top_lead .effect .ef3 {
        left: -120px; } }
    @media screen and (max-width: 600px) {
      #top_lead .effect .ef3 {
        left: -130px; } }
    @media screen and (max-width: 500px) {
      #top_lead .effect .ef3 {
        left: -150px; } }
    @media screen and (max-width: 400px) {
      #top_lead .effect .ef3 {
        left: -170px; } }
    @media screen and (max-width: 350px) {
      #top_lead .effect .ef3 {
        leftt: -230px; } }
  #top_lead .effect .ef4 {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    transition: all 1s ease 0.9s;
    opacity: 0;
    transform: translate(0, 500px); }
    @media screen and (max-width: 1000px) {
      #top_lead .effect .ef4 {
        right: -100px; } }
    @media screen and (max-width: 800px) {
      #top_lead .effect .ef4 {
        right: -120px; } }
    @media screen and (max-width: 600px) {
      #top_lead .effect .ef4 {
        right: -130px; } }
    @media screen and (max-width: 500px) {
      #top_lead .effect .ef4 {
        right: -150px; } }
    @media screen and (max-width: 400px) {
      #top_lead .effect .ef4 {
        right: -200px; } }
    @media screen and (max-width: 350px) {
      #top_lead .effect .ef4 {
        right: -230px; } }
#top_lead .text {
  /*transform:skew(0deg, 10deg); */
  max-width: 1000px;
  display: table;
  margin: 0 auto 0;
  padding: 150px 80px 100px;
  box-sizing: border-box;
  text-align: center;
  position: relative;
  top: -9vw;
  z-index: 1; }
  @media screen and (max-width: 700px) {
    #top_lead .text {
      padding: 75px 50px 50px; } }
  @media screen and (max-width: 400px) {
    #top_lead .text {
      padding: 75px 30px 50px; } }
  #top_lead .text p {
    transform: translate(0, 30px);
    opacity: 0; }
    #top_lead .text p.large {
      font-size: 22px;
      margin-bottom: 30px;
      transition: all 1.5s ease 1.5s; }
      @media screen and (max-width: 700px) {
        #top_lead .text p.large {
          font-size: 16px; } }
    #top_lead .text p.small {
      transition: all 1.5s ease 2.5s; }
  #top_lead .text .btnarea {
    transition: all 1.5s ease 3.5s;
    transform: translate(0, 30px);
    opacity: 0; }
#top_lead.active .effect .ef1,
#top_lead.active .effect .ef2,
#top_lead.active .effect .ef3,
#top_lead.active .effect .ef4 {
  opacity: 1;
  transform: translate(0, 0); }
#top_lead.active p,
#top_lead.active .btnarea {
  opacity: 1;
  transform: translate(0, 0); }

#top_message {
  overflow: hidden;
  position: relative;
  padding: 0 0 280px;
  padding-top: calc(9vw + 100px);
  margin-top: -18vw;
  background: #f7f7f7;
  /*
  .photo {
  	position: absolute;
  	bottom:9vw;
  	left:54%;
  	width: 65%;
  	text-align: left;
  	z-index: 1;
  	transition: all 1.5s ease 1s;
  	transform: translate(50px,0);
  	opacity: 0;
  	@media screen and (max-width: 700px){
  		width:35%;
  		left:75%;
  	}
  	@media screen and (max-width: 600px){
  		width:40%;
  		left:65%;
  	}
  	@media screen and (max-width: 500px){
  		width:50%;
  		left:60%;
  	}
  	@media screen and (max-width: 400px){
  		width:65%;
  		left:54%;
  	}
  	@media screen and (max-width: 350px){
  		width:85%;
  		left:44%;
  		bottom:6vw;
  	}
  	img {
  		max-width: 100%;
  		@media screen and (max-width: 700px){
  			opacity:0.3;
  		}
  	}
  }
  */ }
  @media screen and (max-width: 1000px) {
    #top_message {
      padding-bottom: 200px; } }
  @media screen and (max-width: 700px) {
    #top_message {
      padding-bottom: 100px;
      padding-top: calc(9vw + 50px); } }
  #top_message h2 {
    position: relative;
    z-index: 2;
    transition: all 1.5s ease 0s;
    transform: translate(0, 30px);
    opacity: 0; }
  #top_message .text {
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
    padding: 30px 0 0 0;
    z-index: 3;
    text-align: center;
    box-sizing: border-box; }
    @media screen and (max-width: 1000px) {
      #top_message .text {
        padding: 30px 30px 0; } }
    @media screen and (max-width: 700px) {
      #top_message .text {
        padding: 0 15px; } }
    #top_message .text p {
      /*width:54%;*/
      transform: translate(0, 30px);
      opacity: 0; }
      @media screen and (max-width: 700px) {
        #top_message .text p {
          width: 100%; } }
      #top_message .text p.large {
        font-size: 22px;
        margin-bottom: 30px;
        transition: all 1.5s ease 2s; }
        @media screen and (max-width: 700px) {
          #top_message .text p.large {
            font-size: 16px;
            margin-bottom: 20px; } }
      #top_message .text p.small {
        transition: all 1.5s ease 2.5s; }
    #top_message .text .btnarea {
      text-align: left;
      transition: all 1.5s ease 3s;
      transform: translate(0, 30px);
      opacity: 0; }
      #top_message .text .btnarea a {
        margin: 0 auto; }
        @media screen and (max-width: 700px) {
          #top_message .text .btnarea a {
            margin: 0 auto; } }
  #top_message.active h2,
  #top_message.active .photo,
  #top_message.active .text p,
  #top_message.active .btnarea {
    opacity: 1;
    transform: translate(0, 0); }
  #top_message.active .line {
    top: calc(9vw + 40px); }
    @media screen and (max-width: 700px) {
      #top_message.active .line {
        top: calc(9vw - 15px); } }

#top_business {
  max-width: 1000px;
  margin: 0 auto;
  padding: 100px 0 150px;
  box-sizing: border-box; }
  @media screen and (max-width: 700px) {
    #top_business {
      padding: 50px 15px 60px; } }
  #top_business h2 {
    transition: all 1.5s ease 0s;
    transform: translate(0, 30px);
    opacity: 0; }
  #top_business .lead {
    text-align: center;
    margin: 0 0 50px;
    transition: all 1.5s ease 1s;
    transform: translate(0, 30px);
    opacity: 0; }
    @media screen and (max-width: 700px) {
      #top_business .lead {
        margin: 0 0 30px; } }
  #top_business ul {
    margin: 0 -10px;
    padding: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap; }
    @media screen and (max-width: 700px) {
      #top_business ul {
        margin: 0;
        justify-content: space-between; } }
    #top_business ul li {
      margin: 0 10px 20px;
      list-style: none;
      width: 310px;
      text-align: center;
      position: relative;
      transform: translate(0, 30px);
      opacity: 0; }
      #top_business ul li:nth-of-type(1) {
        transition: all 1s ease 2s; }
      #top_business ul li:nth-of-type(2) {
        transition: all 1s ease 2.2s; }
      #top_business ul li:nth-of-type(3) {
        transition: all 1s ease 2.4s; }
      #top_business ul li:nth-of-type(4) {
        transition: all 1s ease 2.6s; }
      #top_business ul li:nth-of-type(5) {
        transition: all 1s ease 2.8s; }
      #top_business ul li:nth-of-type(6) {
        transition: all 1s ease 3.0s; }
      #top_business ul li:nth-of-type(7) {
        transition: all 1s ease 3.2s; }
      #top_business ul li:nth-of-type(8) {
        transition: all 1s ease 3.4s; }
      #top_business ul li:nth-of-type(9) {
        transition: all 1s ease 3.6s; }
      @media screen and (max-width: 700px) {
        #top_business ul li {
          width: calc(50% - 5px);
          margin: 0 0 10px; } }
      #top_business ul li a {
        padding: 15px;
        background: #fff;
        color: #000;
        display: block; }
        @media screen and (max-width: 700px) {
          #top_business ul li a {
            display: flex;
            align-items: center;
            padding: 5px; } }
        #top_business ul li a:hover {
          color: #000;
          text-decoration: none;
          opacity: 0.8; }
      @media screen and (max-width: 700px) {
        #top_business ul li figure {
          width: 82px;
          height: 75px;
          overflow: hidden; } }
      #top_business ul li p {
        position: absolute;
        bottom: 30px;
        left: 0px;
        width: 100%; }
        @media screen and (max-width: 700px) {
          #top_business ul li p {
            position: static;
            width: auto;
            padding-bottom: 5px;
            font-size: 10px;
            text-align: left; } }
  #top_business .btnarea {
    transition: all 1.5s ease 4.6s;
    transform: translate(0, 30px);
    opacity: 0; }
  #top_business.active h2,
  #top_business.active .lead,
  #top_business.active ul li,
  #top_business.active .btnarea {
    opacity: 1;
    transform: translate(0, 0); }

#top_company {
  max-width: 1000px;
  margin: 0 auto;
  padding: 100px 0 150px;
  box-sizing: border-box; }
  @media screen and (max-width: 1000px) {
    #top_company {
      padding: 100px 30px 150px; } }
  @media screen and (max-width: 700px) {
    #top_company {
      padding: 50px 15px 60px; } }
  #top_company h2 {
    transition: all 1.5s ease 0s;
    transform: translate(0, 30px);
    opacity: 0; }
  #top_company .lead {
    text-align: center;
    margin: 0 0 50px;
    transition: all 1.5s ease 1s;
    transform: translate(0, 30px);
    opacity: 0; }
    @media screen and (max-width: 700px) {
      #top_company .lead {
        margin-bottom: 30px; } }
  #top_company ul {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    #top_company ul li {
      margin: 0;
      list-style: none;
      width: 32%;
      text-align: center;
      background: #fff;
      transform: translate(0, 30px);
      opacity: 0; }
      @media screen and (max-width: 700px) {
        #top_company ul li {
          width: calc(50% - 1px); } }
      #top_company ul li:nth-of-type(1) {
        transition: all 1s ease 2s; }
        @media screen and (max-width: 700px) {
          #top_company ul li:nth-of-type(1) {
            width: 100%;
            margin: 0 0 2px; } }
      #top_company ul li:nth-of-type(2) {
        transition: all 1s ease 2.2s; }
      #top_company ul li:nth-of-type(3) {
        transition: all 1s ease 2.4s; }
      #top_company ul li a {
        height: 320px;
        position: relative;
        display: block;
        color: #fff;
        background: no-repeat center center / 100%;
        transition: all 0.3s ease 0s; }
        #top_company ul li a:hover {
          background-size: 110%; }
          @media screen and (max-width: 700px) {
            #top_company ul li a:hover {
              background-size: cover; } }
        @media screen and (max-width: 1000px) {
          #top_company ul li a {
            height: calc(32vw - 25px); } }
        @media screen and (max-width: 700px) {
          #top_company ul li a {
            height: calc(50vw - 16px);
            background-size: cover; } }
        #top_company ul li a p {
          position: absolute;
          top: 50%;
          left: 0px;
          width: 100%;
          transform: translate(0, -50%);
          font-size: 18px; }
          @media screen and (max-width: 700px) {
            #top_company ul li a p {
              font-size: 14px; } }
          #top_company ul li a p strong {
            font-size: 26px;
            display: block;
            letter-spacing: 0.05em;
            font-weight: 500; }
            @media screen and (max-width: 700px) {
              #top_company ul li a p strong {
                font-size: 16px; } }
      #top_company ul li:nth-of-type(1) a {
        background-image: url(../img/top/company_1.jpg); }
        @media screen and (max-width: 700px) {
          #top_company ul li:nth-of-type(1) a {
            background-image: url(../img/top/company_1_sp.jpg); }
            #top_company ul li:nth-of-type(1) a p strong {
              font-size: 26px; } }
      #top_company ul li:nth-of-type(2) a {
        background-image: url(../img/top/company_2.jpg); }
      #top_company ul li:nth-of-type(3) a {
        background-image: url(../img/top/company_3.jpg); }
  #top_company .btnarea {
    transition: all 1.5s ease 3.4s;
    transform: translate(0, 30px);
    opacity: 0; }
  #top_company.active h2,
  #top_company.active .lead,
  #top_company.active ul li,
  #top_company.active .btnarea {
    opacity: 1;
    transform: translate(0, 0); }

#top_recruit {
  max-width: 1000px;
  margin: 0 auto;
  padding: 100px 0 150px;
  box-sizing: border-box; }
  @media screen and (max-width: 1000px) {
    #top_recruit {
      padding: 100px 30px 150px; } }
  @media screen and (max-width: 700px) {
    #top_recruit {
      padding: 50px 15px 50px; } }
  #top_recruit h2 {
    transition: all 1.5s ease 0s;
    transform: translate(0, 30px);
    opacity: 0; }
  #top_recruit .lead {
    text-align: center;
    margin: 0 0 50px;
    transition: all 1.5s ease 1s;
    transform: translate(0, 30px);
    opacity: 0; }
    @media screen and (max-width: 700px) {
      #top_recruit .lead {
        margin-bottom: 30px; } }
  #top_recruit .btnarea {
    transition: all 1.5s ease 2s;
    transform: translate(0, 30px);
    opacity: 0; }
  #top_recruit .btnarea2 {
    transition: all 1.5s ease 3s;
    transform: translate(0, 30px);
    opacity: 0; }
  #top_recruit .btn_interview {
    margin: 80px 0 0 0;
    width: 100%;
    height: 320px;
    text-align: center;
    position: relative;
    display: block;
    color: #fff;
    background: url(../img/top/interview.jpg) no-repeat center center/100%;
    transition: background 0.3s ease 0s; }
    @media screen and (max-width: 700px) {
      #top_recruit .btn_interview {
        margin: 40px 0;
        height: calc(50vw - 16px);
        background: url(../img/top/interview_sp.jpg) no-repeat center center;
        background-size: cover; } }
    #top_recruit .btn_interview:hover {
      background-size: 103%; }
      @media screen and (max-width: 700px) {
        #top_recruit .btn_interview:hover {
          background-size: cover; } }
    #top_recruit .btn_interview p {
      position: absolute;
      top: 50%;
      left: 0px;
      width: 100%;
      transform: translate(0, -50%);
      font-size: 18px; }
      @media screen and (max-width: 700px) {
        #top_recruit .btn_interview p {
          font-size: 14px; } }
      #top_recruit .btn_interview p strong {
        font-size: 26px;
        display: block;
        letter-spacing: 0.05em;
        font-weight: 500; }
  #top_recruit.active h2,
  #top_recruit.active .lead,
  #top_recruit.active .btnarea,
  #top_recruit.active .btnarea2 {
    opacity: 1;
    transform: translate(0, 0); }

#footerContact h2 {
  transition: all 1.5s ease 0s;
  transform: translate(0, 30px);
  opacity: 0; }
#footerContact h2 + p {
  transition: all 1.5s ease 1s;
  transform: translate(0, 30px);
  opacity: 0; }
#footerContact .telphone {
  transition: all 1.5s ease 2s;
  transform: translate(0, 30px);
  opacity: 0; }
#footerContact ul li {
  transform: translate(0, 30px);
  opacity: 0; }
  #footerContact ul li:nth-of-type(1) {
    transition: all 1.5s ease 3s; }
  #footerContact ul li:nth-of-type(2) {
    transition: all 1.5s ease 3.3s; }
#footerContact.active h2,
#footerContact.active h2 + p,
#footerContact.active .telphone,
#footerContact.active ul li {
  opacity: 1;
  transform: translate(0, 0); }

.skewed-bg {
  padding: 0;
  transform: skew(0deg, -10deg);
  overflow: hidden;
  height: 375px;
  width: 100%;
  position: relative;
  z-index: 100; }
  @media screen and (max-width: 700px) {
    .skewed-bg {
      height: 180px; } }
  #top_message + .skewed-bg {
    margin-top: -9vw; }
  .skewed-bg .bg {
    transform: skew(0deg, 10deg);
    width: 100vw;
    height: 100vh;
    margin: -9vw 0; }
    @media screen and (max-width: 800px) {
      .skewed-bg .bg {
        height: calc(375px + 18vw); } }
    @media screen and (max-width: 700px) {
      .skewed-bg .bg {
        height: calc(180px + 18vw); } }
  .skewed-bg .bg1 {
    background: url(../img/top/bgimage_1.jpg) no-repeat center center/cover;
    background-attachment: fixed; }
    @media screen and (max-width: 800px) {
      .skewed-bg .bg1 {
        background: url(../img/top/bgimage_1_sp.jpg) no-repeat center center/100%; } }
  .skewed-bg .bg2 {
    background: url(../img/top/bgimage_2.jpg) no-repeat center center/cover;
    background-attachment: fixed; }
    @media screen and (max-width: 800px) {
      .skewed-bg .bg2 {
        background: url(../img/top/bgimage_2_sp.jpg) no-repeat center center/100%; } }
  .skewed-bg .bg3 {
    background: url(../img/top/bgimage_3.jpg) no-repeat center center/cover;
    background-attachment: fixed; }
    @media screen and (max-width: 800px) {
      .skewed-bg .bg3 {
        background: url(../img/top/bgimage_3_sp.jpg) no-repeat center center/100%; } }

@-moz-document url-prefix() {
  .skewed-bg .bg {
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -45vh; } }
