@charset "utf-8";

@media screen and (min-width: 769px) {
  .pc_none {
    display: none !important;
  }
}
@media screen and (min-width: 499px) {
  .tab_none {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .sp_none {
    display: none !important;
  }
}

@media screen and (min-width: 1999px) {
  .sub_mv {
    max-width: 1650px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1500px) {
}

@media screen and (max-width: 999px) {
  /* Header
	------------------------------ */
  .header {
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
    transition: 0.3s;
  }
  .header.header_fixed {
  }
  .header_top {
    display: none;
  }
  .header_fixed .header_body {
    display: block;
  }
  .header_logo {
    max-width: 350px;
    width: clamp(212px, 70vw, 350px);
    gap: 4px;
  }
  .header_logo span{
    padding: 4px 3px 5px;
  }

  .header_links {
    display: none;
  }
  .header_nav {
    display: none;
  }
  .header_hamburger_area {
    display: block;
  }

  main {
    margin-top: 70px;
  }
}

@media screen and (max-width: 768px) {
  body {
  }
  .wrapper {
    max-width: 640px;
    padding: 0 24px;
  }
  a[href*="tel:"] {
    pointer-events: auto;
    cursor: pointer;
  }
  a.fax[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }

  main {
    margin-top: 70px;
  }

  .section_title_top_center {
    gap: 5px;
  }
  .section_title_top_center_en {
    font-size: 1.4rem;
  }
  .section_title_top_center_ja {
    font-size: clamp(2.4rem, 3.9vw, 3rem);
  }
  .section_title_blue {
    padding: 16px 16px;
  }
  .button_white {
    padding: 14px 30px 14px clamp(14px, 3.73vw, 20px);
    font-size: clamp(1.2rem, 2.1vw, 1.4rem);
  }
  .button_white::before {
    right: 10px;
    width: 18px;
    height: 18px;
  }

  .button_blue {
    padding: 14px 30px 14px clamp(14px, 3.73vw, 20px);
    font-size: clamp(1.2rem, 2.1vw, 1.4rem);
  }
  .button_blue::before {
    right: 10px;
    width: 18px;
    height: 18px;
  }

  /* Header
	------------------------------ */
  .header {
    height: 60px;
  }
  .header.header_fixed {
    height: 60px;
  }


  .header_hamburger_area {
  width: 60px;
  height: 60px;
}
.header_hamburger span {
  height: 2px;
 width: 25px;
}
.header_hamburger span:nth-of-type(1) {
  top: 15px;
}
.header_hamburger span:nth-of-type(2) {
  top: 24px;
}
.header_hamburger span:nth-of-type(3) {
  top: 33px;
}
.header_hamburger span:nth-of-type(4) {
  top: 43px;
width: 60px;
  font-size: 1.2rem;
  
}
.header_hamburger.is_open span:nth-of-type(1) {
  top: 24px;
}

.header_hamburger.is_open span:nth-of-type(3) {
  top: 24px;
}

  /* top - top_mv
------------------------------ */
  .top_mv {
    position: relative;
  }

  .top_mv_wrapper {
  }
  .top_mv_logo {
    position: static;
    top: auto;
    left: auto;
    margin: 0 auto;
    transform: none;
    padding-top: 40px;
    max-width: 80%;
  }

  .top_mv_buttons {
    padding: 25px 0;
    background: linear-gradient(
      104deg,
      #1da8db 0%,
      #1b54c7 49.52%,
      #0d2961 100%
    );
    position: relative;
    z-index: 2;
  }
  .top_mv_buttons_content {
    gap: clamp(4px, 1.6vw, 20px);
    flex-wrap: nowrap;
  }
  .top_mv_button {
    width: 100%;
    max-width: 260px;
    min-width: auto;
  }
  /* top_message
------------------------------ */
  .top_message {
    padding: 60px 0 60px;
  }
  .top_message::before {
  }
  .top_message_texts {
    padding-top: 40px;
  }
  .top_message_text {
    font-size: 1.6rem;
    line-height: 2;
  }
  .top_message_text + .top_message_text {
    padding-top: 16px;
  }

  /* top_data
------------------------------ */
  .top_data {
    padding: 60px 0;
  }
  .top_data_items {
    padding-top: 30px;
  }
  .top_data_items_row {
    display: grid;
    gap: clamp(5px, 0.66vw, 10px);
  }
  .top_data_items_row + .top_data_items_row {
    padding-top: 5px;
  }
  .top_data_items_row.top_data_items_row_first,
  .top_data_items_row.top_data_items_row_second,
  .top_data_items_row.top_data_items_row_third,
  .top_data_items_row.top_data_items_row_fourth {
    grid-template-columns: 1fr;
  }

  .top_data_items_row.top_data_items_row_fifth,
  .top_data_items_row.top_data_items_row_sixth {
    grid-template-columns: 1fr 1fr;
    max-width: 450px;
    margin: 0 auto;
  }

  .top_data_item {
    width: 100%;
    max-width: 450px;
    margin: 0 auto;
    place-items: center top;
    padding-block: 20px;
  }
  .top_data_item_content {
    width: 100%;
    max-width: 400px;
  }
  .top_data_item_content.top_data_item_content_first,
  .top_data_item_content.top_data_item_content_second,
  .top_data_item_content.top_data_item_content_third,
  .top_data_item_content.top_data_item_content_fourth_left,
  .top_data_item_content.top_data_item_content_fourth_right,
  .top_data_item_content.top_data_item_content_fifth,
  .top_data_item_content.top_data_item_content_sixth {
    grid-template-columns: 1fr;
    gap: 5px;
  }
  .top_data_item_content_left {
    display: grid;
    place-items: center;
  }
  .top_data_item_content_right {
    display: grid;
    place-items: center;
    gap: 6px;
  }
  .top_data_item_title {
    text-align: center;
  }
  .top_data_item_numbers.raise {
    display: flex;
    justify-content: center;
    gap: 24px;
  }
  .top_data_item_img,
  .top_data_item_img.medium,
  .top_data_item_content_second .top_data_item_img,
  .top_data_item_img.bottom,
  .top_data_item_img.bottom_medium {
    width: 100%;
    max-width: clamp(60px, 6vw, 80px);
    padding-top: 0;
    margin: 8px auto;
  }
  .top_data_item_img.top_data_item_img_number {
    width: 100%;
    max-width: 300px;
  }
  .top_data_item_body {
    text-align: right;
    line-height: 0;
  }
  .top_data_item_num {
    font-size: clamp(4rem, 12vw, 5rem);
  }
  .top_data_item_num_small {
    display: flex;
    align-items: center;
    gap: 3px;
  }
  .top_data_item_num.small {
    font-size: 3rem;
  }

  .top_data_item_num_big {
    text-align: center;
    justify-content: center;
  }

  .top_data_item_num_name {
    color: #0262ca;
    font-size: clamp(1.4rem, 1.3vw, 2rem);
    line-height: 1.4;
  }
  .top_data_item_num_small_wrapper {
    justify-content: center;
  }
  .top_data_item_annotation {
    text-align: center;
  }
  .top_data_annotation {
    max-width: 450px;
    margin: 0 auto;
    padding-top: 4px;
  }

  /* section_top_work
------------------------------ */
  .top_work {
    padding: 60px 0 80px;
  }
  .top_work_content {
    padding-top: 40px;
    padding-bottom: 60px;
  }
  .top_work_maintenance {
    background: #fff;
  }
  .top_work_subtitle {
    padding: 20px 20px 22px;
  }
  .top_work_maintenance_wrapper {
    padding: 26px clamp(16px, 5vw, 34px) 40px;
  }
  .top_work_maintenance_head {
    flex-direction: column;
    gap: 22px;
  }
  .top_work_maintenance_head_texts {
    width: 100%;
    flex-grow: 1;
  }
  .top_work_maintenance_head_title {
    font-weight: 700;
  }
  .top_work_maintenance_head_text {
    padding-top: 0;
  }
  .top_work_maintenance_head_img {
    max-width: none;
    margin: 0 auto;
  }
  .top_work_maintenance_body {
    margin-top: 30px;
  }

  .top_work_maintenance_body_measurements {
    padding-top: 16px;
    gap: 10px;
  }
  .top_work_maintenance_body_measurement {
    padding: 10px 13px;
  }
  .top_work_maintenance_body_locations {
    padding-top: 16px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px clamp(10px, 1.25vw, 32px);
  }

  .top_work_maintenance_body_location_name {
    font-size: 1.6rem;
  }
  .top_work_maintenance_button {
    padding-top: 30px;
  }
  .top_work_bottom {
    padding-top: 46px;
    grid-template-columns: 1fr;
    gap: 46px;
  }
  .top_work_bottom_item {
    padding-bottom: 40px;
  }
  .top_work_bottom_item_lead {
    padding-top: 26px;
  }
  .top_work_bottom_item_img {
    padding: 22px clamp(16px, 5vw, 34px) 0;
  }
  .top_work_bottom_item_text {
    padding: 22px clamp(16px, 5vw, 34px) 0;
  }
  .top_work_bottom_item_button {
    padding-top: 30px;
    max-width: 260px;
  }
  /* section_top_interview
------------------------------ */
  .top_interview {
    padding: 60px 0;
  }
  .top_interview_cards {
    padding-top: 40px;
  }
  .top_interview_card {
    background: linear-gradient(
      129deg,
      rgba(230, 250, 255, 0.25) 3.17%,
      rgba(189, 242, 255, 0.25) 50.53%,
      rgba(77, 143, 249, 0.25) 97.89%
    );
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    gap: 0;
  }

  .top_interview_card_text {
    padding: 18px 16px 0;
  }
  .top_interview_card_title {
    padding: 12px 16px 0;
  }
  .top_interview_card_button {
    padding-top: 18px;
    padding-inline: 16px;
    padding-bottom: 30px;
    max-width: 260px;
  }
  .button_blue_card {
    padding: 14px 30px 14px clamp(14px, 3.73vw, 20px);
    font-size: clamp(1.2rem, 2.1vw, 1.4rem);
  }
  .button_blue_card::before {
    right: 10px;
    width: 18px;
    height: 18px;
  }
  .top_interview_cta {
    padding-top: 60px;
  }

  /* section_top_environment
------------------------------ */
  .top_environment {
    padding-bottom: 60px;
  }
  .top_environment_head {
    flex-direction: column-reverse;
  }
  .top_environment_head_left {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    height: auto;
    max-width: none;
  }
  .top_environment_head_swiper {
    height: 100%;
    position: relative;
  }
  .top_environment_head_swiper_slide {
    height: 100%;
    width: 200px;
  }
  .top_environment_head_swiper_slide img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
  }
  .top_environment_head_right {
    padding-block: 60px 30px;
    margin-inline: calc(50% - 50vw);
    padding-inline: calc(50vw - 50%);
  }
  .top_environment_head_text {
    padding-top: 30px;
  }
  .top_environment_benefit {
    padding-top: 40px;
  }
  .top_environment_benefit_title {
    font-size: clamp(2.4rem, 5vw, 3rem);
  }
  .top_environment_benefit_lead {
    padding-top: 20px;
  }
  .top_environment_benefit_list {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    padding-top: 30px;
    gap: 10px;
  }

  .top_environment_benefit_list_item_title {
    padding: 10px 20px;
  }
  .top_environment_benefit_list_item_text {
    padding: 10px 20px;
  }
  /* section_top_news
------------------------------ */

  .top_news {
    padding: 60px 0 0;
  }
  .top_news_list {
    padding-top: 30px;
  }
  .top_news_button_container {
    padding-top: 40px;
    max-width: 200px;
  }

  /* cta
------------------------------ */

  .cta_content {
    flex-direction: column;
  }
  .cta_texts {
    padding: 30px clamp(10px, 3.125vw, 30px);
  }
  .cta_title {
    padding-bottom: 10px;
  }
  .cta_lead {
    padding-top: 16px;
  }

  .cta_buttons {
    flex-wrap: nowrap;
    display: flex;
    inset-block-start: ;
    padding-top: 24px;
    place-items: center;
    max-width: none;
    gap: clamp(5px, 1.3vw, 20px);
    justify-content: center;
  }
  .cta_button {
    min-width: auto;
    max-width: 240px;
  }
  .cta_images {
    height: clamp(100px, 26vw, 200px);
    flex-direction: row;
    width: 100%;
    max-width: none;
  }
  .cta_images::before {
    content: "RECRUIT";

    font-size: clamp(5rem, 11.7vw, 9rem);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    right: clamp(40px, 10.6vw, 160px);
    width: fit-content;
    height: fit-content;
    bottom: -9px;
  }
  .cta_image {
    height: 100%;
    width: 50%;
  }

  /* sub
------------------------------ */

  .sub_mv {
    min-height: 300px;
    background-position: left 20% bottom 0;
    background-size: 180px auto;
  }

  .sub_mv_title_container {
    top: 25%;
  }
  .sub_mv_title {
    font-size: clamp(2rem, 3.33vw, 3rem);
  }
  .sub_wrapper {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .sub_main_wrapper {
    width: 100%;
  }

  .sub_side_wrapper {
    width: 100%;
    max-width: 350px;
    margin-inline: auto;
  }

  /* news_archive
------------------------------ */
  .news_archive {
    padding: 60px 0 0;
  }

  .news_archive_item_title {
    line-height: 1.3;
    font-size: 1.8rem;
    padding-top: 0px;
  }
  .news_archive_item_unit {
    flex-direction: column;
    align-items: flex-start;
  }
  .news_archive_item_cat {
    padding: 0 15px;
  }

  /* news_single
------------------------------ */

  .news_single {
    padding: 60px 0 80px;
  }
  .news_single_article_info {
    gap: 8px 15px;
  }

  .news_single_products {
    flex-direction: column;
    gap: 25px;
  }
  .news_single_products_image {
    width: 100%;
    max-width: none;
  }
  .news_single_products_image_wrapper {
    max-width: 150px;
    width: clamp(100px, 26vw, 150px);
  }
  .news_single_products_texts {
    max-width: none;
    width: 100%;
  }
  .news_single_products_overview {
  }

  .news_single_products_overview dl {
    grid-template-columns: clamp(110px, 29vw, 156px) auto;
  }
  .news_single_products_overview dt {
    padding: 14px clamp(10px, 1.3vw, 14px) 15px;
  }

  .news_single_products_button {
    padding-top: 40px;
    max-width: 280px;
    margin: 0 auto;
  }
  .news_single_products_annotation {
    font-size: 1.6rem;
    padding-top: 38px;
  }

  /* news_archive_side
------------------------------ */
  .news_archive_side {
    padding-top: 60px;
  }

  /* interview_archive
------------------------------ */
  .interview_archive_main {
    padding-top: 40px;
  }
  .interview_archive_main_item + .interview_archive_main_item {
    margin-top: 40px;
  }

  .interview_archive_main_item_wrapper {
    padding: 20px 16px 30px;
  }
  .interview_archive_main_item_top {
    display: block;
    gap: clamp(10px, 3.2vw, 48px);
  }

  .interview_archive_main_item_title {
    padding: 3px 18px 3px 36px;
  }
  .interview_archive_main_item_image {
    margin-top: 20px;
  }
  .interview_archive_main_item_title span::before {
    font-size: 1.4rem;
  }
  .interview_archive_main_item_message {
    padding-top: 18px;

    padding-bottom: 20px;
  }
  .interview_archive_main_item_list {
  }
  .interview_archive_main_item_list_item
    + .interview_archive_main_item_list_item {
    padding-top: 24px;
  }
  .interview_archive_main_item_list_item_title {
    padding-bottom: 6px;
    font-size: 1.8rem;
  }
  .interview_archive_main_item_list_item_text {
    padding-top: 6px;
  }
  .interview_archive_main_item_bottom {
    flex-direction: column;
    gap: 20px;
    padding-top: 20px;
  }

  .interview_archive_main_item_bottom_right {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    gap: 5px;
  }
  /* entry
------------------------------ */
  .entry_flow {
    padding-top: 40px;
  }
  .entry_flow_content {
    padding: 60px clamp(20px, 2.6vw, 40px) 48px;
  }
  .entry_flow_cards {
    grid-template-columns: 1fr;
    gap: 50px;
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
  }
  .entry_flow_card {

    padding: 50px 20px 18px;
  }
  .entry_flow_card:not(:last-child)::before {
 
    top: auto;
    right: 50%;
    transform: translateX(50% ) rotate(90deg);
    bottom: -10px;
  
  }
  .entry_flow_card_number {
    position: absolute;
    top: -37px;
    left: 50%;
    transform: translateX(-50%);
    color: #0262ca;

    text-align: center;
    font-size: 6rem;
    font-weight: 700;
    line-height: 1;
  }

  .entry_flow_card_title {
    color: #184399;
    text-align: center;
    font-size: clamp(2rem, 1.73vw, 2.6rem);
    font-weight: 700;
    line-height: 1.15;
  }
  .entry_flow_card_img {
    width: 100%;
    max-width: 94px;
    margin: 0 auto;
    margin-top: 20px;
  }
  .entry_flow_card_text {
    margin-top: 23px;
  }
  .entry_flow_annotation {
    padding-top: 40px;
    text-align: center;
  }

  /* 404
	------------------------------ */
  .not_found {
    margin-top: 50px;
    padding-bottom: 130px;
  }

  /* footer
	------------------------------ */
  .cta_footer_wrapper {
    padding-top: 60px;
  }
  .footer {
    padding: 60px 0 70px;
  }
  .footer::before {
    height: 236px;
    top: clamp(-100px, -10vw, -40px);
  }
  .footer_logo {
    max-width: 400px;
  }
  .footer_nav {
    display: none;
  }

  .cta_footer {
    padding-bottom: 80px;
  }
  /* page_top
	------------------------------ */
  .page_top {
    right: 3%;
    bottom: 110px;
  }
}

@media screen and (max-width: 500px) {
  .wrapper {
    max-width: 640px;
    padding: 0 20px;
  }
  .top_section_title_en {
    font-size: clamp(6rem, 21.3vw, 8rem);
  }
  .top_section_title_jp {
    font-size: clamp(2rem, 6.4vw, 2.4rem);
    margin-top: -23px;
  }

  /* sub
------------------------------ */
  .sub_mv {
    min-height: 180px;
    height: 180px;
    background-size: 100px auto;
  }
  .sub_mv::before {
    width: 200px;
  }

  /* news_archive
------------------------------ */
  .news_archive_item:not(:last-child) {
    margin-bottom: 20px;
  }
  .news_archive_item_link {
    flex-direction: column;
    padding: 20px;
  }
  .news_archive_item_img {
    max-width: none;
    width: 100%;
  }
  .news_archive_item_img img {
    object-fit: cover;
    aspect-ratio: 4 / 3;
    height: auto;
  }
  .news_archive_item_title {
    padding-bottom: 8px;
  }
  .news_archive_item_text {
    padding-top: 10px;
  }
  .news_archive_item_button {
    margin-inline: auto;
  }

  /* news_single
------------------------------ */
  .news_single_img {
    padding-top: 20px;
  }
  .news_single_text {
    padding-top: 20px;
  }
  .news_single_buttons {
    flex-direction: column;
    gap: 10px;
    padding-top: 40px;
  }
  .news_single_button.prev .news_btn,
  .news_single_button.next .news_btn {
    text-align: center;
  }
}
