@charset "UTF-8";
/* main colors */
.front_content_wrapper {
  display: flex;
  justify-content: center;
  /* コンテンツを中央へ */
  align-items: flex-start;
  /* stickyを動かすために必須 */
  width: 100%;
  position: relative;
}

.home_contents_wrapper {
  width: 100%;
  position: relative;
}

/*トップページのスタイル*/
.main_visual {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  background-image: image-set(url(../img/common/fixed_back.png) 1x, url(../img/common/fixed_back@2x.png) 2x);
  background-size: 100%;
  background-repeat: repeat;
  background-color: #F7F7F7;
}
@media (min-width: 1024px) {
  .main_visual {
    min-height: 768px;
  }
}
.main_visual picture {
  width: 100%;
  height: 100%;
}
.main_visual img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
.main_visual_textImg {
  position: absolute;
  top: 110px;
  left: 20px;
  width: clamp(199px, 51.0256410256vw, 280px);
  z-index: 5;
}
@media (min-width: 920px) {
  .main_visual_textImg {
    top: 16.796875%;
    left: 2.8571428571%;
    width: clamp(280px, 24.8571428571vw, 348px);
  }
}
@media (min-width: 1920px) {
  .main_visual_textImg {
    top: 17.3447537473%;
    left: 4.1666666667%;
    width: 26.5104166667vw;
  }
}
.main_visual_img {
  position: absolute;
  visibility: hidden;
  animation: fadeInOnly 0.8s ease-out forwards;
}
.main_visual_img.num_1 {
  animation-delay: 0.2s;
}
.main_visual_img.num_2 {
  animation-delay: 0.4s;
}
.main_visual_img.num_3 {
  animation-delay: 0.6s;
}
.main_visual_img.num_4 {
  animation-delay: 0.8s;
}
.main_visual_img.num_5 {
  animation-delay: 1s;
}
.main_visual_img.num_6 {
  animation-delay: 1.2s;
}
.main_visual_img.num_7 {
  animation-delay: 1.4s;
}
.main_visual_img.num_1 {
  top: 42.0616113744%;
  left: 50%;
  transform: translateX(-50%);
  width: min(500px, 73.0769230769vw);
  z-index: 4;
}
@media (min-width: 1026px) {
  .main_visual_img.num_1 {
    top: auto;
    bottom: 9.2447916667%;
    width: 49.2857142857vw;
  }
}
@media (min-width: 1920px) {
  .main_visual_img.num_1 {
    top: 21.4132762313%;
    width: 49.4791666667vw;
  }
}
.main_visual_img.num_2 {
  top: 21.4454976303%;
  left: 0;
  width: min(400px, 47.4358974359vw);
  z-index: 1;
}
@media (min-width: 1026px) {
  .main_visual_img.num_2 {
    top: -0.78125%;
    left: 25.3571428571%;
    width: 23.9285714286vw;
  }
}
@media (min-width: 1920px) {
  .main_visual_img.num_2 {
    top: -14.0256959315%;
    left: 25.2604166667%;
    width: 24.21875vw;
  }
}
.main_visual_img.num_3 {
  top: 11.7298578199%;
  right: 0;
  width: min(400px, 47.4358974359vw);
  z-index: 1;
}
@media (min-width: 1026px) {
  .main_visual_img.num_3 {
    top: -9.5052083333%;
    right: 25.3571428571%;
    width: 23.9285714286vw;
  }
}
@media (min-width: 1920px) {
  .main_visual_img.num_3 {
    top: -23.8758029979%;
    right: 25.2604166667%;
    width: 24.21875vw;
  }
}
.main_visual_img.num_4 {
  top: 28.672985782%;
  right: 0;
  width: min(400px, 47.4358974359vw);
  z-index: 3;
}
@media (min-width: 1026px) {
  .main_visual_img.num_4 {
    top: 23.046875%;
    width: 23.9285714286vw;
  }
}
@media (min-width: 1920px) {
  .main_visual_img.num_4 {
    top: 12.8479657388%;
    width: 24.21875vw;
  }
}
.main_visual_img.num_5 {
  bottom: 17.5355450237%;
  right: 0;
  width: min(300px, 35.8974358974vw);
  z-index: 1;
}
@media (min-width: 1026px) {
  .main_visual_img.num_5 {
    bottom: 0;
    width: 23.9285714286vw;
  }
}
@media (min-width: 1920px) {
  .main_visual_img.num_5 {
    width: 24.21875vw;
  }
}
.main_visual_img.num_6 {
  bottom: 0;
  left: 0;
  width: min(500px, 73.8461538462vw);
  z-index: 1;
}
@media (min-width: 1026px) {
  .main_visual_img.num_6 {
    bottom: 0;
    left: 2.7857142857%;
    width: 34.5714285714vw;
  }
}
@media (min-width: 1920px) {
  .main_visual_img.num_6 {
    left: 4.1666666667%;
    width: 34.5833333333vw;
  }
}
.main_visual_img.num_7 {
  bottom: 11.6113744076%;
  left: 0;
  width: min(300px, 55.1282051282vw);
  z-index: 2;
}
@media (min-width: 1026px) {
  .main_visual_img.num_7 {
    bottom: 30.7291666667%;
    width: 23.9285714286vw;
  }
}
@media (min-width: 1920px) {
  .main_visual_img.num_7 {
    bottom: 34.26124197%;
    width: 24.21875vw;
  }
}

