@media only screen and (max-width: 1350px) {
  /*----------------------------------------------
	.l_nav_area
  ---------------------------------------------*/
  .l_nav_area {
    padding: 15px 20px;
  }

  /*----------------------------------------------
	.l_logo
  ---------------------------------------------*/
  .l_logo:not(.is_recruit) {
    width: 150px;
  }


  /*----------------------------------------------
	.c_nav_type01
  ---------------------------------------------*/
  .c_nav_type01{
    gap: 20px;
  }

  .c_ttl_type01 span,
  .c_ttl_type01.is_inner span{
    font-size: 7rem;
  }
}

@media only screen and (max-width: 1280px) {
  .l_news_inner{
    flex-direction: column;
  }
  .l_news_head{
    flex-direction: row;
    align-items: center;
    width: 100%;
    justify-content: space-between;
  }

  .l_recruit_slider{
    width: 300px;
  }
  .l_recruit_slider .is_img{
    width: 300px;
    height: 300px;
  }
  .l_recruit_dtl {
    margin-top: 40px;
    flex-wrap: wrap;
    justify-content: center;
    gap: 60px 30px;
    width: 100%;
  }
  .l_recruit_txt{
    max-width: 580px;
  }

  .l_product_slider .slick-arrow {
    right: 5%;
  }
  .l_product_slider .slick-arrow.slick-prev {
    right: calc(5% + 60px);
  }

  .l_bottom_cards .is_inner{
    gap: 30px;
  }
  .l_sns {
    display: none;
  }
  .l_nav_area {
    margin-right: 0;
  }

  .u_company_br{
    display: none;
  }

  .u_company_column{
    flex-direction: column-reverse;
    align-items: center!important;
  }

  .u_company_outline_column{
    flex-direction: column;
    gap: 0;
  }

  .u_company_certificate{
    flex-direction: column;
    gap: 30px;
    display: flex!important;
  }

  .u_office img{
    width: 100%;
    height: auto;
    contain-intrinsic-size: 3000px 1500px;
  }

  .u_office_grid{
    grid-template-columns: repeat(3, 1fr)!important;
  }

  .u_factory_lead{
    grid-template-columns: repeat(1, 1fr);
    text-align: center;
  }
  .u_factory_lead .is_img{
    position: relative;
    right: unset;
    top: unset;
    width: 100%;
    margin-bottom: 30px;
  }
  .u_factory_lead .is_img img{
    margin-bottom: 10px;
  }
  .u_factory_lead .is_dtl {
    text-align: left;
  }

  .u_factory_list_img {
    max-width: 600px;
    margin: 0 auto!important;
  }
  .u_factory_list_column{
    flex-direction: column;
    gap: 20px;
  }

  .l_service_flow_wrap:not(.block-editor-block-list__block) {
    left: -5vw;
  }
  .l_mailing_flow_wrap:not(.block-editor-block-list__block) {
    left: -5vw;
  }
}


@media only screen and (max-width: 1040px) {
  .l_product_slider .slick-arrow.slick-prev {
    top: -60px;
  }
  .l_product_slider .slick-arrow.slick-next {
    top: -80px;
  }
  .l_about_cards{
    gap: 20px;
  }
  .l_footer_dtl{
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0 30px;
    align-items: flex-start;
  }
  .l_footer_inner{
    flex-wrap: wrap;
  }

  /* .u_company_column{
    flex-direction: column-reverse;
    align-items: center!important;
  } */

  .u_company_outline_column{
    flex-direction: column;
    align-items: center!important;
  }

  .l_nav_area_recruit {
    width: 80%;
  }
}

