.elementor-3254 .elementor-element.elementor-element-5127bc8{--display:flex;--margin-top:80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-3254 .elementor-element.elementor-element-f17858e{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:60px 60px;--row-gap:60px;--column-gap:60px;--margin-top:-30px;--margin-bottom:14px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-3254 .elementor-element.elementor-element-be46672{width:var( --container-widget-width, 400px );max-width:400px;margin:-117px -72px calc(var(--kit-widget-spacing, 0px) + -34px) 0px;--container-widget-width:400px;--container-widget-flex-grow:0;}.elementor-3254 .elementor-element.elementor-element-6106386{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-3254 .elementor-element.elementor-element-f17858e{--content-width:1000px;}}@media(max-width:767px){.elementor-3254 .elementor-element.elementor-element-5127bc8{--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-3254 .elementor-element.elementor-element-f17858e{--justify-content:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-3254 .elementor-element.elementor-element-f17858e.e-con{--align-self:center;}.elementor-3254 .elementor-element.elementor-element-be46672{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-3254 .elementor-element.elementor-element-be46672.elementor-element{--order:-99999 /* order start hack */;}.elementor-3254 .elementor-element.elementor-element-be46672 img{width:100%;}}/* Start custom CSS for html, class: .elementor-element-46f4522 */@import url('https://fonts.googleapis.com/css2?family=Inter:wght@700&display=swap');

.tk-join-btn {
  display: inline-flex;
  align-items: center;
  text-decoration: none !important;
  color: #ffffff !important; /* 白を維持 */
  background: transparent;
  gap: 20px;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

/* 英語：JOIN US */
.tk-eng {
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  font-size: 68px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}

/* 日本語：エントリーする */
.tk-jpn {
  font-family: "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
}

/* 矢印のアニメーション設定 */
.tk-arrow {
  display: inline-block;
  margin-left: 8px;
  transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1); /* 滑らかな動き */
}

/* ホバー時の動き */
.tk-join-btn:hover {
  opacity: 1; /* 色は薄くせずそのまま */
}

.tk-join-btn:hover .tk-arrow {
  transform: translateX(8px); /* 矢印を右に8px動かす */
}

/* スマホ対応 */
@media (max-width: 600px) {
  .tk-eng { font-size: 28px; }
  .tk-jpn { font-size: 14px; }
}
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@700&display=swap');

.tk-join-btn {
  display: inline-flex;
  align-items: center;
  text-decoration: none !important;
  color: #ffffff !important;
  background: transparent;
  gap: 20px;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

/* 英語：JOIN US */
.tk-eng {
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  font-size: 68px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}

/* 日本語：エントリーする */
.tk-jpn {
  font-family: "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
}

/* 矢印の設定 */
.tk-arrow {
  display: inline-block;
  margin-left: 8px;
  color: #ffffff !important; /* 矢印を白に指定 */
  transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

/* ホバー時の動き */
.tk-join-btn:hover {
  opacity: 1;
}

.tk-join-btn:hover .tk-arrow {
  transform: translateX(8px);
  color: #ffffff !important; /* ホバー時も白を維持 */
}

/* スマホ対応 */
@media (max-width: 600px) {
  .tk-eng { font-size: 28px; }
  .tk-jpn { font-size: 14px; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-124cc47 *//* --- コンテナ設定 --- */
.tk-banner-container {
  display: flex;
  gap: 20px;
  max-width: 1100px;
  margin: 0 auto;
}

/* --- カード共通スタイル --- */
.tk-banner-card {
  flex: 1;
  background-color: #333333;
  padding: 40px 30px;
  text-decoration: none !important;
  color: #ffffff !important;
  position: relative;
  min-height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: background-color 0.3s ease;
  border-radius: 4px;
  box-sizing: border-box;
}

.tk-banner-card:not(.is-mynavi):hover {
  background-color: #3d3d3d;
}

/* --- 英語・日本語タイトル --- */
.tk-banner-eng {
  font-family: 'Trebuchet MS', sans-serif;
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.2;
}

.tk-banner-jpn {
  font-size: 14px;
  margin-top: 5px;
  opacity: 0.9;
}

/* --- ★マイナビ専用（白背景＆センターロゴ修正版） --- */
.tk-banner-card.is-mynavi {
  background-color: #ffffff;
  color: #333333 !important;
  display: flex;
  flex-direction: column;
  justify-content: flex-end; /* VIEW MOREを下に配置 */
}

.tk-banner-card.is-mynavi:hover {
  background-color: #ffff;
}

.tk-mynavi-logo-center {
  position: absolute;
  top: 40%; /* ロゴの中央位置（VIEW MOREとの被りを微調整） */
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none; /* リンクのクリックを邪魔しない */
}

.tk-mynavi-logo-center img {
  max-width: 200px;
  height: auto;
}

/* --- VIEW MOREエリア共通 --- */
.tk-view-more-wrap {
  align-self: flex-end; /* 右下へ */
  display: flex;
  align-items: center;
  position: relative;
  z-index: 2; /* ロゴより手前に */
}

.tk-view-more-text {
  font-family: 'Trebuchet MS', sans-serif;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 0.1em;
}

/* 青いカプセル矢印 */
.tk-arrow-capsule {
  background: linear-gradient(to right, #00c6ff, #0072ff);
  color: #ffffff !important;
  width: 38px;
  height: 18px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 10px;
  font-size: 13px;
  padding-bottom: 2px;
  transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}

.tk-banner-card:hover .tk-arrow-capsule {
  transform: translateX(6px);
}

/* --- スマホ対応（縦並び・最適化） --- */
@media (max-width: 768px) {
  .tk-banner-container {
    flex-direction: column; /* 縦並びを維持 */
    gap: 15px;              /* カード間の隙間 */
    padding: 0 15px;        /* 画面左右の余白 */
  }

  .tk-banner-card {
    min-height: 140px;      /* スマホで見やすい高さに */
    padding: 25px 20px;
  }

  /* テキストサイズをスマホ向けに最適化 */
  .tk-banner-eng {
    font-size: 22px;
  }

  .tk-banner-jpn {
    font-size: 13px;
  }

  /* マイナビロゴの調整 */
  .tk-mynavi-logo-center img {
    max-width: 150px !important;
  }

  /* VIEW MOREの調整 */
  .tk-view-more-text {
    font-size: 12px;
  }

  .tk-arrow-capsule {
    width: 34px;
    height: 16px;
    font-size: 11px;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5127bc8 *//* グラデーションのうねりアニメ */
@keyframes gWaveGradient {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
/* 1. フォントの読み込み（丸ゴシック ＋ 明朝体） */
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&family=Noto+Serif+JP:wght@400;700&display=swap');

body {
  font-kerning: none;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.5px;
}/* End custom CSS */