@media only screen and (max-width: 1590px) {
  .l_news_cat_btn {
    grid-template-columns: repeat(3, 3fr);
  }
}
@media only screen and (max-width: 1350px) {
  /*----------------------------------------------
	.l_nav_area
  ---------------------------------------------*/
  .l_nav_area {
    padding: 15px 20px;
  }
  .l_header_bottom {
    flex-wrap: wrap;
    gap: 0;
  }
  .l_header_bottom > div:last-of-type {
    margin: 0 auto;
  }

  /*----------------------------------------------
	.l_logo
  ---------------------------------------------*/
  .l_logo {
    width: 70%;
    max-width: 450px;
    margin-top: 20px;
  }


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

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

@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_uses {
    width: 100%;
    margin: 0 auto 300px auto;
    padding: 100px 2.5%;
  }
  .l_uses_cards,
  .l_uses_cards.is_col2,
  .l_links_cards {
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
  }
  .l_uses_cards.is_col2{
    width: 100%;
  }
  .l_uses_cards {
    margin-bottom: 30px;
    width: 100%;
  }
  .c_uses_card .is_ttl {
    font-size: 4.5rem;
  }
  .c_uses_card img {
    width: 100%;
    object-fit: cover;
    width: 100%;
    max-height: 400px;
  }
  .is_col2 .c_uses_card img {
    max-height: 300px;
  }
  .l_nav_area {
    margin-right: 0;
  }
  
  .l_links_cards {
    margin-bottom: 20px;
  }
  .l_links_cards,
  .l_links_cards.is_col1 {
    height: 300px;
    gap: 20px;
  }
  .c_links_card .is_ttl,
  .is_col1 .c_links_card .is_ttl {
    font-size: 2.5rem;
    left: 25px;
  }
  .c_links_card .is_ttl p:first-of-type,
  .is_col1 .c_links_card .is_ttl p:first-of-type{
    font-size: 1.6rem;
  }
  .c_links_card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .is_col1 .c_links_card.is_white img {
    background: #FFFFFF;
  }

  /*----------------------------------------------
    .l_ranking
  ---------------------------------------------*/
  .c_ranking_box li:nth-child(1),
  .c_ranking_box li:nth-child(2),
  .c_ranking_box li:nth-child(3),
  .c_ranking_box li:nth-child(4),
  .c_ranking_box li:nth-child(5) {
    transform: unset;
  }
  .c_ranking_box li a {
    width: 100%;
  }
  .l_picup_slider a {
    width: 500px;
    height: 110px;
  }
}


@media only screen and (max-width: 1050px) {
  .l_header_top {
    display: none;
  }
  .l_header_logo {
    display: unset;
  }
  .l_header_bottom {
    flex-wrap: unset;
  }
  .l_header_bottom > div:last-of-type {
    display: unset;
  }
  .c_btn_contact a {
    width: 100%;
    margin: 20px 0 0 0;
  }
  .l_logo {
    filter: brightness(0) invert(1);
  }
  .l_mv_wrap {
    margin-top: 0;
  }
  .l_inner_header {
    margin-top: 100px;
  }
  /*----------------------------------------------
  .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%;
    padding: 0;
  }

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

  .c_nav_type01 > li > a.is_arrow::before,
  .c_nav_type01 > li > a.is_arrow::after,
  .c_nav_type01 > li:hover > a.is_arrow::before,
  .c_nav_type01 > li:hover > a.is_arrow::after{
    background: #FFFFFF;
    top: 50%;
    right: 6px;
  }


  /* 子要素 */
  .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,
  .c_nav_type01 .is_child_ttl{
    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,
  .c_nav_type01 .is_child_ttl::before{
    content: '-';
    position: absolute;
    top: 11px;
    left: 0;
  }
   .c_nav_type01 .is_child {
     transform: none;
  }
  .c_nav_type01 .is_child_ttl {
    margin-bottom: 0;
  }
  .c_nav_type01 li .is_child_child,
  .c_nav_type01 li .is_child_child_child{
     display: none;
  }
  .c_nav_type01 .is_child > div:first-of-type {
    display: none;
  }
  .c_nav_type01 .is_child > div:last-of-type {
    width: 100%;
  }
  .c_nav_type01 .is_child > div:last-of-type > ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 0;
  }
  .c_nav_type01 .is_child > div:last-of-type > ul > li {
    width: 100%;
  }


  /*----------------------------------------------
    .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;
  }
    /*----------------------------------------------
  miscellaneous
  ---------------------------------------------*/
	.u_pc_br {
		display: none !important;
	}

	.u_sp_br {
		display: block !important;
	}

}
@media only screen and (max-width: 1040px) {
  .l_footer_dtl{
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0 30px;
    align-items: flex-start;
  }
  .l_footer_inner{
    flex-direction: column;
    align-items: center;
  }
  .l_footer_inner::before {
    display: none;
  }

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

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

  /*----------------------------------------------
      .l_inner_list
  ---------------------------------------------*/
  .l_inner_list {
    grid-template-columns: repeat(1, 1fr);
  }
}

