@charset "utf-8";

/* 研修事業ページ専用。main.cssにないスタイルのみ記述する */

/* メインビジュアル未配置時でも白文字が見えるようにする */
.page-title-box--hasimage {
  background-color: #007887;
  min-height: 280px;
}

.page-title-box--hasimage .image img {
  display: block;
  width: 100%;
  height: auto;
}

/* 固定ヘッダー分、ページ内リンクの着地点をずらす */
#camp,
#custom {
  scroll-margin-top: 120px;
}

@media only screen and (max-width: 768px) {
  .page-title-box--hasimage {
    min-height: 180px;
  }

  #camp,
  #custom {
    scroll-margin-top: 60px;
  }
}

/* 連続するl-inner同士の間隔 */
.l-inner + .l-inner {
  margin-top: 20px;
}

/* is-center指定で上余白が0になるため、カリキュラム下ボタン用に追加 */
#camp .btn-std.is-center {
  margin-top: 40px;
  margin-bottom: 60px;
}

/* 個別研修ブロックとお問い合わせの間の余白 */
#custom {
  margin-bottom: 60px;
}

/* 課題とLBP研修の対比 */
.training-compare {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 40px;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.training-compare__col {
  width: 50%;
  /* border: 1px solid #f2f2f2; */
  background-color: #ffffff;
  /* -webkit-box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.08);
  box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.08); */
}

.training-compare__col + .training-compare__col {
  margin-left: 20px;
}

.training-compare__head {
  padding: 16px 20px;
  background-color: #101010;
  color: #ffffff;
  font-weight: 500;
  text-align: center;
  line-height: 1.5;
  font-size: 16px;
  font-size: 1.6rem;
}

.training-compare__col.is-accent .training-compare__head {
  background-color: #007887;
}

.training-compare .service-turn-list {
  margin: 0;
  padding: 24px 24px 8px;
}

.training-compare .service-turn-list dt {
  margin-top: 16px;
}

.training-compare .service-turn-list dt:first-child {
  margin-top: 0;
}

.training-compare .service-turn-list dd {
  padding-bottom: 16px;
  color: #555555;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.8;
}

/* 締めのメッセージ帯 */
.training-message {
  margin-bottom: 20px;
  padding: 28px 24px;
  background-color: #007887;
  color: #ffffff;
  text-align: center;
}

.training-message p {
  margin: 0;
  line-height: 1.8;
}

.training-message__strong {
  margin-top: 6px !important;
  font-weight: 500;
  font-size: 16px;
  font-size: 1.6rem;
}

/* 研修プログラム2種の案内カード */
.training-program {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 20px;
}

.training-program__card {
  position: relative;
  width: 50%;
  padding: 36px 32px 28px;
  border: 1px solid #b2c5be;
  background-color: #ffffff;
  color: #000000;
}

.training-program__card + .training-program__card {
  margin-left: 20px;
}

.training-program__card:hover {
  border-color: #007887;
  color: #000000;
}

.training-program__no {
  position: absolute;
  top: 20px;
  right: 24px;
  color: #e6eeef;
  font-weight: 700;
  line-height: 1;
  font-size: 36px;
  font-size: 3.6rem;
}

.training-program__card h3 {
  margin: 0 0 16px;
  color: #007887;
  font-weight: 500;
  font-size: 22px;
  font-size: 2.2rem;
}

.training-program__card p {
  margin: 0 0 20px;
  line-height: 1.9;
}

.training-program__link {
  color: #007887;
  font-weight: 700;
  border-bottom: 1px solid #007887;
}

/* 再生CAMP概要（開催・期間・総時間） */
.training-summary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 40px;
  border: 1px solid #b2d6db;
  background-color: #fbfbfb;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.training-summary > div {
  width: 33.33334%;
  padding: 22px 10px;
  text-align: center;
}

.training-summary > div + div {
  border-left: 1px solid #b2d6db;
}

.training-summary span {
  display: block;
  color: #007887;
  font-weight: 500;
  font-size: 13px;
  font-size: 1.3rem;
}