@keyframes fadeInOnly {
  from {
    opacity: 0;
    visibility: hidden;
  }
  to {
    opacity: 1;
    visibility: visible;
  }
}
.home_contents {
  max-width: 540px;
  margin: 0 auto;
}

.subpage_link_item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #E3E3E3;
}
.subpage_link_item.gray {
  border-bottom: 1px solid #CCCCCC;
}
.subpage_link_item:nth-child(n+2) {
  padding-top: 16px;
}
.subpage_link_item_text {
  font-weight: 600;
  font-size: 16px;
  line-height: 1.4;
}

.main_visual_area {
  width: 100%;
  height: 100vh;
  position: relative;
}
@media (min-width: 1024px) {
  .main_visual_area {
    min-height: 768px;
  }
}
.main_visual_area .main_visual_area_title {
  position: absolute;
  bottom: 25.355450237%;
  left: 8.2051282051%;
  width: 73.8461538462vw;
}
@media (min-width: 1026px) {
  .main_visual_area .main_visual_area_title {
    width: 59.3571428571vw;
    bottom: 5.2083333333%;
    left: 16.2857142857%;
  }
}
@media (min-width: 1920px) {
  .main_visual_area .main_visual_area_title {
    bottom: 5.9957173448%;
    left: 15.5208333333%;
    width: 56.3020833333vw;
  }
}
.main_visual_area .main_visual_area_title img {
  width: 100%;
}
.main_visual_area .main_visual_area_text {
  position: absolute;
}
.main_visual_area .main_visual_area_text img {
  width: 100%;
}
.main_visual_area .main_visual_area_text.num_1 {
  top: 24.8815165877%;
  right: 12.5641025641%;
  width: 36.9230769231vw;
}
@media (min-width: 1026px) {
  .main_visual_area .main_visual_area_text.num_1 {
    top: 24.7395833333%;
    right: 22.0714285714%;
    width: 18.2857142857vw;
  }
}
@media (min-width: 1920px) {
  .main_visual_area .main_visual_area_text.num_1 {
    top: 14.7751605996%;
    right: 22.8645833333%;
    width: 17.5vw;
  }
}
.main_visual_area .main_visual_area_text.num_2 {
  top: 40.9952606635%;
  left: 5.1282051282%;
  width: 46.1538461538vw;
}
@media (min-width: 1026px) {
  .main_visual_area .main_visual_area_text.num_2 {
    top: auto;
    bottom: 34.375%;
    left: 18%;
    width: 22.8571428571vw;
  }
}
@media (min-width: 1920px) {
  .main_visual_area .main_visual_area_text.num_2 {
    bottom: 38.5438972163%;
    left: 17.6041666667%;
    width: 21.875vw;
  }
}
.main_visual_area .main_visual_area_text.num_3 {
  bottom: 41.2322274882%;
  right: 5.1282051282%;
  width: 4.6153846154vw;
}
@media (min-width: 1026px) {
  .main_visual_area .main_visual_area_text.num_3 {
    bottom: 18.4895833333%;
    right: 20.5%;
    width: max(32px, 2.2857142857vw);
  }
}
@media (min-width: 1920px) {
  .main_visual_area .main_visual_area_text.num_3 {
    bottom: 22.4839400428%;
    right: 20.46875%;
    width: 2.1875vw;
  }
}
.main_visual_area .main_visual_area_text.num_4 {
  bottom: 90px;
  right: 20px;
  width: 23.0769230769vw;
}
@media (min-width: 1026px) {
  .main_visual_area .main_visual_area_text.num_4 {
    bottom: 20px;
    right: 20px;
    width: 12.3571428571vw;
  }
}
@media (min-width: 1920px) {
  .main_visual_area .main_visual_area_text.num_4 {
    bottom: 4.2826552463%;
    right: 2.0833333333%;
    width: 11.8229166667vw;
  }
}

