@charset "UTF-8";
/*----------------------------------------------------
大項目
======================================================
基本設定
mixin-font
mixin-疑似要素
mixin-テキストホバー
mixin-ボタン
mixin-アニメーション
======================================================
----------------------------------------------------*/
/* 
デバイスサイズ
・iPhone ③種類 320px,375px,414px
・iPad 大体③種類 768px,834px,1024px

PC
・MacBookPro(13.3インチ) 1280px
・MacBookPro(14インチ) 1512px
・MacBookPro(16インチ) 1728px
・iMac(24インチ) 2240px
・iMac(27インチ) 2560px
*/
/*----------------------------------------------------
基本設定
----------------------------------------------------*/
/*----------------------------------------------------
.inner 余白 設定
----------------------------------------------------*/
/*----------------------------------------------------
//ベースフォントサイズ
----------------------------------------------------*/
/*----------------------------------------------------
グローバルナビブレイクポイント
/* ハンバーガーメニューの切り替わるポイント。
----------------------------------------------------*/
/* gnav.jsの変数「gNav_bpoint」も数値を合わせる */
/*----------------------------------------------------
transition
----------------------------------------------------*/
/* ホバー変更はやさ*/
/*----------------------------------------------------
mixinで、cssアニメーションを変数で指定できるようにするのに使う
----------------------------------------------------*/
/* インクルードする際はこんなふうに使う */
/*----------------------------------------------------
アニメーション名を指定する
----------------------------------------------------*/
/*----------------------------------------------------
中央寄せ
----------------------------------------------------*/
/* 上下左右中央寄せ */
/* 上下中央寄せ */
/* 左右中央寄せ */
/*----------------------------------------------------
リストマーカー
----------------------------------------------------*/
/*----------------------------------------------------
よく使う小技
----------------------------------------------------*/
/* ボックス影 */
/* 反転*/
/* 文字幅が指定幅を超えたときに「...」を表示する */
/* 親要素よりも幅を超えて画面いっぱいに表示するとき */
/* iconを横にぐるっと回転 */
/* slickのautoスライドの時などに、画面をタップするとスライドが動かなくなるのを防ぐ */
/* safariでボタンを押した際に出てくる青枠を消す */
/* クリップパス ジェネレーター： https://bennettfeely.com/clippy/。 */
/*----------------------------------------------------
グラデーション
----------------------------------------------------*/
/* 交互に斜めを入れる。rgba(0,0,0,0)で透過させることもできる */
/*----------------------------------------------------
======================================================
mixin-font
======================================================
----------------------------------------------------*/
/*----------------------------------------------------
フォント設定
----------------------------------------------------*/
/*----------------------------------------------------
フォント
----------------------------------------------------*/
/*----------------------------------------------------
======================================================
mixin-疑似要素
======================================================
----------------------------------------------------*/
/*----------------------------------------------------
======================================================
mixin-テキストホバー
======================================================
----------------------------------------------------*/
/*----------------------------------------------------
テキストホバーで線を表示する

//html例：<p>テキスト<a href="" class="link_text"><span>こちら</span></a>テキス</p>
spanタグにhoverしたときに線画出るようにしている。

----------------------------------------------------*/
/* ホバーで下線が左に消える */
/* ホバーで左から右に線が出る */
/* ホバーで中央から線が出る */
/* ホバーで中央の線がきえる */
/*----------------------------------------------------
======================================================
mixin-ボタン
======================================================
----------------------------------------------------*/
/*----------------------------------------------------
基本のhtml
<a href="" class="btn">
  <span>私たちについて</span>
</a>
----------------------------------------------------*/
/* 右矢印付き 「▶︎」*/
/* ボタン矢印あり 「 ---\ 」*/
/* ボタン 「く」の字型*/
/* '+' ありボタン */
/* hoverするとブワッとかわる */
/*----------------------------------------------------
======================================================
mixin-アニメーション
======================================================
----------------------------------------------------*/
/*----------------------------------------------------
フェードイン
----------------------------------------------------*/
/*----------------------------------------------------
上下左右に消える
----------------------------------------------------*/
/* 下にスッと消える*/
/* 上にスッと消える*/
/*----------------------------------------------------
上下左右から表示
----------------------------------------------------*/
/* 下から上にフワッと出てくる */
/* 上から下にフワッと出てくる */
/* 左から右にスッと出てくる*/
/* 右から左にスッと出てくる*/
/*----------------------------------------------------
コンテンツを覆っているカバーが徐々に取れる (左右) 覆いたい対象にクラス名を付ければOK
ターゲットとなる要素にはあらかじめ、下記のプロパティを設定しておく
position: relative;
overflow: hidden;
----------------------------------------------------*/
/* 左から右に動かしたい場合は、0％ → 100%。 右から左は 0% ⇨ -100% */
/*----------------------------------------------------
コンテンツを覆っているカバーが徐々に取れる (上下) 覆いたい対象にクラス名を付ければOK
ターゲットとなる要素にはあらかじめ、下記のプロパティを設定しておく
position: relative;
overflow: hidden;
----------------------------------------------------*/
/*----------------------------------------------------
文字間を徐々につめるアニメーション
----------------------------------------------------*/
/*----------------------------------------------------
ボヤーと出てくる
----------------------------------------------------*/
/*----------------------------------------------------
ふわふわ 動き続ける
----------------------------------------------------*/
/* 上下にふわふわ */
/* ホバーすると上にテキストが透明になって、下から出てくる */
@-webkit-keyframes textMove {
  0% {
    opacity: 1;
  }
  25% {
    -webkit-transform: translateY(-1em);
            transform: translateY(-1em);
    opacity: 0;
  }
  50% {
    -webkit-transform: translateY(1em);
            transform: translateY(1em);
    opacity: 0;
  }
  75% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
@keyframes textMove {
  0% {
    opacity: 1;
  }
  25% {
    -webkit-transform: translateY(-1em);
            transform: translateY(-1em);
    opacity: 0;
  }
  50% {
    -webkit-transform: translateY(1em);
            transform: translateY(1em);
    opacity: 0;
  }
  75% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
/* くるくる回り続ける */
@-webkit-keyframes fadeUpAnimeCircle {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes fadeUpAnimeCircle {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
/*----------------------------------------------------
bgが左右から流れ、その後、テキストが表示される。

.bg_fromLeft_toRight {
 @include bg_fromLeft_toRight;
}

html構成
<div class=" target">
  <span>
    <img src="<?php echo get_template_directory_uri(); ?>/assets/images/top/introduction/catch.png" alt="写真も、動画も。無限の可能性を撮る">
  </span>
</div>
----------------------------------------------------*/
/* 左から右に流れる */
/* 右から左に流れる */
/* パララックスっぽくするために、パララックス以外の要素に色を敷いてる */
#mv {
  background-color: #fff;
  position: relative;
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.secTitle {
  margin-bottom: 20px;
}
.secTitle .en {
  font-size: 59px;
  letter-spacing: 0.1em;
  line-height: 1.2;
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  /* 751- */
}
@media all and (max-width: 900px) {
  .secTitle .en.spBlock {
    display: block;
  }
}
@media all and (min-width: 751px) {
  .secTitle .en {
    white-space: nowrap;
    font-size: 118px;
    letter-spacing: 0.05em;
    line-height: 1.6667;
    font-family: "Barlow", sans-serif;
    font-weight: 500;
  }
}
.secTitle .jp {
  white-space: nowrap;
  font-size: 13px;
  letter-spacing: 0.15em;
  line-height: 1.6667;
  font-weight: bold;
  /* 751- */
}
@media all and (min-width: 751px) {
  .secTitle .jp {
    font-size: 22px;
    letter-spacing: 0.2em;
    line-height: 1.6667;
  }
}
@media all and (min-width: 900px) {
  .secTitle .jp {
    margin-top: 10px;
  }
}
@media all and (min-width: 1030px) {
  .secTitle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 30px;
  }
}

/*----------------------------------------------------
メインビジュアル
----------------------------------------------------*/
#mv {
  position: relative;
  overflow: hidden;
  /* 751- */
  /* -750 */
}
@media all and (min-width: 751px) {
  #mv {
    padding-top: 60px;
  }
}
@media all and (max-width: 751px) {
  #mv {
    padding: 65px 20px 0px;
  }
}
#mv .slick-slide.slick-current {
  /*　SP 人 → 自然 PC 自然→ 人 の順で表示する */
}
#mv .slick-slide.slick-current .person {
  -webkit-animation-name: fadeInMv_person;
          animation-name: fadeInMv_person;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
  /* 751- */
}
@media all and (min-width: 751px) {
  #mv .slick-slide.slick-current .person {
    -webkit-animation-delay: 0.8s;
            animation-delay: 0.8s;
  }
}
@-webkit-keyframes fadeInMv_person {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInMv_person {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#mv .slick-slide.slick-current .bg {
  -webkit-animation-name: fadeInMv_bg;
          animation-name: fadeInMv_bg;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
  /* 751- */
}
@media all and (min-width: 751px) {
  #mv .slick-slide.slick-current .bg {
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s;
  }
}
@-webkit-keyframes fadeInMv_bg {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInMv_bg {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#mv .mv_main {
  overflow: hidden;
  /* -750 */
  /* 751- */
}
#mv .mv_main img {
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}
@media all and (max-width: 751px) {
  #mv .mv_main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    row-gap: 10px;
  }
}
@media all and (min-width: 751px) {
  #mv .mv_main.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-column-gap: 16px;
       -moz-column-gap: 16px;
            column-gap: 16px;
  }
}
#mv .textArea {
  position: absolute;
  z-index: 5;
  padding: 13px 43px 17px 5px;
  top: 323px;
  background: white;
  /* 751- */
}
@media screen and (min-width: 450px) and (max-width: 751px) {
  #mv .textArea {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    top: 54%;
  }
}
@media all and (min-width: 751px) {
  #mv .textArea {
    top: 35.404%;
    left: 11.428%;
    padding: 21px 46px 25px 25px;
  }
}
@media all and (min-width: 1000px) {
  #mv .textArea {
    padding: 31px 86px 35px 35px;
  }
}
@media all and (min-width: 1700px) {
  #mv .textArea {
    padding: 41px 96px 45px 45px;
    left: calc(50% - 400px);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media all and (min-width: 2000px) {
  #mv .textArea {
    left: calc(50% - 500px);
  }
}
#mv .textArea .anime {
  font-size: 29px;
  letter-spacing: 0.1em;
  line-height: 1.448;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  /* 751- */
}
@media all and (min-width: 751px) {
  #mv .textArea .anime {
    font-size: 35px;
    letter-spacing: 0.15em;
    line-height: 1.448;
  }
}
@media all and (min-width: 1000px) {
  #mv .textArea .anime {
    font-size: 44px;
    letter-spacing: 0.15em;
    line-height: 1.448;
  }
}
#mv .caption {
  margin-top: 5px;
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.6667;
}

