@charset "utf-8";
/* 
============================================
(0) 変数・キーフレーム設定
============================================
*/

/* プロパティ: var(--変数名);　で使えます */
:root {
  --white: #fff;
  --bg-blue: #f3fafe; /* 背景薄水色部分 */
  --blue: #119deb; /* 青色部分 */
  --dropcap: #ffac00;/* h3最初の文字 */
  --first-color: rgba(120, 222, 244, 0.4); /* 水玉グラデーション一色目 */
  --second-color: rgba(17, 157, 235, 0.4); /* 水玉グラデーションニ色目 */
}

/*-- TOPページFV文字部分 --*/
.eachTextAnime span{
  opacity: 0;
}
.eachTextAnime.appeartext span{
  animation:text_anime_on 1s ease-out forwards;
}
@keyframes text_anime_on {
	0% {
    opacity:0;
  }
	100% {
    opacity:1;
  }
}

/*-- ハンバーガーメニューを押したときの動作 --*/
@keyframes navLinksFade {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100% {
    opacity: 1;
    transform: translateX(0px);
  }
}


/* 
============================================
(1) PC・スマホ・タブレット共通表示
============================================
*/

/* --- 1-1. 全体設定
----------------------------------------- */
/*-- リセット --*/
* {
  margin: 0;
}

/*-- 共通設定 --*/
body {
  background-color: var(--white);
  font-family: Noto Sans CJK JP;
}

a {
  text-decoration: none;
}

/* 文字の後ろにある背景(共通事項のみ) */
.dot-bg {
  background: linear-gradient(180deg, var(--first-color), var(--second-color));
  border-radius: 50%;
  position: absolute;
}

/* 水玉背景配置用 */
.ps-rl {
  position: relative;
}

/* ボタン(共通事項のみ) */
.btn {
  border-radius: 30px;
  border: solid 2px var(--blue);
  font-weight: bold;
  text-decoration: none;
  background-color: var(--white);
  color: var(--blue);

  &:hover {
    background-color: var(--blue);
    color: var(--white);
  }
}

/*-- 会社のロゴ部分 --*/
.logo {
  display: flex;
  align-items: center;

  /* 「Reruiting Site」部分 */
  .site-title {
    font-weight: bold;
    color: rgb(155, 251, 255);
    text-shadow: 0 1px #859a99, 0 -1px #859a99, 1px 0 #859a99, -1px 0 rgb(133, 154, 153);
  }
}

/*-- スライダーのボタン --*/
.slick-next {
  right: 30px !important;
  background: linear-gradient(180deg, rgba(120, 222, 244, 0.8), rgba(17, 157, 235, 0.7)) !important;
  background-size: contain !important;
  border-radius: 50%;
}

.slick-prev {
  left: 30px !important;
  background: linear-gradient(180deg, rgba(120, 222, 244, 0.8), rgba(17, 157, 235, 0.8)) !important;
  background-size: contain !important;
  border-radius: 50%;
}

/*-- 背景青色部分 --*/
.bg-blue {
  background-color: var(--bg-blue);
}

main {
  overflow-x: hidden;
}

/* --- 1-2. ヘッダー
----------------------------------------- */
header {
  display: flex;
  position: fixed;
  justify-content: space-around;
  align-items: center;
  width: 100%;
  top: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(8px);
  border-bottom: solid 2px rgb(32, 60, 70);
  z-index: 999;

  /*-- ヘッダーナビ --*/
  nav {
    font-weight: bold;

    & a {
      color: rgb(51, 51, 51);

      &:hover {
        color: var(--blue);
      }
    }

    /* ulの初期設定消し */
    & ul {
      padding-left: 0;

      & li {
        list-style: none;
      }
    }
  }

}

/* --- 1-3. フッター
----------------------------------------- */
/*-- 上に戻るボタン --*/
.page-top {
  position: fixed;
  right: 30px;
  bottom: 30px;
  text-align: center;
  padding: 30px;
  z-index: 999;
  background: linear-gradient(180deg, rgba(120, 222, 244, 0.7), rgba(17, 157, 235, 0.7));
  border-radius: 50%;
  width: 35px;
  height: 35px;
  cursor: pointer;
  opacity: .75;

  /* ↑の表示 */
  &::before {
    content: "\f077";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 30px;
    color: var(--white);
  }

  &:hover {
    opacity: 1;
  }
}

.bg-sea {
  width: 100%;
  height: 200px;
  background: linear-gradient(180deg, var(--white), rgba(120, 207, 255, 0.8));
}

footer{
  width: 100%;
  background-image: url("../img/beach.png");
  background-repeat: no-repeat;
  background-size: 100%;

  /*-- 木とカメの画像 --*/
  .footer-img {
    text-align: right;
  }

  /*-- フッターナビ --*/
  .footer-nav-pc, .footer-nav-sp {
    font-weight: bold;
    & a {
      color: rgb(51, 51, 51);

      &:hover {
        color: var(--blue);
      }
    }

    .footer-nav-2 {
      & img {
        width: 12px;
      }
    }
  }

  /*-- 著作権表示 --*/
  .footer-line {
    width: 100%;
    height: 25px;
    text-align: center;
    background-color: rgb(32, 60, 70);
    color: var(--white);
    display: table;
    
    & p {
      display: table-cell;
      vertical-align: middle;
    }
  }
}

/* --- 1-4. サイドバー
----------------------------------------- */
.entry-box {
  text-align: center;
  position: relative;

  /*-- 見出し --*/
  & h2 {
    color: var(--blue);
  }

  & h3 {
    /*-- 一文字目の色&サイズ変更 --*/
    &::first-letter {
      color: var(--dropcap);
    }
  }

  .text-box {
    width: 52%;
    border-radius: 10px;
    border-style: solid;
    background-color: var(--white);
    text-align: center;
    letter-spacing: 1px;
  }
}

/* --- 1-5. トップページ
----------------------------------------- */
/*-- FV表示部分 --*/
.topview {
  background-image: url(../img/top20250327_02_01.webp);
  background-size: cover;
  position: relative;
  background-repeat: no-repeat;

  /*-- 文字部分 --*/
  .heading {
    /* 位置調整 */
    position: absolute;
    top: 28%;
    left: 10%;
    color: var(--white);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);

    /* 「幸福」部分 */
    .koufuku {
      font-weight: bold;
    }
  }

  /*-- scroll文字部分 --*/
  .scroll {
    position: absolute;
    font-weight: bold;
    color: var(--white);
    transform: rotate(-90deg);
  }

  /* scroll下の縦線 */
  .scroll-line {
    position: absolute;
  }
}

/*-- 各ページへのリンク --*/
.top-contents {

  /*-- 見出し --*/
  & h2 {
    color: var(--blue);
  }

  & h3 {
    /*-- 一文字目の色&サイズ変更 --*/
    &::first-letter {
      color: var(--dropcap);
    }
  }

  /*-- メインコンテンツ --*/
  /* 背景青色部分 */
  .bg-blue {
    padding: 100px 0;
  }

  /* aboutとenvironment部分 */
  .top-wrapper {
    .bg-white {
      background-color: var(--white);
      width: 100%;
    }
  
    /* 余白調整用 */
    .mb {
      margin-bottom: 50px;
    }
  }

  /* member部分 */
  .top-member {
    text-align: center;
    padding: 80px 0 130px;

    .top-slider {
      .slider-contents {
        box-shadow:0px 0px 10px 0px #dedede;
        border-radius: 10px;
        position: relative;
        top: 0;
        transition: all 0.5s 0s ease;
        
        & a {
          color: rgb(51, 51, 51);
        }

        & img {
          height: auto;
          width: 100%;
          border-radius: 10px 10px 0 0;
        }
    
        &:hover {
          top: -10px;
        }

        .slider-text {
          height: 150px;
          & span {
            color: var(--blue);
            font-weight: bold;
            font-size: 2em;
            line-height: 1.5;
            letter-spacing: 2px;
          }

          & p {
            line-height: 1.5;
            letter-spacing: 1px;
            overflow: hidden;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 3;
          }
        }
      }
    }
  }

  /*-- トップページ「number」部分 --*/
  .top-number {
    text-align: center;
    
    & img {
      width: 75%;
      margin: 20px auto;
    }
  }
}

/* --- 1-6. 各固定ページ共通設定
----------------------------------------- */
.page-title {
  background-color: var(--bg-blue);
  position: relative;
  width: 100%;
  height: 60vh;

  .page-heading {
    position: absolute;
    top: 28%;
    left: 10%;

    /*-- パンくずリスト --*/
    .breadCrumb {
      margin-bottom: 45px;
      letter-spacing: 1.5px;

      & span {
        font-weight: bold;

        &:first-of-type {
          color: rgb(51, 51, 51);

          &:hover {
            color: var(--blue);
          }
        }

        .current-item {
          color: var(--blue);
        }
      }
    }

    & h1 {
      color: var(--blue);
      letter-spacing: 2px;
      font-size: 3.5em;
    }

    & h2 {
      letter-spacing: 1px;
      /*-- 一文字目の色&サイズ変更 --*/
      &::first-letter {
        color: var(--dropcap);
        font-size: 1.3em;
      }
    }
  }
}

/*-- 各ページ内容部分 --*/
.contents {
  /*-- 各見出し部分 --*/
  .contents-heading {
    margin-bottom: 30px;

    & h2 {
      color: var(--blue);
      font-size: 2.5em;
      letter-spacing: 2px;
    }

    & h3 {
      letter-spacing: 1px;
      /*-- 一文字目の色&サイズ変更 --*/
      &::first-letter {
        color: var(--dropcap);
        font-size: 1.3em;
      }
    }
  }
}

/* --- 1-7. ABOUTページ
----------------------------------------- */
/*-- 企業理念 --*/
.philosophy {
  text-align: center;
  width: 100%;

  .theme {
    color: var(--white);
    font-weight: bold;
    display: flex;
    justify-content: center;

    & hr {
      border: solid 0.5px var(--white);
    }

    .theme-circle {
      border-radius: 50%;
    }

    .laulea {
      background-color: #3DA550;
    }

    .pauole {
      background-color: #119DEB;
    }

    .lea {
      background-color: #FFAC00;
    }
  }

  .belif {
    .belif-theme {
      display: flex;
      justify-content: center;

      & span {
        color: #cbecfb;
        font-weight: bold;
        text-align: left;
      }
    }
  }
}

/*-- 仕事内容 --*/
.work {
  background-color: var(--bg-blue);
  text-align: center;

  /* 部署説明 */
  .job-roll {
    display: flex;
    justify-content: center;

    & span {
      display: inline-block;
      letter-spacing: 1px;
      font-weight: bold;
      color: #333;

      /*-- 一文字目の色&サイズ変更 --*/
      &::first-letter {
        color: var(--dropcap);
        font-size: 1.3em;
      }
    }

    & p {
      text-align: left;
      line-height: 1.7;
    }

  }

  .work-bgbl {
    width: 300px;
    height: 300px;
    bottom: -55%;
    left: -3%;
  }

  .work-bgbr {
    width: 400px;
    height: 400px;
    bottom: -60%;
    right: -3%;
  }
}

