@charset "UTF-8";
/* メインカラー設定 --------------------------------------------------*/
/* 背景色 */
.variable_bgcolor,
.variable_bgcolor-50::after,
.mainVisual::after {
  background-color: #2C569D;
}
/* 背景色の濃度設定 */
.mainVisual::after {
  opacity: 0.5;
}
.variable_bgcolor-50 {
  position: relative;
  z-index: 0;
}
.variable_bgcolor-50::before,
.variable_bgcolor-50::after {
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}
.variable_bgcolor-50::before {
  background-color: #FFF;
  opacity: 1;
}
.variable_bgcolor-50::after {
  opacity: 0.5;
}
.variable_bgcolor-40 {
  background-color: #d0d5db;
}
.variable_bgcolor-40::after {
  opacity: 0.5;
}
/* テキスト */
.variable_fontcolor-10 {
  color: #2c569d;
}
/* ボタン */
.variable_btncolor {
  background-color: #79CC66;
}
/* アイコン */
.variable_iconcolor {
  fill: #2C569D;
}
/* ページ設定 --------------------------------------------------*/
html,
body {
  background-color: #FFF;
  color: #000;
  font-family: "ヒラギノ角ゴシック", Hiragino Sans, "ヒラギノ角ゴ ProN", "ヒラギノ角ゴ Pro", Hiragino Kaku Gothic Pro, "游ゴシック体", "游ゴシック", YuGothic, "游ゴシック Medium", Yu Gothic Medium, Yu Gothic UI, Osaka, "ＭＳ ゴシック", MS Gothic, "ＭＳ Ｐゴシック", MS PGothic, "メイリオ", Meiryo, Meiryo UI, sans-serif;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  text-align: center;
  overflow-x: hidden;
}
html * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.wrap {
  margin: 0 auto;
  max-width: 940px;
  overflow-wrap: break-word;
  position: relative;
  text-align: justify;
  width: 100%;
  word-break: break-all;
}
.workwrap {
  max-width: 100%;
}
.btn {
  border-radius: 100px;
  color: #FFF;
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  padding: 15px 30px;
  text-align: center;
  text-decoration: none;
  transition: 0.2s;
}
.btnb {
  border-radius: 25px;
  color: #fff;
  display: inline-block;
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  padding: 15px 40px;
  text-align: center;
  text-decoration: none;
  transition: 0.2s;
}
@media (max-width: 940px) {
  .wrap {
    width: calc(100% - 40px);
  }
}
@media (max-width: 600px) {
  .wrap {
    text-align: left;
  }
}
@media (max-width: 480px) {
  .wrap {
    text-align: left;
  }
}
/* メインビジュアル --------------------------------------------------*/
.mainVisual {
  height: 940px;
  margin-bottom: 75px;
  padding: 40px 90px;
  position: relative;
  width: 100%;
  z-index: 0;
}
.mainVisual::before,
.mainVisual::after {
  content: "";
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: -1;
}
.mainVisual::before {
  background-image: url(https://freejob.work/myaccount/cps/build/assets/corporate_mv_b-bd53b914.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.mainVisual .btn {
  font-size: 24px;
  min-width: 200px;
  margin-top: 50px;
  padding: 20px 50px;
}
.mainVisual .ttlBox {
  color: #FFF;
  height: auto;
  margin-top: 210px;
  width: 100%;
  text-align: center;
}
.mainVisual .ttlBox span {
  display: block;
  font-family: Arial, sans-serif;
  font-size: 52%;
  font-weight: normal;
  margin-bottom: 30px;
}
.mainVisual .ttlBox h1 {
  font-size: 73px;
  font-weight: bold;
  margin-bottom: 30px;
  text-shadow: 0 0 30px rgba(0, 0, 0, 0.35);
  -moz-text-shadow: 0 0 30px rgba(0, 0, 0, 0.35);
  -webkit-text-shadow: 0 0 30px rgba(0, 0, 0, 0.35);
  -ms-text-shadow: 0 0 30px rgba(0, 0, 0, 0.35);
}
.ttlBox h1 {
  color: white;
}
.mainVisual .ttlBox p {
  font-size: 24px;
  font-weight: bold;
}
.mainVisual .btmBox {
  background-color: rgba(255, 255, 255, 0.8);
  bottom: 0;
  max-width: 940px;
  width: 100%;
  margin: auto;
  position: absolute;
  bottom: 0;
  left: 50%;
  display: flex;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.mainVisual .btmBox .caption {
  font-size: 24px;
  font-weight: bold;
  max-width: 285px;
  background: #2c569d;
  width: 30%;
  color: #fff;
  flex-shrink: 0;
  padding: 5px 0;
}
.mainVisual .btmBox .caption span {
  font-family: Arial, sans-serif;
  font-size: 200%;
  font-weight: bold;
}
.mainVisual .btmBox .links {
  font-family: "メイリオ", Meiryo, Meiryo UI, sans-serif;
  font-weight: bold;
  align-items: center;
  justify-content: center;
  max-width: 655px;
  width: 70%;
  display: flex;
  color: #000;
  flex-shrink: 0;
}
.links a:visited {
  color: #000 !important;
}
.mainVisual .btmBox .links span {
  color: #2c569d;
  text-decoration: underline;
  text-decoration-color: #2c569d;
  padding-right: 10px;
}
@media (max-width: 1740px) {
  .mainVisual {
    height: 75vw;
    padding: 5%;
  }
  .mainVisual .ttlBox h1 {
    font-size: 3.8vw;
  }
}
@media (max-width: 1200px) {
  .mainVisual .ttlBox {
    margin-top: 12vw;
  }
}
@media (max-width: 1024px) {
  .mainVisual .ttlBox {
    margin-top: 10vw;
  }
  .mainVisual .ttlBox h1 {
    font-size: 3.8vw;
  }
  .mainVisual .btn {
    font-size: 2.2vw;
    right: 5%;
    top: unset;
  }
  .mainVisual .ttlBox p {
    font-size: 2.2vw;
  }
  .mainVisual .btmBox .caption {
    font-size: 2.2vw;
  }
}
@media (max-width: 600px) {
  .mainVisual .btmBox .links {
    font-family: "メイリオ", Meiryo, Meiryo UI, sans-serif;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 680px;
    width: 100%;
    width: 100%;
    color: #000;
    height: 10vw;
    position: relative;
  }
  .mainVisual .btmBox {
    background-color: rgba(255, 255, 255, 0.8);
    bottom: 0;
    display: block;
    max-width: 940px;
    left: 50%;
    width: 100%;
    margin: auto;
    position: relative;
  }
  .mainVisual .btmBox .caption {
    font-size: 24px;
    font-weight: bold;
    width: 100%;
    max-width: 100%;
    background: #2c569d;
    color: #fff;
    padding: 5px 0;
    margin-bottom: 10px;
    text-decoration: none;
  }
  .mainVisual a {
    text-decoration: none !important;
  }
  .mainVisual {
    min-height: 137vw;
  }
  .mainVisual .btmBox .links span {
    font-size: 0.7rem;
  }
  .mainVisual::before,
  .mainVisual::after {
    bottom: 0;
    height: 100%;
    left: 0;
    top: unset;
    width: 100%;
  }
  .mainVisual .btn {
    font-size: 3.7vw;
    padding: 2.5vw 5vw;
    min-width: unset;
  }
  .mainVisual .ttlBox {
    margin-top: 12vw;
  }
  .mainVisual .ttlBox h1 {
    font-size: 8vw;
    margin-bottom: 3vw;
  }
  .mainVisual .ttlBox h1 br {
    display: none;
  }
  .mainVisual .ttlBox span {
    margin-bottom: 3vw;
  }
  .mainVisual .ttlBox p {
    font-size: 3.7vw;
  }
  .mainVisual .btmBox {
    padding: 15px;
    width: 100%;
    margin: 10px 0 0 0;
  }
  .mainVisual .btmBox .caption {
    font-size: 4vw;
  }
  .mainVisual .btmBox .links a {
    font-size: 2.5vw;
  }
}
@media (max-width: 480px) {
  .mainVisual .btn {
    font-size: 18px;
  }
  .mainVisual .btmBox .links a {
    margin: 10px 5px;
  }
}
/* セクション共通 --------------------------------------------------*/
main section {
  padding: 75px 0;
}
main section h2 {
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 0.2em;
  margin-bottom: 70px;
  text-align: center;
}
main section h2 span {
  display: block;
  font-family: Arial, sans-serif;
  font-size: 18px;
  letter-spacing: 0;
  margin-bottom: 5px;
  color: #2c569d;
  font-weight: 100;
}
main section .lead {
  margin-bottom: 70px;
}
.worktxt {
  max-width: 940px;
}
@media (max-width: 600px) {
  main section {
    padding: 40px 0;
  }
  main section h2 {
    font-size: 20px;
    margin-bottom: 30px;
  }
  main section h2 span {
    font-size: 38px;
    margin-bottom: 0;
  }
  main section .lead {
    margin-bottom: 30px;
  }
}
/* セクション(1) 事業内容 --------------------------------------------------*/
.section_business .infoBoxies {
  border: 2px solid #F8F8F8;
  border-bottom: 0;
}
.section_business .infoBoxies dl {
  border-bottom: 2px solid #F8F8F8;
  display: flex;
  min-height: 220px;
  width: 100%;
}
.section_business .infoBoxies dl dt {
  display: flex;
  justify-content: space-between;
  width: 300px;
}
.section_business .infoBoxies dl dt img {
  display: block;
  height: 100%;
  min-height: 220px;
  min-width: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
}
.section_business .infoBoxies dl dd {
  padding: 30px;
  width: calc(100% - 300px);
}
.section_business .infoBoxies dl dd h3 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .section_business .infoBoxies dl {
    padding: 20px;
  }
  .section_business .infoBoxies dl dt {
    width: 30vw;
  }
  .section_business .infoBoxies dl dd {
    padding: 0 0 0 20px;
    width: calc(100% - 30vw);
  }
  .section_business .infoBoxies dl dt img {
    height: 22vw;
    min-height: 22vw;
    min-width: 30vw;
  }
}
@media (max-width: 480px) {
  .section_business .infoBoxies dl {
    display: block;
  }
  .section_business .infoBoxies dl dt {
    margin-bottom: 20px;
    width: 100%;
  }
  .section_business .infoBoxies dl dd {
    padding: 0;
    width: 100%;
  }
  .section_business .infoBoxies dl dt img {
    height: 50vw;
  }
}
/*==================================================
スライダーのためのcss
===================================*/
.slider {
  /*横幅94%で左右に余白を持たせて中央寄せ*/
  width: 94%;
  margin: 0 auto;
}
.slider img {
  width: 940px;
  /*スライダー内の画像を60vwにしてレスポンシブ化*/
  height: auto;
  max-width: 940px;
}
@media (max-width: 768px) {
  .slider img {
    width: 99vw;
    /*スライダー内の画像を60vwにしてレスポンシブ化*/
    height: auto;
  }
}
.slider .slick-slide {
  transform: scale(1);
  /*左右の画像のサイズを80%に*/
  transition: all 0.5s;
  /*拡大や透過のアニメーションを0.5秒で行う*/
  opacity: 0.5;
  /*透過50%*/
}
.slider .slick-slide.slick-center {
  transform: scale(1);
  /*中央の画像のサイズだけ等倍に*/
  opacity: 1;
  /*透過なし*/
}
/*矢印の設定*/
/*戻る、次へ矢印の位置*/
.slick-next {
  position: absolute;
  /*絶対配置にする*/
  top: 42%;
  cursor: pointer;
  /*マウスカーソルを指マークに*/
  outline: none;
  /*クリックをしたら出てくる枠線を消す*/
}
.slick-prev {
  position: absolute;
  /*絶対配置にする*/
  top: 42%;
  cursor: pointer;
  /*マウスカーソルを指マークに*/
  outline: none;
  /*クリックをしたら出てくる枠線を消す*/
}
.slick-prev {
  /*戻る矢印の位置と形状*/
  left: -1.5%;
  background: url("https://freejob.work/myaccount/cps/build/assets/prev-49f5caf7.png");
  height: 40px;
  width: 40px;
  background-size: cover;
  z-index: 9999;
}
.slick-next {
  /*次へ矢印の位置と形状*/
  right: -1.5%;
  background: url("https://freejob.work/myaccount/cps/build/assets/next-5124b8d6.png");
  height: 40px;
  width: 40px;
  background-size: cover;
  z-index: 9999;
}
@media (min-width: 940px) {
  .slick-prev {
    /*戻る矢印の位置と形状*/
    left: 50%;
    margin-left: -500px;
    z-index: 9999;
    background: url("https://freejob.work/myaccount/cps/build/assets/prev-49f5caf7.png");
    height: 50px;
    width: 50px;
    background-size: cover;
  }
  .slick-next {
    /*次へ矢印の位置と形状*/
    right: 50%;
    margin-right: -500px;
    z-index: 9999;
    background: url("https://freejob.work/myaccount/cps/build/assets/next-5124b8d6.png");
    height: 50px;
    width: 50px;
    background-size: cover;
  }
}
/*ドットナビゲーションの設定*/
.slick-dots {
  text-align: center;
  margin: 20px 0 0 0;
  display: none;
}
.slick-dots li {
  display: inline-block;
  margin: 0 5px;
  display: none;
}
.slick-dots button {
  color: transparent;
  outline: none;
  width: 8px;
  /*ドットボタンのサイズ*/
  height: 8px;
  /*ドットボタンのサイズ*/
  display: block;
  border-radius: 50%;
  background: #ccc;
  /*ドットボタンの色*/
  display: none;
}
.slick-dots .slick-active button {
  background: #333;
  /*ドットボタンの現在地表示の色*/
  display: none;
}
/* セクション(2) スタッフ紹介 --------------------------------------------------*/
.section_members .infoBoxies {
  display: flex;
  flex-wrap: wrap;
}
/* ポップアップの初期スタイル */
.popup {
  display: none;
  position: absolute;
  min-width: 600px;
  height: auto;
  top: 125px;
  left: -50%;
  background: #2C569D;
  padding: 20px;
  text-align: center;
  color: #FFFFFF;
  font-size: 20px;
  font-weight: bold;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  overflow: visible;
  z-index: 10000;
  text-align: left;
}
.popup h3 {
  color: #fff;
}
.popup:after,
.arrow_box:before {
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  bottom: 100%;
  left: 50%;
}
.popup:after {
  border-color: rgba(44, 86, 157, 0);
  border-top-width: 20px;
  border-bottom-width: 20px;
  border-left-width: 10px;
  border-right-width: 10px;
  margin-left: -10px;
  border-bottom-color: #2C569D;
  background-color: transparent !important;
}
.popup:before {
  border-color: rgba(255, 255, 255, 0);
  border-top-width: 24px;
  border-bottom-width: 24px;
  border-left-width: 12px;
  border-right-width: 12px;
  margin-left: -12px;
  margin-bottom: 2px;
  border-bottom-color: #FFFFFF;
}
@media (max-width: 1000px) {
  .popup {
    display: none;
    position: fixed;
    min-width: 290px;
    max-width: 600px;
    width: 95%;
    height: auto;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    background: #2C569D;
    padding: 20px;
    text-align: center;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: bold;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    overflow: visible;
    z-index: 10000;
    text-align: left;
  }
  .popup:after {
    position: fixed;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    background: #000;
  }
  .popup:after,
  .arrow_box:before {
    display: none;
  }
}
.button:hover img {
  opacity: 0.5;
}
/* ボタンにマウスオーバー時のスタイル */
@media screen and (min-width: 941px) {
  .button:hover + .popup {
    display: block;
  }
}
/* 解像度が768ピクセル以下の場合、クリックで作用するスタイル */
@media screen and (max-width: 940px) {
  .button:focus + .popup {
    display: block;
  }
}
.prof_img {
  float: left;
  margin-right: 15px;
}
.prof_img img {
  width: 220px;
  height: 175px;
  border-radius: 15px;
  object-fit: cover;
}
.prof_txt {
  clear: left;
  font-size: 16px;
  color: #fff;
}
.staff01 {
  background-image: url("https://freejob.work/myaccount/cps/build/assets/staff01-c5cded0b.jpg");
  background-size: cover;
  width: 100%;
  height: auto;
  border-radius: 30px;
  align-items: flex-end;
  display: flex;
  background-position: center center;
}
.staff01:hover {
  filter: brightness(50%);
}
.members_prof {
  padding: 5px 0 10px 25px;
  width: 100%;
  height: 66px;
  background: rgba(153, 159, 166, 0.9);
  border-radius: 0 0 30px 30px;
}
.members_bgcolor {
  background: rgba(44, 86, 157, 0.9);
}
.members_prof p {
  font-size: 13px;
  color: #fff;
  font-weight: bold;
}
.members_box {
  position: relative;
  width: 100%;
  max-width: 302px;
  height: 247px;
  margin: 5px;
  display: flex;
}
.section_members .infoBoxies dl {
  margin-bottom: 30px;
  margin-right: 20px;
  width: calc((100% - 40px) / 3);
}
@media screen and (min-width: 768px) and (max-width: 940px) {
  .members_box {
    position: relative;
    width: calc((100% - 40px) / 3);
    height: 247px;
    margin: 5px;
    display: flex;
  }
  .members_prof {
    margin-top: 10vw;
  }
}
@media (max-width: 784px) {
  .members_box {
    position: relative;
    width: calc((100% - 22px) / 2);
    height: 40vw;
    max-width: calc((100% - 22px) / 2);
    margin: 5px;
    display: flex;
  }
  .members_prof {
    margin-top: 10vw;
  }
}
@media (max-width: 500px) {
  .members_box {
    position: relative;
    width: 95%;
    height: 75vw;
    max-width: 95%;
    margin: 5px;
  }
  .members_prof {
    margin-top: 10vw;
    max-width: 100%;
  }
  .prof_img img {
    width: 120px;
    height: auto;
    border-radius: 15px;
  }
  .popup h3 {
    font-size: 1rem;
  }
  .popup p {
    font-size: 0.8rem;
  }
  .prof_txt {
    font-size: 0.8rem;
  }
}
.section_members .infoBoxies dl:nth-of-type(3n) {
  margin-right: 0;
}
.section_members .infoBoxies dl dt {
  display: flex;
  min-height: 240px;
  justify-content: space-between;
  margin-bottom: 10px;
}
.section_members .infoBoxies dl dt img {
  display: block;
  height: 100%;
  min-height: 240px;
  min-width: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
}
.section_members .infoBoxies dl dd {
  padding: 10px;
}
.section_members .infoBoxies dl dd p {
  color: #FFF;
}
.section_members .infoBoxies dl:nth-child(odd) dd {
  background-color: #D0D5DB;
}
.section_members .infoBoxies dl:nth-child(odd) dd::before,
.section_members .infoBoxies dl:nth-child(odd) dd::after {
  display: none;
}
.section_members .infoBoxies dl dd h3 {
  font-size: 18px;
}
.section_members .infoBoxies dl dd p {
  font-size: 14px;
}
@media (max-width: 940px) {
  .section_members .infoBoxies dl dt,
  .section_members .infoBoxies dl dt img {
    min-height: 24vw;
  }
}
@media (max-width: 600px) {
  .section_members .infoBoxies dl {
    width: calc((100% - 20px) / 2);
  }
  .section_members .infoBoxies dl:nth-of-type(3n) {
    margin-right: 20px;
  }
  .section_members .infoBoxies dl:nth-of-type(2n) {
    margin-right: 0;
  }
  .section_members .infoBoxies dl dt,
  .section_members .infoBoxies dl dt img {
    min-height: 35vw;
  }
}
@media (max-width: 350px) {
  .section_members .infoBoxies dl {
    margin-right: 0;
    width: 100%;
  }
  .section_members .infoBoxies dl:nth-of-type(2n),
  .section_members .infoBoxies dl:nth-of-type(3n) {
    margin-right: 0;
  }
  .section_members .infoBoxies dl dt,
  .section_members .infoBoxies dl dt img {
    min-height: 50vw;
  }
}
/* セクション(3) 働く環境 --------------------------------------------------*/
.section_environment .infoBoxies {
  display: flex;
  flex-wrap: wrap;
}
.section_environment .infoBoxies dl {
  display: flex;
  width: 100%;
}
.section_environment .infoBoxies dl dt {
  display: flex;
  justify-content: space-between;
  width: 50%;
}
.section_environment .infoBoxies dt img {
  display: block;
  height: 100%;
  min-height: 100%;
  min-width: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
  max-height: 660px;
}
.section_environment .infoBoxies dl dd {
  display: flex;
  width: 50%;
}
@media (min-width: 941px) {
  .tbox {
    position: relative;
  }
  .tbox2 {
    position: relative;
    padding-left: 50px;
  }
  .worktexts {
    align-items: flex-start;
    padding: 20px 20px 40px 20px;
    max-width: 575px;
    width: 100vw;
    background: #2c569d;
    position: absolute;
    color: #fff;
    top: 30px;
    left: -100px;
    border-radius: 40px;
  }
  .worktexts2 {
    align-items: flex-start;
    padding: 20px 20px 40px 20px;
    max-width: 575px;
    width: 100vw;
    background: #fff;
    position: absolute;
    color: #fff;
    top: 17vw;
    right: -150px;
    border-radius: 40px;
  }
  .section_environment .infoBoxies dl dd .worktexts h3 {
    font-size: 20px;
    border-bottom: 2px solid #fff;
    margin-bottom: 30px;
    padding-bottom: 20px;
    color: white;
  }
  .section_environment .infoBoxies dl dd .worktexts2 h3 {
    font-size: 20px;
    border-bottom: 2px solid #fff;
    margin-bottom: 30px;
    padding-bottom: 20px;
    text-align: right;
    color: white;
  }
}
@media screen and (min-width: 768px) and (max-width: 940px) {
  .tbox {
    position: relative;
  }
  .tbox2 {
    position: relative;
    padding-left: 50px;
  }
}
@media (max-width: 768px) {
  .worktexts {
    padding: 20px 20px 40px 20px;
    background: #2c569d;
    color: #fff;
    border-radius: 40px;
  }
  .worktexts2 {
    padding: 20px 20px 40px 20px;
    background: #fff;
    color: #fff;
    border-radius: 40px;
  }
  .section_environment .infoBoxies dl dd .worktexts h3 {
    font-size: 20px;
    border-bottom: 2px solid #fff;
    margin-bottom: 30px;
    padding-bottom: 20px;
  }
  .section_environment .infoBoxies dl dd .worktexts2 h3 {
    font-size: 20px;
    border-bottom: 2px solid #fff;
    margin-bottom: 30px;
    padding-bottom: 20px;
  }
}
.section_environment .infoBoxies dl dd .texts h3 {
  font-size: 20px;
  border-bottom: 2px solid #000;
  margin-bottom: 30px;
  padding-bottom: 20px;
}
@media (max-width: 940px) {
  .section_environment .wrap:last-of-type {
    width: 100%;
  }
  .section_environment .infoBoxies dl:first-of-type dd,
  .section_environment .infoBoxies dl:last-of-type dd {
    align-items: center;
    padding: 20px;
  }
}
@media (max-width: 767px) {
  .section_environment .infoBoxies dl {
    display: block;
    padding: 20px;
  }
  .section_environment .infoBoxies dl dt {
    margin-bottom: 20px;
    width: 100%;
  }
  .section_environment .infoBoxies dt img {
    height: 50vw;
  }
  .section_environment .infoBoxies dl dd {
    width: 100%;
  }
  .section_environment .infoBoxies dl dd .texts h3 br {
    display: none;
  }
}
@media (max-width: 480px) {
  .section_environment .infoBoxies dl dd .texts h3 {
    font-size: 18px;
    margin-bottom: 20px;
    padding-bottom: 10px;
  }
}
/* セクション(4) 代表メッセージ --------------------------------------------------*/
.section_message .infoBoxies {
  display: flex;
}
.section_message .infoBoxies .image {
  display: flex;
  height: 300px;
  justify-content: space-between;
  margin-right: 40px;
  width: 300px;
}
.section_message .infoBoxies .image img {
  display: block;
  height: 100%;
  min-height: 100%;
  min-width: 300px;
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
}
.section_message .infoBoxies .texts {
  width: 100%;
}
.section_message .infoBoxies .texts h3 {
  border-bottom: 2px solid #000;
  font-size: 24px;
  margin-bottom: 30px;
  padding-bottom: 20px;
}
.section_message .infoBoxies .texts h3 span {
  font-size: 66.6%;
  margin-right: 20px;
}
@media (max-width: 768px) {
  .section_message .infoBoxies .image {
    height: 30vw;
    margin-right: 20px;
    width: 50%;
  }
  .section_message .infoBoxies .image img {
    min-width: 100%;
  }
}
@media (max-width: 600px) {
  .section_message .infoBoxies {
    display: block;
  }
  .section_message .infoBoxies .image {
    height: 50vw;
    margin: 0 auto 20px auto;
    width: 60%;
  }
  .section_message .infoBoxies .texts h3 {
    text-align: center;
  }
}
@media (max-width: 480px) {
  .section_message .infoBoxies .texts h3 {
    font-size: 20px;
    margin-bottom: 20px;
    padding-bottom: 10px;
  }
}
/* セクション(5) 企業理念 --------------------------------------------------*/
.missionwrap {
  width: 100%;
  max-width: 100%;
}
.section_mission .infoBoxies {
  background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), url("https://freejob.work/myaccount/cps/build/assets/corporate_mission_bg-ed987110.jpg");
  object-fit: cover;
  background-size: cover;
}
.section_mission .infoBoxies h3 {
  color: #FFF;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 30px;
  padding: 75px 50px 50px 50px;
  text-align: center;
}
.section_mission .infoBoxies p {
  color: #FFF;
  width: 95%;
  max-width: 940px;
  margin: auto;
  padding-bottom: 75px;
}
@media (max-width: 600px) {
  .section_mission .infoBoxies h3 {
    padding: 75px 20px 20px 20px;
  }
}
@media (max-width: 480px) {
  .section_mission .infoBoxies h3 {
    font-size: 20px;
    text-align: left;
  }
  .section_mission .infoBoxies h3 br {
    display: none;
  }
}
/* セクション(6) サービス --------------------------------------------------*/
.section_service {
  position: relative;
}
.white-area {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  height: 105%;
  background-color: #f2f2f2;
}
.section_service .infoBoxies h3 {
  color: #2c569d;
  margin-bottom: 20px;
  padding: 15px 0;
  font-size: 28px;
}
.section_service .infoBoxies {
  margin-bottom: 60px;
}
.section_service .infoBoxies dl {
  display: flex;
  width: 100%;
  padding-bottom: 10px;
}
.section_service .infoBoxies dl dt {
  display: flex;
  justify-content: space-between;
  max-width: 310px;
  align-items: center;
}
.section_service .infoBoxies dl dt img {
  display: block;
  height: fit-content;
  min-width: 100%;
  object-fit: contain;
  object-position: center;
  width: 100%;
  border-radius: 30px;
  z-index: 1;
}
/* Safari対応 */
_::-webkit-full-page-media, _:future, :root .section_service .infoBoxies dl dt img {
  height: auto;
}
.section_service .infoBoxies dl:nth-child(odd) dd {
  padding: 0 0 0 20px;
  width: 100%;
  z-index: 1;
}
.section_service .infoBoxies dl:nth-child(even) dd {
  padding: 0 20px 0 0;
  width: 100%;
  z-index: 1;
}
.section_service .infoBoxies dl:nth-child(even) dd p {
  max-width: fit-content;
  z-index: 1;
}
.section_service .infoBoxies dl:nth-child(odd) dd p {
  max-width: fit-content;
  z-index: 1;
}
.section_service .infoBoxies dl dd h4 {
  font-size: 20px;
  margin-bottom: 30px;
  padding-bottom: 20px;
}
.section_service .infoBoxies ul {
  padding: 0 0 30px 20px;
  font-size: 18px;
  font-weight: bold;
}
@media (max-width: 768px) {
  .white-area {
    display: none;
  }
  .section_service .infoBoxies dl:nth-child(even) dd {
    position: relative;
    z-index: 1;
    min-width: 100%;
    background-color: #f2f2f2;
    padding: 10px;
  }
  .background-blue {
    display: none;
  }
  .section_service .infoBoxies dl {
    display: block;
  }
  .section_service .infoBoxies dl dt {
    margin: 0 auto 20px auto;
    width: 80%;
  }
  .section_service .infoBoxies dl dt img {
    height: 100%;
  }
  .section_service .infoBoxies dl dd {
    padding: 0;
    width: 100%;
  }
  .section_service .infoBoxies h3 {
    color: #2c569d;
    margin-bottom: 20px;
    padding: 0;
    font-size: 28px;
  }
}
@media (max-width: 480px) {
  .background-blue {
    position: absolute;
    bottom: 115px;
    width: 100%;
    background: #f2f2f2;
    height: 320px;
  }
  .section_service .infoBoxies dl dd h4 {
    font-size: 18px;
    margin-bottom: 20px;
    padding-bottom: 10px;
  }
}
.section_service .infoBoxies dl:nth-child(odd) {
  flex-direction: row !important;
  min-height: 200px;
  padding-top: 40px;
}
.section_service .infoBoxies dl:nth-child(even) {
  margin-top: 40px;
  margin-bottom: 0;
  min-height: 200px;
  flex-direction: row-reverse;
  position: relative;
  width: 100%;
  justify-content: flex-end;
  padding-bottom: 15px;
}
/* セクション(7) ムービー --------------------------------------------------*/
.section_movie {
  max-width: 940px;
  margin: auto;
}
.movie_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
  margin: auto;
}
.section_movie .infoBox {
  padding: 60px 0;
  max-width: 49%;
}
@media (max-width: 600px) {
  .section_movie .infoBox {
    padding: 60px 0;
    max-width: 100%;
  }
}
.section_movie .infoBox:not(.immutable_bgcolor) {
  background-color: unset;
  padding-bottom: 0;
}
.section_movie .infoBox .wrap {
  max-width: 700px;
}
.section_movie .infoBox .video {
  height: 0;
  margin: 0 auto 50px auto;
  overflow: hidden;
  padding-top: 56.25%;
  position: relative;
  width: 460px;
}
.section_movie .infoBox .video iframe {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.section_movie .infoBox h3 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .section_movie .infoBox .video {
    width: 400px;
  }
}
/* セクション(8) 会社情報 --------------------------------------------------*/
.section_company .infoBoxies dl {
  border-bottom: 2px solid #E8E8E8;
  display: flex;
  margin-bottom: 20px;
}
.section_company .infoBoxies dl dt {
  font-weight: bold;
  padding: 10px 40px 10px 0;
  width: 170px;
}
.section_company .infoBoxies dl dd {
  padding: 10px 0;
  width: calc(100% - 170px);
}
.section_company .infoBoxies dl dd iframe {
  display: block;
  height: 270px;
  margin: 20px 0;
  width: 100%;
}
@media (max-width: 480px) {
  .section_company .infoBoxies dl {
    display: block;
  }
  .section_company .infoBoxies dl dt {
    width: 100%;
  }
  .section_company .infoBoxies dl dd {
    width: 100%;
  }
}
/* セクション(9) 採用情報 --------------------------------------------------*/
.section_recruit .categories {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 0;
}
.section_recruit .categories a {
  margin-bottom: 20px;
  margin-right: 10px;
}
.section_recruit .categoriesb a {
  margin-bottom: 20px;
  margin-right: 10px;
}
.section_recruit .categories a::before,
.section_recruit .categories a::after {
  border-radius: 10px;
}
.section_recruit .categories div {
  font-size: 12px;
  display: flex;
  align-items: center;
  margin-right: 15px;
  margin-bottom: 10px;
}
.section_recruit .infoBoxies {
  margin-bottom: 70px;
}
.section_recruit .infoBoxies:last-of-type {
  margin-bottom: 0;
}
.section_recruit .infoBoxies h3 {
  border: 1px;
  border-style: solid;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 30px;
  padding: 10px 20px;
  border-radius: 10px;
}
.section_recruit .infoBoxies .infoBox {
  padding: 20px;
  margin-bottom: 30px;
}
.section_recruit .infoBoxies .infoBox:last-of-type {
  margin-bottom: 0;
}
.section_recruit .infoBoxies .infoBox h4 {
  border-bottom: 2px solid #000;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 30px;
  padding-bottom: 15px;
  width: 100%;
}
.section_recruit .infoBoxies .infoBox {
  display: flex;
  flex-wrap: wrap;
  background: #f2f2f2;
}
.section_recruit .infoBoxies .infoBox .image {
  display: flex;
  justify-content: space-between;
  width: 50%;
}
.section_recruit .infoBoxies .infoBox .image img {
  display: block;
  height: 100%;
  min-height: 300px;
  min-width: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  width: 100%;
}
.section_recruit .infoBoxies .infoBox .texts {
  font-size: 14px;
  padding: 0 0 0 30px;
  text-align: center;
  width: 50%;
}
.section_recruit .infoBoxies .infoBox .texts dl {
  display: flex;
  margin-bottom: 20px;
  text-align: left;
  width: 100%;
}
.section_recruit .infoBoxies .infoBox .texts dl dt {
  font-weight: bold;
  width: 100px;
}
.section_recruit .infoBoxies .infoBox .texts dl dt .variable_iconcolor {
  bottom: -4px;
  display: inline-block;
  height: 18px;
  margin-right: 3px;
  position: relative;
  width: 18px;
}
.section_recruit .infoBoxies .infoBox .texts dl dt .variable_iconcolor svg {
  height: 100%;
  width: 100%;
}
.section_recruit .infoBoxies .infoBox .texts dl dd {
  width: calc(100% - 100px);
}
.section_recruit .infoBoxies .infoBox .texts .btn:hover {
  opacity: 0.5;
}
@media (max-width: 768px) {
  .section_recruit .infoBoxies .infoBox .image {
    width: 35%;
  }
  .section_recruit .infoBoxies .infoBox .image img {
    height: 25vw;
    min-height: 25vw;
  }
  .section_recruit .infoBoxies .infoBox .texts {
    padding: 0 0 0 20px;
    width: 65%;
  }
}
@media (max-width: 600px) {
  .section_recruit .infoBoxies .infoBox h4 {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
    width: 60%;
  }
  .section_recruit .infoBoxies .infoBox .image {
    margin-left: 20px;
    width: calc(40% - 20px);
  }
  .section_recruit .infoBoxies .infoBox .image img {
    height: 22vw;
    min-height: 22vw;
  }
  .section_recruit .infoBoxies .infoBox .texts {
    margin-top: 20px;
    padding: 0;
    width: 100%;
  }
  .section_recruit .infoBoxies .infoBox .texts dl dd br {
    display: none;
  }
  .section_recruit .infoBoxies .infoBox .texts .btn {
    max-width: 200px;
    width: 80%;
  }
}
@media (max-width: 480px) {
  .section_recruit .infoBoxies .infoBox h4 {
    font-size: 18px;
  }
}
/* フッター --------------------------------------------------*/
footer {
  align-items: flex-end;
  color: #FFF;
  display: flex;
  font-family: Arial, sans-serif;
  font-size: 12px;
  justify-content: center;
  margin-top: 75px;
  max-height: 240px;
  height: 100px;
  padding: 30px 0;
  text-align: center;
}
@media (max-width: 768px) {
  footer {
    min-height: 100px;
  }
}
@media (min-width: 769px) {
  header {
    border-bottom: 2px solid #d0d5db;
    padding: 0 20px;
    height: 70px;
  }
}
@media (max-width: 768px) {
  header {
    border-bottom: 2px solid #d0d5db;
    padding: 0 20px;
  }
}
header h1 {
  font-size: 0.8rem;
  line-height: 1.5rem;
  background-color: #7CB342;
  padding: 0px 5%;
  color: #fff;
}
footer {
  background: #148de4;
  font-size: 12px;
  color: #fff;
}
.button-raunded {
  border-radius: 100px;
}
@media (max-width: 768px) {
  .button-small {
    padding: 0 30px;
    font-weight: 600;
    background: #148de4;
  }
}
@media (min-width: 768px) {
  .button-small {
    padding: 0 60px;
    font-weight: 600;
    background: #148de4;
  }
}
/*button*/
.uk-button {
  line-height: 38px !important;
}
.uk-button-primary {
  background-color: #148de4;
  color: #fff !important;
  border: 1px solid transparent;
}
.uk-button-primary:hover {
  background-color: #0f7ae5;
  color: #fff;
}
.uk-button-secondary {
  background-color: #79cc66;
  color: #fff !important;
  border: 1px solid transparent;
}
.uk-button-secondary:hover {
  background-color: #45c850;
  color: #fff;
}
.uk-button-large {
  font-size: 24px;
  font-weight: 600;
  border-radius: 10px;
  height: 60px;
}
.uk-button-medium {
  margin: 0;
  border: none;
  overflow: visible;
  font: inherit;
  color: inherit;
  -webkit-appearance: none;
  display: inline-block;
  box-sizing: border-box;
  padding: 0 10px;
  vertical-align: middle;
  font-size: 24px;
  font-weight: 600;
  height: 60px;
  text-align: center;
  border-radius: 10px;
  text-transform: uppercase;
  transition: 0.1s ease-in-out;
  width: 200px;
}
.hover-item .hover-item-buttons .uk-button {
  opacity: 0;
}
.hover-item:hover .hover-item-buttons .uk-button {
  opacity: 0.5;
}
.hover-item .hover-item-buttons .uk-button:hover {
  opacity: 1;
}
@media (min-width: 769px) {
  .button-outline {
    background: #fff;
    border: 1px solid #148de4;
    color: #148de4 !important;
    padding: 0 60px;
  }
}
@media (max-width: 768px) {
  .button-outline {
    background: #fff;
    border: 1px solid #148de4;
    color: #148de4 !important;
    padding: 0 30px;
  }
}
.button-outline:hover {
  background-color: #bad5e9;
  color: #0f7ae5 !important;
}
.button-faq {
  font-weight: 600;
}
.render-text {
  white-space: pre-wrap;
}
.uk-margin-medium-right {
  margin-right: 40px !important;
}
@media (max-width: 769px) {
  .navbar {
    padding-top: 15px;
  }
}
.section_environment .infoBoxies dl:nth-child(odd) {
  flex-direction: row;
}
.section_environment .infoBoxies dl:nth-child(even) {
  flex-direction: row-reverse;
}
.section_environment .infoBoxies dl:nth-child(even) dd {
  padding: 20px 40px 20px 0;
  display: flex;
  justify-content: flex-end;
}
.section_environment .infoBoxies dl:nth-child(odd) dd .texts h3 {
  text-align: left;
}
.section_environment .infoBoxies dl:nth-child(even) dd .texts h3 {
  text-align: right;
}
@media (max-width: 767px) {
  .section_environment .infoBoxies dl:nth-child(odd) dd {
    padding: 0;
  }
  .section_environment .infoBoxies dl:nth-child(even) dd {
    padding: 0;
  }
  .section_environment .infoBoxies dl:nth-child(even) dd .texts h3 {
    text-align: left;
  }
}
@media screen and (min-width: 768px) and (max-width: 940px) {
  .worktexts {
    align-items: flex-start;
    padding: 20px 20px 40px 20px;
    max-width: 575px;
    width: 50vw;
    background: #2c569d;
    position: absolute;
    color: #fff;
    top: 40px;
    left: -1px;
    border-radius: 40px;
  }
  .worktexts2 {
    align-items: flex-start;
    padding: 20px 20px 40px 20px;
    max-width: 575px;
    width: 50vw;
    background: #fff;
    position: absolute;
    color: #000;
    top: 20px;
    right: -40px;
    border: 2px solid #2c569d;
    border-radius: 40px;
  }
}