/*----------------------------------------------------
MV 1文字ずつ出現させるためのCSS
----------------------------------------------------*/
.eachTextAnime span {
  opacity: 0;
}

.eachTextAnime.appeartext span {
  -webkit-animation: text_anime_on 2s ease-out forwards;
          animation: text_anime_on 2s ease-out forwards;
}

@-webkit-keyframes text_anime_on {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes text_anime_on {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.eachTextAnime2 span {
  opacity: 0;
}

.eachTextAnime2.appeartext span {
  -webkit-animation: text_anime_on 2s ease-out forwards;
          animation: text_anime_on 2s ease-out forwards;
}

@keyframes text_anime_on {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*----------------------------------------------------
導入テキスト
----------------------------------------------------*/
#intro {
  position: relative;
  background-color: #fff;
  /* -750 */
  /* 751- */
}
@media all and (max-width: 751px) {
  #intro {
    padding: 150px 0 200px;
  }
  #intro::after {
    content: "";
    position: absolute;
    z-index: 0;
    background: url("../images/top/intro/bg_bottom_sp.svg");
    background-repeat: no-repeat;
    background-size: cover;
    bottom: 100px;
    width: 100%;
    height: 240px;
  }
  #intro::before {
    content: "";
    position: absolute;
    z-index: 0;
    background: url("../images/top/intro/bg_top_sp.svg");
    background-repeat: no-repeat;
    background-size: cover;
    top: 80px;
    left: -10px;
    width: 100%;
    height: 240px;
  }
}
@media all and (min-width: 751px) {
  #intro {
    padding: 57px 0px 155px;
  }
}
#intro .wrapPC {
  /* 751- */
}
@media all and (min-width: 751px) {
  #intro .wrapPC {
    position: relative;
    height: 641px;
  }
}
@media all and (min-width: 1000px) {
  #intro .wrapPC::before {
    z-index: 2;
    content: "";
    position: absolute;
    background: url("../images/top/intro/bg_pc/pcwide.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 500px;
    height: 600px;
    right: calc(50% - 580px);
    top: 120px;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}
@media all and (min-width: 1366px) {
  #intro .wrapPC::before {
    z-index: 2;
    content: "";
    position: absolute;
    background: url("../images/top/intro/bg_pc/pcwide.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 545px;
    height: 647px;
    right: calc(50% - 580px);
    top: 120px;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}
#intro .textArea {
  position: relative;
  z-index: 2;
  /* 751- */
  /* */
}
@media all and (min-width: 751px) {
  #intro .textArea {
    position: relative;
  }
  #intro .textArea::before {
    content: "";
    position: absolute;
    background: url("../images/top/intro/bg_pc/bg_textarea_top.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 130%;
    height: 342px;
    z-index: -1;
    top: -70px;
    left: -120px;
  }
  #intro .textArea::after {
    content: "";
    position: absolute;
    background: url("../images/top/intro/bg_pc/bg_textarea_bottom.png");
    background-repeat: no-repeat;
    background-size: contain;
    width: 130%;
    height: 342px;
    z-index: -1;
    bottom: -210px;
    left: -80px;
  }
}
@media all and (min-width: 1401px) {
  #intro .textArea::before {
    content: "";
    position: absolute;
    background: url("../images/top/intro/bg_pc/bg_textarea_top.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
    height: 342px;
    top: -75px;
    left: -120px;
  }
  #intro .textArea::after {
    content: "";
    position: absolute;
    background: url("../images/top/intro/bg_pc/bg_textarea_bottom.png");
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
    height: 347px;
    bottom: -210px;
    left: -50px;
  }
}
#intro .textArea .wrap {
  position: relative;
  z-index: 2;
  padding: 39px 20px 37px;
  background-color: #fff;
  /* 751- */
}
@media all and (min-width: 751px) {
  #intro .textArea .wrap {
    top: 120px;
    padding: 43px 0px 43px 40px;
    max-width: 755px;
  }
}
#intro .mainText {
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 1.875;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  margin-bottom: 40px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #intro .mainText {
    font-size: 34px;
    letter-spacing: 0.05em;
    line-height: 1.875;
  }
}
#intro .text {
  font-size: 13px;
  letter-spacing: 0.05em;
  line-height: 1.875;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  margin-bottom: 30px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #intro .text {
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1.875;
  }
}
#intro .btnArea {
  /* -750 */
}
@media all and (max-width: 751px) {
  #intro .btnArea {
    max-width: 230px;
    margin: 0 auto;
  }
}

