@charset "UTF-8";
.instrument {
  font-family: "Instrument Serif", serif !important;
  font-weight: 400;
  font-style: normal;
}

/* ======================================================
	▼▼▼ TOPページ
====================================================== */
#mainVisual {
  position: relative;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  #mainVisual {
    min-height: calc(100vh - 67.16px);
  }
}
#mainVisual .main_slider {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
#mainVisual .main_slider .img {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  position: absolute;
  top: 0;
  left: 0;
}
#mainVisual .main_slider .img:nth-of-type(2) {
  z-index: -1;
}
#mainVisual .mv {
  width: 100%;
  position: relative;
}
#mainVisual .mv .mav_logo {
  width: 63.2vw;
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
}
@media screen and (min-width: 768px) {
  #mainVisual .mv .mav_logo {
    width: 238.15px;
  }
}
#mainVisual .main_ttl_wrap {
  opacity: 0;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
#mainVisual .main_ttl_wrap .main_ttl {
  position: relative;
}
#mainVisual .main_ttl_wrap .subject {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  width: 100%;
  color: #fff;
  font-size: 12.8vw;
  letter-spacing: 0.08em;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  #mainVisual .main_ttl_wrap .subject {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    height: 447.89px;
    font-size: 69px;
  }
}
#mainVisual .main_ttl_wrap .subject.blk {
  -webkit-clip-path: inset(100% 0 0 0);
          clip-path: inset(100% 0 0 0);
  height: 100%;
  color: #000;
  position: absolute;
  top: 0;
}
@media screen and (min-width: 768px) {
  #mainVisual .main_ttl_wrap .subject.blk {
    top: auto;
    bottom: 0;
  }
}
#mainVisual .main_ttl_wrap .subject .split span {
  display: inline-block;
  opacity: 0;
  height: 1em;
}

.add_anime {
  -webkit-animation: zoomOut 7s linear 0s normal both;
          animation: zoomOut 7s linear 0s normal both;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

@-webkit-keyframes zoomOut {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes zoomOut {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
#interview .container, #benefits .container {
  padding: 0 35px;
}
@media screen and (min-width: 768px) {
  #interview .container, #benefits .container {
    padding: 0 52px;
  }
}
#interview .txt_wrap, #benefits .txt_wrap {
  padding-left: 69px;
  position: relative;
}
#interview .txt_wrap .category, #benefits .txt_wrap .category {
  top: 0;
  left: 0;
}
@media screen and (min-width: 768px) {
  #interview .txt_wrap, #benefits .txt_wrap {
    padding-left: 102px;
  }
}

.sect_ttl {
  margin-bottom: 38px;
  font-size: 25px;
  line-height: 1;
  -webkit-text-stroke: 0.4px currentColor;
}
.sect_ttl span {
  letter-spacing: 0.04em;
  line-height: 1.62;
}
@media screen and (min-width: 768px) {
  .sect_ttl {
    margin-bottom: 70px;
    font-size: 32px;
  }
}

/* ---------------------------------------
 ▼ #about
--------------------------------------- */
#about {
  margin: 100vw 0 50px;
}
#about .read {
  font-size: 19px;
  font-weight: bold;
  margin-bottom: 38px;
}
@media screen and (min-width: 768px) {
  #about .read {
    margin-bottom: calc(38px * 1.4);
  }
}
#about .read span {
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  #about {
    margin: 530px 0 115px;
  }
  #about .read {
    font-size: 23px;
  }
}

/* ---------------------------------------
 ▼ #company
--------------------------------------- */
#company {
  padding: 160px 45px 0 0;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  #company {
    padding: 160px 11.4% 0 0;
  }
}
#company .category {
  background: #fff;
  top: -22px;
  right: 32px;
}
@media screen and (min-width: 768px) {
  #company .category {
    right: 55px;
  }
}
#company .company_bg {
  width: 177%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
#company .company_bg img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
#company .box {
  background: #fff;
  padding: 55px 32px 38px 45px;
  position: relative;
}
@media screen and (min-width: 768px) {
  #company .box {
    padding: 90px 50px 80px;
  }
}
#company .box_ttl {
  font-size: 26px;
  line-height: 1;
  -webkit-text-stroke: 0.4px currentColor;
  margin-bottom: 35px;
}
@media screen and (min-width: 768px) {
  #company .box_ttl {
    margin-bottom: calc(35px * 1.4);
  }
}
#company .box_ttl span {
  letter-spacing: 0.04em;
  line-height: 1.62;
}
@media screen and (min-width: 768px) {
  #company .box_ttl {
    font-size: 35px;
  }
}

/* ---------------------------------------
 ▼ #interview
--------------------------------------- */
#interview {
  background: url(../img/top/interview_bg.jpg) no-repeat center/cover;
  padding: 80px 0;
}

.interview_link li {
  margin-top: 50px;
  margin-top: 50px;
}
@media screen and (min-width: 768px) {
  .interview_link li {
    margin-top: calc(50px * 1.4);
  }
}
.interview_link li a .img {
  margin-bottom: 17px;
}
@media screen and (min-width: 768px) {
  .interview_link li a .img {
    margin-bottom: calc(17px * 1.4);
  }
}
.interview_link li a .txt span {
  width: min(100%, 15.5em);
}
.interview_link li:nth-child(1) a .txt {
  margin-right: -0.5em;
}
.interview_link li:nth-child(odd) a {
  padding-right: 39px;
}
@media screen and (min-width: 768px) {
  .interview_link li:nth-child(odd) a {
    padding-right: calc(39px * 1.4);
  }
}
.interview_link li:nth-child(odd) a .txt_vertical {
  right: 0;
}
.interview_link li:nth-child(even) a {
  padding-left: 39px;
}
@media screen and (min-width: 768px) {
  .interview_link li:nth-child(even) a {
    padding-left: calc(39px * 1.4);
  }
}
.interview_link li:nth-child(even) a .txt_vertical {
  left: 0;
}
.interview_link li:nth-child(even) a .txt span {
  width: min(100%, 13.5em);
}

/* ---------------------------------------
 ▼ #interview
--------------------------------------- */
#benefits {
  background: url(../img/top/benefits_bg.jpg) no-repeat center/cover;
  color: #fff;
  padding: 80px 0;
}
@media screen and (min-width: 768px) {
  #benefits {
    padding: calc(80px * 1.4) 0;
  }
}
#benefits .category {
  border-color: #fff;
}
#benefits .txt_wrap p {
  -webkit-text-stroke: 0.4px currentColor;
}

.benefits_slide {
  margin-left: -35px;
  margin-right: -35px;
  width: calc(100% + 70px);
  margin-top: 50px;
  margin-bottom: 38px;
}
@media screen and (min-width: 768px) {
  .benefits_slide {
    margin-top: calc(50px * 1.4);
  }
}
@media screen and (min-width: 768px) {
  .benefits_slide {
    margin-bottom: calc(38px * 1.4);
  }
}
@media screen and (min-width: 768px) {
  .benefits_slide {
    margin-left: -52px;
    margin-right: -52px;
    width: calc(100% + 104px);
  }
}
.benefits_slide .slick-slide {
  width: 74.5vw;
  margin: 0 10px;
}
@media screen and (min-width: 768px) {
  .benefits_slide .slick-slide {
    margin: 0 calc(10px * 1.4);
  }
}
@media screen and (min-width: 768px) {
  .benefits_slide .slick-slide {
    width: 410px;
  }
}