@charset "UTF-8";
/* CSS Document */
.xs_none {
  display: none !important;
}
.txt100xs {
  font-size: 1em !important;
}
.txt140xs {
  font-size: 1.4em !important;
}
.txt150xs {
  font-size: 1.5em !important;
}
.txt160xs {
  font-size: 1.6em !important;
}
.xs_txt_fff {
  color: #fff !important;
}
.xs_txt_center {
  text-align: center !important;
}
.xs_txt_left {
  text-align: left !important;
}
.xs_w100 {
  width: 100% !important;
}
.xs_mt30 {
  margin-top: 30px !important;
}
.xs_mb20 {
  margin-bottom: 20px !important;
}
.xs_mb30 {
  margin-bottom: 30px !important;
}
.xs_mb40 {
  margin-bottom: 40px !important;
}
.xs_pt0 {
  padding-top: 0 !important;
}

.anchor_point {
  padding-top: 55px;
  margin-top: -55px;
}

/*------------------------------*/

body {
}




.toppage_service_section_left_img {
  display: none;
}

.toppage_service_section_right_body {
  width: 100%;
}

.en_title {
  font-size: 2.3em;
}

header#header {
  height: 90px;
}
.header_logo {
  left: 15px;
  top: 15px;
}
.header_menu_toggle_btn_body {
  right: 15px;
  top: 15px;
}
.header_logo a {
  width: 190px;
  height: 60px;
  padding: 0 8px;
}
.header_menu_toggle_btn {
  width: 60px;
  height: 60px;
}

.header_menu_toggle_btn_icon {
  width: 34px;
  height: 20px;
  margin-left: -17px;
  margin-top: -10px;
}
.header_menu_toggle_btn_icon span:nth-child(2) {
  top: 9px;
}
.header_menu_toggle_btn_icon span:nth-child(3) {
  top: 18px;
}

.uk-offcanvas-container .header_menu_toggle_btn_icon span:nth-child(1) {
  transform: translateY(9px) rotate(45deg);
}
.uk-offcanvas-container .header_menu_toggle_btn_icon span:nth-child(3) {
  transform: translateY(-9px) rotate(-45deg);
}

.main_menu_bg_img {
  display: none;
}

.main_menu_width {
  padding: 0;
}

.main_menu_content_body {
  text-align: center;
  font-size: 0.9em;
}

.footer_logo img {
  width: 180px;
}

.toppage_service_link_title br {
  display: none;
}

.toppage_service_link {
  pointer-events: none;
  padding-top: 0;
  padding-bottom: 0;
}

.toppage_service_link:hover .toppage_service_link_num span,
.toppage_service_link_01 .toppage_service_link_num span,
.link_img_01 .toppage_service_link_01 .toppage_service_link_num span,
.link_img_02 .toppage_service_link_02 .toppage_service_link_num span,
.link_img_03 .toppage_service_link_03 .toppage_service_link_num span,
.link_img_04 .toppage_service_link_04 .toppage_service_link_num span {
  color: #333;
  background: #fff;
}
.toppage_service_link_ul {
  border: none;
}
.toppage_service_link_width {
}
.toppage_service_link {
  border-bottom: none;
}

.toppage_service_link_ul > *:nth-child(n + 2) {
  margin-top: 65px;
}

.toppage_service_section {
  padding: 40px 0 50px;
  margin: 0 0 30px;
}

footer#footer {
  margin-top: 80px;
  padding-bottom: 30px;
}

.subpage_main_title_body {
  padding-top: 30px;
  padding-bottom: 30px;
  margin-bottom: 45px;
}
.subpage_main_title_body h1 {
  font-size: 2.8em;
}
.subpage_main_title_body .subpage_main_title_sub {
  font-weight: bold;
  font-size: 1.15em;
}

.toppage_img_loop_slider span {
  display: inline-block;
  padding: 0 2vw;
}

.toppage_main_lead_txt {
  font-size: 2em;
}

.toppage_main_slider_img {
  overflow: hidden;
  max-height: 480px;
}
.toppage_main_slider_img img {
  width: 220%;
  max-width: none;
  margin-left: -60%;
}

.service_page_img_slider_width {
  max-width: 330px;
  margin: auto;
  width: 70%;
}
.service_page_img_slider_width .slick-dots {
  text-align: center;
}

.company_index_grid_img {
  transform: scale(0.9);
}

.company_index_grid_date {
  font-size: 1.4em;
  margin-bottom: 8px;
}

.subpage_pic_main_title h1 {
  font-size: 1.7em;
  padding: 7px 15px;
  border-radius: 8px;
}
.pic_round_l,
.subpage_pic_main_title {
  border-radius: 14px;
}
.subpage_pic_main_title {
  padding: 15% 3% 15%;
}
.subpage_pic_main_title_company{
  padding: 3% 3% 27%;
}

.vision_txt_box {
  font-size: 0.8em;
}