.training-summary strong {
  display: block;
  margin: 4px 0 2px;
  font-weight: 500;
  font-size: 22px;
  font-size: 2.2rem;
}

.training-summary small {
  display: block;
  color: #747474;
  font-size: 12px;
  font-size: 1.2rem;
}

/* カリキュラムカード */
.training-curriculum {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -6px 10px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.training-curriculum__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: calc(50% - 12px);
  margin: 0 6px 12px;
  padding: 22px 20px 18px;
  border-top: 4px solid #007887;
  background-color: #ffffff;
  -webkit-box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.08);
  box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.08);
}

.training-curriculum__step {
  margin: 0 0 8px;
  color: #007887;
  font-weight: 700;
  letter-spacing: 0.08em;
  font-size: 12px;
  font-size: 1.2rem;
}

.training-curriculum__card h3 {
  margin: 0;
  min-height: 2.6em;
  color: #101010;
  font-weight: 500;
  line-height: 1.4;
  font-size: 17px;
  font-size: 1.7rem;
}

.training-curriculum__type {
  margin: 6px 0 12px;
  color: #007887;
  font-weight: 700;
  font-size: 12px;
  font-size: 1.2rem;
}

.training-curriculum__card ul {
  margin: 0 0 16px;
  padding-left: 1.2em;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.training-curriculum__card li {
  list-style: disc;
  margin-bottom: 6px;
  color: #555555;
  line-height: 1.6;
  font-size: 13px;
  font-size: 1.3rem;
}

.training-curriculum__format {
  display: block;
  padding: 8px 10px;
  background-color: #e9f5f6;
  color: #007887;
  font-weight: 700;
  text-align: center;
  font-size: 12px;
  font-size: 1.2rem;
}

/* 個別研修の事前整理項目 */
.training-custom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -8px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.training-custom__item {
  width: calc(25% - 16px);
  margin: 0 8px 16px;
  padding: 24px 20px;
  border-top: 3px solid #007887;
  background-color: #f2f2f2;
}

.training-custom__item span {
  display: block;
  color: #007887;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: 12px;
  font-size: 1.2rem;
}

.training-custom__item h3 {
  margin: 8px 0 6px;
  color: #101010;
  font-weight: 500;
  font-size: 18px;
  font-size: 1.8rem;
}

.training-custom__item p {
  margin: 0;
  color: #747474;
  font-size: 13px;
  font-size: 1.3rem;
}

@media only screen and (max-width: 768px) {
  .training-compare {
    display: block;
  }

  .training-compare__col {
    width: 100%;
  }

  .training-compare__col + .training-compare__col {
    margin-top: 16px;
    margin-left: 0;
  }

  .training-message__strong {
    font-size: 15px;
    font-size: 1.5rem;
  }

  .training-program {
    display: block;
  }

  .training-program__card {
    width: 100%;
    padding: 28px 24px 24px;
  }

  .training-program__card + .training-program__card {
    margin-top: 16px;
    margin-left: 0;
  }

  .training-summary {
    display: block;
  }

  .training-summary > div {
    width: 100%;
    padding: 16px 10px;
  }

  .training-summary > div + div {
    border-top: 1px solid #b2d6db;
    border-left: none;
  }

  .training-curriculum {
    display: block;
    margin: 0;
  }

  .training-curriculum__card {
    width: 100%;
    margin: 0 0 12px;
  }

  .training-curriculum__card h3 {
    min-height: 0;
  }

  .training-custom__item {
    width: calc(50% - 16px);
  }
}

@media only screen and (max-width: 480px) {
  .training-custom__item {
    width: calc(100% - 16px);
  }
}

/* お問い合わせ：メールは文字数が多いため電話番号（5rem）よりやや小さくし、折り返しても崩れないようにする */
.contact-block .item .mail-num {
  color: #007887;
  font-family: "Barlow", "Noto Sans JP", "游ゴシック体", YuGothic,
    "游ゴシック Medium", "YuGothic M", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", arial,
    helvetica, sans-serif;
  font-size: 36px;
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.contact-block .item .mail-num a {
  color: #007887;
}

@media only screen and (max-width: 768px) {
  .contact-block .item .mail-num {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
