@charset "UTF-8";
/* CSS Document */
.pc_only{display:none!important;}

.sm_mb0{
	margin-bottom:0!important;}
.sm_mb20{
	margin-bottom:20px!important;}
.sm_mb40{
	margin-bottom:40px!important;}

.sm_mw200px{
    max-width: 200px;
}
.sm_mw250px{
    max-width: 250px;
    width: 100%;
}
.sm_mw300px{
    max-width: 300px;
}

.txt150sm{
    font-size: 1.5em!important;
}

.t_align_left_sm{
	text-align:left;}



/*------------------------------*/
body{
}


.common_index_grid_img img{
    border-radius: 8px;
  }
  .common_index_grid_title{
    font-size: 1.35em;
    border-radius: 0 14px 0 0;
    padding: 0 5px 20px 0;
    margin-top: 7px;
    width: 100%;
  }
  .common_index_grid_title span{
    padding-right: 40px;
  }
  .common_index_grid_title span::after{
    font-size: 15px;
    width: 26px;
    height: 26px;
  }

  .subpage_pic_main_title h1 {
    font-size: 2.1em;
    padding: 8px 25px;
    border-radius: 10px;
}
.pic_round_l,
.subpage_pic_main_title {
  border-radius: 20px;
}

.subpage_content_body {
  padding: 40px 0 100px;
}

.vision_txt_box {
  font-size: .95em;
}

.subpage_txt_content_body h2 {
  font-size: 1.5em;
  margin-bottom: 1em;
}

.subpage_txt_content_body h2::before, .subpage_txt_content_body h2::after {
  width: 4px;
}

.vision_txt_box, .company_index_award_box {
  border-radius: 20px;
  padding: 40px;
}

.vision_txt_box_blue .vision_logo img {
  width: 80px;
}


.line_txt::before{
  height: 3px;
  bottom: -2px;
}

.vision_txt_01 {
  font-size: 1.9em;
}
.vision_txt_02 {
  font-size: 1.6em;
}

.subpage_bottom_link_nav_body {
  padding: 40px 0 60px;
}

.subpage_bottom_link_nav_list a{
  border-radius: 6px;
  height:60px ;
  padding-left: 70px;
  padding-right: 40px;
}
.subpage_bottom_link_nav_list a::after {
  right: 10px;
  width: 20px;
  height: 20px;
}
.subpage_bottom_link_nav_list_img{
  width: 60px;
}

.subpage_bottom_link_nav_title {
  font-size: 1.5em;
  margin-bottom: 20px;
}


.company_overview_table{
}
.company_overview_table th,
.company_overview_table td{
  padding: 20px;
}
.company_overview_table th{
  width: auto;
}


.access_map_iframe iframe{
  height: 350px;
}

.subpage_txt_content_body h3 {
  font-size: 1.35em;
  margin-bottom: .8em;
  padding-left: 10px;
}
.subpage_txt_content_body h3:before{
  width: 3px;
}


.history_section_open_link {
  padding: 60px 0;
}
.history_section_open_link::before {
  background: #000;
  opacity: 0.55;
}

.history_section_open_link_content {
  width: 100%;
}

.history_section_open_link_txt {
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.9);
}


.history_section_open_link_btn {
  margin-top: 30px;
  font-size: 1.2em;
  padding: 0.5em 60px 0.5em 40px;
  display: block;
  max-width: 220px;
  margin-left: auto;
  margin-right: auto;
}

.history_section_open_content_close {
  font-size: 1.15em;
  max-width: 220px;
  padding: .5em;
}

.subpage_txt_main_title h1{
  font-size: 1.8em;
}

.about_section_title {
  font-size: 2em;
  margin-bottom: 20px;
}
.about_section_title_en {
  font-size: 1.25em;
}


@media (min-width: 730px){
  @container (min-width: 405px){
    .aboutkeywords_grid_box{
      display: flex;
    }
    .aboutkeywords_grid_box_img{
      flex: 0 0 25%;
    }
    .aboutkeywords_grid_box_content{
      flex: 1 1 50%;
      padding: 20px;
    }
    .aboutkeywords_grid_box_title{
      text-align: left;
      margin-bottom: 6px;
    }
    .aboutkeywords_grid_box_img img{
      height: 100%;
      object-fit: cover;
    }
  }
  }
  @media (max-width: 730px){
  @container (min-width: 405px){
    .aboutkeywords_grid_box{
      max-width: none;
      padding: 10px;
    }

    .aboutkeywords_grid_box_img{
      padding: 20px 20px 0;
      text-align: center;
    }
    .aboutkeywords_grid_box_img img{
      border-radius: 10px;
      width: 300px;
    }
  }
  }

.about_main_body {
  padding: 60px 5%;
  margin: 0 20px 30px;
}
.about_logo {
  width: 90px;
  margin: 0 auto 30px;
}
.about_main_txt_01 {
  font-size: 2.7em;
}
.about_main_txt_02 {
  font-size: 2.0em;
  margin-top: 30px;
}