@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_mv_copy
  ---------------------------------------------*/
  .l_mv_copy {
    margin-bottom: 27svh;
  }

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

  /*----------------------------------------------
	.l_mv
  ---------------------------------------------*/
  .l_mv {
  }
  .l_mv img{
    object-position: top;
  }


  /*----------------------------------------------
	.l_header_area
  ---------------------------------------------*/
  .l_header_area{
    width: 100%;
  }

  #inner .l_header_area{
    width: 95%;
  }

  .l_header_top {
    display: none;
  }

  /*----------------------------------------------
	.l_header_right
  ---------------------------------------------*/
  .l_header_right {
    align-items: center;
    flex-direction: column;
    justify-content: flex-start;
    padding-bottom: 30px;
  }
  
  /*----------------------------------------------
	.l_header_bottom
  ---------------------------------------------*/
  .l_header_bottom {
    padding-top: 35px;
    display: inline-block;
  }
  .l_header_bottom > div:last-of-type {
    display: inline-block;
    width: 100%;
    margin-top: 50px;
  }
  
  /*----------------------------------------------
	.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-bottom: 300px;
    padding: 30px;
  }
  .l_news_inner{
    gap: 25px;
  }
  .l_news_head{
    align-items: center;
    width: 100%;
  }
  .l_news_dtl{
    max-height: 353px;
  }
  .l_news_cat_btn {
    grid-template-columns: repeat(1, 1fr);
  }
  .l_news_cat_btn div {
    width: 100%;
  }



  /*----------------------------------------------
    .l_ranking
  ---------------------------------------------*/
  .c_ranking_box li a {
    padding: 20px 60px 20px 98px;
    font-size: 1.8rem;
  }
  .c_ranking_box li:nth-child(2) a,
  .c_ranking_box li:nth-child(3) a,
  .c_ranking_box li:nth-child(4) a,
  .c_ranking_box li:nth-child(5) a{
    font-size: 1.8rem;
  }
  .l_picup_slider {
    width: 95%;
    margin: 0 auto;
  }
  .l_picup_slider a {
    width: 100%;
    display: inline-block;
    margin: 0 0 70px 0;
  }
  .c_picup_num {
    font-size: 3rem;
    bottom: 73%;
  }
  .c_picup_num span {
    font-size: 6rem;
  }
  .c_picup_ttl {
    font-size: 1.8rem;
  }


  /*----------------------------------------------
    .l_about
  ---------------------------------------------*/
  .l_about{
    padding: 50px 0 60px;
    margin-bottom: 300px;
  }
  .l_about_cards{
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .c_about_box {
    display: inline-block;
  }
  .c_about_box > div {
    margin-bottom: 30px;
  }


  /*----------------------------------------------
  .l_footer
  ---------------------------------------------*/
  .l_footer {
  }
  .l_footer_dtl {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
  }
  .l_footer_menu_flex {
    display: inherit;
  }
  .l_footer_menu,
  .c_menu_column.is_column02{
    width: 100%;
  }
  .l_footer_menu > div {
    display: block;
  }
  .c_menu_column.is_column01,
  .c_menu_column.is_column02:not(:last-of-type) {
    margin-bottom: 30px;
  }
  .l_footer_dtl .is_logo{
    width: 200px;
    margin-bottom: 13px;
  }
  .u_map {
    margin-top: 10px;
  }

  /*----------------------------------------------
  .l_copy
  ---------------------------------------------*/
  .l_copy div{
    width: 95%;
    flex-direction: column;
    gap: 0;
  }
  .l_copy .is_links{
    gap: 12px;
    margin-bottom: 30px;
    align-items: flex-start;
  }


  /*----------------------------------------------
	.l_inner_header
  ---------------------------------------------*/
  .l_inner_header {
    margin-top: 100px;
    padding-top: 500px;
    height: 300px;
  }

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


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


  /*----------------------------------------------
    .l_content
  ---------------------------------------------*/
  #inner .l_content {
    margin: 10px 0 60px;
    padding: 60px 0 0 0;
  }
  

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

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

  
  /*----------------------------------------------
      .c_ttl_type01
  ---------------------------------------------*/
  .c_ttl_type01,
  .c_ttl_type01.is_inner{
    padding: 5px 30px 30px 30px;
    font-size: 3rem;
    line-height: 1.2;
    border-radius: 15px 15px 0 0
  }
  .c_ttl_type01 span,
  .c_ttl_type01.is_inner span{
    font-size: 1.6rem;
    line-height: 1.5;
  }


  /*----------------------------------------------
      h2
  ---------------------------------------------*/