/*固定する背景*/
.Parallax {
  position: relative;
  /* 751- */
}
@media all and (min-width: 751px) {
  .Parallax {
    height: 500px;
  }
}

.ParallaxShow .Parallax {
  opacity: 1;
}

/*----------------------------------------------------
仕事を知る
----------------------------------------------------*/
#job {
  padding: 198px 0px 180px;
  overflow: hidden;
  position: relative;
  /* 751- */
}
#job::before {
  content: "";
  position: absolute;
  background: url("../images/top/company/bg_sp_bottom.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 123px;
  height: 171px;
  z-index: 0;
  right: 20px;
  bottom: 50px;
}
@media all and (min-width: 751px) {
  #job {
    padding: 127px 0px 330px;
  }
  #job::before {
    content: "";
    position: absolute;
    background: url("../images/top/company/bg_pc_image.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 335px;
    height: 257px;
    right: 100px;
    bottom: 400px;
  }
}
@media all and (min-width: 1000px) {
  #job::before {
    bottom: 350px;
  }
}
@media all and (min-width: 1200px) {
  #job::before {
    bottom: 200px;
    right: 100px;
  }
}
@media all and (min-width: 1500px) {
  #job::before {
    right: calc(50% - 570px);
  }
}
#job .secTitle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 25px;
  margin-bottom: 13px;
  position: relative;
  /* 751- */
}
@media all and (max-width: 751px) {
  #job .secTitle::before {
    content: "";
    position: absolute;
    background: url("../images/top/company/bg_sp_top.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 279px;
    height: 200px;
    top: -150px;
    left: -100px;
    z-index: 0;
  }
}
@media all and (min-width: 751px) {
  #job .secTitle::before {
    content: "";
    position: absolute;
    background: url("../images/top/company/bg_sp_top.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 279px;
    height: 200px;
    top: -10px;
    left: -100px;
    z-index: 0;
  }
}
@media all and (min-width: 1001px) {
  #job .secTitle::before {
    content: "";
    position: absolute;
    background: url("../images/top/company/bg_pc_title.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 257px;
    height: 290px;
    top: 50px;
    left: -250px;
    z-index: 0;
  }
}
#job .secTitle span {
  position: relative;
}
#job .image {
  position: relative;
  /* -750 */
}
@media all and (max-width: 751px) {
  #job .image {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
}
@media all and (max-width: 1000px) {
  #job .image {
    margin-bottom: 30px;
  }
}
@media all and (min-width: 1000px) {
  #job .conts {
    display: -ms-grid;
    display: grid;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-grid-columns: 1fr 0px 1fr;
    grid-template-columns: 1fr 1fr;
    -ms-grid-rows: 0.5fr 0px 1fr;
    grid-template-rows: 0.5fr 1fr;
    gap: 0px 0px;
        grid-template-areas: "area01 area02" "area03 area02";
  }
  #job .conts .secTitle {
    grid-area: area01;
  }
  #job .conts .textArea {
    grid-area: area03;
  }
  #job .conts .image {
    grid-area: area02;
    margin-right: -100px;
  }
}
@media all and (min-width: 1000px){
  #job .conts .secTitle {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  #job .conts .textArea {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  #job .conts .image {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 3;
  }
}
@media all and (min-width: 1200px) {
  #job .conts .image {
    margin-right: -150px;
  }
}
@media all and (min-width: 1400px) {
  #job .conts .image {
    margin-right: -170px;
  }
}
#job .BigText {
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 1.8;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  margin-bottom: 21px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #job .BigText {
    font-size: 34px;
    letter-spacing: 0.05em;
    line-height: 1.8;
  }
}
@media all and (min-width: 1000px) {
  #job .BigText {
    margin-bottom: 32px;
  }
}
#job .text {
  max-width: 430px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.025em;
  line-height: 2.307;
  margin-bottom: 30px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #job .text {
    font-size: 14px;
    letter-spacing: 0.03em;
    line-height: 2.307;
  }
}
@media all and (min-width: 1000px) {
  #job .text {
    margin-bottom: 40px;
  }
}
#job .btnArea {
  position: relative;
  z-index: 1;
  /* -750 */
}
@media all and (max-width: 751px) {
  #job .btnArea {
    max-width: 230px;
    margin: 0 auto;
  }
}