/*-- 代表メッセージ --*/
.about-message {
  .message-box {
    border: 2px solid #000;
    border-radius: 10px;
    background: var(--white);
    box-shadow: 0 0 10px 10px rgb(255, 242, 191);

    .sentence {
      & p {
        margin-bottom: 25px;
      }
    }

    .signature {
      font-weight: bold;
      text-align: right;
      letter-spacing: 2px;

      .name {
        font-size: 24px;
      }
    }
  }
}

/*-- オフィス風景 --*/
.office {
  background: var(--bg-blue);
  text-align: center;
  padding: 100px 0;

  .office-slider {
  
    .slider_image {
      position: relative;
      top: 0;
      img {
        width: 100%;
        height: auto;
        border-radius: 10px;
      }
    }
  }
}

/* --- 1-8. ENVIRONMENTページ
----------------------------------------- */
.environment {
  text-align: center;

  & img {
    margin: 0 0 30px;
  }

  .flexible {
    padding: 100px 0;
  }

  .woman {
    padding: 100px 0;
  }

  .support {
    padding: 100px 0;
  }

  .benefit {
    padding: 100px 0;
  }
}

/* --- 1-9. MEMBERページ(一覧)
----------------------------------------- */

/* --- 1-10. MEMBERページ(個別)
----------------------------------------- */

/* --- 1-11. NUMBERページ
----------------------------------------- */
.number {
  padding: 100px 0;
  text-align: center;
}

/* --- 1-12. ENTRYページ
----------------------------------------- */
.entry {
  text-align: center;
  .background, .job-description, .application, .entry-form {
    padding: 100px 0;
  }
}