.subpage_bottom_link_nav_list a {
  border-radius: 6px;
  height: 50px;
  padding-left: 60px;
  padding-right: 40px;
}
.subpage_bottom_link_nav_list a::after {
  right: 10px;
  width: 20px;
  height: 20px;
}
.subpage_bottom_link_nav_list_img {
  width: 50px;
}

.subpage_bottom_link_nav_title {
  font-size: 1.4em;
  margin-bottom: 15px;
}

.company_overview_table th,
.company_overview_table td {
  padding: 14px;
}

.subpage_txt_main_title h1 {
  font-size: 1.5em;
}

.history_section_open_link_content {
  font-size: 0.9em;
}

.history_section_open_content_close {
  font-size: 1.05em;
}

.aboutkeywords_grid_box_content {
  font-size: 0.95em;
  padding: 20px 15px 25px;
}

.about_main_body {
  padding: 55px 5%;
  margin: 0 10px 30px;
}
.about_logo {
  width: 85px;
  margin: 0 auto 25px;
}
.about_main_txt_01 {
  font-size: 2.2em;
}
.about_main_txt_02 {
  font-size: 1.4em;
  margin-top: 24px;
}

.about_main_body {
  padding: 40px 2%;
}
.about_logo {
  width: 63px;
  margin: 0 auto 20px;
}
.about_main_txt_01 {
  font-size: 1.7em;
}
.about_main_txt_02 {
  font-size: 1.24em;
  margin-top: 20px;
}

.message_content_footer_name {
  gap: 15px;
}
.message_content_footer_name_text {
  font-size: 1em;
}
.message_content_footer_name_img img {
  width: 150px;
}

.recruit_main_body {
  height: 530px;
  padding-top: 100px;
  background-size: 650px;
}

.recruit_main_lead img {
  max-width: 320px;
}

@media (min-width: 550px) {
  .recruit_main_body {
    height: 450px;
  }
}

.common_en_title {
  font-size: 2.5em;
}
.common_en_title_sub {
  margin: 3px 0 15px;
}


.common_lead{
  font-size: 1.3em;
}

.recruit_what_section_left {
  width: 100%;
}
.section_padding {
    padding: 40px 0 45px;
}
.recruit_what_section_pic {
  bottom: -30px;
  width: 80%;
  height: 300px;
  z-index: 1;
  border-radius: 14px 0 0 14px;
  z-index: 5;
}

.recruit_what_section_left_box {
  padding: 20px 30px 60px;
}


.recruit_people_section_grid_item a .recruit_people_section_grid_item_img img {
  max-width: 120px;
}

.recruit_people_section_grid_item a .recruit_people_section_grid_item_name_box {
  font-size: 1em;
}

@container (min-width: 421px) {
  .recruit_people_section_grid_item a .recruit_people_section_grid_item_img img {
    width: auto;
    max-width: 120px;
  }
}


.common_link_btn3 {
  padding: 0.5em 40px 0.5em 25px;
  border-radius: 8px;
  font-size: 1em;
  min-width: 200px;
}

.recruit_what_section {
  padding-bottom: 240px;
}

.blue_bg_link_btn {
  padding: 20px calc(40% + 12px) 20px 12px;
  border-radius: 10px;
  font-size: .85em;
}

.recruit_news_section_list_item .recruit_news_section_list_item_flex {
  padding-left: 6.3em;
}

.recruit_company_katikan_list_img img {
  width: 130px;
}


.recruit_company_suuji_grid_box_img img {
  width: 80px;
  margin-bottom: 12px;
}
.recruit_company_suuji_grid_box{
  font-size: .8em;
  padding: 20px 15px 25px;
}
.recruit_company_suuji_grid_box_num_body ,
.recruit_company_suuji_grid_box_hosoku {
  bottom: auto;
  height: auto;
  position: relative;
}
.recruit_company_suuji_grid_box_num_body {
  margin-top: 10px;
}
.recruit_company_suuji_grid_box_hosoku {
  margin-top: 15px;
}

.subpage_top_pic_link{
  max-width: 480px;
  margin: auto;
}




  /* FAQ開閉スタイル */
  .recruit_faq_box {
    margin-bottom: 18px;
    border-radius: 10px;
  }
  .recruit_faq_box_title {
    padding: 20px 40px 20px 60px;
    font-size: 1.05em;
  }
  .recruit_faq_box_title::before,
  .recruit_faq_box_content::before  {
    left: 10px;
    width: 36px;
    height: 36px;
  }
  .recruit_faq_box_title::after {
    right: 8px;
    font-size: 10px;
    width: 20px;
    height: 20px;
  }
  .recruit_faq_box_content {
    padding: 15px 15px 15px 60px;
  }
  .recruit_faq_box_content::before {
    top: 6px;
  }
  .recruit_faq_box_content.is-open::before {
    top: 25px;
  }
  .recruit_faq_box_content::after {
    left: 15px;
    width: calc(100% - 30px);
  }

  .history_item {
    width: 100%;
    padding: 0 0 0 20px;
    margin-bottom: 25px;
}

  .history_item .year {
    font-size: .9em;
    top: auto;
    padding-left: 0;
    position: relative;
}