.section_padding {
  padding: 50px 0 70px;
}


.message_content_footer_name{
  gap: 20px;
}
.message_content_footer_name_text{
  font-size: 1.1em;
}
.message_content_footer_name_img img{
  width: 180px;
}



.sustainability_img_width{
  width: 400px;
}

.sustainability_content_name_img img {
  width: 140px;
}

.sustainability_content_img_body{
  max-width: 400px;
  margin: 0 auto;
}


.recruit_main_body{
  height: 500px;
  padding-top: 140px;
}
.recruit_main_lead img{
  max-width: 40vw;
}

.recruit_main_link_body {
  bottom: 50px;
  right: 20px;
}
.recruit_main_link a{
  font-size: 1.1em;
  width: 140px;
  height: 56px;
}

.recruit_news_section_content {
  border-radius: 13px;
  padding: 20px 70px 20px 150px;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
}


.common_en_title{
  font-size: 4em;

}
.common_en_title_sub{
  font-size: 1em;
  margin: 5px 0 15px ;

}

.common_lead{
  font-size: 1.5em;
  line-height: 1.5;
  margin-bottom: 20px;
  font-weight: bold;
}

.recruit_what_section_left_box {
  background: #fff;
  padding: 30px 40px 40px;
}


.recruit_people_section_grid_item_name_box{
  padding: 12px 0 8px 0;
  border-radius: 0;
  margin-top: -20px;
  font-size: 1em;
  width: 100%;
}


.recruit_wellbeing_section_bg{
  width: 99.5%;
  border-radius: 14px 0 0 14px ;
}



.recruit_top_bottom_link_item{
  padding: 20px 20px 20px 100px;
}
.recruit_top_bottom_link_item_img{
  left: 20px;
  width: 80px;
}
.recruit_top_bottom_link_item_txt{
  padding: 15px;
}
.recruit_top_bottom_link_item_txt_title{
  font-size: 1.1em;
}
.recruit_top_bottom_link_item_txt_description{
  font-size: 1.35em;
}
.recruit_top_bottom_link_item:hover{
  transform: translateY(-6px);
}

.blue_bg_link_btn {
  padding: 30px calc(50% + 20px) 35px 20px;
  border-radius: 14px;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
  font-size: .9em;
}

.common_link_btn_l {
  font-size: 1.2em;
}

.recruit_company_katikan_list_img img{
  width: 170px;
}
.recruit_company_katikan_list_title{
  margin: 10px 0 8px;
}


.recruit_company_suuji_grid_box_img img {
  width: 110px;
  margin-bottom: 12px;
}
.recruit_company_suuji_grid_box{
  font-size: .9em;
  padding: 40px 15px 150px;
}
.recruit_company_suuji_grid_box_num_body {
  bottom: 60px;
  height: 90px;
}
.recruit_company_suuji_grid_box_hosoku {
  height: 60px;
}


.subpage_top_pic_link_title {
  font-size: 1.35em;
  max-width: none;
  padding: 0 0 10px 0;
  margin-top: 15px;
  border-radius: 0 10px 0 0;
  position: relative;
  z-index: 2;
}

.subpage_top_pic_link_img img {
  border-radius: 14px;
}



.environment_voice_grid_box{
  min-height: 85px;
  padding-left: 100px;
}
.environment_voice_grid_box_img{
  left: 0;
}
.environment_voice_grid_box_img img{
  width: 82px;
}
.environment_voice_grid_box_txt{
}

.environment_voice_grid_box_hukidasi{
  border-radius: 6px;
  padding: 20px;
}
.environment_voice_grid_box_hukidasi:after{
  left: -11px;
  top: 20px;
}


  /* FAQ開閉スタイル */
  .recruit_faq_box {
    margin-bottom: 25px;
    border-radius: 14px;
  }
  .recruit_faq_box_title {
    padding: 30px 70px 30px 100px;
    font-size: 1.2em;
  }
  .recruit_faq_box_title::before,
  .recruit_faq_box_content::before  {
    left: 30px;
    width: 48px;
    height: 48px;
  }
  .recruit_faq_box_title::after {
    right: 30px;
    font-size: 14px;
    width: 28px;
    height: 28px;
  }
  .recruit_faq_box_content {
    padding: 30px 30px 30px 100px;
  }
  .recruit_faq_box_content::before {
    top: 10px;
  }
  .recruit_faq_box_content.is-open::before {
    top: 30px;
  }
  .recruit_faq_box_content::after {
    left: 30px;
    width: calc(100% - 60px);
  }

  .history_item p:nth-child(n + 2) {
    font-size: 1.1em;
}

.history_section_open_link_txt_02 {
  font-size: 1.78em;
  margin-bottom: 12px;
}


.motomeru_box_grid_title {
  margin: 30px 0 12px;
  font-size: 1.25em;
}