/*----------------------------------------------------
社員を知る
----------------------------------------------------*/
#interview {
  overflow: hidden;
  padding-bottom: 40px;
  margin-bottom: 14px;
  /* 751- */
  /* -750 */
  /* 751- */
}
@media all and (min-width: 751px) {
  #interview {
    margin-bottom: 0;
    padding: 0;
  }
}
#interview .secTitle {
  position: relative;
  margin-bottom: 30px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #interview .secTitle {
    margin-bottom: 40px;
  }
}
#interview .secTitle::before {
  content: "";
  position: absolute;
  background: url("../images/top/interview/dot_yellow.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: 51px;
  height: 51px;
  top: -66px;
  left: -10px;
  z-index: 0;
  /* 751- */
}
@media all and (min-width: 751px) {
  #interview .secTitle::before {
    width: 98px;
    height: 98px;
    top: -26px;
    left: -130px;
  }
}
#interview .BigText {
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 1.8;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  margin-bottom: 24px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #interview .BigText {
    font-size: 30px;
    letter-spacing: 0.1em;
    line-height: 1.8;
    margin-bottom: 55px;
  }
}
@media all and (max-width: 751px) {
  #interview .slider_wrapper {
    margin-right: calc(50% - 50vw);
  }
  #interview .slider {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    /*戻る、次へ矢印の位置*/
  }
  #interview .slider li {
    background-color: #ffffff;
    border: 1px solid #27232F;
    border-radius: 3px;
  }
  #interview .slider li a {
    position: relative;
    display: block;
    padding: 9px;
  }
  #interview .slider li a .name_box {
    position: absolute;
    bottom: 0;
    right: 0;
    min-width: 187px;
    background-color: #ffffff;
    border-radius: 3px;
    padding: 10px 24px 13px 12px;
  }
  #interview .slider li a .name_box .name {
    position: relative;
    font-family: "Barlow", sans-serif;
    font-weight: 700;
    font-size: 22px;
    letter-spacing: 0.1em;
    line-height: 1.04;
    margin-bottom: 6px;
  }
  #interview .slider li a .name_box .name::before {
    content: "";
    position: absolute;
    background: url("../images/common/icon/arrow_btn_next.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 20px;
    height: 20px;
    bottom: 3px;
    right: 0;
  }
  #interview .slider li a .name_box .name_position {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0;
    line-height: 1.8;
  }
  #interview .slider li a .name_box .name_position span {
    font-size: 12px;
  }
  #interview .slider .slick-list {
    padding: 0 20% 0 0 !important; /*見切れている分量*/
  }
  #interview .slider .slick-slide {
    margin-right: 10px; /*スライド左右の余白調整*/
  }
  #interview .slider .slick-arrow {
    position: absolute;
    display: block;
    bottom: -20px;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
    font-size: 0;
    line-height: 0;
    width: 40px;
    height: 40px;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  #interview .slider .prev-arrow {
    right: 70px;
  }
  #interview .slider .next-arrow {
    right: 20px;
  }
  #interview .progress_bar {
    width: 64%;
    height: 2px;
    background: #eee;
    margin-top: 40px;
  }
  #interview .progress_bar .bar {
    width: 0%;
    height: 2px;
    background: #27232F;
  }
}
@media all and (min-width: 751px) {
  #interview .slider {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 16px;
  }
}
@media screen and (min-width: 751px) and (min-width: 751px) and (max-width: 1000px) {
  #interview .slider {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media all and (min-width: 751px) {
  #interview .slider li {
    width: calc(100% - 32px)/3;
    background-color: #ffffff;
    border: 1px solid #27232F;
    border-radius: 3px;
  }
}
@media screen and (min-width: 751px) and (min-width: 751px) and (max-width: 1000px) {
  #interview .slider li {
    width: 45%;
  }
}
@media all and (min-width: 751px) {
  #interview .slider li a {
    position: relative;
    display: block;
    padding: 15px;
    -webkit-transition: all 0.7s;
    transition: all 0.7s;
  }
  #interview .slider li a .img_wrap {
    overflow: hidden;
    border-radius: 6px;
  }
  #interview .slider li a .img_wrap img {
    -webkit-transform-origin: top;
            transform-origin: top;
    -webkit-transition: all 0.7s;
    transition: all 0.7s;
  }
  #interview .slider li a .name_box {
    position: absolute;
    bottom: 0;
    right: 0;
    min-width: 274px;
    background-color: #ffffff;
    border-radius: 3px;
    padding: 11px 11px 15px 16px;
  }
}
@media screen and (min-width: 751px) and (min-width: 751px) and (max-width: 1220px) {
  #interview .slider li a .name_box {
    min-width: 200px;
  }
}
@media all and (min-width: 751px) {
  #interview .slider li a .name_box .wrap {
    position: relative;
  }
  #interview .slider li a .name_box .wrap::before {
    content: "";
    position: absolute;
    background: url("../images/common/icon/arrow_black.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 24px;
    height: 24px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 0;
    -webkit-transition: all 0.7s;
    transition: all 0.7s;
  }
  #interview .slider li a .name_box .wrap .name {
    display: inline;
    font-family: "Barlow", sans-serif;
    font-weight: 600;
    font-size: 35px;
    letter-spacing: 0.1em;
    line-height: 1.05;
    border-bottom: 1px solid #ffffff;
    -webkit-transition: all 0.7s;
    transition: all 0.7s;
  }
}
@media screen and (min-width: 751px) and (min-width: 751px) and (max-width: 1220px) {
  #interview .slider li a .name_box .wrap .name {
    font-size: 28px;
  }
}
@media all and (min-width: 751px) {
  #interview .slider li a .name_box .wrap .name_position {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 3;
  }
}
@media screen and (min-width: 751px) and (min-width: 751px) and (max-width: 1220px) {
  #interview .slider li a .name_box .wrap .name_position {
    font-size: 12px;
  }
}
@media all and (min-width: 751px) {
  #interview .slider li a .name_box .wrap .name_position span {
    display: contents;
  }
}
@media all and (min-width: 751px) {
  #interview .slider li a:hover .img_wrap img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  #interview .slider li a:hover .name_box .wrap::before {
    background-image: url(../images/common/icon/arrow_white_line.svg);
  }
  #interview .slider li a:hover .name_box .name {
    border-bottom: 1px solid #27232F;
  }
}