/* 
============================================
(2) PC表示
============================================
*/
@media screen and (min-width: 1200px) {

  /* --- 2-1. 共通設定
  ----------------------------------------- */
  .tb_sp, .sp {
    display: none !important;
  }

  main {
    /* ボタンの設定 */
    .btn {
      padding: 16px 25px 16px 40px;
      font-size: 18px;
      letter-spacing: 2px;
      line-height: 20px;

      /* >の設定 */
      .arrow2 {
        margin-left: 30px;
      }
    }

    /*-- スライダーのボタン --*/
    .slick-arrow {
      z-index: 1 !important;
      width: 100px !important;
      height: 100px !important;
    }
  }

  /* --- 2-2. ヘッダー
  ----------------------------------------- */
  header {
    height: 80px;
    
    /*-- 会社のロゴ部分 --*/
    .logo {
      /* 画像サイズ */
      & img {
        width: 130px;
      }

      /* 「Reruiting Site」部分 */
      .site-title {
        letter-spacing: 1.5px;
        line-height: 16px;
        margin-left: 20px;
      }
    }

    /*-- ヘッダーナビ --*/
    /* PC用 */
    .header-nav-pc {
      display: flex;
      width: auto;
      letter-spacing: 1px;

      & li {
        margin-right: 50px;

        &:last-of-type {
          margin-right: 0;
        }
      }
    }

    /* スマホ用(非表示) */
    .header-nav-sp {
      display: none;
    }

    .burger {
      display: none;
    }

    /*-- エントリーボタン --*/
    /* PC用 */
    .btn {
      padding: 16px 20px 16px 60px;
      font-size: 18px;
      letter-spacing: 2px;
      line-height: 14px;

      .arrow1 {
        padding-left: 40px;
      }
    }
  }

  /* --- 2-3. フッター
  ----------------------------------------- */
  .bg-sea {
    margin: -50px 0 -100px;
  }

  footer {
    background-size: cover;
    /*-- 木とカメの画像 --*/
    .footer-img {
      margin-right: 20%;

      .turtle-image {
        width: 40px;
      }
    
      .tree-image {
        width: 110px;
      }  
    }
    
    /*-- 会社ロゴとフッターナビ --*/
    .footer-menu {
      display: flex;
      justify-content: space-around;
      align-items: flex-start;
      padding: 20px 140px 70px;
      
      /*-- 会社のロゴ部分 --*/
      .logo {
        /* 画像サイズ */
        & img {
          width: 230px;
        }
        /* 「Reruiting Site」部分 */
        .site-title {
          letter-spacing: 1.5px;
          margin-left: 20px;
        }
      }

      /*-- フッターナビ --*/
      .footer-nav-pc {
        display: flex;
        justify-content: space-between;
        width: 50%;
        line-height: 3;

        .footer-nav-1, .footer-nav-2 {
          display: flex;
          flex-direction: column;
        }
      }

      .footer-nav-sp {
        display: none;
      }
    }

    /*-- 著作権表示 --*/
    .footer-line {
      padding: 17px 0;
      letter-spacing: 1.5px;
      font-size: 14px;
    }
  }

  /* --- 2-4. サイドバー
  ----------------------------------------- */
  .entry-box {
    padding: 100px 0;
    margin-bottom: 100px;

    /*-- 見出し --*/
    & h2 {
      font-size: 2.5em;
      letter-spacing: 2px;
    }

    & h3 {
      letter-spacing: 1px;
      /*-- 一文字目の色&サイズ変更 --*/
      &::first-letter {
        font-size: 1.3em;
      }
    }

    & h4 {
      font-size: 1.3em;
      margin: 10px;
    }

    .text-box {
      padding: 52px 62px 62px;
      margin: 50px auto 70px;
    }

    .btn {
      padding: 16px 45px 16px 65px;
    }
  }

  /*-- 背景の設定 --*/
  .ps-rl {
    /* 左上 */
    .entry-bgtl {
      width: 180px;
      height: 180px;
      top: 21%;
      left: 12%;
    }

    /* 左下 */
    .entry-bgbl {
      width: 300px;
      height: 300px;
      top: 60%;
      left: -5%;
    }

    /* 右下 */
    .entry-bgbr {
      width: 200px;
      height: 200px;
      bottom: 0;
      right: -3%;
    }
  }

  /* --- 2-5. トップページ
  ----------------------------------------- */
  /*-- FV表示部分 --*/
  .topview {
    /* height: 120vh; */
    /*-- 202503224 --*/
    /* background-size: 117%;
    background-position: left bottom 150px; */
    /*-- 202503227 --*/
    height: 100vh;
    background-position: left 0px bottom -68px;

    /*-- 文字部分 --*/
    .heading {
      
      /* 見出し */
      & h1 {
        font-size: 110px;
        letter-spacing: 11px;
        line-height: 1.1;
      }
      /* 文章部分 */
      & strong {
        font-size: 38px;
        letter-spacing: 5px;
      }
      /* 「幸福」部分 */
      .koufuku {
        font-size: 50px;
      }
      /* にっこり部分 */
      & img {
        width: 730px;
        margin-top: 10px;
        margin-left: 50px;
      }
    }

    /* 文字背景 */
    .top-bg {
      width: 400px;
      height: 400px;
      top: 12%;
      left: 6%;
    }

    /*-- scroll文字部分 --*/
    .scroll {
      bottom: 20%;
      right: 140px;
      font-size: 16px;
      letter-spacing: 1.5px;
      line-height: 70px;
    }

    /* scroll下の縦線 */
    .scroll-line {
      bottom: 0;
      right: 173px;
      width: 2px;
      height: 19%;
    }

    /* scroll背景 */
    .scroll-bg {
      width: 450px;
      height: 450px;
      bottom: -20%;
      right: -5%;
    }
  }

  /*-- 各ページへのリンク --*/
  .top-contents {

    /*-- 見出し --*/
    & h2 {
      font-size: 2.5em;
      letter-spacing: 2px;
    }

    & h3 {
      letter-spacing: 1px;
      /*-- 一文字目の色&サイズ変更 --*/
      &::first-letter {
        font-size: 1.3em;
      }
    }

    /* 背景の水玉(about下) */
    .top-about-bg {
      width: 500px;
      height: 500px;
      top: 5%;
      left: -6%;
    }

    /* 背景の水玉(environment下) */
    .top-env-bg {
      width: 300px;
      height: 300px;
      bottom: -28%;
      right: 6%;
    }

    /*-- メインコンテンツ --*/
    /* aboutとenvironment部分 */
    .top-wrapper {
      width: 70%;
      margin: 0 auto;

      .top-link {
        display: flex;
  
        & img {
          width: 450px;
          height: 319px;
          border-radius: 10px;
          z-index: 1;
        }

        .bg-white {
          height: 300px;
          border-radius: 15px;
          margin: -20px 0 0 -50px;
          padding: 50px 30px 10px 80px;
          position: relative;

          & p {
            margin: 20px 0;
            letter-spacing: 1px;
          }

          /* ボタンの位置調整用 */
          .btn-ps {
            position: absolute;
            bottom: 50px;
            right: 50px;
          }
        }
      }
    }

    .top-member {
      .top-slider {
        .slider-contents {
          margin: 90px 30px;

          .slider-text {
            padding: 20px 15px;
          }
        }
      }
    }

    .top-mem-bgt {
      width: 350px;
      height: 350px;
      top: 0;
      left: -10%;
    }

    .top-mem-bgb {
      width: 250px;
      height: 250px;
      bottom: 2%;
      right: 0;
    }
  }

  /* --- 2-6. 各固定ページ共通設定
  ----------------------------------------- */
  .title-bgt {
    width: 370px;
    height: 370px;
    top: 5%;
    right: 10%;
  }

  .title-bgb {
    width: 250px;
    height: 250px;
    bottom: -38%;
    right: -5%;
  }

  /* --- 2-7. ABOUTページ
  ----------------------------------------- */
  /*-- 企業理念 --*/
  .philosophy {
    margin: 80px 0;

    .theme {
      margin: 50px 0;

      & hr {
        width: 220px;
        margin: 10px auto;
      }

      & p {
        font-size: 2em;
        margin-top: 20px;
      }

      .theme-heading {
        font-size: 2.3em;
        letter-spacing: 3.5px;
      }

      .theme-rubi {
        font-size: 1.4em;
      }

      .theme-circle {
        width: 220px;
        height: 220px;
        padding: 50px;
      }

      .laulea {
        margin-right: 20px;
      }

      .pauole {
        margin-right: 20px;
      }
    }

    .belif {
      .belif-theme {
        margin-bottom: 50px;

        & span {
          font-size: 120px;
          letter-spacing: 10px;
          line-height: 1;
        }
      }

      & p {
        font-size: 18px;
        letter-spacing: 2px;
        padding-bottom: 30px;
      }
      
      & strong {
        font-size: 30px;
        letter-spacing: 3px;
      }

      .about-smile {
        width: 600px;
      }
    }

    /* 背景左上 */
    .ph-bgtl {
      width: 300px;
      height: 300px;
      top: 1%;
      left: -7%;
    }

    /* 背景右真ん中 */
    .ph-bgcr {
      width: 350px;
      height: 350px;
      bottom: 25%;
      right: -18%;
    }

    /* 背景左下 */
    .ph-bgbl {
      width: 400px;
      height: 400px;
      bottom: -25%;
      left: -7%;
    }

    /* 背景右下 */
    .ph-bgbr {
      width: 150px;
      height: 150px;
      bottom: -10%;
      right: 7%;
    }
  }

  /*-- 仕事内容 --*/
  .work {
    padding: 100px 0 120px;

    /* 部署説明 */
    .job-roll {

      & img {
        width: 280px;
        margin: 20px 0;
      }

      .job-roll-width {
        width: 280px;
      }

      .solution {
        margin-right: 50px;
      }

      .product {
        margin-right: 50px;
      }

    }

    .work-bgbl {
      width: 300px;
      height: 300px;
      bottom: -55%;
      left: -3%;
    }

    .work-bgbr {
      width: 400px;
      height: 400px;
      bottom: -60%;
      right: -10%;
    }
  }

  /*-- 代表メッセージ --*/
  .about-message {
    padding: 100px 0;
    display: flex;
    justify-content: center;

    .about-img {
      display: flex;
      flex-direction: column;
      width: auto;
      padding: 30px;
      z-index: 1;

      .mahalo {
        margin: 0 auto;
      }

      .turtle {
        margin-top: 20px;
        display: block;
        margin-right: 10px;
        margin-left: auto;
      }
    }

    .message-box {
      width: 500px;
      padding: 60px 55px 65px;
      margin-left: 60px;
      right: 20%;
      z-index: 1;
    }
  }

  .office-bgtl {
    width: 480px;
    height: 480px;
    top: -20%;
    left: -15%;
  }

  .office-bgbr {
    width: 350px;
    height: 350px;
    bottom: -20%;
    right: -10%;
  }

  /*-- オフィス風景 --*/
  .office {
    background: var(--bg-blue);
    text-align: center;
    padding: 100px 0;

    .office-slider {
    
      .slider_image {
        margin: 30px 30px 40px 30px;
        position: relative;
        top: 0;
        img {
          width: 100%;
          height: auto;
          border-radius: 10px;
        }
      }
    }
  }

  /* --- 2-8. ENVIRONMENTページ
  ----------------------------------------- */
  .environment {
    & img {
      width: 70%;
      border-radius: 10px;
      width: 1000px;
    }

    & p {
      letter-spacing: 1px;
    }

    .flexible {
      .fl-bgtl {
        width: 300px;
        height: 300px;
        top: 8%;
        left: -8%;
      }
    
      .fl-bgbl {
        width: 150px;
        height: 150px;
        bottom: -35%;
        left: 10%;
      }
    
      .fl-bgbr {
        width: 400px;
        height: 400px;
        bottom: -30%;
        right: -15%;
      }
    }

    .woman {
      .woman-bgbl {
        width: 300px;
        height: 300px;
        bottom: -40%;
        left: -8%;
      }
    }

    .support {
      .sp-bgcr {
        width: 400px;
        height: 400px;
        bottom: 30%;
        right: -10%;
      }
    
      .sp-bgbr {
        width: 250px;
        height: 250px;
        bottom: -40%;
        right: -8%;
      }
    }

    .benefit {
      .benefit-bgcl {
        width: 400px;
        height: 400px;
        bottom: 10%;
        left: -10%;
      }
    
      .benefit-bgbr {
        width: 300px;
        height: 300px;
        bottom: -50%;
        right: -8%;
      }  
    }
  }

  /* --- 2-9. MEMBERページ(一覧)
  ----------------------------------------- */
  .member {
    width: 90%;
    margin: 0 auto;
    padding: 80px 0 130px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
  
    .slider-contents {
      box-shadow:0px 0px 10px 0px #dedede;
      border-radius: 10px;
      position: relative;
      top: 0;
      transition: all 0.5s 0s ease;
      width: 300px;
      margin: 40px;
      
      & a {
        color: rgb(51, 51, 51);
      }
  
      & img {
        height: auto;
        width: 100%;
        border-radius: 10px 10px 0 0;
      }
  
      &:hover {
        top: -10px;
      }
  
      .slider-text {
        height: 150px;
        padding: 20px 15px;
  
        & span {
          color: var(--blue);
          font-weight: bold;
          font-size: 2em;
          line-height: 1.5;
          letter-spacing: 2px;
        }
  
        & p {
          line-height: 1.5;
          letter-spacing: 1px;
          overflow: hidden;
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 3;
        }
      }
    }
  }

  .ps-rl {
    .mem-bgtl {
      width: 300px;
      height: 300px;
      top: 10%;
      left: -10%;
    }

    .mem-bgcl {
      width: 300px;
      height: 300px;
      top: 50%;
      left: -10%;
    }

    .mem-bgbl {
      width: 300px;
      height: 300px;
      bottom: 10%;
      left: -10%;
    }

    .mem-bgtr {
      width: 300px;
      height: 300px;
      top: 30%;
      right: -10%;
    }

    .mem-bgcr {
      width: 300px;
      height: 300px;
      bottom: 25%;
      right: -10%;
    }

    .mem-bgbr {
      width: 300px;
      height: 300px;
      bottom: 0%;
      right: -10%;
    }
  }

  /* --- 2-10. MEMBERページ(個別)
  ----------------------------------------- */
  .single-member {
    .interview {
      width: 80%;
      margin: 0 auto;
      padding: 100px 0;

      .introduction {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 30px;
  
        .img{
          & img {
            width: 400px;
            border-radius: 10px;
            margin-right: 50px;
          }
        }
        .text {
          .division {
            font-weight: bold;
          }
          .name {
            color: var(--blue);
            font-weight: bold;
            font-size: 2em;
            letter-spacing: 1.3px;
          }
        }
      }
  
      section {
        margin-bottom: 30px;
  
        & h3 {
          padding-bottom: 10px;
          border-bottom: 1px solid rgb(51, 51, 51);
          letter-spacing: 1.5px;
  
          /*-- 一文字目の色&サイズ変更 --*/
          &::first-letter {
            font-size: 1.3em;
            color: var(--dropcap);
          }
        }
  
        & p {
          margin-top: 10px;
          line-height: 1.5;
        }
      }
    }
  
    .others{
      text-align: center;
      padding: 100px 0;
      background-color: var(--bg-blue);
  
      /*-- 見出し --*/
      & h2 {
        font-size: 2.5em;
        letter-spacing: 2px;
        color: var(--blue);
      }
  
      & h3 {
        letter-spacing: 1px;
        /*-- 一文字目の色&サイズ変更 --*/
        &::first-letter {
          font-size: 1.3em;
          color: var(--dropcap);
        }
      }
  
      .top-slider {
        .slider-contents {
          box-shadow:0px 0px 10px 0px #dedede;
          border-radius: 10px;
          position: relative;
          top: 0;
          transition: all 0.5s 0s ease;
          margin: 90px 30px;
          
          & a {
            color: rgb(51, 51, 51);
          }
    
          & img {
            height: auto;
            width: 100%;
            border-radius: 10px 10px 0 0;
          }
      
          &:hover {
            top: -10px;
          }
    
          .slider-text {
            height: 150px;
            padding: 20px 15px;
            background-color: var(--white);
            border-radius: 0 0 10px 10px;
  
            & span {
              color: var(--blue);
              font-weight: bold;
              font-size: 2em;
              line-height: 1.5;
              letter-spacing: 2px;
            }
    
            & p {
              line-height: 1.5;
              letter-spacing: 1px;
              overflow: hidden;
              display: -webkit-box;
              -webkit-box-orient: vertical;
              -webkit-line-clamp: 3;
            }
          }
        }
      }
    }
  }

  .ps-rl {
    .single-bgtl {
      width: 300px;
      height: 300px;
      top: 10%;
      left: -10%;
    }

    .single-bgcl {
      width: 300px;
      height: 300px;
      top: 50%;
      left: -10%;
    }

    .single-bgbl {
      width: 300px;
      height: 300px;
      bottom: 10%;
      left: -10%;
    }

    .single-bgtr {
      width: 300px;
      height: 300px;
      top: 30%;
      right: -10%;
    }

    .single-bgcr {
      width: 300px;
      height: 300px;
      bottom: 25%;
      right: -10%;
    }

    .single-bgbr {
      width: 300px;
      height: 300px;
      bottom: 0%;
      right: -10%;
    }
  }

  /* --- 2-11. NUMBERページ
  ----------------------------------------- */
  .number {

    & h3 {
      letter-spacing: 1px;
      /*-- 一文字目の色&サイズ変更 --*/
      &::first-letter {
        color: var(--dropcap);
        font-size: 1.3em;
      }
    }

    & img {
      width: 80%;
    }

    & table {
      width: 80%;
      margin: 0 auto;

      & td {
        padding: 10px 20px;
      }
    }

    .ps-rl {
      .num-bgtl {
        width: 300px;
        height: 300px;
        top: 10%;
        left: -10%;
      }
  
      .num-bgcl {
        width: 300px;
        height: 300px;
        top: 50%;
        left: -10%;
      }
  
      .num-bgbl {
        width: 300px;
        height: 300px;
        bottom: 10%;
        left: -10%;
      }
  
      .num-bgtr {
        width: 300px;
        height: 300px;
        top: 30%;
        right: -10%;
      }
  
      .num-bgcr {
        width: 300px;
        height: 300px;
        bottom: 25%;
        right: -10%;
      }
  
      .num-bgbr {
        width: 300px;
        height: 300px;
        bottom: 0%;
        right: -10%;
      }
    }

  }

  /* --- 2-12. ENTRYページ
  ----------------------------------------- */
  .entry {
    /*-- 募集背景 --*/
    .background {
      & p {
        margin-bottom: 30px;
        line-height: 1.8;
      }
    
      & img {
        width: 750px;
      }

      /* 背景の設定 */
      .ps-rl {
        .en-bg-bgtl {
          width: 300px;
          height: 300px;
          top: 8%;
          left: -8%;
        }
    
        .en-bg-bgbl {
          width: 150px;
          height: 150px;
          bottom: 0;
          left: 5%;
        }
    
        .en-bg-bgbr {
          width: 400px;
          height: 400px;
          bottom: -20%;
          right: -20%;
        }
      }
    }

    /*-- 募集要項 --*/
    .job-description {
      /* 背景の設定 */
      .ps-rl {
        .job-bgtl {
          width: 300px;
          height: 300px;
          top: 8%;
          left: -8%;
        }
    
        .job-bgbr {
          width: 400px;
          height: 400px;
          bottom: 10%;
          right: -20%;
        }
      }
    }
    
    /* 表の部分 */
    .entry-table {
      padding-top: 30px;
    
      & table {
        text-align: left;
        margin: 0 auto;
        border-collapse: collapse;
        
        & tr {
          border-top: 2px solid var(--blue);
          margin: 20px;
          &:last-child {
            border-bottom: 2px solid var(--blue);
          }
        }
    
        & th {
          padding: 20px 15px 10px 3px;
          vertical-align: top;
        }
    
        & td {
          padding: 15px 0;
    
          & p {
            border-left: 2px solid var(--blue);
            padding: 5px 0 5px 15px;
          }
    
        }
      }
    }
    
    /*-- 応募・選考について --*/
    .application {
      text-align: center;
      padding: 80px 0 100px;
      width: 100%;
    
      /* 内定までの流れ部分 */
      .flow {
        display: flex;
        justify-content: center;
        align-items: center;
    
        .next {
          margin: 0 20px;
          font-size: 2em;
        }
        
        .flow-circle {
          background: linear-gradient(180deg, rgba(120, 222, 244, 0.5), rgba(17, 157, 235, 0.5));
          width: 180px;
          height: 180px;
          border-radius: 50%;
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 1.5em;
          padding: 10px;
        }
      }
    
      /* ※が4つある部分 */
      .caution {
        display: flex;
        width: 100%;
        justify-content: center;
        padding-top: 30px;
    
        & p {
          text-align: left;
          line-height: 1.5;
        }
      }

      /* 背景の設定 */
      .ps-rl {
        .app-bgbl {
          width: 300px;
          height: 300px;
          bottom: 15%;
          left: -8%;
        }
    
        .app-bgbr {
          width: 350px;
          height: 350px;
          bottom: -30%;
          right: -10%;
        }
      }
    }
    
    /*-- 応募フォーム --*/
    .entry-form {
    
      /* 段組 */
      & table {
        margin: 0 auto;
        border-collapse: collapse;
        text-align: left;
    
        & th {
          padding: 10px 20px 10px 0;
        }
    
        & td {
          padding: 10px 0;
        }
    
        .first-file {
          padding-bottom: 5px;
        }
    
        .second-file {
          padding-bottom: 0;
        }
      }
    
      /* 入力フォームの調整 */
      .wpcf7 {
        /* 入力欄 */
        & input[type="text"], input[type="email"], input[type="date"] {
          font-size: 1.1em;
          width: 600px;
          height: 40px;
          padding: 0 5px;
        }

        .wpcf7-list-item {
          margin-left: 0;
        }
    
        /* 添付ファイル部分 */
        & input[type="file"] {
          font-size: 1em;
          letter-spacing: 1px;
        }
    
        /* 送信ボタン */
        .pp-btn {
          display: inline-block;
          position: relative;
    
          & p {
            display: inline-block;
          }
    
          & input[type="submit"] {
            margin: 0 auto;
            align-items: center;
            border-radius: 30px;
            border: solid 2px var(--blue);
            padding: 16px 65px 16px 40px;
            margin: 10px 0;
            font-size: 18px;
            letter-spacing: 2px;
            font-weight: bold;
            color: var(--blue);
            text-decoration: none;
            background-color: var(--white);
    
            &:hover {
              background-color: var(--blue);
              color: var(--white);
            }
    
            /* >の設定 */
            .arrow2 {
              margin: 2px 0 0 30px;
            }
          }
    
          /* 送信ボタンの>を表示 */
          &::after {
            content: "\f054";
            font-family: "Font Awesome 5 Free";
            font-size: 14px;
            font-weight: 900;
            color: var(--blue);
            position: absolute;
            top: 31.5%;
            right: 13%;
          }
    
          &:hover::after {
            color: var(--white);
          }
        }
    
        /* 画面には表示されない送信ボタンの下にあるやつ */
        .wpcf7-spinner {
          display: block;
        }
      }
    
      /* 個人情報保護方針 */
      .privacy-policy {
        width: 900px;
        margin: 10px auto 30px;
    
        /* 文章部分 */
        .pp-box {
          width: 900px;
          height: 260px;
          margin-bottom: 10px;
          border: 1px solid rgb(0, 0, 0);
          padding: 20px 10px 20px 20px;
          background-color: var(--white);
          overflow-y: scroll;
          text-align: left;
    
          .p-top {
            padding: 10px 0;
          }
    
          & span {
            font-weight: bold;
            font-size: 1.5em;
          }
    
          & ol {
            & li {
              padding-bottom: 10px;
            }
          }
    
          & ul {
            & li {
              padding-bottom: 5px;
            }
          }
        }
    
        /* 同意チェックボックス */
        .consent {
          width: 900px;
          text-align: left;
        }
    
      }

      /* 背景の設定 */
      .ps-rl {
        /* 左上 */
        .form-bgtl {
          width: 180px;
          height: 180px;
          bottom: 35%;
          left: 12%;
          z-index: -10;
        }

        /* 左下 */
        .form-bgbl {
          width: 300px;
          height: 300px;
          bottom: 10%;
          left: -5%;
        }

        /* 右下 */
        .form-bgbr {
          width: 200px;
          height: 200px;
          bottom: 20%;
          right: -3%;
        }
      }
    }
  }
}