.block-editor-iframe__body h2,
.inner h2,
  h2 {
  font-size: 2.2rem;
}

  /*----------------------------------------------
      .c_ttl_type03
  ---------------------------------------------*/
  .c_ttl_type03 {
    font-size: 1.8rem;
  }

  /*----------------------------------------------
    .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 a,
  .c_btn_type01.is_default a {
    padding: 18px 62px 18px 30px;
    font-size: 1.6rem;
    width: 100%;
  }
  .c_btn_type01 {
    padding: 0;
  }


  /*----------------------------------------------
	.c_btn_contact
  ---------------------------------------------*/
  .c_btn_contact a{
    background: #fff;
    color: var(--color)!important;
    margin: 0 auto;
    width: 100%;
    text-align: center;
    padding: 15px 0;
    margin-top: 30px;
    border: 1px solid var(--color3);
  }

  /*----------------------------------------------
	.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_fixed01::before{
    background: none;
  }

  /*----------------------------------------------
	.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 .is_img.is_products::after,
  .c_news li a.is_inner .is_img.is_business::after,
  .c_news li a.is_inner .is_img.is_reform::after,
  .c_news li a.is_inner .is_img.is_home::after,
  .c_news li a.is_inner .is_img.is_organizations::after {
    width: 25px;
    height: 25px;
  }
  .c_news li a.is_inner .is_img{
    width: 60px;
    height: 60px;
  }
  .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_news li a.is_inner .is_img.is_products::after {
    width: 25px;
    height: 22px;
  }
  .c_news li a.is_inner .is_dtl .is_date_cat {
    margin-bottom: 0;
  }
  .c_news li a.is_inner .is_dtl .is_date_cat .is_cat_box {
    display: none;
  }


  /*----------------------------------------------
  .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-bottom: 5px;
    font-size: 1.4rem;
  }
  .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_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_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_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;
  }
  
  /*----------------------------------------------
  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_product_ttl{
    font-size: 2rem;
    bottom: 15px;
    left: 20px;
  }

  .u_product_lead{
    font-size: 1.5rem;
  }

  .u_company_copy{
    display: block;
  }

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

  .u_policy_check{
    padding: 15px;
  }


  /*----------------------------------------------
    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;
}
/*----------------------------------------------
	.c_linkbtn_box
---------------------------------------------*/
  .c_linkbtn_box {
    grid-template-columns: repeat(1, 1fr)!important;
  }
  
/*----------------------------------------------
	.l_news_content
---------------------------------------------*/
  .l_news_content {
    flex-flow: column;
    flex-direction:column-reverse;
  }
  .l_news_content .l_news_dtl {
    width: 100%;
  }
  .l_news_content .l_year_filter {
    width: 100%;
  }
  .c_year_btn {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 30px;
  }
  .c_year_btn a {
    margin-bottom: 0;
  }

}