/*----------------------------------------------------
働き方を知る
----------------------------------------------------*/
#work_style {
  padding: 125px 0px 180px;
  overflow: hidden;
  /* 751- */
}
@media all and (min-width: 751px) {
  #work_style {
    padding: 216px 0px 290px;
  }
}
#work_style .secTitle {
  position: relative;
  margin-bottom: 13px;
}
#work_style .secTitle::before {
  /* 751- */
}
@media all and (max-width: 751px) {
  #work_style .secTitle::before {
    content: "";
    position: absolute;
    background: url("../images/top/workstyle/bg01_sp.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 171px;
    height: 162px;
    top: -130px;
    left: -40px;
    z-index: -1;
  }
}
@media all and (min-width: 751px) {
  #work_style .secTitle::before {
    content: "";
    position: absolute;
    background: url("../images/top/workstyle/bg01_pc.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 126px;
    height: 129px;
    top: 130px;
    left: -160px;
    z-index: -1;
  }
}
#work_style .secTitle .en {
  white-space: nowrap;
  /* -750 */
}
@media all and (max-width: 751px) {
  #work_style .secTitle .en {
    font-size: 50px;
  }
}
@media screen and (min-width: 751px) and (max-width: 850px) {
  #work_style .secTitle .en {
    font-size: 90px;
  }
}
#work_style .image {
  /* -750 */
  /* 751- */
}
@media all and (max-width: 751px) {
  #work_style .image {
    margin: 0 calc(50% - 50vw) 30px;
    width: 100vw;
  }
}
@media all and (min-width: 751px) {
  #work_style .image {
    position: relative;
    margin-bottom: 30px;
  }
  #work_style .image::before {
    content: "";
    position: absolute;
    background: url("../images/top/workstyle/bg02_sp.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 152px;
    height: 159px;
    left: -100px;
    bottom: -77px;
    z-index: -1;
  }
  #work_style .image::after {
    content: "";
    position: absolute;
    background: url("../images/top/workstyle/bg03_pc.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 145px;
    height: 148px;
    right: 60px;
    top: -300px;
    z-index: -1;
  }
}
#work_style .conts {
  position: relative;
}
@media all and (min-width: 1000px) {
  #work_style .conts {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #work_style .conts .textArea {
    width: 50.5833%;
  }
  #work_style .conts .image {
    width: 50.9166%;
    margin-right: -100px;
  }
}
@media all and (min-width: 1200px) {
  #work_style .conts .image {
    width: 60.9166%;
    margin-right: -150px;
  }
}
@media all and (min-width: 1400px) {
  #work_style .conts .image {
    width: 755px;
    margin-right: -170px;
  }
}
#work_style .BigText {
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 1.8;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  margin-bottom: 21px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #work_style .BigText {
    font-size: 34px;
    letter-spacing: 0.05em;
    line-height: 1.8;
  }
}
@media all and (min-width: 1000px) {
  #work_style .BigText {
    margin-bottom: 32px;
  }
}
#work_style .text {
  max-width: 430px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.025em;
  line-height: 2.307;
  margin-bottom: 30px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #work_style .text {
    font-size: 14px;
    letter-spacing: 0.03em;
    line-height: 2.307;
  }
}
@media all and (min-width: 1000px) {
  #work_style .text {
    margin-bottom: 40px;
  }
}
#work_style .btnArea {
  position: relative;
  z-index: 1;
  /* -750 */
}
@media all and (max-width: 751px) {
  #work_style .btnArea {
    max-width: 230px;
    margin: 0 auto;
  }
  #work_style .btnArea::before {
    content: "";
    position: absolute;
    background: url("../images/top/workstyle/bg02_sp.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 90px;
    height: 82px;
    right: -40px;
    top: 42px;
    z-index: 0;
  }
}

