section {
  padding: 0 0 100px 0px;
  text-align: center;
  line-height: 1.7;
}

.recruit-area {
  width: 100%;
}

.company {
  width: 100%;
}

.c_midashi {
  margin-top: 38px;
  color: #f4b01a;
  font-weight: bold;
  font-size: 1.5em !important;
  margin-bottom: 0 !important;
}

.company p {
  margin: 0;
  padding: 0;
}

.company img {
  width: 80%;
  margin-bottom: 40px;
  margin-top: 20px;
}

.section-header {
  margin-top: 40px;
  font-size: 24px;
  font-weight: bold;
}

/*人材エリア*/
.values {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 80px 20px;
  background: #fffaeb;
}

.values h2 {
  border-bottom: 6px solid rgba(255, 165, 0, 0.7);
  padding-bottom: 0;
  margin-bottom: 0;
  line-height: 0.5;
}

.values img {
  max-width: 100%;
}

.venn-diagram {
  position: relative;
  width: 400px;
  height: 200px;
  margin: 60px 20px auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.values p {
  margin-top: 40px;
  line-height: 2.5;
}

.circle {
  position: absolute;
  width: 20vw;
  height: 20vw;
  max-width: 240px;
  max-height: 240px;
  min-width: 220px;
  min-height: 220px;
  background-color: rgba(255, 165, 0, 0.8);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
  color: white;
  font-weight: bold;
}

.circle-left {
  left: 0;
  transform: translateX(-53%);
}

.circle-center {
  left: 50%;
  transform: translateX(-50%);
}

.circle-right {
  right: 0;
  transform: translateX(53%);
}

.stats {
  width: 92%;
  max-width: 900px;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  margin-left: auto;
  margin-right: auto;
  margin-top: 15px;
  margin-bottom: 80px;
}

.stats img {
  width: 95%;
}

.features {
  background-color: #fff;
}

.features p {
  text-align: center;
}

h1 {
  text-align: center;
  font-size: 24px;
  color: #333;
  margin-bottom: 20px;
}

.stats div {
  position: relative; /* 子要素を相対的に配置 */
  flex: 1 1 calc(25% - 1em);
  margin: 1em;
  background: #f5f5f5;
  padding: 50px 15px 15px; /* 上部に余白を追加 */
  border-radius: 8px;
  text-align: center;
  overflow: hidden; /* 子要素がはみ出さないように */
}

.stats h5 {
  margin: 0;
  font-size: 1.1em;
  letter-spacing: 0.2em;
  color: #fff;
  padding: 10px;
  position: absolute; /* ボックスの上部に固定 */
  top: 0;
  left: 0;
  right: 0; /* 左右に広げる */
  text-align: center;
  border-radius: 8px 8px 0 0;
}

.environment {
  background-color: #ffd900;
}

.benefits {
  background-color: orange;
}

.work-environment {
  padding: 5px 20px 130px 0px;
  background: #f5f5f5;
}

.work-environment img {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

.work-environment h5 {
  font-size: 1.3em;
  margin-bottom: 0.5em;
}

.work-environment p {
  line-height: 2.2;
  margin: 0;
  padding: 0;
}

.box {
  background-color: #fff;
  border-radius: 12px;
  width: 90%;
  max-width: 1000px;
  margin: 2.5em auto;
  padding: 25px;
}

.image-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3列に並べる */
  gap: 0;
  width: 100%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 80px;
}

.image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 画像が正方形に収まるように */
}

.slide-items {
  display: none;
}

.routine {
  background-color: #fff;
}

.routine img {
  width: 90%;
  margin: auto;
  margin-top: 10px;
  margin-bottom: 55px;
}

.container {
  max-width: 55%;
  margin: auto;
  margin-bottom: 100px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 40px;
  flex-wrap: wrap;
}

/*スマホ時 1日の流れ画像の表示*/
.sp-container {
  display: none;
}

.visible {
  display: block;
}

/*動画リンクエリア*/
.movie {
  padding: 1em 0 6em 0;
}

.movie-area {
  width: 100%;
  max-width: 1000px;
  margin: auto;
}

.movie-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.movie-list:after {
  content: "";
  display: block;
  width: 30%;
  height: 0;
}

.movie-thumbnail {
  width: 30%;
  position: relative;
  margin-bottom: 2em;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
}

.movie-thumbnail img {
  width: 100%;
  max-width: 300px;
}

.movie-thumbnail p {
  margin: 0;
  line-height: 1.2em;
}

.movie-txt01 {
  position: absolute;
  background-color: #ffffffb4;
  padding: 0.5em;
  box-sizing: border-box;
  top: 10px;
  left: 10px;
  font-weight: bold;
}

.movie-txt02 {
  position: absolute;
  background-color: #ffffffb4;
  padding: 0.5em;
  box-sizing: border-box;
  top: 58px;
  left: 10px;
  font-weight: bold;
}

.movie-area h5 {
  color: #f4b01a;
  font-weight: bold;
  font-size: 1.5em !important;
  margin-bottom: 0 !important;
}

/*エントリー遷移ボタン*/
.footer_fix_btn {
  position: fixed;
  bottom: 40px;
  width: 100%;
  max-width: 200px;
  right: 30px;
  z-index: 10;
}

.footer_fix_btn a {
  display: block;
  text-decoration: none;
}