/* 
============================================
(3) スマホ・タブレット共通表示
============================================
*/
@media screen and (max-width: 1199px) {

  /* --- 3-1. 共通設定
  ----------------------------------------- */
  main {
    /* ボタンの設定 */
    .btn {
      padding: 16px 25px 16px 40px;
      font-size: 18px;
      letter-spacing: 2px;
      line-height: 20px;

      /* >の設定 */
      .arrow2 {
        margin-left: 30px;
      }
    }

    /*-- スライダーのボタン --*/
    .slick-arrow {
      z-index: 1 !important;
      width: 80px !important;
      height: 80px !important;
    }
  }

  /* --- 3-2. ヘッダー
  ----------------------------------------- */
  header {
    width: 100%;
    height: 70px;

    /* ヘッダー上のENTRYボタン(ハンバーガーメニューとは別) */
    .btn {
      display: none;
    }

    /*-- 会社のロゴ部分 --*/
    .logo {
      /* 画像サイズ */
      & img {
        width: 85px;
      }

      /* 「Reruiting Site」部分 */
      .site-title {
        letter-spacing: 1px;
        line-height: 16px;
        margin-left: 10px;
        font-size: 15px
      }
    }

    /*-- ヘッダーナビ --*/
    /* PC用(非表示) */
    .header-nav-pc {
      display: none;
    }

    /* tb・sp用 */
    .header-nav-sp {
      transform: translateX(100%);
      transition: transform 0.5s ease-in;
      height: 100vh;
      background-color: var(--white);
      position: absolute;
      right: 0;
      top: 72px;
      z-index: 900;

      /* ナビ */
      & li {
        opacity: 0;
        width: 90%;
        margin: 0 auto;
        box-sizing: border-box;
        border-bottom: 2px solid rgb(0, 0, 0);
        position: relative;

        &::after {
          content: '\f054';
          font-family: 'Font Awesome 5 Free';
          font-weight: 900;
          color: var(--blue);
          position: absolute;
          top: 52%;
          right: 5%;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
        }

        & a {
          letter-spacing: 1px;
        }

        /* ENTRY部分 */
        &:last-of-type {
          margin-top: 50px;
          border: 2px solid var(--blue);
          border-radius: 50px;
          text-align: center;

          & a {
            color: var(--blue);
            padding-left: 0;
            letter-spacing: 1.5px;
            font-size: 18px;
          }

          &::after {
            right: 10%;
          }
        }
      }
    }

    /* (js)ハンバーガーメニューの開き方 */
    .header-active {
      transform: translateX(0%) !important;
    }

    /* ハンバーガーメニュー */
    .burger {
      display: block;
      cursor: pointer;
      text-align: center;
      color: var(--blue);
      font-size: 10px;
      
      & div {
        background-color: var(--blue);
        transition: 0.5s ease;
        width: 25px;
        height: 3px;
        margin: 5px;
      }
    }

    /* (js)ハンバーガーメニューの動き */
    .toggle {
      .burger-line1 {
        opacity: 0;
      }
      .burger-line2 {
        transform: rotate(-45deg) translate(-1px, 0.5px);
      }
      .burger-line3 {
        transform: rotate(45deg) translate(-5px, -4.5px);
      }
    }
  }

  /* --- 3-5. トップページ
  ----------------------------------------- */
  /*-- FV表示部分 --*/
  .topview {
    background-position: center;

    /*-- 文字部分 --*/
    .heading {
      width: 80%;
      /* 見出し */
      & h1 {
        line-height: 1;
      }
      /* 文章部分 */
      & strong {
        letter-spacing: 3px;
      }
      /* にっこり部分 */
      & img {
        margin-top: 10px;
        margin-left: 20px;
      }
    }

    /*-- scroll文字部分 --*/
    .scroll {
      right: 40px;
      font-size: 16px;
      letter-spacing: 1.5px;
      line-height: 70px;
    }

    /* scroll下の縦線 */
    .scroll-line {
      bottom: 0;
      right: 73px;
      width: 2px;
    }
  }

  /* --- 3-7. ABOUTページ
  ----------------------------------------- */
  /*-- 代表メッセージ --*/
  .about-message {
    padding: 80px 0 100px;

    .about-img {
      display: flex;
      flex-direction: column;
      width: auto;
      margin-bottom: 100px;

      .mahalo {
        margin: 0 auto;
      }

      .turtle {
        margin-top: 20px;
        display: block;
        margin-right: 10px;
        margin-left: auto;
      }
    }

    .message-box {
      width: 90%;
      margin: 0 auto;
      box-sizing: border-box;
      position: relative;

      .signature {
        display: flex;
        align-items: center;
        justify-content: flex-end;

        & span {
          margin-left: 20px;
        }
      }

      .tree {
        position: absolute;
        top: -13%;
        right: 5%;
      }

      .turtle {
        position: absolute;
        bottom: -2%;
        left: 0;
      }
    }
  }

  /*-- オフィス風景 --*/
  .office {
    .office-slider {
      .slider_image {
        margin: 15px;
      }
    }
  }

  /* --- 3-8. ENVIRONMENTページ
  ----------------------------------------- */
  .environment {
    & img {
      border-radius: 5px;
    }
  }

  /* --- 3-9. MEMBERページ(一覧)
  ----------------------------------------- */

  /* --- 3-10. MEMBERページ(個別)
  ----------------------------------------- */

  /* --- 3-11. NUMBERページ
  ----------------------------------------- */

  /* --- 3-12. ENTRYページ
  ----------------------------------------- */
  
}


