/* プライバシーポリシーページの基本スタイル */
.mainprivacy .privacy__text {
  max-width: 800px; /* テキストの最大幅を設定 */
  margin: 0 auto; /* テキストを中央揃え */
  padding: 20px; /* テキスト周りに余白を追加 */
  line-height: 1.8; /* 行間を広げて読みやすく */
  color: #333; /* テキストカラーを設定 */
  font-family: 'Noto Sans JP', sans-serif; /* 読みやすいフォントを設定 */
}

/* プライバシーポリシーページのタイトルスタイル */
.mainprivacy .privacy__title {
  font-size: 2.5em; /* タイトルのフォントサイズ */
  font-weight: bold; /* タイトルを太字に設定 */
  color: #222; /* タイトルのテキストカラー */
  text-align: center; /* タイトルを中央揃え */
  margin: 40px 0 30px; /* タイトルの上下の余白 */
  border-bottom: 2px solid #666; /* タイトルの下に下線を追加 */
  padding-bottom: 10px; /* 下線とテキストの間に余白 */
}

/* 見出しスタイル */
.mainprivacy .privacy__text h1,
.mainprivacy .privacy__text h2,
.mainprivacy .privacy__text h3,
.mainprivacy .privacy__text h4 {
  margin: 30px 0 15px; /* 上下の余白を設定 */
  font-weight: bold; /* 太字に設定 */
  color: #222; /* 見出しの色を少し濃く */
}

/* 各見出しのスタイル詳細 */
.mainprivacy .privacy__text h1 {
  font-size: 2em; /* h1のフォントサイズを設定 */
  border-bottom: 2px solid #666; /* 下線を追加 */
  padding-bottom: 10px; /* 下線とテキストの間に余白 */
}

.mainprivacy .privacy__text h2 {
  font-size: 1.75em; /* h2のフォントサイズを設定 */
  border-bottom: 1px solid #999; /* 下線を追加 */
  padding-bottom: 8px; /* 下線とテキストの間に余白 */
}

.mainprivacy .privacy__text h3 {
  font-size: 1.5em; /* h3のフォントサイズを設定 */
  color: #444; /* h3の色を少し明るく */
  margin-top: 25px; /* h3の上部の余白を増やす */
}

.mainprivacy .privacy__text h4 {
  font-size: 1.25em; /* h4のフォントサイズを設定 */
  color: #555; /* h4の色をさらに明るく */
}

/* 段落スタイル */
.mainprivacy .privacy__text p {
  margin-bottom: 20px; /* 段落間の余白を設定 */
  font-size: 1em; /* フォントサイズを設定 */
  color: #333; /* テキストカラーを設定 */
  text-align: justify; /* テキストの両端揃え */
}

/* リストのスタイルをリセット解除 */
.mainprivacy .privacy__text ul,
.mainprivacy .privacy__text ol {
  margin: 20px 0; /* リスト全体の上下の余白 */
  padding-left: 40px; /* リストのインデント */
  list-style-position: outside; /* リストスタイルを外側に */
  list-style-type: disc; /* デフォルトのディスク型のマーカーを表示 */
}

/* 番号付きリストのスタイル (ol) */
.mainprivacy .privacy__text ol {
  list-style-type: decimal; /* デフォルトの番号を表示 */
}

.linkList__itemLinkWrapper {
  gap: 20px !important;
  /* background-color: #fff; */
  border-radius: 5px;
}

.linkList__itemLink {
  color: #fff;
  display: inline-flex;
  align-items: center;
  padding: 10px 15px;
  /* background-color: white; */
  border-radius: 5px;
  text-decoration: none;
  margin: 0; /* マージンをゼロにして余白を消す */
}

.linkList__itemLink span {
  color: #3073ba;
}

.linkList__itemLink span {
  color: #3073ba; /* 文字色を#3073BAに設定 */
}

.mainTop .linkList__itemLink {
  width: 295px;
}

.mainRecruit .programTraining__list:nth-of-type(1)::after,
.mainRecruit .programTraining__list:nth-of-type(2)::after {
  display: none;
}

/* 募集要項セクションのスタイル */
.recruitment {
  padding: 60px 0;
  background-color: #f8f8f8; /* 背景色を変更してセクションを区切る */
}

.recruitment__title {
  font-size: 2.4rem;
  text-align: center;
  margin-bottom: 40px;
  font-weight: bold;
  color: #333;
}

