@charset "UTF-8";
/* 変数の定義
--------------------------------------------------*/
/* メンバー表示色（プロジェクトストーリー・クロストーク共通） */
/* ニュースカテゴリー色（Figma: Frame 957 / node 779:7028） */
/* ノイズテクスチャ（背景オーバーレイ用・SVG feTurbulence） */
/* 青い丸ボタン共通シャドウ（round_btn / round_plus_btn / close） */
/* 色の定義
--------------------------------------------------*/
/* =========================================================
  タバタ採用サイト（Figma: 【構築用】タバタ様採用サイト）
========================================================= */
/* 色のクラス
--------------------------------------------------*/
.white {
  color: #fff;
}

.black {
  color: #000;
}

/* フォントの定義
--------------------------------------------------*/
html,
body,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
img,
svg,
table,
tr,
th,
td,
a,
figure {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #0F1020;
}

body,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
img,
svg,
a,
table,
tr,
th,
td,
figure {
  font-size: 1.6rem;
}
@media screen and (max-width: 999px) {
  body,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
img,
svg,
a,
table,
tr,
th,
td,
figure {
    font-size: 1.4rem;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.05em;
  line-height: 1.8;
  font-weight: 700;
  color: #0F1020;
}

/*-----------------------------------------

※このスタイルシートはSCSSで生成されています。
cssへの直記入はなさらないようにしてください。

-----------------------------------------*/
/* 共通
--------------------------------------------------*/
body {
  word-break: break-word;
}

a {
  transition-duration: 0.3s;
  -webkit-animation-timing-function: cubic-bezier(0.83, 0, 0.17, 1);
          animation-timing-function: cubic-bezier(0.83, 0, 0.17, 1);
}

span {
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
}

section {
  position: relative;
  z-index: 1;
}

/* アンカーリンク: スムーススクロール + 固定ヘッダーに隠れないオフセット */
html {
  scroll-behavior: smooth;
}

/* ハッシュ付きで遷移時、スクロール完了までbodyを非表示にして1ステップで表示 */
html.has-hash-pending body {
  visibility: hidden;
}

section,
article,
.anchor {
  scroll-margin-top: 130px;
}

@media (max-width: 999px) {
  section,
article,
.anchor {
    /* ヘッダー(74px) + 目次バー(100px top + 約50px高) に隠れないよう余裕を持たせる */
    scroll-margin-top: 160px;
  }
}
span.word {
  display: inline-block;
}

/*-----------------------------------------

※このスタイルシートはSCSSで生成されています。
cssへの直記入はなさらないようにしてください。

-----------------------------------------*/
/* =========================================================
  新卒採用 / 新卒インターン / 中途採用（KV + WP差し込み枠）
========================================================= */
body.page-recruit,
body.page-intern,
body.page-career-recruit {
  color: #0F1020;
}

/* WP本文エリア（中身はCMS側で投入） */
.recruit-wp {
  background: #FFFFFF;
}
.recruit-wp .recruit-wp__inner {
  max-width: 1000px;
  width: 90%;
  margin-inline: auto;
  padding: clamp(40px, 5.71vw, 80px) 0 clamp(60px, 7.14vw, 100px);
  min-height: 20vh;
}

/* ---------- お知らせ（新卒採用ページ） ---------- */
.recruit-news-sec {
  padding-top: 0;
}

.news-sec {
  position: relative;
  z-index: 2;
  padding-top: 85px;
  padding-bottom: 50px;
  background: #FFFFFF;
}
@media screen and (max-width: 768px) {
  .news-sec {
    padding-top: 60px;
    padding-bottom: 50px;
  }
}
.news-sec .news-inner {
  max-width: 1200px;
  width: 90%;
  margin-inline: auto;
}
.news-sec .news-content {
  display: grid;
  grid-template-columns: minmax(0, 310fr) minmax(0, 890fr);
  gap: clamp(32px, 4vw, 40px);
  align-items: start;
  min-width: 0;
}
@media screen and (max-width: 999px) {
  .news-sec .news-content {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
.news-sec .news-side {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(32px, 5.8vw, 40px);
  min-width: 0;
}
@media screen and (max-width: 999px) {
  .news-sec .news-side {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    flex-wrap: wrap;
  }
}
.news-sec .news-ttl {
  margin: 0;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
  font-size: clamp(2.5rem, 2.14vw, 3rem);
  font-weight: 900;
  line-height: 1;
  color: #0F1020;
}
.news-sec .news-more-btn {
  min-width: clamp(200px, 19.2vw, 230px);
}
@media screen and (max-width: 999px) {
  .news-sec .news-more-btn {
    min-width: 180px;
    flex-shrink: 0;
  }
}
.news-sec .news-more-btn .btn-blue__icon {
  width: 11px;
  height: 13px;
}
.news-sec .news-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0;
}
.news-sec .news-item {
  border-bottom: 1px solid #EBEBEB;
}
.news-sec .news-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(12px, 2vw, 40px);
  min-width: 0;
  padding: 0 clamp(0px, 2vw, 40px) 15px;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
@media screen and (max-width: 999px) {
  .news-sec .news-link {
    display: grid;
    grid-template-columns: auto auto 1fr auto;
    grid-template-rows: auto auto;
    -moz-column-gap: 12px;
         column-gap: 12px;
    row-gap: 10px;
    align-items: center;
    padding-inline: 0;
  }
}
@media screen and (min-width: 769px) {
  .news-sec .news-link:hover {
    opacity: 0.75;
  }
  .news-sec .news-link:hover .news-link-ttl {
    color: #307EEA;
  }
  .news-sec .news-link:hover .news-link-arrow {
    transform: translateY(4px);
  }
  .news-sec .news-link:hover .news-link-arrow img {
    filter: none;
  }
}
.news-sec .news-link-main {
  display: flex;
  align-items: center;
  gap: clamp(12px, 2.5vw, 40px);
  flex: 1;
  min-width: 0;
}
@media screen and (max-width: 999px) {
  .news-sec .news-link-main {
    display: contents;
  }
}
.news-sec .news-date {
  flex-shrink: 0;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, 1.28vw, 1.6rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #0F1020;
  width: 100px;
}
@media screen and (max-width: 999px) {
  .news-sec .news-date {
    grid-column: 1;
    grid-row: 1;
    width: 90px;
  }
}
.news-sec .news-cat {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
  font-size: clamp(1.4rem, 1.28vw, 1.6rem);
  font-weight: 500;
  line-height: 0.875;
}
@media screen and (max-width: 999px) {
  .news-sec .news-cat {
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
  }
}
.news-sec .news-cat--news {
  color: #1AC8ED;
}
.news-sec .news-cat--award {
  color: #FE5F55;
}
.news-sec .news-cat--event {
  color: #307EEA;
}
.news-sec .news-cat--club {
  color: #92D267;
}
.news-sec .news-cat--refresh {
  color: #FFA844;
}
.news-sec .news-cat--workcation {
  color: #47DABF;
}
.news-sec .news-cat--recruit {
  color: #036579;
}
.news-sec .news-cat--intern {
  color: #036579;
}
.news-sec .news-cat--career-recruit {
  color: #036579;
}
.news-sec .news-cat-dot {
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
}
.news-sec .news-link-ttl {
  flex: 1;
  min-width: 0;
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
  font-size: clamp(1.6rem, 1.5vw, 1.8rem);
  font-weight: 500;
  line-height: 1.1;
  color: #0F1020;
  transition: color 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
@media screen and (max-width: 999px) {
  .news-sec .news-link-ttl {
    grid-column: 1/4;
    grid-row: 2;
  }
}
.news-sec .news-link-arrow {
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.news-sec .news-link-arrow img {
  transition: filter 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
@media screen and (max-width: 999px) {
  .news-sec .news-link-arrow {
    grid-column: 4;
    grid-row: 2;
    align-self: center;
  }
}
@media screen and (max-width: 768px) {
  .news-sec .news-link-arrow {
    width: 28px;
    height: 28px;
  }
}
/*# sourceMappingURL=recruit.css.map */