/* 
============================================
(4) タブレット表示
============================================
*/
@media screen and (min-width: 500px) and (max-width: 1199px) {

  /* --- 4-1. 共通設定
  ----------------------------------------- */
  .pc, .sp {
    display: none !important;
  }

  /* --- 4-2. ヘッダー
  ----------------------------------------- */
  header {
    /*-- ヘッダーナビ --*/
    .header-nav-sp {
      width: 50%;

      /* ナビ */
      & li {
        padding: 2vh 5%;

        /* ENTRY部分 */
        &:last-of-type {
          padding: 1.5vh 5%;
        }
      }
    }
  }


  /* --- 4-3. フッター
  ----------------------------------------- */
  .bg-sea {
    margin: -50px 0 -100px;
  }

  footer {
    background-size: cover;

    /*-- 木とカメの画像 --*/
    .footer-img {
      margin-right: 10%;

      .turtle-image {
        width: 40px;
      }
    
      .tree-image {
        width: 110px;
      }  
    }

    /*-- 会社ロゴとフッターナビ --*/
    .footer-menu {
      display: flex;
      justify-content: space-around;
      align-items: flex-start;
      padding: 20px 0 70px;
      
      /*-- 会社のロゴ部分 --*/
      .logo {
        flex-direction: column;
        /* 画像サイズ */
        & img {
          width: 150px;
          margin-bottom: 10px;
        }

        /* 「Reruiting Site」部分 */
        .site-title {
          letter-spacing: 2px;
        }
      }

      /*-- フッターナビ --*/
      .footer-nav-pc {
        display: flex;
        justify-content: space-between;
        width: 50%;
        line-height: 2.5;

        .footer-nav-1, .footer-nav-2 {
          display: flex;
          flex-direction: column;
        }
      }

      .footer-nav-sp {
        display: none;
      }
    }

    /*-- 著作権表示 --*/
    .footer-line {
      padding: 17px 0;
      letter-spacing: 1.5px;
      font-size: 14px;
    }
  }

  /* --- 4-4. サイドバー
  ----------------------------------------- */
  .entry-box {
    padding: 100px 0;

    /*-- 見出し --*/
    & h2 {
      font-size: 2.5em;
      letter-spacing: 2px;
    }

    & h3 {
      letter-spacing: 1px;
      /*-- 一文字目の色&サイズ変更 --*/
      &::first-letter {
        font-size: 1.3em;
      }
    }

    & h4 {
      font-size: 1.3em;
      margin: 10px 0 20px;
    }

    .text-box {
      box-sizing: border-box;
      width: 80%;
      padding: 52px 40px 62px;
      margin: 50px auto 70px;
    }
  }

  /*-- 背景の設定 --*/
  .ps-rl {
    /* 左上 */
    .entry-bgtl {
      width: 150px;
      height: 150px;
      top: 18%;
      left: 10%;
    }

    /* 左下 */
    .entry-bgbl {
      width: 230px;
      height: 230px;
      bottom: 10%;
      left: -5%;
    }

    /* 右下 */
    .entry-bgbr {
      width: 180px;
      height: 180px;
      bottom: 25%;
      right: -8%;
    }
  }

  /* --- 4-5. トップページ
  ----------------------------------------- */
  /*-- FV表示部分 --*/
  .topview {
    height: 50vh;        
    background-position: left -6px bottom 0px;

    /*-- 文字部分 --*/
    .heading {
      /* 見出し */
      & h1 {
        font-size: 80px;
        letter-spacing: 7px;
      }
      /* 文章部分 */
      & strong {
        font-size: 25px;
      }
      /* 「幸福」部分 */
      .koufuku {
        font-size: 40px;
      }
      /* にっこり部分 */
      & img {
        width: 450px;
      }
    }

    /* 文字背景 */
    .top-bg {
      width: 300px;
      height: 300px;
      top: 12%;
      left: 6%;
    }

    /*-- scroll文字部分 --*/
    .scroll {
      bottom: 18%;
    }

    /* scroll下の縦線 */
    .scroll-line {
      height: 16%;
    }

    /* scroll背景 */
    .scroll-bg {
      width: 350px;
      height: 350px;
      bottom: -25%;
      right: -13%;
    }
  }

  /*-- 各ページへのリンク --*/
  .top-contents {
    /*-- 見出し --*/
    & h2 {
      font-size: 2.5em;
      letter-spacing: 2px;
    }

    & h3 {
      letter-spacing: 1px;
      /*-- 一文字目の色&サイズ変更 --*/
      &::first-letter {
        font-size: 1.3em;
      }
    }
    
    /*-- メインコンテンツ --*/
    /* aboutとenvironment部分 */
    .top-wrapper {
      width: 85%;
      margin: 0 auto;

      .top-link {
        display: flex;

        /*-- 見出し --*/
        & h2 {
          font-size: 1.8em;
          line-height: 1.2;
        }

        & img {
          width: 300px;
          height: 212px;
          border-radius: 10px;
          z-index: 10;
        }

        .bg-white {
          height: 220px;
          border-radius: 15px;
          margin: -20px 0 0 -50px;
          padding: 30px 30px 10px 80px;
          position: relative;

          & p {
            margin: 10px 0;
            letter-spacing: 1px;
            font-size: 13px;
          }

          /* ボタンの位置調整用 */
          .btn-ps {
            position: absolute;
            bottom: 30px;
            right: 30px;
          }
        }
      }
    }

    /* 背景の水玉(about下) */
    .top-about-bg {
      width: 400px;
      height: 400px;
      top: 5%;
      left: -20%;
    }

    /* 背景の水玉(environment下) */
    .top-env-bg {
      width: 250px;
      height: 250px;
      bottom: -40%;
      right: -20%;
    }

    .top-member {
      .top-slider {
        .slider-contents {
          margin: 50px 30px 80px;

          .slider-text {
            padding: 20px 15px;
          }
        }
      }
    }

    .top-mem-bgt {
      width: 300px;
      height: 300px;
      top: 5%;
      left: -15%;
    }

    .top-mem-bgb {
      width: 150px;
      height: 150px;
      bottom: 15%;
      right: 3%;
    }

    .top-number {
      & img {
        width: 90%;
      }
    }
  }

  /* --- 4-6. 各固定ページ共通設定
  ----------------------------------------- */
  .page-title {
    height: 35vh;

    .page-heading {
      top: 25%;

      /*-- パンくずリスト --*/
      .breadCrumb {
        margin-bottom: 25px;
      }
    }

    .title-bgt {
      width: 300px;
      height: 300px;
      top: 5%;
      right: 10%;
    }
  
    .title-bgb {
      width: 200px;
      height: 200px;
      bottom: -20%;
      right: -5%;
    }
  }

  /* --- 4-7. ABOUTページ
  ----------------------------------------- */
  /*-- 企業理念 --*/
  .philosophy {
    padding: 100px 0;

    .theme {
      width: 70%;
      flex-wrap: wrap;
      margin: 30px auto;

      & hr {
        width: 180px;
        margin: 5px auto;
      }

      & p {
        font-size: 1.8em;
        margin-top: 10px;
      }

      .theme-heading {
        font-size: 2em;
        letter-spacing: 3.5px;
      }

      .theme-rubi {
        font-size: 1.2em;
      }

      .theme-circle {
        width: 180px;
        height: 180px;
        padding: 40px;
      }

      .laulea {
        margin-right: 20px;
      }
    }

    .belif {
      width: 100%;

      .belif-theme {
        margin-bottom: 20px;

        & span {
          font-size: 85px;
          letter-spacing: 3px;
          line-height: 1;
        }
      }

      & p {
        width: 80%;
        margin: 0 auto;
        letter-spacing: 2px;
        padding-bottom: 15px;
        font-size: 23px;
      }
      
      & strong {
        font-size: 28px;
        letter-spacing: 3px;
      }

      .about-smile {
        width: 80%;
        margin-top: 20px;
      }
    }

    /* 背景左上 */
    .ph-bgtl {
      width: 200px;
      height: 200px;
      top: 1%;
      left: -10%;
    }

    /* 背景右真ん中 */
    .ph-bgcr {
      width: 250px;
      height: 250px;
      bottom: 40%;
      right: -20%;
    }

    /* 背景左下 */
    .ph-bgbl {
      width: 250px;
      height: 250px;
      bottom: -15%;
      left: -10%;
    }

    /* 背景右下 */
    .ph-bgbr {
      width: 100px;
      height: 100px;
      bottom: -10%;
      right: 10%;
    }
  }

  /*-- 仕事内容 --*/
  .work {
    padding: 100px 0 120px;

    /* 部署説明 */
    .job-roll {
      width: 80%;
      flex-wrap: wrap;
      margin: 30px auto;

      & img {
        width: 280px;
        margin: 20px 0;
      }

      .job-roll-width {
        width: 280px;
        margin: 20px auto;
      }

      .solution {
        margin-right: 20px;
      }

    }

    .work-bgbl {
      width: 200px;
      height: 200px;
      bottom: -23%;
      left: -10%;
    }

    .work-bgbr {
      width: 300px;
      height: 300px;
      bottom: -25%;
      right: -10%;
    }
  }

  /*-- 代表メッセージ --*/
  .about-message {
    .about-img {
      margin-bottom: 80px;
    }
    
    .message-box {
      padding: 40px;

      .tree {
        width: 110px;
      }

      .turtle {
        width: 80px;
        bottom: -5%;
      }
    }
  }

  .office-bgtl {
    width: 250px;
    height: 250px;
    top: -15%;
    left: -15%;
  }

  .office-bgbr {
    width: 250px;
    height: 250px;
    bottom: -20%;
    right: -15%;
  }

  /* --- 4-8. ENVIRONMENTページ
  ----------------------------------------- */
  .environment {

    & img {
      width: 90%;
    }

    & p {
      width: 90%;
      margin: 0 auto;
    }

    .flexible {
      .fl-bgtl {
        width: 200px;
        height: 200px;
        top: -10%;
        left: -5%;
      }
    
      .fl-bgbl {
        width: 80px;
        height: 80px;
        bottom: -25%;
        left: 10%;
      }
    
      .fl-bgbr {
        width: 250px;
        height: 250px;
        bottom: -30%;
        right: -20%;
      }
    }

    .woman {
      & h2 {
        width: 90%;
        margin: 0 auto;
      }
      .woman-bgbl {
        width: 200px;
        height: 200px;
        bottom: -40%;
        left: -10%;
      }
    }

    .support {
      .sp-bgcr {
        width: 250px;
        height: 250px;
        top: -10%;
        right: -10%;
      }
    
      .sp-bgbr {
        width: 150px;
        height: 150px;
        bottom: -50%;
        right: -10%;
      }
    }

    .benefit {
      .benefit-bgcl {
        width: 250px;
        height: 250px;
        top: 30%;
        left: -20%;
      }
    
      .benefit-bgbr {
        width: 300px;
        height: 300px;
        bottom: -50%;
        right: -20%;
      }  
    }
  }

  /* --- 4-9. MEMBERページ(一覧)
  ----------------------------------------- */
  .member {
    padding: 80px 0 130px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
  
    .slider-contents {
      box-shadow:0px 0px 10px 0px #dedede;
      border-radius: 10px;
      position: relative;
      top: 0;
      transition: all 0.5s 0s ease;
      width: 300px;
      margin: 40px;
      
      & a {
        color: rgb(51, 51, 51);
        background: var(--white);
      }
  
      & img {
        height: auto;
        width: 100%;
        border-radius: 10px 10px 0 0;
      }
  
      &:hover {
        top: -10px;
      }
  
      .slider-text {
        height: 150px;
        padding: 20px 15px;
        background: var(--white);
        border-radius: 0 0 10px 10px;
  
        & span {
          color: var(--blue);
          font-weight: bold;
          font-size: 2em;
          line-height: 1.5;
          letter-spacing: 2px;
        }
  
        & p {
          line-height: 1.5;
          letter-spacing: 1px;
          overflow: hidden;
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 3;
        }
      }
    }
  }

  .ps-rl {
    .mem-bgtl {
      width: 300px;
      height: 300px;
      top: 10%;
      left: -10%;
      z-index: -10;
    }

    .mem-bgcl {
      width: 300px;
      height: 300px;
      top: 50%;
      left: -10%;
      z-index: -10;
    }

    .mem-bgbl {
      width: 300px;
      height: 300px;
      bottom: 10%;
      left: -10%;
      z-index: -10;
    }

    .mem-bgtr {
      width: 300px;
      height: 300px;
      top: 30%;
      right: -10%;
      z-index: -10;
    }

    .mem-bgcr {
      width: 300px;
      height: 300px;
      bottom: 25%;
      right: -10%;
      z-index: -10;
    }

    .mem-bgbr {
      width: 300px;
      height: 300px;
      bottom: 0%;
      right: -10%;
      z-index: -10;
    }
  }

  /* --- 4-10. MEMBERページ(個別)
  ----------------------------------------- */
  .single-member {
    .interview {
      width: 80%;
      margin: 0 auto;
      padding: 100px 0;

      .introduction {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 30px;
  
        .img{
          & img {
            width: 300px;
            border-radius: 10px;
            margin-right: 30px;
          }
        }
        .text {
          .division {
            font-weight: bold;
          }
          .name {
            color: var(--blue);
            font-weight: bold;
            font-size: 2em;
            letter-spacing: 1.3px;
          }
        }
      }
  
      section {
        margin-bottom: 30px;
  
        & h3 {
          padding-bottom: 10px;
          border-bottom: 1px solid rgb(51, 51, 51);
          letter-spacing: 1.5px;
  
          /*-- 一文字目の色&サイズ変更 --*/
          &::first-letter {
            font-size: 1.3em;
            color: var(--dropcap);
          }
        }
  
        & p {
          margin-top: 10px;
          line-height: 1.5;
        }
      }
    }
  
    .others{
      text-align: center;
      padding: 100px 0;
      background-color: var(--bg-blue);
  
      /*-- 見出し --*/
      & h2 {
        font-size: 2.5em;
        letter-spacing: 2px;
        color: var(--blue);
      }
  
      & h3 {
        letter-spacing: 1px;
        /*-- 一文字目の色&サイズ変更 --*/
        &::first-letter {
          font-size: 1.3em;
          color: var(--dropcap);
        }
      }
  
      .top-slider {
        .slider-contents {
          box-shadow:0px 0px 10px 0px #dedede;
          border-radius: 10px;
          position: relative;
          top: 0;
          transition: all 0.5s 0s ease;
          margin: 90px 30px;
          
          & a {
            color: rgb(51, 51, 51);
          }
    
          & img {
            height: auto;
            width: 100%;
            border-radius: 10px 10px 0 0;
          }
      
          &:hover {
            top: -10px;
          }
    
          .slider-text {
            height: 150px;
            padding: 20px 15px;
            background-color: var(--white);
            border-radius: 0 0 10px 10px;
  
            & span {
              color: var(--blue);
              font-weight: bold;
              font-size: 2em;
              line-height: 1.5;
              letter-spacing: 2px;
            }
    
            & p {
              line-height: 1.5;
              letter-spacing: 1px;
              overflow: hidden;
              display: -webkit-box;
              -webkit-box-orient: vertical;
              -webkit-line-clamp: 3;
            }
          }
        }
      }
    }
  }

  .ps-rl {
    .single-bgtl {
      width: 300px;
      height: 300px;
      top: 10%;
      left: -20%;
      z-index: -10;
    }

    .single-bgcl {
      width: 300px;
      height: 300px;
      top: 50%;
      left: -20%;
      z-index: -10;
    }

    .single-bgbl {
      width: 300px;
      height: 300px;
      bottom: 10%;
      left: -20%;
    }

    .single-bgtr {
      width: 300px;
      height: 300px;
      top: 30%;
      right: -20%;
      z-index: -10;
    }

    .single-bgcr {
      width: 250px;
      height: 250px;
      bottom: 28%;
      right: -20%;
    }

    .single-bgbr {
      width: 200px;
      height: 200px;
      bottom: -3%;
      right: -10%;
    }
  }

  /* --- 4-11. NUMBERページ
  ----------------------------------------- */
  .number {

    & h3 {
      letter-spacing: 1px;
      /*-- 一文字目の色&サイズ変更 --*/
      &::first-letter {
        color: var(--dropcap);
        font-size: 1.3em;
      }
    }

    & img {
      width: 80%;
    }

    & table {
      width: 80%;
      margin: 0 auto;

      & td {
        padding: 10px 20px;
      }
    }

    .ps-rl {
      .num-bgtl {
        width: 200px;
        height: 200px;
        top: 10%;
        left: -15%;
      }
  
      .num-bgcl {
        width: 200px;
        height: 200px;
        top: 50%;
        left: -15%;
      }
  
      .num-bgbl {
        width: 200px;
        height: 200px;
        bottom: 10%;
        left: -15%;
      }
  
      .num-bgtr {
        width: 200px;
        height: 200px;
        top: 30%;
        right: -15%;
      }
  
      .num-bgcr {
        width: 200px;
        height: 200px;
        bottom: 25%;
        right: -15%;
      }
  
      .num-bgbr {
        width: 200px;
        height: 200px;
        bottom: -5%;
        right: -15%;
      }
    }
  }


  /* --- 4-12. ENTRYページ
  ----------------------------------------- */
  .entry {
    /*-- 募集背景 --*/
    .background {
      & p {
        margin-bottom: 30px;
        line-height: 1.8;
      }
    
      & img {
        width: 80%;
      }

      /* 背景の設定 */
      .ps-rl {
        .en-bg-bgtl {
          width: 200px;
          height: 200px;
          top: 5%;
          left: -10%;
        }
    
        .en-bg-bgbl {
          width: 100px;
          height: 100px;
          bottom: -20%;
          left: 5%;
        }
    
        .en-bg-bgbr {
          width: 300px;
          height: 300px;
          bottom: -30%;
          right: -20%;
        }
      }
    }

    /*-- 募集要項 --*/
    .job-description {
      /* 背景の設定 */
      .ps-rl {
        .job-bgtl {
          width: 250px;
          height: 250px;
          top: 40%;
          left: -15%;
        }
    
        .job-bgbr {
          width: 300px;
          height: 300px;
          bottom: -20%;
          right: -20%;
        }
      }
    }
    
    /* 表の部分 */
    .entry-table {
      padding-top: 30px;
      width: 80%;
      margin: 0 auto;
    
      & table {
        text-align: left;
        border-collapse: collapse;
        
        & tr {
          border-top: 2px solid var(--blue);
          margin: 20px;
          &:last-child {
            border-bottom: 2px solid var(--blue);
          }
        }
    
        & th {
          padding: 20px 15px 10px 3px;
          vertical-align: top;
        }
    
        & td {
          padding: 15px 0;
    
          & p {
            border-left: 2px solid var(--blue);
            padding: 5px 0 5px 15px;
          }
    
        }
      }
    }
    
    /*-- 応募・選考について --*/
    .application {
      text-align: center;
      padding: 80px 0 100px;
      width: 100%;
    
      /* 内定までの流れ部分 */
      .flow {
        display: flex;
        justify-content: center;
        align-items: center;
    
        .next {
          margin: 0 10px;
          font-size: 1.3em;
        }
        
        .flow-circle {
          background: linear-gradient(180deg, rgba(120, 222, 244, 0.5), rgba(17, 157, 235, 0.5));
          width: 130px;
          height: 130px;
          border-radius: 50%;
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 1.2em;
          padding: 10px;
        }
      }
    
      /* ※が4つある部分 */
      .caution {
        display: flex;
        width: 100%;
        justify-content: center;
        padding-top: 30px;
    
        & p {
          text-align: left;
          line-height: 1.5;
        }
      }

      /* 背景の設定 */
      .ps-rl {
        .app-bgbl {
          width: 200px;
          height: 200px;
          bottom: 20%;
          left: -10%;
          z-index: -10;
        }
    
        .app-bgbr {
          width: 250px;
          height: 250px;
          bottom: -30%;
          right: -15%;
        }
      }
    }
    
    /*-- 応募フォーム --*/
    .entry-form {
    
      /* 段組 */
      & table {
        width: 90%;
        margin: 0 auto;
        border-collapse: collapse;
        text-align: left;
    
        & th {
          padding: 10px 20px 10px 0;
        }
    
        & td {
          padding: 10px 0;
        }
    
        .first-file {
          padding-bottom: 5px;
        }
    
        .second-file {
          padding-bottom: 0;
        }
      }
    
      /* 入力フォームの調整 */
      .wpcf7 {
        /* 入力欄 */
        & input[type="text"], input[type="email"], input[type="date"] {
          font-size: 1.1em;
          width: 600px;
          height: 40px;
          padding: 0 5px;
        }
    
        /* 添付ファイル部分 */
        & input[type="file"] {
          font-size: 1em;
          letter-spacing: 1px;
        }
    
        /* 送信ボタン */
        .pp-btn {
          display: inline-block;
          position: relative;
    
          & p {
            display: inline-block;
          }
    
          & input[type="submit"] {
            margin: 0 auto;
            align-items: center;
            border-radius: 30px;
            border: solid 2px var(--blue);
            padding: 16px 65px 16px 40px;
            margin: 10px 0;
            font-size: 18px;
            letter-spacing: 2px;
            font-weight: bold;
            color: var(--blue);
            text-decoration: none;
            background-color: var(--white);
    
            &:hover {
              background-color: var(--blue);
              color: var(--white);
            }
    
            /* >の設定 */
            .arrow2 {
              margin: 2px 0 0 30px;
            }
          }
    
          /* 送信ボタンの>を表示 */
          &::after {
            content: "\f054";
            font-family: "Font Awesome 5 Free";
            font-size: 14px;
            font-weight: 900;
            color: var(--blue);
            position: absolute;
            top: 31.5%;
            right: 13%;
          }
    
          &:hover::after {
            color: var(--white);
          }
        }
    
        /* 画面には表示されない送信ボタンの下にあるやつ */
        .wpcf7-spinner {
          display: block;
        }
      }
    
      /* 個人情報保護方針 */
      .privacy-policy {
        width: 90%;
        margin: 10px auto 30px;
    
        /* 文章部分 */
        .pp-box {
          width: 95%;
          height: 260px;
          margin-bottom: 10px;
          border: 1px solid rgb(0, 0, 0);
          padding: 20px 10px 20px 20px;
          background-color: var(--white);
          overflow-y: scroll;
          text-align: left;
    
          .p-top {
            padding: 10px 0;
          }
    
          & span {
            font-weight: bold;
            font-size: 1.5em;
          }
    
          & ol {
            & li {
              padding-bottom: 10px;
            }
          }
    
          & ul {
            & li {
              padding-bottom: 5px;
            }
          }
        }
    
        /* 同意チェックボックス */
        .consent {
          width: 100%;
          text-align: left;
        }
        .wpcf7-list-item {
          margin-left: 0;
        }
    
      }

      /* 背景の設定 */
      .ps-rl {
        .dot-bg {
          z-index: -10;
        }

        /* 左上 */
        .form-bgtl {
          width: 140px;
          height: 140px;
          bottom: 35%;
          left: 12%;
          z-index: -10;
        }

        /* 左下 */
        .form-bgbl {
          width: 250px;
          height: 250px;
          bottom: 0%;
          left: -15%;
        }

        /* 右下 */
        .form-bgbr {
          width: 150px;
          height: 150px;
          bottom: 10%;
          right: -5%;
        }
      }
    }
  }
}