.footer_fix_btn img {
  display: block;
  max-width: 250px;
  width: 100%;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

@media (max-width: 680px) {
  .circle {
    width: 30vw;
    height: 30vw;
    min-width: 200px;
    min-height: 200px;
    font-size: 0.8rem;
  }

  .stats {
    width: 95%;
  }

  .stats div {
    flex: 1 1 calc(25% - 0.6em);
    margin: 0.6em;
  }

  .stats h5 {
    font-size: 1em;
    letter-spacing: 0.1em;
    padding: 8px 5px;
  }
}

@media (max-width: 520px) {
  body {
    font-size: 13px; /* 小さな画面向けにフォントサイズをさらに小さく */
    line-height: 1.5; /* 行間を少し詰めて、スペースを有効活用 */
  }

  h1 {
    font-size: 16px;
  }

  .company {
    max-width: 100%;
    padding: 0;
    padding-bottom: 60px;
  }

  .company p {
    width: 90%;
    margin: auto;
  }

  .company img {
    width: 90%;
    margin: 20px auto;
  }

  .section-header {
    margin-top: 10px;
    font-size: 20px;
  }

  .values {
    padding: 20px 25px;
  }

  .values p {
    margin: 5px 0;
    padding: 10px 0;
    line-height: 2;
  }

  .venn-diagram {
    width: 90%;
    height: 80px;
    margin: 60px auto 40px;
  }

  .values h2 {
    padding-bottom: 0;
    margin-bottom: 0;
  }

  .circle {
    min-height: 127px;
    min-width: 127px;
    font-size: 10px;
  }

  .circle-left {
    left: 0;
    transform: translateX(-21%);
  }

  .circle-right {
    right: 0;
    transform: translateX(21%);
  }

  .features,
  .routine,
  .movie {
    padding-top: 1.5em;
  }

  .stats {
    display: flex;
    flex-wrap: wrap; /* 要素を折り返し */
    justify-content: space-between; /* 各アイテムを均等に配置 */
    margin-left: auto;
    margin-right: auto;
    margin-top: 15px;
    margin-bottom: -50px;
    max-width: 90%;
  }

  .stats div {
    width: 60%; /* 2つずつ並べるために、幅をほぼ50%に設定 */
    margin-bottom: 10px; /* アイテム間に縦の余白 */
    position: relative; /* 子要素を相対的に配置 */
    flex: 1 1 calc(35% - 25px);
    margin: 14px;
    padding: 50px 5px 5px; /* 上部に余白を追加 */
    border-radius: 8px;
    text-align: center;
    overflow: hidden; /* 子要素がはみ出さないように */
  }

  .stats h3 {
    font-size: 12px;
  }

  .work-environment {
    padding: 10px 5px;
  }

  .work-environment p {
    line-height: 1.8;
  }

  .work-environment img {
    width: 90%;
    margin-top: 0;
  }

  .box {
    width: 90%;
    padding: 20px;
  }

  .image-container {
    display: none;
  }

  .slide-items {
    display: block;
    list-style: none;
    position: relative;
    width: 90%;
    height: 200px;
    margin: 2em auto;
    border-radius: 0.2em;
    overflow: hidden;
  }

  .slide-items img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    transition: 4s linear transform 0.4s;
    object-fit: cover;
  }

  .slide-items .zoom {
    transform: scale(1.05);
  }

  .routine img {
    width: 90%;
    margin-top: 6px;
    margin-bottom: 6px;
    margin-left: 0;
  }

  .container {
    max-width: 100%;
    display: block;
    padding: 15px;
  }

  .flex-options {
    padding: 15px;
    flex-direction: column;
    gap: 15px;
  }

  .support-box {
    width: 100%;
    padding: 15px;
  }

  .support-box h3 {
    font-size: 1.2rem;
  }

  .support-box p {
    font-size: 0.75rem;
  }

  /*スマホ時 1日の流れ画像の表示*/
  .sp-container {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .item {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    padding: 10px;
    border-radius: 5px;
    transition: background-color 0.3s;
    letter-spacing: 0.1em;
    width: 92%;
    margin: auto;
    font-weight: bold;
    background-color: #def8fc;
    border: solid 1px #bebebe;
  }

  .item span {
    font-size: 1.3em;
    color: #f4b01a;
  }

  .s-icon {
    width: 80% !important;
  }

  .arrow {
    font-size: 16px;
    color: #8a8a8a !important;
    transition: transform 0.3s;
    margin-right: 0.2em;
  }

  .hidden {
    display: none;
    margin-top: 10px;
    max-width: 100%;
    border: 1px solid #ccc;
    border-radius: 5px;
  }

  .visible {
    display: block;
    margin: auto !important;
    margin-bottom: 1.5em !important;
  }

  .rotate {
    transform: rotate(180deg);
  }

  .movie-area {
    width: 95%;
    margin: auto;
  }

  .movie-thumbnail p {
    line-height: 1em;
  }

  .movie-txt01,
  .movie-txt02 {
    background-color: transparent;
    position: static;
    font-size: 0.9em !important;
    padding: 4px 3px !important;
    margin: 2px 0 !important;
  }

  .footer_fix_btn {
    position: fixed;
    width: 100%;
    max-width: 100px;
    right: 20px;
    bottom: 75px;
    z-index: 10;
  }

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }
}