@media only screen and (max-width: 767px) {

  html {
    font-size: 65.5%;
  }

  body {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.8;
  }

  /*----------------------------------------------
	.l_wrap
  ---------------------------------------------*/
  .l_wrap {
    width: 95%;
  }
  .l_wrap_lg {
    width: 95%;
  }
  .l_wrap_inner {
    width: 100%;
  }

  /*----------------------------------------------
	.l_over_wrap
  ---------------------------------------------*/
  .l_over_wrap{
    left: unset;
    width: 100%;
  }

  /*----------------------------------------------
	.l_logo
  ---------------------------------------------*/
  .l_logo {
    width: 150px;
  }
  .l_logo.is_recruit {
    width: 130px;
  }

  /*----------------------------------------------
	.l_mv_copy
  ---------------------------------------------*/
  .l_mv_copy {
    margin-bottom: 27svh;
  }

  /*----------------------------------------------
	.l_mv_wrap
  ---------------------------------------------*/
  .l_mv_wrap {
    min-height: unset;
    padding: 20px 25px;
  }

  /*----------------------------------------------
	.l_mv
  ---------------------------------------------*/
  .l_mv {
    padding: 5px;
  }
  .l_mv img{
    border-radius: 10px;
    object-position: top;
  }


  /*----------------------------------------------
	.l_header_area
  ---------------------------------------------*/
  .l_header_area{
    top: 27px;
    width: calc(100% - 30px * 2);
  }

  #inner .l_header_area{
    width: 95%;
  }

  /* 採用 */
  .l_header_area.is_recruit{
    padding: 0 15px;
    top: 25px;
  }

  /*----------------------------------------------
	.l_header_right
  ---------------------------------------------*/
  .l_header_right {
    align-items: center;
    flex-direction: column;
    justify-content: flex-start;
    padding-bottom: 30px;
  }

  /*----------------------------------------------
	.l_nav_area
  ---------------------------------------------*/
  .l_nav_area {
    flex-direction: column;
    gap: 20px;
    padding-bottom: 30px;
    margin-top: 50px;
    background: transparent;
    align-items: flex-start;
  }

  /*----------------------------------------------
	.l_news
  ---------------------------------------------*/
  .l_news {
    margin-left: unset;
    padding: 60px 0 230px;
  }
  .l_news_inner{
    gap: 25px;
  }
  .l_news_head{
    align-items: center;
    width: 100%;
  }
  .l_news_dtl{
    max-height: 353px;
  }


  /*----------------------------------------------
    .l_recruit
  ---------------------------------------------*/
  .l_recruit {
    padding: 50px 0;
  }
  .l_recruit_inner{
    gap: 0;
  }
  .l_recruit_head{
    gap: 30px;
  }
  .l_recruit_dtl{
    gap: 50px;
    margin-top: 25px;
    flex-direction: column;
    align-items: center;
  }

  .l_recruit_slider{
    width: 300px;
  }
  .l_recruit_slider .is_img{
    width: 300px;
    height: 300px;
  }

  .l_recruit_txt{
    max-width: unset;
    align-items: center;
  }


  /*----------------------------------------------
    .l_txt_loop
  ---------------------------------------------*/
  .l_txt_loop {
    height: 60px;
    top: -20px;
  }
  @keyframes loop-slide {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-648px);
    }
  }


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

  .l_product_head{
    margin-bottom: 30px;
    gap: 30px;
    flex-direction: column;
    align-items: flex-start;
  }

  .l_product_slider {
    margin-bottom: 40px;
  }
  .l_product_slider .is_img{
    width: 330px;
    height: 260px;
    margin: 7px;
    border-radius: 20px;
  }


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

  .l_about_cards{
    grid-template-columns: 1fr;
    gap: 15px;
  }


  /*----------------------------------------------
	.l_bottom_cards
  ---------------------------------------------*/
  .l_bottom_cards .is_inner{
    grid-template-columns: 1fr;
    gap: 15px;
    bottom: -270px;
  }
  .l_bottom_cards::before{
    height: 224px;
  }


  /*----------------------------------------------
  .l_footer
  ---------------------------------------------*/
  .l_footer {
    padding: 325px 0 12px;
  }
  .l_footer_inner{
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 25px;
  }
  .l_footer_dtl {
    flex-direction: column;
    align-items: flex-start;
  }
  .l_footer_menu {
    display: none;
  }
  .l_footer_dtl .is_logo{
    width: 180px;
    margin-bottom: 13px;
  }

  /*----------------------------------------------
  .l_copy
  ---------------------------------------------*/
  .l_copy {
    flex-direction: column;
    gap: 0;
  }
  .l_copy .is_links{
    gap: 12px;
    margin-bottom: 40px;
  }

  /*----------------------------------------------
  .l_sns
  ---------------------------------------------*/
  .l_sns {
    padding: 0 20px;
    display: flex;
  }

  /*----------------------------------------------
  .l_sns_footer
  ---------------------------------------------*/
  .l_sns_footer {
    display: none;
  }
  .l_sns_footer.is_sp {
    display: flex;
    margin-bottom: 25px;
  }


  /*----------------------------------------------
	.l_inner_header
  ---------------------------------------------*/
  .l_inner_header {
    padding-top: 100px;
    height: 220px;
  }

  /*----------------------------------------------
	.l_breadcrumbs
  ---------------------------------------------*/
  .l_breadcrumbs {
    flex-wrap: wrap;
    margin-bottom: 40px;
  }


  /*----------------------------------------------
    .l_article
  ---------------------------------------------*/
  .l_article {
    margin-bottom: 60px;
  }


  /*----------------------------------------------
    .l_content
  ---------------------------------------------*/
  #inner .l_content,
  #recruit .l_content{
    margin: 10px 0 240px;
  }

  .l_service_flow_wrap:not(.block-editor-block-list__block) {
    left: -5%;
    width: 110%;
    padding: 70px 0 80px;
  }
  .l_service_flow_wrap::before {
    width: 180px;
    height: 30px;
  }
  .l_service_flow_wrap::after {
    width: 180px;
    height: 30px;
    bottom: -29px;
  }

  .l_mailing_flow_wrap:not(.block-editor-block-list__block) {
    left: -5%;
    width: 110%;
    padding: 50px 0 50px;
  }

  /*----------------------------------------------
	.l_message
  ---------------------------------------------*/
  .l_message{
    margin: 50px 0 30px;
    width: 100%;
  }


  /*----------------------------------------------
	.l_recruit_bar
  ---------------------------------------------*/
  .l_recruit_bar .is_wrap{
    /* height: 150px;
    gap: 5px; */
  }
  .l_recruit_bar .is_wrap img{
    height: 200px;
    width: auto;
  }

  /*----------------------------------------------
	.l_company_data
  ---------------------------------------------*/
  .l_company_data{
    padding: 50px 0 70px;
  }

  /*----------------------------------------------
	.l_comp_data_cards
  ---------------------------------------------*/
  .l_comp_data_cards2{
    gap: 15px;
  }
  .l_comp_data_cards3{
    gap: 15px;
    grid-template-columns: repeat(2, 1fr);
  }

  /*----------------------------------------------
    .l_work_cards
  ---------------------------------------------*/
  .l_work_cards{
    gap: 15px;
    grid-template-columns: repeat(1, 1fr);
  }

  /*----------------------------------------------
	.l_require_column
  ---------------------------------------------*/
  .l_require_column{
    flex-direction: column;
    gap: 30px;
  }

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

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

  /*----------------------------------------------
	.l_recruit_flow
  ---------------------------------------------*/
  .l_recruit_flow{
    flex-direction: column;
    gap: 20px;
  }


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

  /*----------------------------------------------
    .l_interview_items
  ---------------------------------------------*/
  .l_interview_items{
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
    flex-direction: column;
  }


  /*----------------------------------------------
    .l_faq
  ---------------------------------------------*/
  .l_faq{
    padding: 50px 0;
  }


  /*----------------------------------------------
    .l_entry
  ---------------------------------------------*/
  .l_entry{
    padding: 40px 30px;
    border-radius: 10px;
    justify-content: center;
    gap: 0;
  }

  /*----------------------------------------------
	.l_nav_area_recruit
  ---------------------------------------------*/
  .l_nav_area_recruit {
    width: 95%;
    margin-top: 100px;
  }

  /*----------------------------------------------
	.l_sitemap
  ---------------------------------------------*/
  .l_sitemap {
    flex-direction: column;
    gap: 30px;
  }

  /*----------------------------------------------
  .l_mailing_flow_wrap
  ---------------------------------------------*/
  .l_mailing_flow .slick-arrow.slick-next {
    right: 20px;
  }
  .l_mailing_flow .slick-arrow.slick-prev {
    left: 20px;
  }

  /*----------------------------------------------
	.l_thumb
  ---------------------------------------------*/
  .l_thumb{
    margin: 0 auto 30px;
  }

  /*----------------------------------------------
  .c_nav_type01
  ---------------------------------------------*/
  .c_nav_type01{
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 0;
    gap: 0;
    font-size: 1.8rem;
  }

  .c_nav_type01 li{
    position: unset;
    width: 100%;
  }

  .c_nav_type01 li a, .c_nav_type01 li span{
    padding: 15px 0;
    background: var(--color);
    color: #fff!important;
    border-bottom: 1px solid #fff;
  }

  .c_nav_type01 li span::after{
    right: 15px;
    filter: brightness(0) invert(1);
  }


  /* 子要素 */
  .c_nav_type01 li .is_child{
    position: relative;
    width: 100%;
    left: 0;
    box-shadow: none;
    top: 0;
    padding: 15px 0;
    display: none;
    transition: unset;
    background: transparent;
    font-weight: normal;
    border-bottom: 1px solid #fff;
    border-radius: 0;
  }
  .c_nav_type01 .is_child li a{
    color: #fff;
    padding: 10px 15px;
    border-bottom: none;
    position: relative;
    font-size: 1.6rem;
  }
  .c_nav_type01 li span::after{
    content: '';
    background: url(../images/icon_plus.svg) no-repeat;
    width: 20px;
    height: 20px;
    background-size: cover;
    position: absolute;
    top: calc(50% - 20px / 2);
    right: 0;
  }
  .c_nav_type01 li span.active::after{
    content: '';
    background: url(../images/icon_minus.svg) no-repeat;
    width: 20px;
    height: 2px;
    background-size: cover;
    top: calc(50% - 2px / 2);
  }
  .c_nav_type01 .is_child li a::before{
    content: '-';
    position: absolute;
    top: 11px;
    left: 0;
  }


  /*----------------------------------------------
    .c_nav_type02
  ---------------------------------------------*/
  .c_nav_type02{
    grid-template-columns: repeat(1, 1fr);
    font-size: 1.6rem;
    gap: 0;
  }
  .c_nav_type02 > li > a, .c_nav_type02 > li > span{
    padding: 15px 0;
  }
  .c_nav_type02 > li > a{
    border-bottom: 1px solid #ffffff5d;
    display: flex;
    align-items: center;
    gap: 1em;
  }
  .c_nav_type02 > li:has(.is_child) > a{
    border-bottom: none;
  }
  .c_nav_type02 li a .is_sub{
    font-size: 1.3rem;
  }
  .c_nav_type02 li .is_child{
    border-bottom: 1px solid #ffffff5d;
    margin-top: 0;
    padding-bottom: 10px;
  }
  .c_nav_type02 .is_child li a{
    font-size: 1.4rem;
    padding-left: 15px;
    margin-bottom: 10px;
  }
  .c_nav_type02 .is_child li a::before{
    width: 7px;
  }


  /*----------------------------------------------
    .c_about_card
  ---------------------------------------------*/
  .c_about_card{
    border-radius: 10px;
  }
  .c_about_card::after{
    border-radius: 10px;
  }
  .c_about_card .is_ttl{
    bottom: 13px;
    left: 20px;
    font-size: 1.3rem;
  }
  .c_about_card .is_ttl span{
    font-size: 2.6rem;
  }

  /*----------------------------------------------
    .c_bottom_card
  ---------------------------------------------*/
  .c_bottom_card{
    padding: 22px 30px 26px;
    border-radius: 10px;
    height: 100px;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .c_bottom_card .is_img{
    width: 50px;
    object-fit: contain;
  }
  .c_bottom_card .is_ttl {
    text-align: left;
    line-height: 1.3;
  }
  .c_bottom_card .is_ttl span{
    font-size: 2.6rem;
  }

  /*----------------------------------------------
      .c_ttl_type01
  ---------------------------------------------*/
  .c_ttl_type01,
  .c_ttl_type01.is_inner{
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .c_ttl_type01 span,
  .c_ttl_type01.is_inner span{
    font-size: 3.6rem;
    line-height: 1.5;
  }


  /*----------------------------------------------
      h2
  ---------------------------------------------*/
  .block-editor-iframe__body h2,
  .inner h2 {
    font-size: 2.2rem;
    padding-top: 15px;
    position: relative;

    &::before{
      background: linear-gradient(90deg, var(--color) 0%, var(--color) 14%, #dddddd 14%, #dddddd 100%);
      height: 2px;
    }
  }


  /*----------------------------------------------
      .c_ttl_type03
  ---------------------------------------------*/
  .c_ttl_type03 {
    font-size: 1.5rem;
  }
  .c_ttl_type03::before,
  .c_ttl_type03::after {
    left: -30px;
    width: 20px;
  }
  .c_ttl_type03::after {
    right: -30px;
    left: unset;
  }

  /*----------------------------------------------
    .c_ttl_type04
  ---------------------------------------------*/
  .c_ttl_type04 {
    font-size: 2.2rem;
  }

  

/*----------------------------------------------
    .inner h3
---------------------------------------------*/
.block-editor-iframe__body h3,
.inner h3{
  padding: 3px 10px;
  font-size: 2rem;
}

/*----------------------------------------------
    .inner h4
---------------------------------------------*/
.block-editor-iframe__body h4,
.inner h4{
  padding-left: 13px;
  font-size: 1.8rem;
}
.block-editor-iframe__body h4::before, .inner h4::before {
  content: '';
  background: var(--color4);
  width: 5px;
  height: calc(100% - 5px - 2px);
  position: absolute;
  top: 5px;
  left: 0;
}


  /*----------------------------------------------
    .c_btn_type01
  ---------------------------------------------*/
  .c_btn_type01{
    padding: 18px 30px;
    font-size: 1.6rem;
    min-width: 250px;
  }
  .c_btn_type01::after{
    width: 14px;
    height: 13px;
    top: calc(50% - 13px / 2);
    right: 30px;
  }



  /* 通常サイズ */
  .wp-block-button .wp-element-button,
  .c_btn_type01.is_default {
    padding: 18px 30px;
    font-size: 1.6rem;
  }


  /*----------------------------------------------
	.c_btn_contact
  ---------------------------------------------*/
  .c_btn_contact{
    background: #fff;
    color: var(--color)!important;
    margin: 0 auto;
    width: 80%;
    text-align: center;
    padding: 15px 0;
    margin-top: 20px;
  }

  /*----------------------------------------------
	.wp-block-table.is-style-border
  ---------------------------------------------*/
  .wp-block-table.is-style-border table tr td{
    display: block;
    padding: 10px;
    border: none;
  }
  .wp-block-table.is-style-border table tr td:nth-child(even){
    border-top: none!important;
    padding-top: 0!important;
  }
  .wp-block-table.is-style-border table tr td:nth-child(odd){
    padding-bottom: 10px!important;
  }
  .wp-block-table.is-style-border table tr td:first-child{
    width: 100%;
    padding-right: 0;
    padding-bottom: 0;
    border-top: 1px solid #DADADA;
  }


	/*----------------------------------------------
    .u_table_scroll
  ---------------------------------------------*/
  .u_table_scroll {
    width: 100%;
    overflow-x: scroll;
  }
  .u_table_scroll *{
    white-space: nowrap!important;
  }
  .u_table_scroll  th,
	.u_table_scroll  td {
		display: table-cell;
		width: 100%;
	}
  /*----------------------------------------------
  .c_box_type01
  ---------------------------------------------*/
	.c_box_type01,
	.c_box_type01.is_factory {
    padding: 30px 20px!important;
    border-radius: 10px;
	}

	.c_box_type01_header {
		font-size: calc(2.8rem + 28 * ((100vw - 750px) / 750));
	}

  /*----------------------------------------------
  .c_box_type02
  ---------------------------------------------*/
	.c_box_type02 {
		padding: 2.25vw;
	}

	.c_box_type02_header {
		font-size: calc(2.8rem + 28 * ((100vw - 750px) / 750));
	}

  /*----------------------------------------------
  .c_box_type03
  ---------------------------------------------*/
	.c_box_type03 {
		padding: 2.25vw;
	}


  /*----------------------------------------------
    .c_table_type01
  ---------------------------------------------*/
  .c_table_type01 tbody td {
    height: unset;
  }
  /* factory */
  .c_table_type01.is_factory tbody td {
    padding: 15px 0;
  }
  .c_table_type01.is_factory tbody tr:first-child td {
    padding-top: 20px;
  }
  .c_table_type01.is_factory tbody tr:last-child td {
    padding-bottom: 0;
  }
  .c_table_type01.is_factory tbody tr td:first-child {
    width: 100px;
  }

  /*----------------------------------------------
	.c_table_type02
  ---------------------------------------------*/
  .c_table_type02 tbody tr{
    display: flex;
    flex-direction: column;
  }

  .c_table_type02 tbody tr td {
    padding: 0;
    border-bottom: none!important;
    display: block;
    padding-top: 25px;
    margin-bottom: 5px;
  }

  .c_table_type02 tbody tr td:last-child {
    border-bottom: 1px solid #DDDDDD!important;
    padding: 0 0 18px;
  }

  .c_table_type02 tbody tr td:first-child {
    width: 100%;
  }

  /*----------------------------------------------
  .c_news
  ---------------------------------------------*/
  .c_news li{
    padding: 18px 0;
  }
  .c_news li:first-child{
    padding: 0 0 18px;
  }
  .c_news li a.is_inner {
    gap: 18px;
    padding-right: 30px;
  }
  .c_news li a.is_inner::after {
    background-image: url(../images/icon_arrow_sm.svg) no-repeat;
    width: 20px;
    height: 20px;
    background-size: 10px;
    top: calc(50% - 20px / 2);
  }
  .c_news li a.is_inner .is_img{
    width: 110px;
    height: 60px;
    border-radius: 5px;
  }
  .c_news li a.is_inner .is_dtl .is_date {
    font-size: 1.3rem;
    margin-bottom: 8px;
  }
  .c_news li a.is_inner .is_dtl .is_ttl {
    font-size: 1.5rem;
  }


  /*----------------------------------------------
  .c_menu_column
  ---------------------------------------------*/
  .c_menu_column {
    width: unset;
  }
  .c_menu_column > li:not(:last-child){
    margin-bottom: 18px;
  }

  /*----------------------------------------------
  .c_menu_ttl
  ---------------------------------------------*/
  .c_menu_ttl{
    margin-bottom: 10px;
    padding-left: 15px;
    font-size: 1.5rem;
  }
  .c_menu_ttl::after{
    top: 10px;
    width: 10px;
    height: 1px;
  }
  .c_menu_ttl::before{
    content: none;
  }


  /*----------------------------------------------
	.c_num_ttl
  ---------------------------------------------*/
  .c_num_ttl{
    font-size: 2.2rem;
  }
  .c_num_ttl img{
    height: 50px!important;
    margin-right: 5px;
  }


  /*----------------------------------------------
    .c_service_item
  ---------------------------------------------*/
  .c_service_item:not(.block-editor-block-list__block),
  .c_service_item > .block-editor-block-list__layout,
  .c_service_item.is_even:not(.block-editor-block-list__block),
  .c_service_item.is_even > .block-editor-block-list__layout{
    position: relative!important;
    padding-left: unset!important;
    padding-right: unset!important;
  }
  .c_service_item .is_img{
    position: relative!important;
    left: unset!important;
    right: unset!important;
    width: 100%;
    max-width: 100%;
    margin-bottom: 20px;
  }

  /*----------------------------------------------
  .c_link_arrow
  ---------------------------------------------*/
  *:not(.wp-block-button).is-style-arrow,
  .c_link_arrow{
    padding-left: 25px!important;
    font-size: 1.5rem!important;
  }
  *:not(.wp-block-button).is-style-arrow::before,
  .c_link_arrow::before{
    top: calc(50% - 20px / 2)!important;
    width: 20px!important;
    height: 20px!important;
    background-size: contain;
  }

  /*----------------------------------------------
  .wp-block-list is-style-objectives
  ---------------------------------------------*/
  .wp-block-group__inner-container:has(> .wp-block-list.is-style-objectives){
    padding: 30px 20px;
  }
  .wp-block-list.is-style-objectives li:not(:last-child) {
    margin-bottom: 40px;
  }
  .wp-block-list.is-style-objectives li {
      padding-left: 50px;
      font-size: 1.5rem;
  }
  .wp-block-list.is-style-objectives li::before {
    top: calc(50% - 40px / 2);
    width: 40px;
    height: 40px;
    font-size: 1.3rem;
  }


  /* 特典 */
.wp-block-list.is-style-benefits li {
  margin: 14px 0 50px;
	padding-left: 60px;
}

.wp-block-list.is-style-benefits li::before {
  top: calc(50% - 1.6rem / 2);
  left: 4px;
  width: 40px;
  font-size: 1.6rem;
}

.wp-block-list.is-style-benefits li::after {
  top: calc(50% - 42px / 2);
  width: 50px;
  height: 42px;
}



  /*----------------------------------------------
  .wp-block-group.is-style-box
  ---------------------------------------------*/
  .wp-block-group.is-style-box{
    padding: 20px;
  }

  .wp-block-group.is-style-grid02 .wp-block-group__inner-container {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  /*----------------------------------------------
  .wp-block-group.is-style-organizations
  ---------------------------------------------*/
  .wp-block-group.is-style-organizations{
    flex-direction: column;
    gap: 20px;
  }
  .wp-block-group.is-style-organizations img{
    width: 200px;
    height: auto;
  }


  /*----------------------------------------------
	.is-style-no-border
  ---------------------------------------------*/
  .wp-block-table.is-style-no-border table th,
  .wp-block-table.is-style-no-border table td{
    display: block;
    padding: 0!important;
    margin-bottom: 8px;
  }
  .wp-block-table.is-style-no-border table tr{
    margin-bottom: 8px;
  }

  /*----------------------------------------------
	.c_chrono
  ---------------------------------------------*/
  .c_chrono table tr:nth-child(odd) td{
    font-size: 1.8rem;
    padding: 0;
    padding-left: 15px;
  }
  .c_chrono table tr:nth-child(even) td{
    padding-bottom: 20px;
    font-size: 1.5rem;
    padding-left: 15px;
  }
  .c_chrono table tr:nth-last-child(2) td::after{
    height: 100px;
  }


  /*----------------------------------------------
	.c_service_flow
  ---------------------------------------------*/
  .c_service_flow .is_num{
    font-size: 3rem;
    height: 50px;
    width: 50px;
    padding-top: 3px;
    margin-bottom: 14px;
  }
  .c_service_flow:not(:last-child)::after{
    content: none;
  }
  .c_service_flow img{
    height: 200px;
    margin-bottom: 25px;
  }
  .c_service_flow .is_ttl{
    font-size: 2.2rem;
    height: 60px;
  }


  /* カレント */
  .c_service_flow.slick-current .is_num{
    font-size: 3rem;
    height: 50px;
    width: 50px;
    margin-bottom: 10px;
  }


  /*----------------------------------------------
    .c_comp_data_card
  ---------------------------------------------*/
  .c_comp_data_card .is_ttl{
    padding: 8px 0 6px;
    font-size: 1.5rem;
    font-weight: 700;
  }
  .c_comp_data_card .is_inner{
    padding: 20px 10px;
  }
  .c_comp_data_card .is_inner img{
    height: 70px;
    margin-bottom: 10px;
  }
  .c_comp_data_card .is_inner .is_num{
    font-size: 4rem;
    letter-spacing: 0;
  }
  .c_comp_data_card .is_inner .is_num span,
  .c_comp_data_card.is_worker .is_inner .is_num span{
    font-size: 1.6rem;
  }

  /* 従業員数 */
  .c_comp_data_card.is_worker .is_inner img{
    height: 100px;
  }
  .c_comp_data_card.is_worker .is_inner .is_num{
    font-size: 4.8rem;
  }

  /* 男女の比率 */
  .c_comp_data_card.is_gender .is_inner .is_cat img{
    height: 60px;
  }
  .c_comp_data_card.is_gender .is_inner .is_rate > *{
    font-size: 1.5rem;
  }
  .c_comp_data_card.is_gender .is_inner .is_total{
    width: 100%;
  }
  .c_comp_data_card.is_gender .is_inner .is_total .is_num{
    font-size: 3.2rem;
  }

  /*----------------------------------------------
	.c_work_card
  ---------------------------------------------*/
  .c_work_card{
    padding: 20px 20px 30px;
    border-width: 2px;
  }
  .c_work_card .is_num{
    font-size: 2.6rem;
    letter-spacing: 1px;
  }
  .c_work_card::before{
    width: 80px;
    height: 80px;
    top: -1px;
    left: -1px;
  }
  .c_work_card .is_ttl{
    font-size: 2.4rem;
  }
  .c_work_card .is_img{
    display: none;
  }

  /*----------------------------------------------
    .c_table_require
  ---------------------------------------------*/
  .c_table_require tbody tr th,
  .c_table_require tbody tr td {
    display: block;
    padding: 8px 0 25px!important;
    border: none;
    width: 100%;
  }
  .c_table_require tbody tr th {
    padding: 25px 0 0!important;
    font-size: 1.6rem;
    margin-bottom: 10px;
  }
  .c_table_require tbody tr td {
    border-bottom: 1px solid #DDDDDD;
  }


  /*----------------------------------------------
    .c_recruit_flow
  ---------------------------------------------*/
  .c_recruit_flow{
    flex-direction: row;
    padding: 10px 15px;
    align-items: center;
    width: 100%;
  }
  .c_recruit_flow:not(:last-child)::after{
    width: 10px;
    height: 100%;
    bottom: -100%;
    top: unset;
    left: 45px;
  }
  .c_recruit_flow img{
    height: 50px;
    margin-bottom: 0;
  }
  .c_recruit_flow .is_ttl{
    font-size: 1.8rem;
    display: block;
    text-align: left;
    margin-left: 30px;
  }

  /*----------------------------------------------
	.c_interview
  ---------------------------------------------*/
  .c_interview {
    display: flex;
    gap: 20px;
    max-width: unset;
    align-items: flex-start;
  }
  .c_interview .is_img{
    width: 100px;
    height: 100%;
    margin-bottom: 0;
    flex-shrink: 0;
  }
  .c_interview .is_img img{
    height: 100%;
  }
  .c_interview .is_copy{
    font-size: 1.6rem;
    margin-bottom: 15px;
  }
  .c_interview .is_aff{
    font-size: 1.2rem;
    margin-bottom: 10px;
  }
  .c_interview .is_name{
    font-size: 1.4rem;
  }


  /*----------------------------------------------
    .c_faq
  ---------------------------------------------*/
  .c_faq{
    padding: 20px 0;
  }
  /* Q */
  .c_faq .is_q {
    gap: 20px;
    padding-right: 40px;
  }
  .c_faq .is_q .is_icon{
    width: 30px;
    height: 30px;
    font-size: 1.6rem;
    font-weight: 500;
  }
  /* A */
  .c_faq .is_a {
    gap: 20px;
    padding: 15px;
    margin-top: 20px;
  }
  .c_faq .is_a .is_icon{
    width: 30px;
    height: 30px;
    font-size: 1.6rem;
  }
  /* toggle */
  .c_faq .c_faq_toggle {
    width: 25px;
    height: 25px;
  }
  .c_faq .c_faq_toggle::before {
    width: 12px;
  }
  .c_faq .c_faq_toggle::after {
    height: 12px;
    top: calc(50% - 12px / 2);
  }

  /*----------------------------------------------
  c_contact
  ---------------------------------------------*/
  .c_contact {
    padding: 20px 0;
  }
  .c_contact > *{
    flex-direction: column;
    gap: 10px;
    padding: 0;
  }
  .c_contact > * > br{
    display: none;
  }
  .c_contact .is_ttl{
    font-size: 1.6rem;
    gap: 5px;
    width: 100%;
    margin-top: 0;
  }

  /*----------------------------------------------
    .c_hissu
  ---------------------------------------------*/
  .c_hissu{
    font-size: 1rem;
    width: 40px;
    border-radius: 100px;
  }

  /*----------------------------------------------
  .c_sitemap_column
  ---------------------------------------------*/
  .c_sitemap_column{
    gap: 20px;
  }
  .c_sitemap_column > li .is_child li a{
    font-size: 1.5rem;
  }

  /*----------------------------------------------
  .c_menu_ttl_btn
  ---------------------------------------------*/
  .c_menu_ttl_btn{
    padding: 8px 15px;
    font-size: 1.5rem;
  }


  /*----------------------------------------------
  .c_interview_modal
  ---------------------------------------------*/
  .c_interview_modal{
    padding-bottom: 30px;
  }
  .c_interview_modal .is_wrap{
    height: calc(100svh - (30px + 50px));
  }
  .c_interview_modal .is_wrap .is_img img{
    height: 150px;
    object-fit: cover;
  }
  .c_interview_modal .is_wrap .is_content {
    padding: 20px 30px;
  }
  .c_interview_modal .is_wrap .is_content .is_copy {
    font-size: 2rem;
    margin-bottom: 15px;
  }
  .c_interview_modal .is_wrap .is_content .is_dtl .is_aff{
    background: var(--color5);
    font-size: 1.6rem;
    font-weight: bold;
    padding: 2px 15px;
    margin-bottom: 5px;
    color: #fff;
  }
  .c_interview_modal .is_wrap .is_content .is_dtl {
    margin-bottom: 20px;
  }
  .c_interview_modal .is_wrap .is_content .is_dtl .is_aff {
    font-size: 1.2rem;
    padding: 1px 10px;
  }
  .c_interview_modal .is_wrap .is_content .is_dtl .is_name{
    font-size: 1.8rem;
  }
  .c_interview_modal .is_wrap .is_content .is_column{
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
    margin-bottom: 30px;
  }

  /*----------------------------------------------
  .c_interview_qa
  ---------------------------------------------*/
  .c_interview_qa .is_q{
    font-size: 1.6rem;
    margin-bottom: 5px;
  }
  .c_interview_qa .is_a{
    font-size: 1.5rem;
  }


  /*----------------------------------------------
  .c_interview_msg
  ---------------------------------------------*/
  .c_interview_msg{
    padding: 20px;
  }
  .c_interview_msg .is_ttl{
    font-size: 1.6rem;
    margin-bottom: 10px;
  }


  /*----------------------------------------------
    .c_mailing_flow
  ---------------------------------------------*/
  .c_mailing_flow{
    padding: 20px 0;
    min-height: 250px!important;
  }
  .c_mailing_flow img{
    width: 80%;
    margin: 0 auto;
    margin-bottom: 15px;
  }
  .c_mailing_flow .is_step{
    font-size: 1.5rem;
  }
  .c_mailing_flow .is_ttl{
    font-size: 1.8rem;
  }


  /*----------------------------------------------
  u_mab
  ---------------------------------------------*/
  .u_sp_mat0 { margin-top: 0; }

  .u_sp_mab0 { margin-bottom: 0; }
  .u_sp_mab5 { margin-bottom: 5px; }
  .u_sp_mab10 { margin-bottom: 10px; }
  .u_sp_mab15 { margin-bottom: 15px; }
  .u_sp_mab20 { margin-bottom: 20px; }
  .u_sp_mab25 { margin-bottom: 25px; }
  .u_sp_mab30 { margin-bottom: 30px; }
  .u_sp_mab40 { margin-bottom: 40px; }
  .u_sp_mab50 { margin-bottom: 50px; }
  .u_sp_mab60 { margin-bottom: 60px; }
  .u_sp_mab70 { margin-bottom: 70px; }
  .u_sp_mab80 { margin-bottom: 80px; }
  .u_sp_mab90 { margin-bottom: 90px; }
  .u_sp_mab100 { margin-bottom: 100px; }
  .u_sp_mab120 { margin-bottom: 120px; }


  .u_mal50 { margin-left: 3vw; }

  /*----------------------------------------------
  u_sp_mar
  ---------------------------------------------*/
  .u_sp_mar0 { margin-right: 0; }
  .u_sp_margin0 { margin: 0 auto; }

  /*----------------------------------------------
  miscellaneous
  ---------------------------------------------*/
	.u_pc {
		display: none !important;
	}

	.u_sp {
		display: block !important;
	}

  .u_line_height3{ line-height: 2; }
  
  .u_sp_ALcenter { text-align: center !important; }
  .u_sp_ALright { text-align: right !important; }
  .u_sp_ALleft { text-align: left !important; }

  .u_sp_underline{
    text-decoration: underline;
  }

  .u_sp_fs11 { font-size: 1.1rem; }
  .u_sp_fs12 { font-size: 1.2rem; }
  .u_sp_fs13 { font-size: 1.3rem; }
  .u_sp_fs14 { font-size: 1.4rem; }
  .u_sp_fs15 { font-size: 1.5rem; }
  .u_sp_fs16 { font-size: 1.6rem; }
  .u_sp_fs17 { font-size: 1.7rem; }
  .u_sp_fs18 { font-size: 1.8rem; }
  .u_sp_fs19 { font-size: 1.9rem; }
  .u_sp_fs20 { font-size: 2rem; }
  .u_sp_fs21 { font-size: 2.1rem; }
  .u_sp_fs22 { font-size: 2.2rem; }
  .u_sp_fs23 { font-size: 2.3rem; }
  .u_sp_fs24 { font-size: 2.4rem; }
  .u_sp_fs30 { font-size: 3rem; }
  .u_sp_fs50 { font-size: 5rem; }

  
  /*----------------------------------------------
  u_flex
  ---------------------------------------------*/
  .u_flex.is_sp_column,
  .u_sp_column {
    flex-direction: column;
  }
  .u_flex.is_sp_column_reverse,
  .u_sp_column_reverse {
    flex-direction: column-reverse;
  }
  .u_flex.is_wrap_sp {
    flex-wrap: wrap;
  }
  .u_flex.is_sp_jc_end,
  .u_sp_jc_end {
    justify-content: flex-end;
  }

  .u_sp_gap0, .u_flex.is_sp_gap0{ gap: 0; }
  .u_sp_gap5, .u_flex.is_sp_gap5{ gap: 5px; }
  .u_sp_gap20, .u_flex.is_sp_gap20{ gap: 20px }

  .u_w_auto_sp{ width: auto; }


  .u_mv_copy{
    font-size: 3.2rem;
    line-height: 1.3;
  }
  .u_mv_copy_sub{
    font-size: 1.3rem;
    letter-spacing: 0;
  }

  .u_recruit{
    padding: 20px 25px;
  }
  .u_recruit_txt{
    margin: 0 15px unset;
    font-size: 1.5rem;
    line-height: 1.8;
    letter-spacing: unset;
  }

  .u_recruit .is_txt .is_en{
    font-size: 3.4rem;
  }

  .u_product_ttl{
    font-size: 2rem;
    bottom: 15px;
    left: 20px;
  }

  .u_product_lead{
    font-size: 1.5rem;
  }

  .u_company_copy{
    display: block;
  }

  .u_readmore{
    height: 200px;
  }

  .u_office_grid{
    grid-template-columns: repeat(2, 1fr)!important;
    gap: 30px 20px;
  }

  .u_factory_img_ttl{
    font-weight: bold;
    font-size: 1.5rem;
    width: calc((100% - 40px) / 3);
  }
  .u_factory_img_ttl::before{
    width: 10px;
    height: 10px;
    top: -20px;
  }
  .u_factory_img_ttl:not(:last-child)::after{
    width: calc(100% + 20px);
    top: -15px;
  }

  .u_product_column{
    gap: 20px;
  }
  .u_product_img img{
    border-radius: 10px;
  }

  .u_entrybtn{
    width: 80px;
    height: 80px;
    right: 80px;
  }
  .u_entrybtn img{
    width: 30px;
    top: 16px;
  }
  .u_entrybtn span{
    font-size: 1.3rem;
    font-weight: 700;
    bottom: 5px;
  }

  .u_toggle{
    font-size: 1.4rem;
    bottom: -21px;
  }

  .u_recruit_label{
    font-size: 1.3rem;
    padding: 3px 10px;
    left: 155px;
    top: 5px;
  }

  .u_entry_link{
    width: 100%;
  }

  .u_policy_check{
    padding: 15px;
  }


  /*----------------------------------------------
  slick
  ---------------------------------------------*/
  .l_recruit_dtl .slick-dots li button{
    padding: 0;
    width: 10px;
  }
  .l_recruit_dtl .slick-dots li button:before{
    font-size: 12px;
    width: 10px;
  }

  /* PRODUCT */
  .l_product_slider .slick-arrow {
    width: 35px;
    height: 35px;
  }
  .l_product_slider .slick-arrow::before {
    width: 35px;
    height: 35px;
    background-size: 14px;
  }
  .l_product_slider .slick-arrow.slick-next {
    top: -70px;
  }
  .l_product_slider .slick-arrow.slick-prev {
    top: -52px;
    right: calc(5% + 50px);
  }

  /* サービスページ */
  .l_service_flow .slick-dots {
    bottom: -50px;
  }
  .l_service_flow .slick-dots li button:before{
    font-size: 12px;
  }

  /*----------------------------------------------
    block editor
  ---------------------------------------------*/
  body:not(#top) .l_content  .has-medium-font-size {
      font-size: 1.6rem!important;
  }

  /*----------------------------------------------
  pagination
  ---------------------------------------------*/
  /* .page-numbers{
    gap: 15px;
  }
  .page-numbers li a,
  .page-numbers li span{
    width: 30px;
    height: 30px;
    font-size: 1.5rem;
  } */


  /*----------------------------------------------
    cf7
  ---------------------------------------------*/
  .wpcf7-form-control.wpcf7-text,
  .wpcf7-form-control.wpcf7-textarea{
    padding: 12px 20px;
  }

  .wpcf7-response-output{
    padding: 15px!important;
  }
  
	
/*----------------------------------------------
	.c_template_btn
---------------------------------------------*/

.c_template_btn{
    flex-direction: column;
}
	
	.c_template_btn .is_w280{
		margin-bottom: 20px;
	}
	.c_template_btn .is_w280:first-child{
		margin-top:0px;
	}
	
	
  /*----------------------------------------------
	.c_template
---------------------------------------------*/

.c_template{
    flex-direction: column;
}
.c_template .is_title {
   margin-bottom:15px;
}

}