/* 
============================================
(5) スマホ表示
============================================
*/
@media screen and (max-width: 500px) {

  /* --- 5-1. 共通設定
  ----------------------------------------- */
  .pc, .pc_tb {
    display: none !important;
  }

  /* --- 5-2. ヘッダー
  ----------------------------------------- */
  header {
    /*-- ヘッダーナビ --*/
    .header-nav-sp {
      width: 100%;

      /* ナビ */
      & li {
        padding: 3vh 5%;
      }
    }
  }

  /* --- 5-3. フッター
  ----------------------------------------- */
  /*-- 上に戻るボタン --*/
  .page-top {
    padding: 20px;
    right: 15px;
  }

  .bg-sea {
    margin: -50px 0 -130px;
  }

  footer {
    background-image: url(../img/beach2.webp);
    background-size: cover;

    .footer-nav-pc {
      display: none;
    }

    .footer-img {
      padding: 30px 30px 0 0;

      .turtle-image {
        width: 40px;
      }
      .tree-image {
        width: 95px;
      }
    }

    /*-- 会社ロゴとフッターナビ --*/
    .footer-menu {
      text-align: center;
      margin: 50px 0;
      
      /*-- 会社のロゴ部分 --*/
      .logo {
        flex-direction: column;
        letter-spacing: 2px;
        font-size: 20px;

        /* 画像サイズ */
        & img {
          width: 50vw;
        }
      }

      /*-- フッターナビ --*/
      .footer-nav-sp {
        display: flex;
        justify-content: center;
        line-height: 2.5;
        margin-top: 30px;

        .footer-nav-1, .footer-nav-2 {
          display: flex;
          flex-direction: column;
          text-align: left;
        }

        .footer-nav-1 {
          margin-right: 40px;
        }
      }
    }

    /*-- 著作権表示 --*/
    .footer-line {
      padding: 15px 0;
      letter-spacing: 1px;
      font-size: 14px;
    }
  }

  /* --- 5-4. サイドバー
  ----------------------------------------- */
  .entry-box {
    padding: 100px 0;

    /*-- 見出し --*/
    & h2 {
      font-size: 2.5em;
      letter-spacing: 2px;
    }

    & h3 {
      letter-spacing: 1px;
      /*-- 一文字目の色&サイズ変更 --*/
      &::first-letter {
        font-size: 1.3em;
      }
    }

    & h4 {
      font-size: 1.3em;
      margin: 10px 0 20px;
    }

    .text-box {
      box-sizing: border-box;
      width: 80%;
      padding: 52px 40px 62px;
      margin: 50px auto 70px;
    }
  }

  /*-- 背景の設定 --*/
  .ps-rl {
    /* 左上 */
    .entry-bgtl {
      width: 180px;
      height: 180px;
      top: -6%;
      left: -25%;
    }

    /* 左下 */
    .entry-bgbl {
      width: 250px;
      height: 250px;
      top: 60%;
      left: -20%;
    }

    /* 右上 */
    .entry-bgbr {
      width: 100px;
      height: 100px;
      top: 20%;
      right: -10%;
    }
  }

  /* --- 5-5. トップページ
  ----------------------------------------- */
  /*-- FV表示部分 --*/
  .topview {
    height: 100vh;
    background-position: left -393px bottom -4px;

    /*-- 文字部分 --*/
    .heading {
      
      /* 見出し */
      & h1 {
        font-size: 50px;
        letter-spacing: 3px;
      }
      .env {
        font-size: 35px;
      }

      /* 文章部分 */
      & strong {
        font-size: 20px;
      }
      /* 「幸福」部分 */
      .koufuku {
        font-size: 32px;
      }
      /* にっこり部分 */
      & img {
        width: 250px;
      }
    }

    /* 文字背景 */
    .top-bg {
      width: 300px;
      height: 300px;
      top: 12%;
      left: 6%;
    }

    /*-- scroll文字部分 --*/
    .scroll {
      bottom: 20%;
    }

    /* scroll下の縦線 */
    .scroll-line {
      height: 18%;
    }

    /* scroll背景 */
    .scroll-bg {
      width: 350px;
      height: 350px;
      bottom: -15%;
      right: -30%;
    }
  }

  /*-- 各ページへのリンク --*/
  .top-contents {
    width: 100%;

    /*-- 見出し --*/
    & h2 {
      font-size: 2.5em;
      letter-spacing: 2px;
    }

    & h3 {
      letter-spacing: 1px;
      /*-- 一文字目の色&サイズ変更 --*/
      &::first-letter {
        font-size: 1.3em;
      }
    }

    /* 背景の水玉(about下) */
    .top-about-bg {
      width: 400px;
      height: 400px;
      top: 10%;
      left: -40%;
    }

    /* 背景の水玉(environment下) */
    .top-env-bg {
      width: 200px;
      height: 200px;
      bottom: -20%;
      right: -20%;
    }

    /*-- メインコンテンツ --*/
    /* aboutとenvironment部分 */
    .top-wrapper {
      width: 80%;
      margin: 0 auto;

      .top-link {
        width: 100%;

        /*-- 見出し --*/
        & h2 {
          font-size: 1.8em;
          line-height: 1.2;
        }

        & img {
          width: 100%;
          border-radius: 10px 10px 0 0;
          position: relative;
        }

        .bg-white {
          height: 200px;
          border-radius: 0 0 10px 10px;
          margin-top: -5px;
          padding: 20px;
          box-sizing: border-box;
          position: relative;
          
          & p {
            display: none;
          }
        }

        .btn {
          display: table;
          margin: 15px auto;
        }
      }
    }

    .top-member {
      .top-slider {
        margin-bottom: 50px;
        .slider-contents {
          margin: 50px 20px;

          .slider-text {
            padding: 20px 15px;
          }
        }
      }
    }

    .top-mem-bgt {
      width: 300px;
      height: 300px;
      top: 5%;
      left: -60%;
    }

    .top-mem-bgb {
      width: 200px;
      height: 200px;
      bottom: -10%;
      right: -40%;
    }

    .top-number {
      & img {
        margin-bottom: 50px;
        width: 80%;
      }
    }
  }

  /* --- 5-6. 各固定ページ共通設定
  ----------------------------------------- */
  .page-title {
    height: 40vh;

    .page-heading {
      position: absolute;
      top: 30%;
      left: 7%;

      /*-- パンくずリスト --*/
      .breadCrumb {
        margin-bottom: 15px;
        letter-spacing: 1.5px;
      }

      & h1 {
        letter-spacing: 2px;
        font-size: 2.3em;
      }

      & h2 {
        font-size: 1.2em;
      }
    }

    .title-bgt {
      width: 150px;
      height: 150px;
      top: 25%;
      right: 5%;
    }
  
    .title-bgb {
      width: 80px;
      height: 80px;
      bottom: -10%;
      right: -5%;
    }
  }

  /*-- 各ページ内容部分 --*/
  .contents {
    /*-- 各見出し部分 --*/
    .contents-heading {
      margin-bottom: 30px;

      & h2 {
        font-size: 2.3em;
      }
    }
  }

  /* --- 5-7. ABOUTページ
  ----------------------------------------- */
  /*-- 企業理念 --*/
  .philosophy {
    margin: 80px 0;

    .explain {
      width: 90%;
      margin: 0 auto;
    }

    .theme {
      margin: 30px 0;
      flex-direction: column;

      & hr {
        width: 180px;
        margin: 5px auto;
      }

      & p {
        font-size: 1.8em;
        margin-top: 10px;
      }

      .theme-heading {
        font-size: 2em;
        letter-spacing: 3.5px;
      }

      .theme-rubi {
        font-size: 1.2em;
      }

      .theme-circle {
        width: 180px;
        height: 180px;
        padding: 40px;
        margin: 10px auto;
      }
    }

    .belif {
      width: 100%;

      .belif-theme {
        margin-bottom: 20px;

        & span {
          font-size: 40px;
          letter-spacing: 3px;
          line-height: 1;
        }
      }

      & p {
        width: 90%;
        margin: 0 auto;
        letter-spacing: 2px;
        padding-bottom: 15px;
      }
      
      & strong {
        font-size: 28px;
        letter-spacing: 3px;
      }

      .about-smile {
        width: 80%;
      }
    }

    /* 背景左上 */
    .ph-bgtl {
      width: 200px;
      height: 200px;
      top: 1%;
      left: -30%;
    }

    /* 背景右真ん中 */
    .ph-bgcr {
      width: 250px;
      height: 250px;
      bottom: 40%;
      right: -60%;
    }

    /* 背景左下 */
    .ph-bgbl {
      width: 100px;
      height: 100px;
      bottom: 25%;
      left: -20%;
    }

    /* 背景右下 */
    .ph-bgbr {
      width: 150px;
      height: 150px;
      bottom: -10%;
      right: -20%;
    }
  }

  /*-- 仕事内容 --*/
  .work {
    padding: 100px 0 120px;

    /* 部署説明 */
    .job-roll {
      flex-direction: column;

      & img {
        width: 280px;
        margin: 20px 0;
      }

      .job-roll-width {
        width: 280px;
        margin: 20px auto;
      }

    }

    .work-bgbl {
      width: 200px;
      height: 200px;
      bottom: -13%;
      left: -30%;
    }

    .work-bgbr {
      display: none;
    }
  }

  /*-- 代表メッセージ --*/
  .about-message {
    .message-box {
      padding: 40px 20px 35px;

      .tree {
        width: 110px;
      }

      .turtle {
        width: 50px;
      }
    }
  }

  .office-bgbr {
    width: 200px;
    height: 200px;
    top: -15%;
    right: -40%;
  }

  /*-- オフィス風景 --*/
  .office {
    .slick-prev, .slick-next {
      width: 50px !important;
      height: 50px !important;
    }

    .slick-prev:before, .slick-next:before {
      font-size: 20px;
    }
  }

  /* --- 5-8. ENVIRONMENTページ
  ----------------------------------------- */
  .environment {

    & img {
      width: 90%;
    }

    & p {
      width: 90%;
      margin: 0 auto;
    }

    .flexible {
      .fl-bgtl {
        width: 150px;
        height: 150px;
        top: 5%;
        left: -30%;
      }
    
      .fl-bgbl {
        width: 150px;
        height: 150px;
        bottom: -35%;
        left: -10%;
      }
    
      .fl-bgbr {
        width: 250px;
        height: 250px;
        bottom: 0%;
        right: -60%;
      }
    }

    .woman {
      .woman-bgbl {
        width: 200px;
        height: 200px;
        bottom: -40%;
        left: -40%;
      }
    }

    .support {
      .sp-bgcr {
        width: 100px;
        height: 100px;
        top: 10%;
        right: -15%;
      }
    
      .sp-bgbr {
        width: 150px;
        height: 150px;
        bottom: -50%;
        right: -10%;
      }
    }

    .benefit {
      .benefit-bgcl {
        width: 250px;
        height: 250px;
        top: -30%;
        left: -50%;
      }
    
      .benefit-bgbr {
        width: 100px;
        height: 100px;
        bottom: -10%;
        right: -10%;
      }  
    }
  }

  /* --- 5-9. MEMBERページ(一覧)
  ----------------------------------------- */
  .member {
    padding: 50px 0;

    .slider-contents {
      width: 80%;
      margin: 40px auto;
      
      & a {
        display: flex;
        align-items: center;
        background: var(--white);
        box-shadow:0px 0px 10px 0px #dedede;
        border-radius: 10px;
        color: rgb(51, 51, 51);
      }

      & img {
        margin-right: 20px;
        border-radius: 10px 0 0 10px;
      }
      
      & span {
        color: var(--blue);
        font-weight: bold;
        font-size: 2em;
        letter-spacing: 2px;
      }
    }
  }

  .ps-rl {
    
    .mem-bgtl {
      width: 150px;
      height: 150px;
      top: 5%;
      left: -10%;
      z-index: -10;
    }

    .mem-bgcl {
      width: 150px;
      height: 150px;
      top: 30%;
      left: -10%;
      z-index: -10;
    }

    .mem-bgbl {
      width: 150px;
      height: 150px;
      bottom: 30%;
      left: -10%;
      z-index: -10;
    }

    .mem-bgtr {
      width: 150px;
      height: 150px;
      top: 15%;
      right: -10%;
      z-index: -10;
    }

    .mem-bgcr {
      width: 150px;
      height: 150px;
      bottom: 50%;
      right: -10%;
      z-index: -10;
    }

    .mem-bgbr {
      width: 150px;
      height: 150px;
      bottom: 10%;
      right: -10%;
      z-index: -10;
    }
  }

  /* --- 5-10. MEMBERページ(個別)
  ----------------------------------------- */
  .single-member {
    padding: 50px 0;

    .interview {
      width: 95%;
      margin: 0 auto;
      padding-bottom: 80px;

      .introduction {
        width: 90%;
        margin: 0 auto;

        .img {
          text-align: center;
          & img {
            width: 100%;
            border-radius: 10px;
          }
        }

        .text {
          margin: 20px 0;
          .division {
            font-weight: bold;
          }
          .name {
            color: var(--blue);
            font-weight: bold;
            font-size: 2em;
            letter-spacing: 1.3px;
          }
        }
      }

      .interview-content {
        width: 90%;
        margin: 0 auto;

        section {
          margin-bottom: 40px;
        }
  
        & h3 {
          padding-bottom: 10px;
          border-bottom: 1px solid rgb(51, 51, 51);
          letter-spacing: 1.5px;
  
          /*-- 一文字目の色&サイズ変更 --*/
          &::first-letter {
            font-size: 1.3em;
            color: var(--dropcap);
          }
        }
  
        & p {
          margin-top: 10px;
          line-height: 1.5;
        }
      }
    }

    .others {
      text-align: center;
      padding: 100px 0;
      background-color: var(--bg-blue);

      /*-- 見出し --*/
      & h2 {
        font-size: 2.5em;
        letter-spacing: 2px;
        color: var(--blue);
      }
  
      & h3 {
        letter-spacing: 1px;
        /*-- 一文字目の色&サイズ変更 --*/
        &::first-letter {
          font-size: 1.3em;
          color: var(--dropcap);
        }
      }
  
      .top-slider {
        .slider-contents {
          box-shadow:0px 0px 10px 0px #dedede;
          border-radius: 10px;
          position: relative;
          top: 0;
          transition: all 0.5s 0s ease;
          margin: 50px 20px;
          
          & a {
            color: rgb(51, 51, 51);
          }
    
          & img {
            height: auto;
            width: 100%;
            border-radius: 10px 10px 0 0;
          }
      
          &:hover {
            top: -10px;
          }
    
          .slider-text {
            height: 150px;
            padding: 20px 15px;
            background-color: var(--white);
            border-radius: 0 0 10px 10px;
  
            & span {
              color: var(--blue);
              font-weight: bold;
              font-size: 2em;
              line-height: 1.5;
              letter-spacing: 2px;
            }
    
            & p {
              line-height: 1.5;
              letter-spacing: 1px;
              overflow: hidden;
              display: -webkit-box;
              -webkit-box-orient: vertical;
              -webkit-line-clamp: 3;
            }
          }
        }
      }
    }
  }

  .ps-rl {
    .single-bgtl {
      width: 200px;
      height: 200px;
      top: 10%;
      left: -30%;
      z-index: -10;
    }

    .single-bgcl {
      width: 200px;
      height: 200px;
      top: 50%;
      left: -30%;
      z-index: -10;
    }

    .single-bgbl {
      width: 200px;
      height: 200px;
      bottom: 20%;
      left: -30%;
    }

    .single-bgtr {
      width: 200px;
      height: 200px;
      top: 30%;
      right: -30%;
      z-index: -10;
    }

    .single-bgcr {
      width: 200px;
      height: 200px;
      bottom: 30%;
      right: -30%;
      z-index: -10;
    }

    .single-bgbr {
      width: 100px;
      height: 100px;
      bottom: 0%;
      right: -10%;
    }
  }

  /* --- 5-11. NUMBERページ
  ----------------------------------------- */
  .number {
    padding: 50px 0 100px;

    & h3 {
      letter-spacing: 1px;
      /*-- 一文字目の色&サイズ変更 --*/
      &::first-letter {
        color: var(--dropcap);
        font-size: 1.3em;
      }
    }

    & img {
      width: 100%;
    }

    & table {
      & td {
        padding: 10px 20px;
      }
    }

    .ps-rl {
      .num-bgtl {
        width: 100px;
        height: 100px;
        top: 0%;
        left: -15%;
        z-index: -10;
      }
  
      .num-bgcl {
        width: 100px;
        height: 100px;
        top: 30%;
        left: -15%;
        z-index: -10;
      }
  
      .num-bgbl {
        width: 100px;
        height: 100px;
        bottom: 30%;
        left: -15%;
        z-index: -10;
      }
  
      .num-bgtr {
        width: 100px;
        height: 100px;
        top: 15%;
        right: -15%;
        z-index: -10;
      }
  
      .num-bgcr {
        width: 100px;
        height: 100px;
        bottom: 50%;
        right: -15%;
        z-index: -10;
      }
  
      .num-bgbr {
        width: 100px;
        height: 100px;
        bottom: 10%;
        right: -15%;
        z-index: -10;
      }
    }
  }

  /* --- 5-12. ENTRYページ
  ----------------------------------------- */
  .entry {
    /*-- 募集背景 --*/
    .background {
      & p {
        width: 90%;
        margin: 0 auto;
        margin-bottom: 30px;
        line-height: 1.8;
      }
    
      & img {
        width: 90%;
      }

      /* 背景の設定 */
      .ps-rl {
        .en-bg-bgtl {
          width: 200px;
          height: 200px;
          top: 8%;
          left: -40%;
          z-index: -10;
        }
    
        .en-bg-bgbl {
          width: 150px;
          height: 150px;
          bottom: -20%;
          left: -15%;
        }
    
        .en-bg-bgbr {
          width: 300px;
          height: 300px;
          bottom: 10%;
          right: -60%;
          z-index: -10;
        }
      }
    }

    /*-- 募集要項 --*/
    .job-description {
      /* 背景の設定 */
      .ps-rl {
        .job-bgtl {
          width: 150px;
          height: 150px;
          top: 10%;
          left: -20%;
        }
    
        .job-bgbr {
          width: 300px;
          height: 300px;
          bottom: 10%;
          right: -50%;
        }
      }
    }
    
    /* 表の部分 */
    .entry-table {
      padding-top: 30px;
      width: 90%;
      margin: 0 auto;
    
      & table {
        text-align: left;
        border-collapse: collapse;
        
        & tr {
          border-top: 2px solid var(--blue);

          &:last-child {
            border-bottom: 2px solid var(--blue);
          }
        }

        & th, td {
          display: block;
        }
    
        & th {
          padding: 10px 3px 5px;
          font-size: 1.2em;
        }
    
        & td {
          padding: 3px 3px 10px;
        }
      }
    }
    
    /*-- 応募・選考について --*/
    .application {
      width: 100%;
    
      /* 内定までの流れ部分 */
      .flow {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    
        .next {
          margin: 10px 0;
          font-size: 1.2em;
        }
        
        .flow-circle {
          background: linear-gradient(180deg, rgba(120, 222, 244, 0.5), rgba(17, 157, 235, 0.5));
          width: 130px;
          height: 130px;
          border-radius: 50%;
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 1.2em;
          padding: 10px;
        }
      }
    
      /* ※が4つある部分 */
      .caution {
        width: 90%;
        margin: 0 auto;
        padding-top: 30px;
    
        & p {
          text-align: left;
          line-height: 1.5;
        }
      }

      /* 背景の設定 */
      .ps-rl {
        .app-bgbl {
          width: 200px;
          height: 200px;
          bottom: 15%;
          left: -40%;
          z-index: -10;
        }
    
        .app-bgbr {
          width: 300px;
          height: 300px;
          bottom: -10%;
          right: -50%;
          z-index: -10;
        }
      }
    }
    
    /*-- 応募フォーム --*/
    .entry-form {
    
      /* 段組 */
      & table {
        width: 90%;
        margin: 0 auto;
        border-collapse: collapse;
        text-align: left;
    
        & th, td {
          display: block;
        }
    
        .first-file {
          padding-bottom: 5px;
        }
    
        .second-file {
          padding-bottom: 0;
        }

        .table-p {
          font-size: 15px;
        }
      }
    
      /* 入力フォームの調整 */
      .wpcf7 {
        /* 入力欄 */
        & input[type="text"], input[type="email"], input[type="date"] {
          font-size: 1.1em;
          width: 95%;
          height: 40px;
          padding: 0 5px;
        }
    
        /* 添付ファイル部分 */
        & input[type="file"] {
          font-size: 1em;
          letter-spacing: 1px;
        }
    
        /* 送信ボタン */
        .pp-btn {
          display: inline-block;
          position: relative;
    
          & p {
            display: inline-block;
          }
    
          & input[type="submit"] {
            margin: 0 auto;
            align-items: center;
            border-radius: 30px;
            border: solid 2px var(--blue);
            padding: 16px 65px 16px 40px;
            margin: 10px 0;
            font-size: 18px;
            letter-spacing: 2px;
            font-weight: bold;
            color: var(--blue);
            text-decoration: none;
            background-color: var(--white);
    
            &:hover {
              background-color: var(--blue);
              color: var(--white);
            }
    
            /* >の設定 */
            .arrow2 {
              margin: 2px 0 0 30px;
            }
          }
    
          /* 送信ボタンの>を表示 */
          &::after {
            content: "\f054";
            font-family: "Font Awesome 5 Free";
            font-size: 14px;
            font-weight: 900;
            color: var(--blue);
            position: absolute;
            top: 31.5%;
            right: 13%;
          }
    
          &:hover::after {
            color: var(--white);
          }
        }
    
        /* 画面には表示されない送信ボタンの下にあるやつ */
        .wpcf7-spinner {
          display: block;
        }
      }
    
      /* 個人情報保護方針 */
      .privacy-policy {
        width: 90%;
        margin: 10px auto 30px;
    
        /* 文章部分 */
        .pp-box {
          width: 90%;
          height: 260px;
          margin-bottom: 10px;
          border: 1px solid rgb(0, 0, 0);
          padding: 20px 10px 20px 20px;
          background-color: var(--white);
          overflow-y: scroll;
          text-align: left;
    
          .p-top {
            padding: 10px 0;
          }
    
          & span {
            font-weight: bold;
            font-size: 1.5em;
          }
    
          & ol {
            padding-left: 20px;
            & li {
              padding-bottom: 10px;
            }
          }
    
          & ul {
            padding-left: 20px;
            & li {
              padding-bottom: 5px;
            }
          }
        }
    
        /* 同意チェックボックス */
        .consent {
          width: 900px;
          text-align: left;
        }
        .wpcf7-list-item {
          margin-left: 0;
        }
    
      }

      /* 背景の設定 */
      .ps-rl {
        .dot-bg {
          z-index: -10;
        }
        
        /* 左上 */
        .form-bgtl {
          width: 180px;
          height: 180px;
          top: 15%;
          left: -20%;
        }

        /* 左下 */
        .form-bgbl {
          width: 300px;
          height: 300px;
          bottom: 0%;
          left: -40%;
        }

        /* 右下 */
        .form-bgbr {
          width: 200px;
          height: 200px;
          top: 40%;
          right: -30%;
        }
      }
    }
  }
}