@charset "utf-8";
/*==============================
  ここから共通系
================================ */
*,
*::before,
*::after {
  box-sizing: border-box;
}
:focus {
  outline-offset: -2px;
}
:focus-visible {
  outline: solid 2px #333;
  outline-offset: -2px;
}
html {
  scrollbar-gutter: stable;
}
img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  aspect-ratio: auto;
}
span.inline-block-content {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}
p {
  word-break: break-word;
  overflow-wrap: break-word;
  word-wrap: break-word;
}
p {
  max-width: 100%;
}
.jfml-container.container {
  overflow: hidden;
}
.jfml-article {
  padding-left: 0;
  padding-right: 0;
}
.content-inner {
  max-width: 1060px;
  padding: 0 30px;
  width: 100%;
  margin: 0 auto;
}
.content-inner h1, .content-inner h2, .content-inner h3, .content-inner h4, .content-inner h5, .content-inner h6 {
  margin: 0;
}
.content-inner p {
  font-size: 16px;
  margin: 0;
}
.section {
  max-width: 100%;
  width: 100%;
  position: relative;
}
.section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
a.text-link {
  color: var(--color-primary) !important;
  font-weight: bold;
  position: relative;
}
a.text-link::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: var(--color-primary);
  bottom: -2px;
  right: 0;
  transition: width 0.3s;
}
@media (hover: hover) {
  a.text-link:hover::before {
    width: 0;
  }
}
/* --- 共通系ここまで --- */
/*==============================
  ここから各セクションのデザイン設定
================================ */
/* 共通のセクションデザイン */
.row h2.jfml-heading-bar {
  font-size: 52px;
  text-align: left;
  height: auto;
  background: none;
  padding: 90px 0 0;
  margin: 0 auto 40px;
  position: relative;
  line-height: 1.5;
  color: var(--color-text-strong);
}
@media screen and (max-width: 767px) {
  .row h2.jfml-heading-bar {
    font-size: 26px;
    padding: 70px 0 0;
    margin: 0 auto 20px;
  }
}
.row .jfml-heading-bar-wrapper {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .row .jfml-heading-bar-wrapper {
    margin-bottom: 20px;
  }
}
.row .jfml-heading-bar-wrapper h2.jfml-heading-bar {
  margin-bottom: 0;
}
.row .jfml-heading-bar-wrapper .sab-head-text {
  font-size: 18px;
  line-height: 1.8;
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  .row .jfml-heading-bar-wrapper .sab-head-text {
    font-size: 16px;
    margin-top: 8px;
  }
}
.row h2.jfml-heading-bar::before {
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  top: 0;
  left: 0;
}
.jfml-top-mainimg {
  width: 100%;
}
.summary {
  margin: 0;
}
.jfml-header {
  padding-bottom: 0;
}
.jfml-contents {
  padding-right: 0;
  padding-left: 0;
}
div.jfml-contents {
  max-width: 1060px;
  padding: 0 30px;
}
@media screen and (max-width: 767px) {
  div.jfml-contents {
    padding-bottom: 30px !important;
  }
}
.content-wrapper {
  padding-top: 40px;
}
@media screen and (max-width: 767px) {
  .content-wrapper {
    padding-top: 10px;
  }
}
/* エリア検索 */
.row.css-search-job {
  background-color: var(--color-bg);
  position: relative;
  padding-top: 40px;
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .row.css-search-job {
    padding-top: 10px;
  }
}
.row.css-search-job::before {
  content: "";
  position: absolute;
  top: -60px;
  right: -60px;
  width: calc(100% + 120px);
  height: 180px;
  background-color: var(--color-bg);
  border-top-left-radius: 100%;
  border-top-right-radius: 100%;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .row.css-search-job::before {
    top: -40px;
    right: -40px;
    width: calc(100% + 80px);
    height: 95px;
  }
}
.row.css-search-job h2.jfml-heading-bar::before {
  width: 90px;
  height: 90px;
  background-image: url(/jobfind-multilanguage/images/img_icon01.png);
}
@media screen and (max-width: 767px) {
  .row.css-search-job h2.jfml-heading-bar::before {
    width: 70px;
    height: 70px;
  }
}
.row.css-search-job .jfml-arealinks>p {
  text-align: left;
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .row.css-search-job .jfml-arealinks>p {
    font-size: 20px;
  }
}
/* お仕事紹介 */
.content-wrapper.introduction {
  padding-bottom: 40px;
  background-color: var(--color-primary);
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .content-wrapper.introduction {
    padding-top: 10px;
  }
}
.content-wrapper.introduction *, .content-wrapper.introduction h2.jfml-heading-bar {
  color: inherit;
}
.content-wrapper.introduction a.btn {
  color: var(--color-text-strong);
}
.content-wrapper.introduction::before {
  content: "";
  position: absolute;
  top: -60px;
  right: -60px;
  width: calc(100% + 120px);
  height: 180px;
  background-color: var(--color-primary);
  border-top-left-radius: 100%;
  border-top-right-radius: 100%;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .content-wrapper.introduction::before {
    top: -40px;
    right: -40px;
    width: calc(100% + 80px);
    height: 95px;
  }
}
.content-wrapper.introduction h2.jfml-heading-bar::before {
  width: 140px;
  height: 90px;
  background-image: url(/jobfind-multilanguage/images/img_icon02.png);
}
@media screen and (max-width: 767px) {
  .content-wrapper.introduction h2.jfml-heading-bar::before {
    width: 109px;
    height: 70px;
  }
}
/* Infomation */
.information-section {
  padding-top: 30px;
  background-color: var(--color-primary);
}
.content-wrapper.information {
  padding-top: 50px;
  padding-bottom: 160px;
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .information-section {
    padding-top: 30px;
  }
  .content-wrapper.information {
    padding-top: 10px;
    padding-bottom: 90px;
  }
}
.content-wrapper.information *, .content-wrapper.information h2.jfml-heading-bar {
  color: inherit;
}
.content-wrapper.information a.btn {
  color: var(--color-text-strong);
}
.content-wrapper.information h2.jfml-heading-bar::before {
  width: 90px;
  height: 90px;
  background-image: url(/jobfind-multilanguage/images/img_icon03.png);
}
@media screen and (max-width: 767px) {
  .content-wrapper.information h2.jfml-heading-bar::before {
    width: 70px;
    height: 70px;
  }
}
/* インタビュー */
.content-wrapper.interview {
  padding-bottom: 40px;
  background-color: var(--color-bg);
}
.content-wrapper.interview::before {
  content: "";
  position: absolute;
  top: -60px;
  right: -60px;
  width: calc(100% + 120px);
  height: 180px;
  background-color: var(--color-bg);
  border-top-left-radius: 100%;
  border-top-right-radius: 100%;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .content-wrapper.interview::before {
    top: -40px;
    right: -40px;
    width: calc(100% + 80px);
    height: 95px;
  }
}
.content-wrapper.interview h2.jfml-heading-bar {
  color: var(--color-primary);
}
.content-wrapper.interview h2.jfml-heading-bar::before {
  width: 90px;
  height: 90px;
  background-image: url(/jobfind-multilanguage/images/img_icon04.png);
}
@media screen and (max-width: 767px) {
  .content-wrapper.interview h2.jfml-heading-bar::before {
    width: 70px;
    height: 70px;
  }
}
/* FAQ */
.faq-section {
  padding-top: 30px;
  background-color: var(--color-bg);
}
.content-wrapper.faq {
  padding-top: 50px;
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .content-wrapper.faq {
    padding-top: 10px;
    padding-bottom: 60px;
  }
}
.content-wrapper.faq h2.jfml-heading-bar {
  margin-bottom: 0;
  color: var(--color-primary);
}
.content-wrapper.faq h2.jfml-heading-bar::before {
  width: 140px;
  height: 90px;
  background-image: url(/jobfind-multilanguage/images/img_icon05.png);
}
@media screen and (max-width: 767px) {
  .content-wrapper.faq h2.jfml-heading-bar::before {
    width: 109px;
    height: 70px;
  }
}
.content-wrapper.faq .summary {
  text-align: center;
}
/* --- 各セクションのデザイン設定ここまで --- */
/*==============================
  ここからヘッダー
================================ */
html.is-fixed {
  height: 100%;
  touch-action: none;
  overflow: hidden;
}
.jfml-header {
  position: relative;
}
.header-contents {
  background-color: rgba(255, 255, 255, 0.9);
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 10;
}
@media screen and (max-width: 1160px) {
  .header-contents {
    position: static;
    background-color: var(--color-white);
  }
}
@media screen and (min-width: 1161px) {
  header .header-inner {
    padding-right: 120px;
  }
}
/* ハンバーガーメニュー */
.menu-wrapper {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  max-width: 1140px;
  width: 100%;
  margin: 0 auto;
  padding: 12px 30px;
  display: flex;
  justify-content: flex-end;
  pointer-events: none;
  z-index: 100;
}
@media screen and (max-width: 1160px) {
  .menu-wrapper {
    max-width: 100%;
    padding: 0;
    top: 0;
  }
}
.gnav-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 12px;
  border: none;
  width: 70px;
  height: 70px;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 14px;
  font-weight: bold;
  padding: 20px 10px 10px 10px;
  border-radius: 10px;
  border: solid 3px var(--color-white);
  position: relative;
  z-index: 200;
  pointer-events: auto;
  transition: all 0.2s;
}
.gnav-trigger.is-open {
  background-color: var(--color-white);
  color: var(--color-text-strong);
}
.gnav-trigger-line {
  position: relative;
  width: 25px;
  height: 2px;
  border-radius: 50vh;
  background-color: var(--color-white);
}
.gnav-trigger-line::before,
.gnav-trigger-line::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 25px;
  height: 2px;
  border-radius: 50vh;
  background-color: var(--color-white);
  left: 0;
  transition: transform 0.3s ease, top 0.3s ease, opacity 0.3s ease;
}
.gnav-trigger-line::before {
  top: -5px;
}
.gnav-trigger-line::after {
  top: 5px;
}
.gnav-trigger.is-open .gnav-trigger-line {
  background-color: transparent;
}
.gnav-trigger.is-open .gnav-trigger-line::before {
  transform: rotate(35deg);
  background-color: var(--color-text-strong);
  top: 0;
}
.gnav-trigger.is-open .gnav-trigger-line::after {
  transform: rotate(-35deg);
  background-color: var(--color-text-strong);
  top: 0;
}
@media screen and (max-width: 1160px) {
  .gnav-trigger {
    border-radius: 0 0 0 10px;
    border-top: none;
  }
  .gnav-trigger-text {
    padding-top: 3px;
  }
}
/* ナビメニュー */
.gnav-contents {
  background: rgba(56, 119, 197, 0.75);
  transform: translateY(-20px);
  opacity: 0;
  visibility: hidden;
  transition: transform 0.4s ease, opacity 0.4s ease, visibility 0s linear 0.4s;
  width: 100%;
  padding: 100px 0 108px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
}
.gnav-contents.is-active {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  transition: transform 0.4s ease, opacity 0.4s ease, visibility 0s;
}
.gnav-inner {
  margin: 0 auto;
  padding: 0 20px;
  overflow-y: auto;
  height: 100%;
  position: relative;
}
.gnav-contents ul {
  list-style: none;
  max-width: 985px;
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: flex-start;
}
@media screen and (min-width: 1161px) {
  .gnav-contents ul {
    max-height: 220px;
  }
}
.gnav-contents li {
  width: calc((100% - 40px) / 3);
}
.gnav-contents li a {
  min-height: 60px;
}
@media screen and (max-width: 1160px) {
  .gnav-contents {
    height: 100%;
  }
  .gnav-inner {
    padding: 0;
  }
  .switch-contents-wrapper {
    gap: 0;
  }
  .search-btn-wrapper {
    justify-content: center;
    width: calc(100% + 60px);
    margin: 0 -30px 20px;
    padding: 10px 15px;
    background-color: rgba(255, 255, 255, 0.75);
  }
  .search-btn-wrapper a {
    max-width: 300px;
    width: calc((100% - 5px) / 2);
  }
  .gnav-contents {
    max-height: none;
    padding: 100px 30px 0;
  }
  .gnav-contents ul {
    padding-bottom: 60px;
  }
  .gnav-contents li {
    width: calc((100% - 20px) / 2);
  }
}
@media screen and (max-width: 768px) {
  .gnav-contents ul {
    row-gap: 12px;
  }
}
@media screen and (max-width: 725px) {
  .gnav-contents ul {
    flex-direction: column;
    gap: 12px;
  }
  .gnav-contents li {
    width: 100%;
  }
}
/* --- ヘッダーここまで --- */
/*==============================
  ここから求人を探すのデザイン設定
================================ */
/* エリアリンク */
div.jfml-arealinks {
  box-sizing: border-box;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  float: none;
  background-color: var(--color-white);
  border-radius: 20px;
  padding: 50px 40px 40px;
}
@media screen and (max-width: 767px) {
  div.jfml-arealinks {
    padding: 30px 20px 30px;
    border-radius: 10px;
  }
  .jfml-arealinks-prefecture {
    padding: 0;
  }
}
div.jfml-arealinks .jfml-arealinks-prefecture a {
  color: var(--color-text);
}
.jfml-arealinks>p {
  color: var(--color-primary);
  font-size: 20px;
  text-align: center;
  font-weight: bold;
  margin: 0 0 16px;
}
@media screen and (max-width: 767px) {
  .jfml-arealinks>p {
    margin: 0 0 5px;
  }
}
.jfml-arealinks a {
  position: relative;
}
.jfml-arealinks a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: var(--color-primary);
  bottom: 2px;
  right: 0;
  transition: width 0.3s;
}
div.jfml-arealinks .jfml-arealinks-prefecture a::before {
  background-color: var(--color-text);
}
.jfml-arealinks a:hover::before {
  width: 0;
}
@media screen and (max-width: 767px) {
  .jfml-arealinks a:hover {
    text-decoration: underline;
  }
}
div.jfml-arealinks-line {
  border-bottom: none;
  position: relative;
  padding-bottom: 30px;
}
div.jfml-arealinks-line:last-of-type {
  padding-bottom: 0;
}
div.jfml-arealinks-line:not(:last-of-type)::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 3px;
  background-image: radial-gradient(circle, var(--color-text-strong) 1px, transparent 2px);
  background-size: 10px 2px;
  background-repeat: repeat-x;
  background-position: center;
  bottom: 10px;
  left: 0;
}
@media screen and (max-width: 767px) {
  div.jfml-arealinks-prefecture ul li {
    margin-top: 6px;
  }
}
div.jfml-arealinks-region {
  font-size: 18px;
  padding-left: 5px;
  color: var(--color-primary);
}
.div.jfml-arealinks-prefecture ul * {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  div.jfml-arealinks-region {
    padding: 0;
  }
}
/* --- 求人を探すのデザイン設定ここまで --- */
/*==============================
  ここからKVデザイン設定
================================ */
.kv-contents-wrapper {
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 0;
}
.kv-slider-outer {
  width: 100vw;
  height: 100%;
  margin-left: calc(50% - 50vw);
  position: relative;
}
.kv-slider {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  position: relative;
  z-index: 0;
}
.kv-slider img {
  width: 100vw;
  height: 100%;
  min-height: 638px;
  max-height: 760px;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center 30%;
  object-position: center 30%;
}
@media screen and (max-width: 1300px) {
  .kv-slider img {
    width: 100vw;
    height: 100%;
    min-height: 530px;
    max-height: 530px;
  }
}
@media screen and (max-width: 767px) {
  .kv-slider img {
    width: 100%;
    height: auto;
    min-height: auto;
    max-height: none;
  }
}
.slick-track {
  display: flex;
}
.slick-slide {
  position: relative;
}
.slick-slide::before {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 50%,
    rgba(0, 0, 0, 0.4) 100%
  );
  z-index: 1;
}
.slide-dots-contents {
  display: flex;
  align-items: center;
}
.slick-dots {
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 0;
}
.slick-dots li {
  list-style: none;
}
.slick-dots li {
  width: 24px;
  height: 6px;
  border-radius: 50vh;
  margin-right: 5px;
  position: relative;
  background-color: transparent;
}
.slick-dots li:last-of-type {
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .slick-dots li {
    width: 22px;
    height: 6px;
  }
}
.slick-dots li button {
  background-color: var(--color-white);
  border: none;
  font-size: 0;
  border-radius: 50vh;
  font-size: 0;
  display: block;
  width: 100%;
  height: 100%;
  cursor: pointer;
  transition: background-color 0.3s;
}
.slick-dots li.slick-active button {
  background-color: var(--color-point);
  border-radius: 50vh;
}
.control-btn-wrapper {
  position: absolute;
  width: 100%;
  max-width: 1040px;
  padding: 0 20px;
  height: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  pointer-events: none;
}
.control-btn {
  display: flex;
  position: absolute;
  right: 20px;
  bottom: 80px;
  pointer-events: auto;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .control-btn {
    right: 50%;
    bottom: 100px;
    transform: translateX(50%);
  }
}
.slider-pause {
  position: relative;
  width: 25px;
  height: 25px;
  border-radius: 50vh;
  background-color: var(--color-point);
  border: none;
  cursor: pointer;
}
.slider-pause::before,
.slider-pause::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 2px;
  height: 10px;
  background-color: var(--color-white);
  transform: translateY(-50%);
}
.slider-pause::before {
  left: 9px;
}
.slider-pause::after {
  right: 9px;
}
.slider-pause.is-paused::before {
  width: 0;
  height: 0;
  background-color: transparent;
  box-shadow: none;
  border-style: solid;
  border-width: 6px 0 6px 10px;
  border-color: transparent transparent transparent var(--color-white);
  transform: translate(-50%, -50%);
  left: calc(50% + 2px);
}
.slider-pause.is-paused::after {
  display: none;
}
@media screen and (max-width: 767px) {
  .slider-pause {
    width: 24px;
    height: 24px;
  }
  .slider-pause::before,
  .slider-pause::after {
    width: 3px;
    height: 10px;
  }
  .slider-pause::before {
    left: 8px;
  }
  .slider-pause::after {
    right: 8px;
  }
  .slider-pause.is-paused::before {
    width: 0;
    height: 0;
    background-color: transparent;
    box-shadow: none;
    left: calc(50% + 1px);
    border-width: 4px 0 4px 6px;
  }
  .slider-pause.is-paused::after {
    display: none;
  }
}
.kv-catch-contents {
  position: relative;
  z-index: 1;
  background-color: var(--color-primary);
}
.kv-catch-contents::before {
  content: "";
  position: absolute;
  top: -60px;
  right: -60px;
  width: calc(100% + 120px);
  height: 180px;
  background-color: var(--color-primary);
  border-top-left-radius: 100%;
  border-top-right-radius: 100%;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .kv-catch-contents::before {
    top: -40px;
    right: -40px;
    width: calc(100% + 80px);
    height: 95px;
  }
}
.kv-catch-contents * {
  color: var(--color-white);
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
  text-align: left;
}
.kv-catch-contents .kv-catch-contents-inner {
  position: relative;
  max-width: 1000px;
  width: calc(100% - 40px);
  margin: 0 auto;
  padding-bottom: 120px;
  min-height: 250px;
}
@media screen and (max-width: 767px) {
  .kv-catch-contents .kv-catch-contents-inner {
    padding-bottom: 30px;
  }
}
.kv-catch-contents .text-contents {
  width: 100%;
  font-size: 18px;
  position: relative;
  padding-top: 10px;
  margin-top: -180px;
}
@media screen and (max-width: 767px) {
  .kv-catch-contents .text-contents {
    max-width: none;
    margin-top: -90px;
  }
}
.main-catch {
  width: 100%;
  font-size: 60px;
  font-weight: bold;
  color: var(--color-white);
  position: relative;
  top: -180px;
  line-height: 1.4;
  padding-right: 33%;
}
@media screen and (max-width: 767px) {
  .main-catch {
    padding-right: 0;
    max-width: none;
    width: 100%;
    font-size: clamp(26px, 8vw, 32px);
    top: -90px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
  }
}
.text-contents {
  padding-right: 33%;
}
.text-contents p {
  font-size: 18px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .text-contents {
    padding-right: 0;
  }
  .text-contents p {
    font-size: 16px;
  }
}
.text-contents .sub-catch {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 20px;
  line-height: inherit;
}
@media screen and (max-width: 767px) {
  .text-contents .sub-catch {
    font-size: 22px;
    text-align: center;
  }
}
.kv-catch-contents .text-contents .deco-contents {
  position: absolute;
  width: 100%;
  max-width: 1000px;
  height: 100%;
  left: 0;
  bottom: -120px;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .kv-catch-contents .text-contents .deco-contents {
    position: relative;
    display: flex;
    bottom: auto;
    justify-content: center;
    margin-top: 20px;
    width: 100%;
  }
}
.kv-catch-contents .text-contents .deco-contents img {
  border-radius: 50vh;
  position: absolute;
  pointer-events: all;
}
.kv-catch-contents .text-contents .deco-contents .deco-01 {
  max-width: 215px;
  width: 22%;
  bottom: 330px;
  right: 10%;
}
.kv-catch-contents .text-contents .deco-contents .deco-02 {
  max-width: 290px;
  width: 29%;
  bottom: 90px;
  right: -8%;
}
.kv-catch-contents .text-contents .deco-contents .deco-03 {
  max-width: 175px;
  width: 18%;
  bottom: 30px;
  right: 12%;
}
@media screen and (max-width: 767px) {
  .kv-catch-contents .text-contents .deco-contents img {
    position: static;
    display: block;
    aspect-ratio: 1 / 1;
    width: calc(100% / 3) !important;
    max-width: none !important;
    min-width: 125px;
  }
  .kv-catch-contents .text-contents .deco-contents img:not(:first-of-type) {
    margin-left: -20px;
  }
}
/* --- KVデザイン設定ここまで --- */
/*==============================
  ここからお仕事紹介のデザイン設定
================================ */
.introduction-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  flex-wrap: wrap;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .introduction-list {
    grid-template-columns: 1fr;
  }
}
.introduction-list .image-wrapper {
  background-color: var(--color-white);
  padding: 50px 35px;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .introduction-list .image-wrapper {
    padding: 34px 22px;
  }
}
.introduction-list-title {
  font-size: 28px;
  padding: 25px 0 10px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .introduction-list-title {
    font-size: 22px;
  }
}
.introduction-list p {
  font-size: 16px;
  line-height: 1.8;
}
/* --- お仕事紹介のデザイン設定ここまで --- */
/*==============================
  ここからInfomationのデザイン設定
================================ */
.information-section .information-card-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 28px;
}
@media screen and (max-width: 767px) {
  .information-section .information-card-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }
}
.content-wrapper.information .information-card-inner {
  background-color: var(--color-white);
  color: var(--color-primary) !important;
  height: 100%;
  border-radius: 5px;
  padding: 30px 20px 15px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .content-wrapper.information .information-card-inner {
    padding: 20px 0 10px;
  }
}
.information-section .information-card-ttl {
  font-weight: bold;
  font-size: 22px;
}
@media screen and (max-width: 767px) {
  .information-section .information-card-ttl {
    padding: 0 10px;
    font-size: 18px;
  }
}
.information-section .information-card-sub {
  font-size: 22px;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .information-section .information-card-ttl, .information-section .information-card-sub {
    padding: 0 10px;
    font-size: 18px;
  }
  .information-section .ratio-list .information-card-sub {
    padding: 0;
  }
  .information-section .ratio-list .information-card-sub.long {
    letter-spacing: -0.08em;
    font-size: 16px;
  }
}
.information-section .information-card-num {
  margin-top: 10px;
  font-weight: bold;
  line-height: 1;
}
.information-section .information-card-num strong {
  font-size: 70px;
  white-space: nowrap;
}
.information-section .information-card-num strong.long {
  font-size: 56px;
}
.information-section .information-card-num span {
  font-size: 30px;
}
@media screen and (max-width: 767px) {
  .information-section .information-card-num strong {
    font-size: 36px;
  }
  .information-section .information-card-num strong.long {
    font-size: 32px;
  }
  .information-section .information-card-num span {
    font-size: 18px;
  }
}
.information-section .information-card-img img {
  max-width: 100%;
  height: auto;
}
.information-section .ratio-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  .information-section .ratio-list {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 10px;
    padding: 0 10px;
  }
  .information-section .ratio-list li {
    display: flex;
    justify-content: center;
  }
  .information-section .ratio-list li:nth-of-type(even) {
    flex-direction: row-reverse;
  }
}
.information-section .ratio-list .information-card-num {
  margin-top: 8px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .information-section .ratio-list .information-card-num {
    margin-top: 0;
  }
}
.information-section .information-info {
  margin-top: 40px;
}
.information-info-inner {
  align-items: center;
  background-color: var(--color-white);
  padding: 50px 55px;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .information-info-inner {
    padding: 30px;
  }
}
.information-info-box {
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .information-info-box {
    flex-direction: column;
    gap: 20px;
  }
}
.information-section .information-info-text {
  color: var(--color-text) !important;
  width: 60%;
  max-width: 520px;
  font-size: 16px;
  line-height: 1.8;
}
.information-section .information-info-img {
  max-width: 315px;
  width: 37%;
}
@media screen and (max-width: 767px) {
  .information-section .information-info-text {
    width: 100%;
    max-width: none;
  }
  .information-section .information-info-img {
    max-width: 100%;
    width: 100%;
  }
}
.information-section .information-info-img img {
  border-radius: 5px;
}
.information-section .information-info-ttl {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 28px;
  color: var(--color-text-strong) !important;
}
@media screen and (max-width: 767px) {
  .information-section .information-info-ttl {
    font-size: 22px;
    margin-bottom: 20px;
  }
}
.information-section .information-card-text {
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .information-section .information-card-text {
    padding: 0 10px;
    font-size: 14px;
  }
  .information-section .ratio-list li .information-card-text {
    padding: 0;
    margin-left: -10px;
  }
  .information-section .ratio-list li:nth-of-type(even) .information-card-text {
    margin-left: 0;
    margin-right: -10px;
  }
}
.information-section .information-img {
  width: 100%;
  margin: 0 auto;
}
.information-img.img-01 {
  max-width: 110px;
  padding: 13px 0;
}
.information-img.img-02 {
  max-width: 314px;
  padding-top: 6px;
}
.information-img.img-03 {
  max-width: 180px;
  padding: 15px 0;
}
.information-img.img-04 {
  max-width: 168px;
  padding-top: 3px;
}
.information-img.img-05 {
  max-width: 204px;
  padding: 17px 0;
}
.information-img.img-06 {
  max-width: 96px;
  padding: 13px 0 16px;
}
@media screen and (max-width: 767px) {
  .information-img.img-01 {
    max-width: 95px;
    padding: 9px 0;
  }
  .information-img.img-02 {
    max-width: 180px;
    padding: 0 20px;
  }
  .information-img.img-03 {
    max-width: 110px;
    padding: 8px 0;
  }
  .information-img.img-04 {
    max-width: 110px;
    padding-top: 10px;
  }
  .information-img.img-05 {
    max-width: 118px;
    padding: 17px 0;
  }
  .information-img.img-06 {
    max-width: 80px;
    padding: 0;
    margin: 0;
  }
}
/* --- Infomationのデザイン設定ここまで --- */
/*==============================
  ここからインタビューのデザイン設定
================================ */
/*
機能面CSS
*/
/* c-sr_only：スクリーンリーダーには届くが画面上には非表示 */
.c-sr_only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
/* アコーディオン制御用のスタイル */
[data-accordion-dual-button] {
  --accordion-dual-button-gradation-display: block;
  position: relative;
}
@media only screen and (min-width: 768px) {
  [data-accordion-dual-button-trigger][aria-expanded="false"].c-acnt_accBtn {
    display: none !important; /* PCではアコーディオンのトリガーを非表示 */
  }
  [data-accordion-dual-button] {
    --accordion-dual-button-default-height: auto !important; /* ※デバイス幅によって調整したいときに使用 */
  }
  [data-accordion-dual-button-detail]::before {
    display: none; /* PCではグラデーションを非表示 */
  }
}
[data-accordion-dual-button-detail] {
  height: var(--accordion-dual-button-default-height);
  overflow: hidden; /* display: none はNG */
  position: relative;
  transition: height 0.3s;
}
[data-accordion-dual-button-detail]::before {
  background: linear-gradient(180deg,
      rgb(255 255 255 / 0) 0%,
      rgba(255, 255, 255, 0.9) 50%,
      rgba(255, 255, 255, 0.9) 50%,
      var(--color-white) 100%);
  content: "";
  width: 100%;
  height: 170px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  display: var(--accordion-dual-button-gradation-display);
}
/* OPEN */
.is-open [data-accordion-dual-button-detail]::before {
  content: none;
}
[data-accordion-dual-button-detail].animating {
  transition: height 0.6s ease;
}
[data-accordion-dual-button-trigger][aria-expanded="false"] {
  display: grid !important;
  visibility: visible !important;
}
.is-open [data-accordion-dual-button-trigger][aria-expanded="false"] {
  /* display: none !important; */
  visibility: hidden !important;
}
[data-accordion-dual-button-trigger][aria-expanded="true"] {
  /* display: none !important; */
  visibility: hidden !important;
}
.is-open [data-accordion-dual-button-trigger][aria-expanded="true"] {
  display: grid !important;
  visibility: visible !important;
}
/*
デザイン用CSS
*/
.c-acnt_item {
  padding: 50px;
  padding-bottom: 50px;
  background-color: var(--color-white);
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .c-acnt_item {
    padding: 30px;
    padding-bottom: 90px;
  }
}
.c-acnt_accDetail {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
.c-acnt_accDetail>section {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .c-acnt_accDetail>section {
    margin-top: 25px;
  }
}
.c-acnt_accBtn {
  width: 100%;
  max-width: 320px;
  min-height: 56px;
  margin: 0 auto;
  padding: 14px 50px;
  color: var(--color-white);
  border-radius: 7px;
  font-size: 18px;
  font-weight: bold;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  bottom: -120px;
  left: 50%;
  transform: translate(-50%, 0);
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer;
  text-align: center;
  z-index: 2;
  border: none !important;
}
@media (hover: hover) {
  .c-acnt_accBtn:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 767px) {
  .c-acnt_accBtn {
    font-size: 16px;
    max-width: 255px;
    min-height: 40px;
    margin: 0 auto;
    padding: 10px 10px 7px;
    bottom: -65px;
  }
}
.c-acnt_accBtn[aria-expanded="false"] {
  background: var(--color-primary);
}
.c-acnt_accBtn span {
  position: relative;
  padding-right: 24px;
}
.c-acnt_accBtn span::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 12px;
  height: 12px;
  border-bottom: 3px solid var(--color-white);
  border-right: 3px solid var(--color-white);
  transform: translate(-50%, -50%) rotate(45deg);
  top: calc(50% - 3px);
  right: -5px;
}
/* CLOSE */
.c-acnt_accBtn[aria-expanded="true"] {
  background: #DBD9D9;
  color: var(--color-text-strong);
}
.c-acnt_accBtn[aria-expanded="true"] span::before {
  border: none;
  width: 17px;
  height: 3px;
  top: 50%;
  right: -10px;
  background-color: var(--color-text-strong);
  transform: translate(-50%, -50%) rotate(45deg);
}
.c-acnt_accBtn[aria-expanded="true"] span::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 3px;
  height: 17px;
  background-color: var(--color-text-strong);
  transform: translate(-50%, -50%) rotate(45deg);
  top: 50%;
  right: 4px;
}
/* OPEN */
.c-acnt_accordion.is-open {
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-acnt_accordion.is-open {}
}
.c-acnt_accDetail.animating {
  transition: height 0.6s ease;
}
.c-acnt_kv img {
  border-radius: 5px;
  ;
}
@media only screen and (min-width: 768px) {
  .c-acnt_kv {
    max-width: 1000px;
    margin: 0 auto;
  }
}
/* ボタン位置調整（不要なら削除） */
.is-open .c-acnt_accBtn {}
@media only screen and (max-width: 767px) {
  .is-open .c-acnt_accBtn {}
}
.l-acnt_inner {
  width: 100%;
}
.acc-detail-inner {
  overflow: hidden;
}
.acc-detail-inner:not(:first-of-type) {
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .acc-detail-inner:not(:first-of-type) {
    margin-top: 40px;
  }
}
.acc-detail-inner .detail-head {
  float: left;
  max-width: 410px;
  width: 46%;
  margin-right: 40px;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .acc-detail-inner .detail-head {
    float: none;
    width: 100%;
    margin: 0 auto 20px;
  }
}
.acc-detail-inner .detail-txt {
  float: none;
  width: auto;
  line-height: 1.6;
}
.acc-detail-inner .detail-head-title {
  color: var(--color-text-strong);
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .acc-detail-inner .detail-head-title {
    font-size: 18px;
  }
}
.acc-detail-inner .detail-txt p:not(:first-of-type) {
  margin-top: 20px;
}
.acc-detail-inner img {
  margin: 0 auto;
  border-radius: 5px;
}
.interview-head {
  color: var(--color-primary);
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .interview-head {
    font-size: 22px;
  }
}
.interview-head-wrapper {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .interview-head-wrapper {
    margin-top: 20px;
  }
}
.c-acnt_kv .name-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--color-bg);
  padding: 10px 20px;
  border-radius: 5px;
  gap: 20px;
  margin-top: 20px;
}
.c-acnt_kv .flag {
  max-width: 65px;
  width: 100%;
  height: auto;
}
.c-acnt_kv .name {
  font-size: 18px;
  color: var(--color-primary);
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-acnt_kv .name-wrapper {
    flex-direction: column;
    gap: 5px;
  }
  .c-acnt_kv .flag {
    max-width: 55px;
  }
  .c-acnt_kv .name {
    font-size: 16px;
  }
}
/* --- インタビューのデザイン設定ここまで --- */
/*==============================
  ここからFAQのデザイン設定
================================ */
.faq-list {
  list-style: none;
  margin: 40px auto 0;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .faq-list {
    margin: 20px auto 0;
  }
}
.faq-item {
  border-radius: 5px;
  background-color: var(--color-white);
}
.faq-item:not(:last-of-type) {
  margin-bottom: 20px;
}
.faq-question {
  width: 100%;
  text-align: left;
  border: none;
  border-radius: 5px;
  background-color: var(--color-white);
  color: var(--color-primary);
  font-weight: bold;
  padding: 30px;
  font-size: 20px;
  display: flex;
  align-items: center;
  gap: 30px;
  position: relative;
  transition: linear 0.25s;
}
@media screen and (min-width: 768px) {
  .faq-question:hover {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .faq-question {
    gap: 10px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    cursor: pointer;
  }
}
.faq-icon {
  max-width: 70px;
  width: 100%;
  height: 100%;
  transition: linear 0.15s;
}
@media screen and (max-width: 767px) {
  .faq-icon {
    max-width: 50px;
  }
}
.faq-question[aria-expanded="true"] {
  border-radius: 5px 5px 0 0;
  transition: background-color 0.3s;
}
.faq-toggle-icon {
  display: none;
  position: absolute;
  width: 35px;
  height: 35px;
  transform: rotate(0deg);
  transition: transform 0.3s ease;
  top: 30px;
  right: 30px;
  border-radius: 5px;
  background-color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .faq-toggle-icon {
    display: block;
  }
}
.faq-toggle-icon::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 15px;
  height: 15px;
  border-bottom: 4px solid var(--color-white);
  border-right: 4px solid var(--color-white);
  transform: translate(-50%, -50%) rotate(45deg);
  top: calc(50% - 2px);
  right: calc(50% - 15px);
}
.faq-question[aria-expanded="true"] .faq-toggle-icon {
  background-color: #DBD9D9;
}
.faq-question[aria-expanded="true"] .faq-toggle-icon::before {
  border: none;
  width: 20px;
  height: 4px;
  top: calc(50% + 1px);
  right: calc(50% - 20px);
  background-color: var(--color-text-strong);
  transform: translate(-50%, -50%) rotate(45deg);
}
.faq-question[aria-expanded="true"] .faq-toggle-icon::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 4px;
  height: 20px;
  background-color: var(--color-text-strong);
  transform: translate(-50%, -50%) rotate(45deg);
  top: calc(50% + 1px);
  right: calc(50% - 4px);
}
.faq-answer {
  display: flex;
  gap: 30px;
  padding: 30px;
  border-radius: 0 0 5px 5px;
  background-color: var(--color-white);
  position: relative;
}
@media screen and (max-width: 767px) {
  .faq-answer {
    gap: 10px;
    flex-direction: column;
  }
}
.faq-answer::before {
  content: "";
  position: absolute;
  display: inline-block;
  width: calc(100% - 60px);
  height: 2px;
  top: 0;
  left: 30px;
  background-color: var(--color-primary);
}
.faq-answer p {
  font-size: 16px;
  line-height: 1.5;
  padding-top: 5px;
}
.faq-answer a {
  color: #0067DE !important;
  text-decoration: underline !important;
}
@media screen and (max-width: 767px) {
  .faq-answer p {
    font-size: 16px;
  }
}
/* --- FAQのデザイン設定ここまで --- */
/* ==============================
  ここから追従のデザイン設定
================================ */
.fixed-cta-wrapper {
  position: relative;
  padding-bottom: 70px;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  background-color: var(--color-bg);
}
.fixed-cta-contents {
  display: flex;
  justify-content: center;
  max-width: 1060px;
  padding: 0 30px;
  width: 100%;
  margin: 0 auto;
  pointer-events: none;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .fixed-cta-contents {
    justify-content: flex-start;
  }
}
.fixed-cta-contents.is-fixed {
  max-width: 1060px;
  width: 100%;
  margin: 0 auto;
  padding: 0 30px;
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 12px;
  z-index: 8;
  opacity: 1;
}
.fixed-cta-contents .cta-content {
  padding: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .fixed-cta-contents .cta-content {
    width: calc(100% - 50px);
  }
}
.fixed-cta-contents a.btn {
  max-width: 500px;
  width: 100%;
  min-height: 70px;
  margin: 0 auto;
  pointer-events: auto;
}
@media screen and (min-width: 768px) {
  .fixed-cta-contents a.btn:hover {
    opacity: .8;
  }
}
.page-top-btn-content {
  display: flex;
  position: absolute;
  height: 100%;
  top: calc(50% - 35px);
  right: 0;
}
@media screen and (max-width: 767px) {
  .page-top-btn-content {
    top: calc(50% - 30px);
  }
}
.cta-wrapper.is-fixed .page-top-btn-content {
  right: 10px;
}
.page-top-btn-content .page-top-btn {
  width: 70px;
  height: 70px;
  background: var(--color-primary);
  color: var(--color-white);
  border: 3px solid var(--color-white);
  font-weight: bold;
  border-radius: 10px;
  font-size: 15px;
  line-height: 1;
  padding-top: 22px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  position: relative;
  pointer-events: auto;
  right: 30px;
}
@media screen and (max-width: 767px) {
  .page-top-btn-content .page-top-btn {
    right: 0;
    width: 70px;
    height: 60px;
    border-radius: 10px 0 0 10px;
    padding-top: 18px;
    border-right: none;
  }
}
.page-top-btn-content .page-top-btn::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 16px;
  height: 16px;
  border-top: 4px solid var(--color-white);
  border-right: 4px solid var(--color-white);
  transform: translate(-50%, -50%) rotate(-45deg);
  top: calc(50% - 5px);
  left: 50%;
  transition: linear 0.25s;
}
/* --- 追従のデザイン設定ここまで --- */
/* ==============================
  ここからフッターロゴのデザイン設定
================================ */
.foot-logo-wrapper {
  background-color: var(--color-bg);
  padding: 60px 0;
}
@media screen and (max-width: 767px) {
  .foot-logo-wrapper {
    padding: 30px 0;
  }
}
.foot-logo-wrapper img {
  max-width: 190px;
  width: 100%;
  display: block;
  margin: 0 auto;
}
/* --- フッターロゴのデザイン設定ここまで --- */
/* ==============================
  ここからSNSのデザイン設定
================================ */
.css-social {
  background-color: var(--color-bg);
}
/* --- SNSのデザイン設定ここまで --- */