@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@600&amp;display=swap');

/* -------------------------------------------
共通パッチ
------------------------------------------- */
body {
  color: var(--sub-txt);
}

.m-header-001__logo {
  padding: 18px 40px;
}

@media screen and (max-width: 767px) {
  .m-header-001__logo {
    padding: 14px 20px;
  }
}

.m-header-001__logo-link-img {
  max-height: 44px;
}

@media screen and (max-width: 767px) {
  .m-header-001__logo-link-img {
    max-height: 32px;
  }
}

@media screen and (max-width: 767px) {
  .m-header-001__btn-link {
    font-size: 12px;
    font-size: 1.2rem;
    min-height: 60px;
  }
}

.c-headline-001__en {
  font-weight: 400;
  letter-spacing: .05rem;
}

.c-headline-001__ja {
  letter-spacing: .2rem;
  line-height: 1.5;
  margin: 5px 0 0;
}

.c-module-container>section:nth-of-type(odd) {
  background-color: var(--primary-txt);
}

/* 「応募する」ボタン */
.m-require-003__entry-btn {
  border: 3px solid var(--primary-bg);
  background: transparent;
  color: var(--primary);
   -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.m-require-003__entry-btn:hover {
  color: var(--primary-txt);
}

.m-require-003__entry-btn::before {
  background: var(--primary);
}

/* フッター */
.m-footer-001__copyright {
  font-family: var(--font, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif);
  font-size: 14px;
  font-size: 1.4rem;
  padding: 20px 0;
}

@media screen and (max-width: 767px) {
  .m-footer-001__copyright {
    padding: 15px 0;
  }
}

/* -------------------------------------------
メッセージ 002
------------------------------------------- */
.m-message-002 {
  background-position: 0 50%; // 背景画像の配置を変更したい場合に使用
}

.m-message-002__inner {
  padding: 190px 40px;
}

@media screen and (max-width: 767px) {
  .m-message-002__inner {
    padding: 60px 40px;
  }
}

.m-message-002__inner::before {
  opacity: .7;
}

.m-message-002__detail {
  padding: 0;
}

.m-message-002__desc-txt {
  padding: 20px 0 0;
}

@media screen and (max-width: 767px) {
  .m-message-002__desc-txt {
    padding: 10px 0 0;
    text-align: left;
  }
}

/* -------------------------------------------
仕事内容（一覧） 002
------------------------------------------- */
.m-works-002 {
  padding: 80px 0 0;
}

@media screen and (max-width: 767px) {
  .m-works-002 {
    padding: 40px 20px 0;
  }
}

@media screen and (max-width: 767px) {
  .m-works-002__items {
    padding: 0;
  }
}

@media screen and (max-width: 767px) {
  .m-works-002__item {
    padding: 10px 0;
  }
}

.m-works-002__item:first-child .m-works-002__detail {
  background-color: var(--primary, #04a1af);
}

.m-works-002__item-inner {
  height: 100%;
  background-color: var(--sub-bg, #f2f2f2);
}

.m-works-002__detail {
  background-color: transparent;
}

.m-works-002__ttl-ja {
  font-size: 19px;
  font-size: 1.9rem;
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .m-works-002__ttl-ja {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

.m-works-002__desc-txt {
  font-size: 15px;
  font-size: 1.5rem;
}

@media screen and (max-width: 767px) {
  .m-works-002__desc-txt {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

/* -------------------------------------------
プロジェクト紹介 005
------------------------------------------- */
.m-project-005 {
  padding: 80px 0 100px;
}

@media screen and (max-width: 1024px) {
  .m-project-005 {
    padding: 70px 0 100px;
  }
}

@media screen and (max-width: 767px) {
  .m-project-005 {
    padding: 40px 0 20px;
  }
}

.m-project-005 .c-headline-001 {
  display: none;
}

.m-project-005__eyecatch-inner {
  padding: 160px 60px;
  background: none;
}

@media screen and (max-width: 767px) {
  .m-project-005__eyecatch-inner {
    padding: 80px 20px;
  }
}

@media screen and (max-width: 767px) {
  .m-project-005__eyecatch {
    background-position: center;
  }
}

.m-project-005__inner {
  max-width: 1560px;
  margin: 80px auto 0;
}

@media screen and (max-width: 767px) {
  .m-project-005__inner {
    margin: 40px auto 0;
  }
}

.m-project-005__lead {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 400;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .m-project-005__lead {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.m-project-005__contents-section-detail-content-txt {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .m-project-005__contents-section-detail-content-txt {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.m-project-005__contents-section-figure {
  width: 48.5%;
}

@media screen and (max-width: 767px) {
  .m-project-005__contents-section-figure {
    width: 100%;
  }
}

.m-project-005__contents-section-detail {
  width: 51.5%;
}

@media screen and (max-width: 767px) {
  .m-project-005__contents-section-detail {
    width: 100%;
  }
}

/* -------------------------------------------
仕事内容（単体） 002
------------------------------------------- */
.m-jobs-002 {
  padding: 80px 20px 100px;
  background: var(--sub-bg);
}

@media screen and (max-width: 767px) {
  .m-jobs-002 {
    padding: 40px 20px 50px;
  }
}

.m-jobs-002__inner {
  max-width: 1480px;
}

.m-jobs-002__list {
  padding: 0;
}

.m-jobs-002__list-item-detail-job {
word-break: break-word;
}

.m-jobs-002__list-item-detail-job {
  text-transform: uppercase;
  font-size: 4.5rem;
  font-weight: 600;
  line-height: 1.11;
  margin: 0 0 20px;
}

.m-jobs-002__list-item-detail-ttl {
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .m-jobs-002__list-item-detail-ttl {
    font-size: 2rem;
    margin: 0 0 15px;
  }
}

.m-jobs-002__list-item-detail-desc {
  font-weight: 400;
}

@media screen and (min-width: 1025px) {
  .m-jobs-002__list-item-detail {
    padding-bottom: 0;
    margin-top: -40px;
  }
}

@media screen and (max-width: 1024px) {
  .m-jobs-002__list-item-detail {
    margin-top: -40px;
  }
}

@media screen and (max-width: 767px) {
  .m-jobs-002__list-item-detail {
    padding: 20px 0;
    margin-top: -35px;
  }
}

@media screen and (max-width: 1024px) {
  .m-jobs-002__list-item:last-child .m-jobs-002__list-item-detail {
    padding-bottom: 0;
  }
}

@media screen and (min-width: 1025px) {
  .m-jobs-002__list-item {
    padding-bottom: 0;
  }
}

@media screen and (max-width: 1024px) {
  .m-jobs-002__list-item:last-child {
    padding-bottom: 0;
  }
}

@media screen and (max-width: 767px) {
  .m-jobs-002__content-desc {
    text-align: left;
  }
}

@media screen and (max-width: 767px) {
  .m-jobs-002__list-item-detail-job {
    font-size: 3.5rem;
    margin: 0 0 15px;
  }
}

/* -------------------------------------------
募集要項 003
------------------------------------------- */
.m-require-003 {
  /* background: #f7f7f7 !important; */
}

/* タイトル（英語）の見出しを大文字に変更したい場合に使用 */
.m-require-003 .c-headline-001__en {
  /* text-transform: uppercase; */
}

.m-require-003 .c-headline-001__ja {
  font-weight: 700;
}

.m-require-003__detail-row {
  /* border-top: 1px solid #ddd; */
  border-color: var(--primary-border, #04a1af);
}

.m-require-003__detail-row:last-child {
  /* border-bottom: 1px solid #ddd; */
  border-color: var(--primary-border, #04a1af);
}

.m-require-003__detail-ttl {
  /* color: #333; */
}

.m-require-003__detail-desc {
  font-weight: 400;
  color: #333;
}

/* 「STEP番号」の背景色を変更したい場合に適用 */
.m-require-003__detail-flow-ttl-number {
  /* background-color: #f2f2f2; */
  /* color: #333; */
}