/*----------------------------------------------------
画像スライド
----------------------------------------------------*/
#slideImg {
  background-color: #fff;
  position: relative;
  margin-bottom: 30px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #slideImg {
    margin-bottom: 120px;
  }
}
#slideImg .forSP {
  /* -750 */
}
@media all and (max-width: 751px) {
  #slideImg .forSP {
    background: url("../images/slideimg/sp/bg_sp.svg"), white;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top 100px center;
  }
}
#slideImg .forSP ul {
  position: relative;
  background-color: #fff;
}
#slideImg .forSP ul li {
  position: relative;
}
#slideImg .forSP ul li:nth-of-type(1) {
  width: 62.203%;
  left: 7.627%;
  margin-bottom: 45px;
}
#slideImg .forSP ul li:nth-of-type(2) {
  width: 83.898%;
  left: -20px;
  margin-bottom: 31px;
}
#slideImg .forSP ul li:nth-of-type(3) {
  width: 56.779%;
  left: calc(43.221% + 20px);
  z-index: 2;
}
#slideImg .forSP ul li:nth-of-type(4) {
  width: 65.762%;
  left: 16.779%;
  margin-top: -20px;
  margin-bottom: 48px;
}
#slideImg .forSP ul li:nth-of-type(5) {
  width: 52.881%;
  left: calc(47.119% - 33px);
}
#slideImg .slider .slick-slide {
  /*スライド左右の余白調整*/
  margin: 0 30px;
  /*真ん中は等倍。その他はサイズ小さくする*/
}
#slideImg .slider .slick-slide:nth-of-type(odd) {
  padding-top: 30px;
}
/*# sourceMappingURL=top.css.map */