.people_content_body h2{
  font-size: 1.4em;
}
.people_content_body h2:before{
  display: none;
}
.people_content_body p{
  font-size: 1em;
}

.people_main_lead {
  font-size: 1.6em;
  margin-bottom: 40px;
}

.common_title3 {
  font-size: 1.8em;
  margin-bottom: 30px !important;
  padding-bottom: 20px;
}
.common_title3:after {
  width: 60px;
  height: 4px;
}


.product_functions_btn a:after{
  transform: translateY(-50%) scale(.4);
  right: -5px;
}

.product_service_check_list li{
  padding-left: 50px;
  font-size: 1em;
}
.product_service_check_list li strong{
  font-size: 1.1em;
  margin-bottom: 7px;
}
.product_service_check_list li:before{
  width: 40px;
  height: 40px;
}

.product_case_box_img img {
  width: 400px;
}

.product_case_box_inner_top {
  gap: 15px;
  margin-bottom: 15px;
}
.product_case_box_inner_top_logo img {
  width: 70px;
  height: auto;
}
.product_case_box_inner_text {
  font-size: 1.1em;
}

.product_case_box_inner {
  flex: 1;
  padding: 20px 20px 0;
}

.case_table th, .case_table td {
  padding: 15px;
}


.footer_product_contact_body{
  padding: 40px 0;
}
.footer_product_contact_grid a{
  padding: 30px 80px 30px 100px;
  border-radius: 14px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.05);
  font-size: .9em;
}
.footer_product_contact_grid a:hover{
  transform: translateY(-5px);
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}
.footer_product_contact_grid a::after {
  right: 20px;
  top: 50%;
  width: 30px;
  height: 30px;
}

.footer_product_contact_grid_title{
  font-size: 1.3em;
  font-weight: bold ;
}

.footer_product_contact_grid_link_icon{
  left: 15px;
  width: 70px;
}

.product_top_company_logo_slider_wrapper{
  animation: productLogoScroll 30s linear infinite;
  width: 4000px;
}

.product_top_body {
  padding: 70px 0;
  font-size: .9em;
}
.product_top_body_title {
  font-size: 3em;
  margin-bottom: 25px;
}


.donyu_kouka_grid_hukidashi{
  font-size: 1em;
  padding: 15px 10px;
}


.product_flow_box_step_number {
  position: absolute;
  top: -40px;
  left: -40px;
  width: 106px;
  height: 106px;
  transform: scale(.8);
}

.flow_box {
  border-radius: 14px;
  padding: 30px 20px;
  margin-bottom: 15px;
  gap: 15px;
}

.flow_num {
  font-size: 30px;
  width: 40px;
  line-height: 1;
}

.flow_title {
  font-size: 20px;
  margin-bottom: 9px;
}
.flow_text {
  font-size: 1em;
}

.flow_section{
  margin-bottom: 30px;
}

.case_info_list_box_img {
  height: 100px;
  margin: 10px 0 20px;
}
.case_info_list_box_img img{
  height: 95px;
}

.contact_top_link_grid_box ,
.contact_top_link_grid2_box {
  font-size: .9em;
  border-radius: 20px;
}

.page_anchor_nav a::before {
  margin-right: 8px;
  width: 26px;
  height: 26px;
  font-size: 14px;
}


.sample_slider_title{
  margin-bottom: 15px;
  font-size: 1.35em;
}


.toppage_main_body  {
  height: 600px;
  padding: 60px 5% 60px;
}

.footer_support_btn{
  position: fixed;
  z-index: 10;
  bottom: 20px;
  right: 20px;
}
.footer_support_btn a,
.toppage_main_support_btn a {
  padding: 10px 30px;
  font-size: 1em;
  border-radius: 8px;
}

.toppage_en_title_left {
  font-size: 3.1em;
  font-weight: bold;
  font-family: "Montserrat", sans-serif;
}

.toppage_about_section {
  padding: 80px 0 80px;
  margin-top: 30px;
  position: relative;
}

.toppage_company_grid_title {
    top: 15px;
    right: 15px;
    font-size: 1.8em;
    letter-spacing: 0.08em;
    text-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

.toppage_news_cat_tab{
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
}

.toppage_news_tab_content_box {
  padding: 15px 30px;
}

.toppage_news_list_section {
  padding: 45px 0 60px;
}

.news_sidebar_ul a {
  padding: 3px 13px;
}


.news_back_btn{
  padding: 12px 20px;
  min-width: 305px;
  font-size: 1.15em;
}


.news_archive_page_grid .toppage_news_tab_content_list a{
  padding-top: 25px;
  padding-bottom: 25px;
}


.subpage_pic_main_title_body{
  margin-bottom: 40px;
}
.subpage_pic_main_title_txt h1{
  margin-bottom: 20px;
  font-size: 2.5em;
}


.product_top_company_logo_slider_item {
  padding: 0 0;
  width: 180px;
}
.product_top_company_logo_slider_item img {
  width: auto;
  height: auto;
}
