@charset "UTF-8";
/*********************************************/
/* 大コメント */
/*********************************************/

/********** 中コメント **********/

/* 小コメント */

/*********************************************/
/* TOPページ専用CSS */
/* 総合職採用 */
/*********************************************/

/********** .topvisual **********/
.topvisual {
  width: 100vw;
  height: calc(100vh - 60px);
  min-height: 500px;
  margin: 0 0 5% 0;
  background: #000;
  position: relative;
  overflow: hidden;
}

.topvisual__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

/*
.is-topvisual-scrolled .topvisual__bg {
  position: absolute;
  bottom: 0;
  top: auto;
}

.topvisual__bg:after {
  content: '';
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 800ms;
}

.is-topvisual-scrolled .topvisual__bg:after {
  opacity: 1;
}
*/

.topvisual__mov {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.topvisual__mov:after {
  content: '';
  width: 100%;
  height: 100%;
  background: #0a220a;
  opacity: .4;
  position: absolute;
  top: 0;
  left: 0;
}

.topvisual__mov video {
  width: auto;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.topvisual__front {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.topvisual__block {
  width: 100%;
  height: 100%;
  padding: 0 0 100px 0;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
}

.topvisual__logo {
  display: block;
  width: 73.6%;
  min-height: 0%;
  filter: drop-shadow(1px 1px 3px rgba(0,0,0,0.2));
  margin: 0 auto;
}

.topvisual__text01 {
  width: 35.2%;
  margin: 14% auto 0 auto;
}

.topvisual__btn {
  font-size: 4.53vw;
  letter-spacing: 0.05em;
  line-height: 1;
  display: block;
  width: 53.33%;
  margin: 6% auto 0 auto;
}

.topvisual__btn a {
  display: block;
  width: 17.33vw;
  margin: 0 auto;
}

/* PC */
@media print, screen and (min-width: 960px){
  .topvisual {
    height: calc(100vh - 116px);
    min-height: 600px;
    margin: 0 0 20px 0;
  }

  .topvisual__block {
    padding: 0 0 0 0;
  }

  .topvisual__logo {
    width: 100%;
    max-width: 558px;
  }

  .topvisual__text01 {
    width: 100%;
    max-width: 263px;
    margin: 10vh auto 0 auto;
  }

  .topvisual__btn {
    font-size: 2.18rem;
    width: 400px;
    margin: 40px 0 0 0;
  }

  .topvisual__btn a {
    width: 90px;
  }
}

/* 940/（54+116）*/
@media print, screen and (min-width: 960px) and (min-aspect-ratio: 960/656) {
  .topvisual__mov video {
    width: 100%;
    height: auto;
  }
}
/********** .pickup **********/
.pickup {
  padding: 0 0 0 0;
  margin: 10% 0 10% 0;
  position: relative;
  overflow: hidden;
}

.pickup:before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: #e60013;
  position: absolute;
  top: 3.3vw;
  left: calc(50% - 27vw);
}

.pickup__inner {
  width: 81.33%;
  max-width: 610px;
  margin: 0 auto;
}

.pickup__title {
  width: 22.2vw;
  margin: 0 0 4.9% 0;
  position: relative;
}

.pickup .menu__block {}

.pickup .menu__block-box {
  background: rgba(239, 239, 239, .9);
  position: relative;
}

.pickup .menu__inner {
  overflow: hidden;
}

.pickup .menu__block-box {
  margin-bottom: 5.73%;
}

.menu__box2 .menu-text {
  font-weight: 500;
  font-size: 3.2vw;
  letter-spacing: 0.03em;
  line-height: 1.9;
  text-align: center;
  padding: 2.5% 2%;
}

/* Tab */
@media print, screen and (min-width: 769px){
}

/* PC */
@media print, screen and (min-width: 960px){
  .pickup {
    padding: 10px 0 0 0;
    margin: 60px 0 50px 0;
  }

  .pickup:before {
    height: 368px;
    top: 0;
    left: 145px;
  }

  .pickup__inner {
    width: 100%;
    max-width: 1112px;
  }

  .pickup__title {
    width: 100%;
    max-width: 234px;
    margin: 0 0 40px 0;
  }

  .pickup .menu__block {}

  .pickup .menu__block-box {
    background: rgba(239, 239, 239, .9);
    position: relative;
  }

  .pickup .menu__block-box {
    margin-bottom: 16px;
  }

  .menu__box2 .menu-text {
    font-size: 1.125rem;
    text-align: left;
    padding: 25px 22px;
  }
}

@media print, screen and (min-width: 960px) and (-webkit-min-device-pixel-ratio: 2){

}


@media print, screen and (min-width: 980px){

}

@media print, screen and (min-width: 1112px){
  .pickup:before {
    left: calc(50% - 410px);
  }
}