.news_section {
  padding: 80px 0 40px;
  background: #FFFFFF;
}

.title_link_wrapper {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
}

.message_section {
  padding: 40px 0 80px;
  background: #FFFFFF;
}
.message_section .message_text_wrapper {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 24px;
}
@media (min-width: 768px) {
  .message_section .message_text_wrapper {
    margin-top: 40px;
  }
}
.message_section .message_text_wrapper .message_main_title {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 0.03em;
}
@media (min-width: 390px) {
  .message_section .message_text_wrapper .message_main_title .br_sp {
    display: none;
  }
}
.message_section .message_text_wrapper .message_small_text_wrapper {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.about_section {
  background: #FFFFFF;
}
.about_section_top {
  background-image: image-set(url(../img/top/about_back.jpg) 1x, url(../img/top/about_back.jpg) 2x);
  background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
  min-height: 680px;
}
.about_section_top_main {
  display: flex;
  align-items: end;
  min-height: 680px;
  padding-bottom: 24px;
}
@media (min-width: 768px) {
  .about_section_top_main {
    padding-bottom: 40px;
  }
}
.about_section_top_main_inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.about_section_bottom {
  padding: 24px 20px 80px;
}
@media (min-width: 768px) {
  .about_section_bottom {
    padding: 40px 40px 80px;
  }
}

.job_section {
  padding: 80px 0;
  background-color: #EBEFF3;
  background-image: image-set(url(../img/top/job_back.png) 1x, url(../img/top/job_back.png) 2x);
  background-size: 100%;
  background-repeat: repeat;
}

.job_link {
  display: flex;
  flex-direction: column;
}
.job_link_container {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-top: 40px;
}

.requirement_section {
  background: #FFFFFF;
  padding: 155px 0 40px;
  background-image: image-set(url(../img/top/requirement_back.jpg) 1x, url(../img/top/requirement_back@2x.jpg) 2x);
  background-size: 100%;
  background-position: center top;
  background-repeat: no-repeat;
}

.recruit_tab_container {
  margin-top: 40px;
}
.recruit_tab_container .tab_nav {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.recruit_tab_container .tab_nav .tab_btn {
  flex: 1;
  padding: 16px;
  text-align: center;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: #CCCCCC;
  border-radius: 4px 4px 0 0;
  max-width: 43%;
}
.recruit_tab_container .tab_nav .tab_btn_text {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.4;
}
.recruit_tab_container .tab_nav .tab_btn .arrow_active {
  display: none;
}
.recruit_tab_container .tab_nav .tab_btn .arrow_inactive {
  display: block;
}
.recruit_tab_container .tab_nav .tab_btn.active {
  color: #FFFFFF;
  background: #004098;
}
.recruit_tab_container .tab_nav .tab_btn.active .arrow_active {
  display: block;
}
.recruit_tab_container .tab_nav .tab_btn.active .arrow_inactive {
  display: none;
}
.recruit_tab_container .tab_panel {
  display: none;
  border-radius: 4px;
  padding: 32px;
  border: 2px solid #004098;
  background: #FFFFFF;
}
.recruit_tab_container .tab_panel.active {
  display: block;
}
.recruit_tab_container {
  /* 個々のアコーディオンリストを囲うタグ */
}
.recruit_tab_container .accordion {
  width: 100%;
  padding: 24px 0;
  border-top: 1px solid #E3E3E3;
}
.recruit_tab_container .accordion:last-child {
  padding-bottom: 0;
}
.recruit_tab_container {
  /* アコーディオンのタイトル・内容共通 */
}
.recruit_tab_container .accordion_header,
.recruit_tab_container .accordion_content {
  display: flex;
  align-items: center;
  justify-content: center;
}
.recruit_tab_container {
  /* アコーディオンのタイトル */
}
.recruit_tab_container .accordion_header {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.recruit_tab_container .accordion_header_text {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0.03em;
  padding-left: 14px;
  position: relative;
}
.recruit_tab_container .accordion_header_text::before {
  position: absolute;
  content: "";
  background-color: #FDD000;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.recruit_tab_container .accordion_header_plus {
  width: 16px;
  height: 2px;
  background-color: #004098;
  transition: transform 0.3s ease-in-out;
  position: relative;
  flex-shrink: 0;
}
.recruit_tab_container .accordion_header_plus::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 2px;
  height: 16px;
  background-color: #004098;
  transition: translate 0.3s ease-in-out, rotate 0.3s ease-in-out;
  flex-shrink: 0;
}
.recruit_tab_container .accordion_header {
  /* 開いた時の動き */
}
.recruit_tab_container .accordion_header.open .accordion_header_plus {
  transform: rotate(180deg);
}
.recruit_tab_container .accordion_header.open .accordion_header_plus::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.recruit_tab_container {
  /* アコーディオンの内容 */
}
.recruit_tab_container .accordion_content {
  display: none;
}
.recruit_tab_container .accordion_content_inner {
  display: flex;
  flex-direction: column;
}
.recruit_tab_container .accordion_content_inner:first-child {
  margin-top: 24px;
}
.recruit_tab_container .accordion_content_inner:last-child .accordion_content_inner_text {
  padding-bottom: 0;
}
.recruit_tab_container .accordion_content_inner_title {
  font-weight: 700;
  font-size: 14px;
  line-height: 1.4;
  padding: 10px;
  background: #EBEFF3;
}
.recruit_tab_container .accordion_content_inner_text {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  padding: 16px 10px;
}

.faq_section {
  padding: 40px 0 80px;
  background: #FFFFFF;
}

/* アコーディオンリスト全体を囲うタグ */
.faq_accordion_wrapper {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 40px;
}

.faq_accordion {
  border: 1px solid #004098;
  border-radius: 4px;
}

/* アコーディオンのタイトル・内容共通 */
.faq_accordion_header,
.faq_accordion_content {
  display: flex;
  align-items: center;
  padding: 20px;
}

/* アコーディオンのタイトル */
.faq_accordion_header {
  cursor: pointer;
  background-color: #004098;
  color: #FFFFFF;
  position: relative;
  justify-content: space-between;
  gap: 8px;
}
.faq_accordion_header_inner {
  display: flex;
  align-items: center;
  gap: 8px;
}
.faq_accordion_header_q {
  padding: 8px 10px;
  background: #FFFFFF;
  border-radius: 999px;
  color: #004098;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  text-align: center;
  flex-shrink: 0;
}
.faq_accordion_header_text {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0.03em;
}
.faq_accordion_header_plus {
  width: 16px;
  height: 2px;
  background-color: #FFFFFF;
  transition: transform 0.3s ease-in-out;
  position: relative;
}
.faq_accordion_header_plus::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 2px;
  height: 16px;
  background-color: #FFFFFF;
  transition: translate 0.3s ease-in-out, rotate 0.3s ease-in-out;
}
.faq_accordion_header {
  /* 開いた時の動き */
}
.faq_accordion_header.open .faq_accordion_header_plus {
  transform: rotate(180deg);
}
.faq_accordion_header.open .faq_accordion_header_plus::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

/* アコーディオンの内容 */
.faq_accordion_content {
  display: none;
}
.faq_accordion_content_inner {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.faq_accordion_content_a {
  padding: 8px 10px;
  background: #FDD000;
  border-radius: 999px;
  color: #323232;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  text-align: center;
  max-width: 32px;
}/*# sourceMappingURL=home.css.map */