.recruitment__content {
  max-width: 800px; /* セクション全体の最大幅を設定 */
  margin: 0 auto; /* 中央揃え */
  padding: 20px;
  background-color: #fff; /* 背景を白にする */
  border-radius: 8px; /* 角を少し丸める */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 影をつけて浮き上がらせる */
}

.recruitment__list {
  margin: 0;
  padding: 0;
}

.recruitment__list dt {
  font-weight: bold;
  margin-top: 20px;
  font-size: 1.8rem;
  color: #444;
  border-bottom: 2px solid #3073ba; /* 下線のスタイルを追加 */
  padding-bottom: 5px; /* 下線とテキストの間にスペースを追加 */
}

.recruitment__list dd {
  margin: 10px 0 20px 0;
  padding-left: 20px;
  font-size: 1.6rem;
  color: #555;
  line-height: 1.6;
}

.recruitment__list ul {
  list-style-type: disc; /* 箇条書きスタイルをディスクに設定 */
  margin: 10px 0 20px 40px; /* リストのマージンを調整 */
  padding: 0;
}

.recruitment__list ul li {
  margin-bottom: 5px; /* リスト項目間のスペースを調整 */
  font-size: 1.6rem;
}

.recruitment__warnText {
  text-align: center;
  font-size: 1.4rem;
  color: #888;
  margin-top: 30px;
}

/* モバイル対応 */
@media (max-width: 768px) {
  .recruitment__title {
    font-size: 2rem;
  }

  .recruitment__content {
    padding: 15px;
  }

  .recruitment__list dt {
    font-size: 1.6rem;
  }

  .recruitment__list dd,
  .recruitment__list ul li {
    font-size: 1.4rem;
  }
}

.recruitment__title {
  background: linear-gradient(92deg, #72dfbb 0, #41b38d 100%);
  color: #fff;
  font-size: 30px;
  font-weight: 700;
  /* margin-bottom: 60px; */
  padding: 16px 0;
  text-align: center;
  width: 400px;
  margin: 10px auto;
}

@media screen and (max-width: 767px) {
  .recruitment__title {
    margin-bottom: 11px;
    width: auto;
  }
}

@media screen and (max-width: 1000px) {
  .recruitment__title {
    gap: 5px;
    width: 250px;
    font-size: 18px;
    padding: 10px 0;
    width: 220px;
  }
}

.footer__right a {
  font-size: 12px !important;
}

.message-slider img {
  height: auto;
  width: 100%;
  transition: transform 7s ease-out; /* 画像がズームアウトするトランジション */
}

.message-slider .slick-slide.slick-active img {
  animation: fadezoom 7s forwards; /* アクティブなスライドのズームインアニメーション */
}

@keyframes fadezoom {
  0% {
    transform: scale(1.05); /* 初期状態で少しズームアウト */
  }
  100% {
    transform: scale(1); /* ズームイン状態 */
  }
}

/* 募集要項スライダー全体 */
.recruitment__slider-wrapper {
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden; /* スライダー外の要素を隠す */
  padding: 20px 90px;
}

/* スライダー */
.recruitment__slider {
  display: flex;
  transition: transform 0.3s ease-in-out; /* スライド切り替えのアニメーション */
  width: 100%;
}

/* 各スライド */
.recruitment__slide {
  flex: 0 0 100%; /* 各スライドが画面幅を占めるように設定 */
  background: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* スライドの影 */
  padding: 20px;
  border-radius: 8px;
  box-sizing: border-box;
  font-size: 1.6rem;
  margin: 0 10px; /* スライド間の隙間 */
}

.recruitment__slide h3 {
  font-weight: 600;
  font-size: 2rem;
  margin-bottom: 15px;
}

.recruitment__pr {
  font-size: 1.4rem;
  margin-bottom: 15px;
}

.recruitment__details {
  list-style: none;
  padding: 0;
  margin: 0;
}

.recruitment__details li {
  margin-bottom: 10px;
  font-size: 1.4rem;
}

/* 矢印ボタン */
.recruitment__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #333;
  color: #fff;
  border: none;
  padding: 15px 20px;
  cursor: pointer;
  font-size: 1.6rem;
  border-radius: 50%;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  z-index: 10;
  transition: background 0.2s ease-in-out;
}

.recruitment__arrow:hover {
  background: #555;
}

.recruitment__arrow--prev {
  left: 10px;
}

.recruitment__arrow--next {
  right: 10px;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .recruitment__arrow {
    font-size: 1.4rem;
    padding: 8px 16px;
  }

  .recruitment__slide {
    padding: 15px;
    font-size: 1.4rem;
  }
}