.history_list:before {
  left: 0;
}
.history_item .year:before {
  display: none;
}
.history_item .year:after {
  left: -20px;
  top: 11px;
}

.history_item .year {
  display: flex;
  align-items: baseline;
  margin-bottom: 5px;
}

.history_item .year > span.txt160p {
  margin-right: .5em;
  margin-left: 0;
  font-size: 1.4em!important;
}

.history_list img {
  max-width: 70%;
}

.history_list:after {
  left: 0;
  border-left: 18px solid transparent;
  border-right: 18px solid transparent;
  border-top: 13px solid #F4D045;
}

.motomeru_box_grid_icon img {
  width: 100px;
}

.motomeru_box_grid_title {
  margin: 25px 0 10px;
  font-size: 1.2em;
}

.common_title3 {
  font-size: 1.55em;
  margin-bottom: 30px !important;
  padding-bottom: 20px;
}
.common_title3:after {
  width: 50px;
  height: 3px;
}



.product_functions_btn a:after{
  transform: translateY(-50%) scale(.3);
  right: -10px;
}

.history_list_product p.year{
  margin-bottom: 15px;
  font-size: .75em;
}
.history_list_product{
  font-size: .9em;
}

.history_list_product:before {
  height: calc(100% - 68px);
}

.uk_functions_modal_btn_prev:before,
.uk_functions_modal_btn_next:before{
  font-size: 15px;
  width: 26px;
  height: 26px;
}
.uk_functions_modal_btn_prev:before{
  left: -28px;
}
.uk_functions_modal_btn_next:before{
  right: -28px;
}

.case_table th, .case_table td {
  display: block;
  border: none;
}
.case_table th{
  padding-left: 0;
  padding-bottom: 0;
  color: #3b539b;
}

.all_in_one_img_width{
  width: 330px;
}


.product_top_body {
  padding: 50px 0;
  font-size: .8em;
}
.product_top_body_title {
  font-size: 2.6em;
  margin-bottom: 25px;
}

.flow_box {
  border-radius: 10px;
  padding: 15px;
  margin-bottom: 12px;
  gap: 0;
  display: block;
}

.flow_num {
  font-size: 20px;
  margin-bottom: 8px;
  width: 100%;
}
.flow_title {
  text-align: center;
}

.product_flow_grid_right img {
  width: 240px;
}

.product_flow_box_step_number {
  position: absolute;
  top: -30px;
  left: -30px;
  width: 106px;
  height: 106px;
  transform: scale(.7);
}

.form-step_body {
  transform: scale(.8);
}


.catch-copy {
  font-size: 3rem;
}
.hero-canvas {
    max-width: 170px;
}

.sample_slider_title {
  font-size: 1em;
}
.sample_slider_item_content {
  border-radius: 14px;
  padding: 20px;
}

.toppage_main_body {
  height: 530px;
  padding: 60px 5% 60px;
}

.history_item_2030_txt {
  top: 10px;
}


.toppage_recruit_section{
  padding: 45px 0 330px;
  &::before{
    background-size: 1080px;
    background-position: bottom right;
  }
}

@media (max-width: 500px) {
  .toppage_recruit_section{
    padding: 45px 0 260px;
    &::before{
      background-size: 850px;
      background-position: bottom right;
    }
  }
}

.toppage_recruit_lead img {
  width: 350px;
}


.toppage_en_title_left {
  font-size: 2.8em;
}

.toppage_about_section {
  &::before {
      width: 71%;
      opacity: .03;
  }
}

.toppage_company_grid_link {
  border-radius: 14px;
  max-width: 460px;
}

.toppage_news_tab_content_box {
  padding: 5px 25px;
}

.xs_big_img_width{
  width: 110%;
  margin-left: -5%;
}
.sample_slider_img{
  width: 105%;
  margin-left: -2.5%;
}


.footer_support_btn{
  position: fixed;
  z-index: 10;
  bottom: 0;
  right: 0;
  width: 100%;
  display: block;
}
.footer_support_btn a{
  padding: 12px ;
  font-size: .9em;
  border-radius: 0;
  width: 100%;
  text-align: center;
  box-shadow: none;
}
.footer_support_btn a:hover{
  transform: translateY(0);
}

.footer_blue_body {
  padding: 35px 0 100px;
}



.subpage_pic_main_title_body{
  margin-bottom: 20px;
}
.subpage_pic_main_title_txt h1{
  margin-bottom: 12px;
  font-size: 1.8em;
}

.product_top_company_logo_slider_item {
  width: 133px;
}


.footer-logo-icon a {
  font-size: 1.8em;
}