@charset "UTF-8";

/* style for kelk site. Base style_kcsj.css */
/* GlobalNav kcsj */
.cm_GlobalNav_kcsj {
  background-color: #140a9a;
}

.cm_GlobalNav_kcsj .hd_wrap .sp_menu .bar {
  background-color: #fff;
}

.cm_GlobalNav_kcsj .hd_wrap .ico_search::before,
.cm_GlobalNav_kcsj .hd_wrap .ico_search::after {
  background-color: #fff;
  width: 2px;
}

.cm_GlobalNav_kcsj .hd_wrap .ico_search img {
  width: 40px;
}

/* sp */
@media not screen and (min-width: 1024px) {
  .cm_GlobalNav_kcsj .hd_wrap .logo a+a {
    margin-left: 13px;
  }

  .cm_GlobalNav_kcsj .hd_wrap .logo a+a img {
    padding-top: 5px;
    width: 125px;
  }

  .cm_GlobalNav_kcsj .hd_wrap .ico_search {
    display: block;
    position: absolute;
    right: 50px;
    top: 5px;
  }

  .cm_GlobalNav_kcsj .hd_nav_top {
    background: #140a9a;
    bottom: unset;
    display: none !important;
    padding: 10px;
  }

  .cm_GlobalNav_kcsj .hd_nav_top.searchShow {
    display: block !important;
  }

  .cm_GlobalNav_kcsj .hd_nav_top li:not(.search_area) {
    display: none;
  }

  .cm_GlobalNav_kcsj .hd_nav_top li.search_area {
    margin-bottom: 0;
    padding: 0;
    border: 0;
  }

  .cm_GlobalNav_kcsj .hd_nav_top li.search_area .search_box {
    flex-direction: row-reverse;
    background-color: #253fc8;
    border-radius: 5px;
    border: 2px solid white;
  }

  .cm_GlobalNav_kcsj .hd_nav_top li.search_area .search_box img {
    width: 30px;
    margin: 0;
  }

  .cm_GlobalNav_kcsj .hd_nav_top li.search_area .search_box .input_btn {
    padding: 10px;
    background-color: #253fc8;
    color: #fff;
  }

  .cm_GlobalNav_kcsj .hd_nav_top li.search_area .search_box .input_btn::placeholder {
    color: #fff;
  }

  .cm_GlobalNav_kcsj .hd_nav_top li.search_area .search_box .input_btn:focus {
    background-color: #253fc8;
  }

  .cm_GlobalNav_kcsj .menu_tab_wrap {
    display: none;
  }
}

/* pc */
@media screen and (min-width: 1024px) {
  .cm_GlobalNav_kcsj {
    height: auto;
    border-bottom: 1px solid #ffc82f;
  }

  .cm_GlobalNav_kcsj .hd_wrap {
    height: 72px;
  }

  .cm_GlobalNav_kcsj .hd_wrap .logo a {
    display: inline-block;
    margin-bottom: 5px;
  }

  .cm_GlobalNav_kcsj .hd_wrap .logo img {
    width: 160px;
    height: 32px;
  }

  .cm_GlobalNav_kcsj .hd_wrap .logo a+a {
    margin-left: 25px;
  }

  .cm_GlobalNav_kcsj .hd_wrap .logo a+a img {
    padding-top: 9px;
    width: 116px; /* kelk */
  }

  .cm_GlobalNav_kcsj .hd_nav {
    padding: 0;
  }

  .cm_GlobalNav_kcsj .hd_nav_top {
    margin: 0 20px 0 auto;
    align-items: center;
    justify-content: end;
    gap: 0;
  }

  .cm_GlobalNav_kcsj .hd_nav_top #search,
  .cm_GlobalNav_kcsj .hd_nav_top #search::placeholder {
    color: #FFF;
  }

  .cm_GlobalNav_kcsj .hd_nav_top li a[href="https://www.komatsu.jp/ja"]::before {
    content: " ";
    position: relative;
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url(/assets/images/kcsj/icon_global.png);
    background-size: contain;
    top: 2px;
    vertical-align: text-bottom;
    margin-top: -3px;
  }

  .cm_GlobalNav_kcsj .hd_nav_top li a {
    color: #fff;
    border-bottom: 2px solid #140a9a;
  }

  .cm_GlobalNav_kcsj .hd_nav_top li a:hover {
    color: #FFF;
    text-decoration: none;
    border-bottom: 2px solid #fff;
  }

  .cm_GlobalNav_kcsj .hd_nav_top li+li {
    margin-left: 20px;
    text-align: center;
  }

  .cm_GlobalNav_kcsj .hd_nav_under_wrap {
    width: 100%;
    background: #fff;
  }

  .cm_GlobalNav_kcsj .hd_nav_under {
    max-width: 900px;
    margin: 0 auto;
    /* padding: 0 20px*/
    padding: 0 calc(20px + 20 * (100vw - 769px) / 671);
    height: 67px;
    align-items: center;
  }

  .cm_GlobalNav_kcsj .hd_nav_under li {
    /* 検索で消えるのを打ち消し */
    visibility: visible !important;
    opacity: 1 !important;
    margin-left: 0;
    text-align: center;
  }

  .cm_GlobalNav_kcsj .hd_nav_under li+li {
    margin-left: 0;
  }

  .cm_GlobalNav_kcsj .hd_nav_under li:first-child .drop_down_menu {
    width: 720px; /* kelk */
    margin-left: -100px; /* kelk */
    /* kelk */
    .drop_down_menu_list {
      display: none;
    }
  }

  /* kelk
  .cm_GlobalNav_kcsj .hd_nav_under li:nth-child(n+2) .drop_down_menu {
    /* 2個目以降を表示しない
    display: none;
  }*/

  .cm_GlobalNav_kcsj .hd_nav .drop_down_menu_list a {
    color: #000;
  }
}

@media screen and (min-width: 1024px) and (min-width: 1440px) {
  .cm_GlobalNav_kcsj .hd_nav_under {
    padding: 0 40px;
  }
}

/* GlobalNav tab menu */
@media not screen and (min-width: 1024px) {
  .cm_GlobalNav_kcsj .drop_down_menu_tab {
    display: none;
  }
}

@media screen and (min-width: 1024px) {
  /* .cm_GlobalNav_kcsj .hd_nav_under .drop_down_menu_list {
    display: none;
  } kelk */

  .cm_GlobalNav_kcsj .hd_nav_under .drop_down_menu_tab {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 20px 15px;
    /* margin-bottom: 10px; kelk */
  }

  .cm_GlobalNav_kcsj .hd_nav_under .drop_down_menu_tab li {
    /* max-width: calc((100% - 60px) / 5); kelk */
    flex: 1; /* kelk */

    /* kelk */
    a {
      display: flex;
      flex-direction: column;
      gap: 16px;
    }
  }

  .cm_GlobalNav_kcsj .hd_nav_under .drop_down_menu_tab li a:hover img {
    opacity: .8;
  }

  .cm_GlobalNav_kcsj .hd_nav_under .drop_down_menu_tab li img {
    width: 120px; /* kelk */
    height: auto;
    margin: auto; /* kelk */
  }

  .cm_GlobalNav_kcsj .menu_tab_wrap {
    display: flex;
    flex-wrap: wrap;
  }

  .cm_GlobalNav_kcsj .menu_tab_wrap::after {
    content: '';
    width: 100%;
    height: 3px;
    order: -1;
    display: block;
  }

  .cm_GlobalNav_kcsj .menu_tab_wrap .tabLabel {
    display: none; /* kelk */
    margin-right: 3px;
    flex: 1;
    order: -1;
    transition: .5s;
    cursor: pointer;
    border-bottom: 2px solid #e4e6e6;
    border-right: 2px solid #e4e6e6;
    font-size: 1.5rem;
  }

  .cm_GlobalNav_kcsj .menu_tab_wrap .tabLabel:nth-last-of-type(1) {
    margin-right: 0;
    border-right: 0;
  }

  .cm_GlobalNav_kcsj .menu_tab_wrap .tabLabel span {
    margin: 8px;
    display: inline-block;
  }

  .cm_GlobalNav_kcsj .menu_tab_wrap input {
    display: none;
  }

  .cm_GlobalNav_kcsj .menu_tab_wrap .tab_page {
    width: 100%;
    height: 0;
    overflow: hidden;
    opacity: 0;
  }

  .cm_GlobalNav_kcsj .menu_tab_wrap .tabLabel:hover {
    color: #140a9a;
  }

  .cm_GlobalNav_kcsj .menu_tab_wrap input:checked+.tabLabel {
    color: #140a9a;
    border-bottom: 2px solid #140a9a;
  }

  .cm_GlobalNav_kcsj .menu_tab_wrap input:checked+.tabLabel+.tab_page {
    padding: 20px 15px; /* kelk */
    height: auto;
    overflow: auto;
    transition: .5s opacity;
    opacity: 1;
  }
}

/* SocialMedia */
@media screen and (min-width: 1024px) {
  .cp_SocialMedia_kcsj .cp_SocialMedia_inner {
    justify-content: flex-end;
    align-items: flex-start;
    padding: 0;
  }
}

.cp_SocialMedia_kcsj .cp_SocialMedia_inner .lst_left {
  position: fixed;
  padding: 15px;
}

.cp_SocialMedia_kcsj .cp_SocialMedia_inner>ul.lst_left>li>a>img {
  width: 30px;
  height: 30px;
}

@media not screen and (min-width: 1024px) {
  .cp_SocialMedia_kcsj .cp_SocialMedia_inner {
    padding: 0;
  }

  .cp_SocialMedia_kcsj .cp_SocialMedia_inner .lst_left {
    margin-top: 50px;
  }
}

/* footer */
@media not screen and (min-width: 1024px) {
  .cm_FooterNav_kcsj {
    padding-bottom: 50px;
  }

  .cm_FooterNav_kcsj .ft_container_top .menu_box {
    flex: 0 1 320px; /* kelk */
  }

  .cm_FooterNav_kcsj .ft_container_top .menu_box .menu_list+.menu_list {
    border-top: 1px solid #a5abaf;
  }

  .cm_FooterNav_kcsj .ft_container .menu_ori li.menu_ttl {
    padding: 14px 0;
  }

  .cm_FooterNav_kcsj .ft_container .menu_ori li.menu_ttl a {
    padding: 0;
  }
}

@media screen and (min-width: 1024px) {
  .cm_FooterNav_kcsj .ft_container_top {
    padding: 40px 60px;
    justify-content: space-between;
    /* 余白等分割 */
  }

  .cm_FooterNav_kcsj .ft_container_top .menu_box+.menu_box {
    margin-left: 30px;
  }

  .cm_FooterNav_kcsj .ft_container_top .menu_box .menu_list+.menu_list {
    margin-top: 40px;
  }

  .cm_FooterNav_kcsj .ft_container_top .menu_box:last-of-type .menu_list+.menu_list {
    border-top: none;
    border-bottom: none;
  }

  .cm_FooterNav_kcsj .ft_container_top .menu_ori .menu_ttl+li {
    display: block !important;
  }

  .cm_FooterNav_kcsj .ft_container_top .menu_ori .menu_ttl {
    font-size: 1.6rem !important;
    font-weight: normal;
    letter-spacing: 1.6px !important;
    line-height: 2.13 !important;
  }
}

@media (768px <= width < 1024px) {
  .cm_FooterNav_kcsj .menu_list.menu_ori li.open + li .sp_only {
    display: block !important;
  }
}

/* NaviButton */
.cp_nav_botton {
  position: fixed;
  width: 100%;
  bottom: 0;
  z-index: 98;
  
  /* kelk */
  @media not screen and (max-width: 768px) {
    display: none;
  }
}

.cp_nav_botton ul {
  display: flex;
  background: #1b232a;
}

.cp_nav_botton li {
  width: 100%; /* kelk */
  font-size: 1.4rem;
}

.cp_nav_botton li+li {
  border-left: 1px solid #e4e6e6;
  display: none; /* kelk */
}

.cp_nav_botton li a {
  color: #fff;
  text-align: center;
  display: block;
}

@media not screen and (min-width: 1024px) {
  .cp_nav_botton li a:hover {
    color: #FFF;
    opacity: .8;
  }

  .cp_nav_botton li div {
    display: inline-block;
  }
}

.cp_nav_botton li .nav_btn {
  width: 50px;
  height: auto; /* kelk */
  vertical-align: middle;
}

@media not screen and (min-width: 1024px) {
  .cp_nav_botton li .nav_btn {
    margin-left: -15px;
  }
}

@media screen and (min-width: 1024px) {
  .cp_nav_botton ul {
    position: fixed;
    bottom: unset;
    top: 50%;
    right: 0;
    display: block;
    background: unset;
    height: 100px;
  }

  .cp_nav_botton li {
    width: 100%;
  }

  .cp_nav_botton li a {
    display: inline-block;
    color: #1b232a;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row-reverse;
  }

  .cp_nav_botton ul li:first-child .nav_btn {
    border-bottom: .5px solid #a5abaf;
  }

  .cp_nav_botton li span {
    display: none;
    border: 1px solid #a5abaf;
  }

  .cp_nav_botton ul li .nav_btn:hover {
    opacity: .9;
  }

  .cp_nav_botton ul li .nav_btn:hover+span {
    display: inline-block;
    background: #e4e6e6;
    color: #1b232a;
    width: 130px;
    height: 50px;
    padding-top: 15px;
  }

  .cp_nav_botton li+li {
    border: none;
  }
}

/* PageTitle */
.cp_PageTitle {
  margin-top: 64px;
  /* デフォルト */
}

@media screen and (max-width: 767px) {
  .cp_PageTitle {
    margin: 40px auto;
  }
}

.cp_SocialMedia_kcsj:has(.lst_left)+div>.cp_PageTitle {
  margin-top: 50px;
  /* SNSアイコン有 */
}

@supports not selector(:has(*)) {
  .cp_PageTitle {
    margin-top: 45px;
    /* firefox*/
  }
}

/* kelk design start ---------- */
/*recruit top グラデーション背景 */
.cp_gradation {
  margin-top: -64px;
  margin-bottom: 140px;
  background: linear-gradient(197.07deg, #FFF4E9 6.27%, #FCF3EB 19.9%, #FFE6DC 35.72%, #FFEAE4 51.84%, #FCF1EE 71.93%, #FFEFE9 93.42%);
  background-size: 600% 600%;
  animation: gradient 30s ease infinite;
  background-clip: 400% 400%;

  @media screen and (max-width: 767px) {
    margin-bottom: 80px;
  }

  .cp_background_st,
  .cp_background_st~ :not(.cp_background_end ~ .cp_base) {
    /*グレー背景の打消し*/
    background: unset !important;
  }
}

@keyframes gradient {
  0% {
    background-position: 86% 0%
  }

  50% {
    background-position: 15% 100%
  }

  100% {
    background-position: 86% 0%
  }
}


/* 余白調整用 */
.mb-100 {
  margin-bottom: 100px;
}

.pt-96 {
  padding-top: 96px;
}

.pt-80 {
  padding-top: 80px;
}

.pt-32 {
  padding-top: 32px;
}

.mt-80 {
  margin-top: 80px;
}

.mt-140 {
  margin-top: 140px;
}

.mb-140 {
  margin-bottom: 140px;
}

.pb-140 {
  padding-bottom: 140px;
}

.mb-96 {
  margin-bottom: 96px;
}

.mt-96 {
  margin-top: 96px;
}

.pt-84 {
  /* 140-56残り*/
  padding-top: 84px;

  @media screen and (max-width: 767px) {
    /* 80-40残り*/
    padding-top: 40px;
  }
}

@media screen and (max-width: 767px),print {
  .pt-96 {
    padding-top: 64px;
  }

  .pt-80 {
    padding-top: 40px;
  }

  .pt-32 {
    padding-top: 24px;
  }

  .mt-80 {
    margin-top: 40px;
  }

  .mt-140 {
    margin-top: 80px;
  }

  .mb-140 {
    margin-bottom: 80px;
  }

  .pb-140 {
    padding-bottom: 80px;
  }

  .mb-96 {
    margin-bottom: 64px;
  }

  .mt-96 {
    margin-top: 64px;
  }
}

/* コンポーネント anchor sp表示 */
@media screen and (max-width: 767px) {
  .cp_Anchor .anchor_inr {
    padding: 0 8vw;
  }

  .cp_Anchor .anchor_ul {
    padding: 0;
    row-gap: 0;
  }

  .cp_Anchor .anchor_ul li {
    border-bottom: 1px solid var(--cp-light-gray);
    width: 100%;
    padding: 1.6rem 0;
    text-align: center;
    margin: 0;
    font-size: 1.4rem;
  }

  .cp_Anchor .anchor_ul li::after {
    display: none;
  }

  .cp_Anchor .anchor_ul li+li::before {
    display: none;
  }

  .cp_Anchor .anchor_ul li+li::after {
    display: none;
  }

  .cp_Anchor .anchor_ul li>a {
    padding: 0;
    line-height: 1.8;
    height: auto;
    display: inline-block;
    margin-left: 0;
  }

  .cp_Anchor .anchor_ul li>a::after {
    position: absolute;
    top: calc(50% - 7px);
    right: -20px;
    width: 7px;
    height: 7px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    border-top: 3px solid var(--cp-light-gray);
    border-right: 3px solid var(--cp-light-gray);
    content: "";
  }

  .cp_Anchor.pc_only {
    display: block !important;
  }
}


/* topページ KV Side Button */
.float_btn--wrap {
  position: relative;
}

.float_btn {
  top: calc(-13vw - 64px);
  cursor: pointer;
  position: absolute;
  right: 3vw;
  transition: 0.5s;
}

.float_btn:hover {
  transform: scale(1.1);
}

.float_btn img {
  width: 10vw;
}

@media screen and (max-width: 767px) {
  .float_btn {
    top: calc(-28vw - 64px);
  }

  .float_btn img {
    width: 25vw;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .float_btn {
    top: calc(-16vw - 64px);
  }

  .float_btn img {
    width: 13vw;
  }
}


/*ナンバー付3カラム*/
.bg_inr {
  background-color: var(--cp-gp-gray) !important;
  border-radius: 8px;
  padding: 32px;
}

.cp_TextWithImages-block h2 {
  font-size: 4.0rem;
  line-height: 1.6;
  font-weight: normal;
}

.cp_TextWithImages-block .common_inr .flex_wrap {
  gap: 1.6rem;
}

.cp_TextWithImages-block .contents_wrap {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.cp_TextWithImages-block .common_inr .flex_wrap.gp-24 {
  gap: 2.4rem;
}

.cp_TextWithImages-block .bg_inr:not(:last-child) {
  margin-bottom: 3.2rem;
}

.cp_TextWithImages-block .common_inr h2.img_block,
.cp_TitleWithImages .common_inr h2.img_block {
  font-size: 2.2rem;
  line-height: 1.5;
}

.cp_TextWithImages-block .common_inr .flex_wrap h2.number_img,
.cp_TitleWithImages .common_inr h2.img_block img {
  max-width: 29px;
  width: 100%;
  zoom: normal;
}

.cp_TextWithImages-block .common_inr .bg_inr:last-child {
  margin-bottom: 64px;
}

.cp_TextWithImages-block .common_inr .bg_inr .flex_wrap:last-child {
  margin-bottom: 0;
}

.cp_TextWithImages-block .common_inr .bg_inr .flex_wrap:not(:last-child) {
  margin-bottom: 4px;
}

@media screen and (max-width: 767px) {
  .bg_inr,
  .common_inr div.pd-24 {
    padding: 24px;
  }

  .cp_TextWithImages-block .common_inr .img_small h2.number_img ,
  .img_small h2>img {
    zoom: 0.8 !important;
  }

  .cp_TextWithImages-block .common_inr .img_small.gp-24 {
    gap: 0.4rem !important;
  }

  .cp_TextWithImages-block h2 {
    font-size: 2.4rem;
    line-height: 1.5;
  }

  .cp_leftImage .bg_inr {
    padding: 32px;
  }

  .cp_TextWithImages-block .common_inr .flex_wrap.gp-24 {
    gap: 1.6rem;
  }

  .cp_TextWithImages-block .common_inr .bg_inr .flex_wrap:not(:last-child) {
    margin-bottom: 2.4rem;
  }

  .cp_TextWithImages-block .common_inr .flex_wrap,
  .cp_TitleWithImages .common_inr .flex_wrap {

    flex-direction: column;
    gap: 1.6rem;
  }

  .cp_TitleWithImages .common_inr .flex_wrap img {

    height: auto !important;
    margin-bottom: 1.6rem;
    padding-top: 2px;
    zoom: .4;
  }

  .contents_wrap h2 {
    font-size: 1.8rem;
    font-weight: normal;
  }

  .cp_TextWithImages-block .bg_inr:not(:last-child) {
    margin-bottom: 2.4rem;
  }

  .cp_TextWithImages-block .flex_wrap.bg_inr {
    background-color: #f9f9f9;
    border-radius: 8px;
    padding: 32px;

    .contents_wrap p {
      font-size: 1.4rem;
    }
  }

  .cp_TextWithImages-block .common_inr h2.img_block,
  .cp_TitleWithImages .common_inr h2.img_block {
    align-items: center;
    display: block;
    font-size: 1.8rem;
    font-weight: normal;
    gap: 15px;
    letter-spacing: normal;
    line-height: 1.2;
  }

  .cp_TitleWithImages .common_inr .img_block>img {
    display: block;
    margin-bottom: 1.6rem;
  }

  .cp_TextWithImages-block .common_inr h3.img_block {
    font-size: 2rem;
  }
}

/* EnglishTitle */
.line-16 {
  line-height: 1.6;
}

.EnglishTitle>h5 {
  color: var(--cp-blue);
  font-size: 1.6rem;
}

div.EnglishTitle ~ h2.large_title + * {
  margin-top: 5.6rem;
}

div.EnglishTitle~.flex_inr,
div.EnglishTitle~h2 {
  margin-top: 1.6rem;
}

.cp_EnglishTitle h3 {
  color: var(--cp-blue);
  font-size: 2.0rem;
}

.cp_EnglishTitle .common_inr .flex_wrap p {
  line-height: 2.0;
  font-size: 1.6rem;
  flex-grow: 1;
}

h5.border_btm {
  border-bottom: 1px solid var(--cp-light-gray);
  color: #000000;
  margin-bottom: 3.2rem;
  padding-bottom: 20px;
  width: 100%;
  font-size: 1.6rem;
}

h5.border_btm ~ h2.large_title + * {
  margin-top: 6.4rem;
}

h5.border_btm ~ h2.large_title + p ,
h5.border_btm ~ h2.large_title + .common_txt {
  margin-top: 3.2rem !important;
}

.cp_border_ttl h2 {
  font-size: 4rem;
  font-weight: normal;
  line-height: 1.6;
  word-break: keep-all;
  overflow-wrap: anywhere;
  width: 40%;
}

.cp_EnglishTitle :is(h2, h3) {
  align-items: center;
  display: flex;
  font-size: 2.4rem;
  font-weight: normal;
  gap: 15px;
  letter-spacing: normal;
  line-height: 1.2;
}

.cp_EnglishTitle .flex_inr {
  >h2 {
    font-size: 4rem;
    width: 40%;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  .Images_text {
    letter-spacing: 0.01em;
    line-height: 2;
    width: 55%;
  }
}

.cp_border_ttl .common_inr .Images_text {
  line-height: 2;
  width: 55%;
}

.cp_common .common_inr .txt_line--height {
  line-height: 2.8;
  /*280%*/
}

.title_gradation {
  background: linear-gradient(135deg, rgb(20, 10, 154), rgb(138, 132, 223));
  color: transparent;
  display: inline-block;
  line-height: 1;
  margin-right: 1em;
}

@media screen and (max-width: 767px),print {
  div.EnglishTitle ~ h2.large_title + * {
    margin-top: 4.0rem;
  }

  h5.border_btm {
    margin-bottom: 2.4rem;
  }

  h5.border_btm ~ h2.large_title + * {
    margin-top: 4.0rem;
  }

  h5.border_btm ~ h2.large_title + p , 
  h5.border_btm ~ h2.large_title + .common_txt {
    margin-top: 2.4rem !important;
  }

  .cp_EnglishTitle .flex_inr {
    h2 {
      word-break: break-all;
      font-size: 2.4rem;
    }

    .Images_text {
      font-size: 1.4rem;
      margin-top: 2.4rem;
    }

    h2,
    .Images_text {
      line-height: 1.8;
      width: 100%;
    }
  }

  .cp_border_ttl h2 {
    font-size: 2.4rem;
    font-weight: normal;
    line-height: 1.6;
    word-break: break-all;
    width: 100%;
  }

  .cp_border_ttl .common_inr .Images_text {
    width: 100%;
    margin-top: 2.4rem;
  }

  .cp_common .common_inr .txt_line--height {
    line-height: 2.15 !important;
    /*215%*/
  }

  .cp_EnglishTitle .common_inr .flex_wrap p {
    line-height: 1.8;
    font-size: 1.4rem;
  }
}

/* EnglishTitle common end */

@media screen and (max-width: 767px),print {
  .title_gradation {
    margin-right: 1em;
  }

  .common_inr div.txt_line--height {
    line-height: 2.15;
    /*215%*/
  }
}

@media screen and (min-width: 768px),print {
  .cp_EnglishTitle h2 {
    font-size: 3rem;
  }

  .cp_EnglishTitle h3 {
    font-size: 2.2rem;
  }

  .cp_EnglishTitle .flex_inr {
    align-items: flex-start;
    display: flex;
    gap: 5%;
    justify-content: space-between;
  }

  .cp_border_ttl .flex_inr {
    align-items: flex-start;
    display: flex;
    gap: 5%;
    justify-content: space-between;
  }

  .cp_EnglishTitle .flex_inr h5 {
    margin-bottom: 1.6rem;
  }
}


/* ---------------- English Image ---------- */
.cp_EnglishImg .Imgflex_inr {
  display: flex;
  align-items: start;
  gap: 3%;

  .Img_titlearea {
    width: 27%;
  }

  .Img_titlearea .contents_Textarea {
    margin: 1.6rem 0;

    h2 {
      font-size: 4rem;
      padding: 3.2rem 0;
      font-weight: normal;
      line-height: 1.6;
    }

    .Images_text {
      font-size: 1.6rem;
    }
  }

  .flex_Imgarea {
    text-align: center;
    width: 40%;

    img {
      height: 100% !important;
      object-fit: contain;
      max-width: 500px !important;
      width: 100% !important;

    }
  }

  .Img_Linkarea {
    align-self: flex-end;
    display: block;
    padding: 0;
    width: 27%;

    ul.link_ul {
      width: 100%;
    }

    li::before {
      border-right: 3px solid var(--cp-gray);
      border-top: 3px solid var(--cp-gray);
      right: 4px;
    }

    ul.link_ul li a {
      font-size: 1.6rem;
      padding: 24px 0;
    }
  }
}


/*------------SP start------------*/

@media screen and (max-width: 820px),print {
  .cp_EnglishImg .Imgflex_inr {
    flex-direction: column;
    gap: 2.4rem;

    .Img_titlearea {
      width: 100%;
      margin-bottom: 1.6rem;
    }

    .Img_titlearea .contents_Textarea {
      margin: 0;

      h2 {
        font-size: 2.4rem;
        padding: 2.4rem 0;
        margin-bottom: 0;
        line-height:1.5;
      }

      .Images_text {
        font-size: 1.4rem;
      }
    }

    .flex_Imgarea {
      width: 100%;

      img {
        width: 100%;
      }
    }

    .Img_Linkarea {
      width: 100%;

      ul.link_ul li a {
        font-size: 1.4rem;
      }
    }

    .Img_Linkarea ul {
      margin: 0;
      width: 100%;
    }
  }
}

/* ---------------- English Image ---------- */


/*------大見出しstart----------------*/
h2.large_title {
  font-size: 4rem;
  font-weight: normal;
  line-height: 1.6;
  width: 100%;
}

h2.large_title + div {
  margin-top: 5.6rem;
}

@media screen and (max-width: 767px),
print {

  h2.large_title {
    font-size: 2.4rem;
    line-height: 1.5;
  }

  h2.large_title + div {
    margin-top: 4.0rem;
  }
}
/*------大見出しend-----------------*/


/*------強調テキストstart----------------*/
.strong_text h1 {

  font-size: 4.4rem;
  font-weight: normal;
  text-align: center;
}

.strong_text .center_text {
  text-align: center;
  margin-top: 3.2rem;
}

.strong_text .center_text span {
  display: inline-block;
}

.strong_text .center_text p {
  display: inline-block;
  letter-spacing: 0.01rem;
  line-height: 2.8;
  text-align: left;
}

@media screen and (max-width: 767px),print {

  .strong_text h1 {
    font-size: 2.4rem;

    >span {
      color: var(--cp-blue);
    }
  }

  .strong_text .center_text {
    margin-top: 2.4rem;
  }

  .strong_text .center_text p {
    font-size: 1.4rem;
    line-height: 3;
  }
}
/*------強調テキストend----------------*/

/*------グレー枠文字start----------------*/
.grayText_wrap {
  display: flex;
  flex-direction: column;
}

strong.grayText_f em {
  font-size: 1.6rem;
  line-height: 1.5;
}

.grayText_f em>span {
  display: inline-block;
  overflow-wrap: anywhere;
  word-break: normal;
}

.grayText_tag em {
  border: 1px solid #4c5459;
  border-radius: 4px;
  line-height: 1.6;
  padding: 0 8px;
  margin-bottom: 8px;
  display: inline-block;
}

.grayText_tag em>span {
  display: block;
}

/* recruit 3colModule */
:is(.cp_gradation .cp_3ColMojule, .recruit_people_3col + .cp_3ColMojule) .colMojule3_col_cap.cap_bottom  {
  margin-top: 2.4rem;

    >h4>a {
      padding-right: 0;

      &::after {
        content: none;
      }
    }
}

@media screen and (max-width: 767px),print {
  strong.grayText_f em {
    font-size: 1.4rem;
  }
}
/*------グレー枠文字end----------------*/

/*------小見出し付き左画像 start----------------*/
.cp_bg {
  background: var(--cp-gp-gray);
}

.cp_leftImage .flex_wrap {
  display: flex;
  gap: 4rem;
}

.cp_OurBusiness .flex_wrap {
  background-color: #ffffff;
  display: flex;
  gap: 4rem;
  padding: 3.2rem 6.4rem;
}

.cp_OurBusiness .flex_wrap .contents_wrap {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.cp_OurBusiness .flex_wrap .leftImage_wrap img,
.cp_Image3col .flex_wrap .leftImage_wrap img {
  width: 96px;
  max-width: max-content;

}

.cp_leftImage .flex_wrap .contents_wrap h4 {
  font-size: 2.2rem;
  font-weight: normal;
  line-height: 1.6;
}

.cp_leftImage .flex_wrap .contents_wrap p {
  font-size: 1.6rem;
  line-height: 2;
}

@media screen and (max-width: 767px),print {

  .cp_OurBusiness .flex_wrap {
    padding: 3.2rem 2.4rem;
  }

  .cp_leftImage .flex_wrap {
    flex-direction: column;
    gap: 1.6rem;

    .leftImage_wrap {
      margin-bottom: 1.6rem;
    }

    .OurBusiness_img {
      text-align: center;
    }
  }

  .cp_leftImage .flex_wrap .contents_wrap h5 {
    font-size: 1.4rem;
  }

  .cp_leftImage .flex_wrap .contents_wrap h4 {
    font-size: 1.8rem;
    line-height: 1.5;
  }

  .cp_leftImage .flex_wrap .contents_wrap p {
    font-size: 1.4rem;
    line-height: 1.8;
  }

}
/*------小見出し付き左画像 end----------------*/

/*------背景色付き3カラム start----------------*/
.cp_Image3col {

  .flex_wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 4.0rem;
    justify-content: start;
  }

  .contents_inr {
    border-radius: 0;
    width: 30%;
    padding: 4.0rem 3.2rem;
    display: flex;
    flex-direction: column;
    gap: 2.4rem;

    .leftImage_wrap {
      text-align: center;
    }

    .contents_text {
      font-size: 1.6rem;
      line-height: 2;
      flex-grow: 1;
      /* 余白の割り当て */
    }
  }
}

@media screen and (min-width: 650px) and (max-width: 1024px) {
  .cp_Image3col {
    .contents_inr {
      width: calc((100% - 4rem) / 2);
    }
  }
}

@media screen and (max-width:649px),print {
  .cp_Image3col {
    .flex_wrap {
      gap: 2.4rem;
    }

    .contents_inr {
      padding: 3.2rem 2.4rem;
      width: 100%;

      p {
        font-size: 1.4rem;
        line-height: 1.8;
      }
    }
  }
}
/*------背景色付き3カラム end----------------*/


/*------選考の流れ Start----------------*/
.cp_RecruitProcess {
  .flex_wrap {
    column-gap: 2%;
    row-gap: 4rem;
  }

  .flex_wrap::after {
    max-width: 320px;
  }

  .contents_inr {
    max-width: 320px;
    width: 27%;
    padding: 3.2rem;
    gap: 1.6rem;

    .leftImage_wrap {
      img {
        max-width: 29px;
      }
    }

    .contents_title {
      margin: 0 auto;
    }

    .contents_title h4 {
      text-align: left;
      font-size: 22px;
      font-weight: normal;
      line-height: 1.6;
      line-break: strict;
    }

    .link_inr {
      text-align: center;
    }

    .link_inr a {
      color: var(--cp-link);
      font-size: 1.6rem;
      line-height: 2;
    }

    .link_inr a:hover {
      text-decoration-line: underline;
    }

    .contents_text {
      display: flex;
      flex-direction: column;
      gap: 1.6rem;
      margin: 0 auto;

      .text_inr {
        display: inline-flex;
        flex-direction: column;
        row-gap: 8px;
      }

      .text_inr:not(:last-child) {
        margin-bottom: 8px;
      }

      .text_inr:last-child {
        margin-bottom: 0;
      }

      .text_list {
        display: flex;
        font-weight: 500;
        gap: 1.2rem;

        span {
          color: var(--cp-blue);
        }
      }
    }
  }

  .arrow_s {
    background: var(--cp-gray);
    height: calc(tan(70deg)* 20px / 2);
    width: 20px;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    margin: auto 0;
  }

  .arrow_disable {
    visibility: hidden;
  }

  /* 上向き */
  .up {
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
  }

  /* 右向き */
  .right {
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }

  /* 下向き */
  .down {
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }

  /* 左向き */
  .left {
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
  }
}

@media screen and (max-width: 960px),print {
  .cp_RecruitProcess {
    .flex_wrap {
      flex-flow: column;
      gap: 1.6rem;

      .arrow_s {
        height: calc(tan(60deg)* 20px / 2);
        margin: 0 auto;
      }

      .pc_only {
        display: none !important;
      }

      .sp_only {
        display: block !important;
      }

      .contents_title h4 {
        line-height: 1.5;
        font-size: 1.8rem;
      }

      .contents_inr {
        width: 100%;
        max-width: 100%;

        .text_inr {
          text-align: left;
        }

        .text_list {
          font-size: 1.4rem;
        }

        .link_inr a {
          font-size: 1.4rem;
          line-height: 1.8;
        }
      }
    }
  }
}
/*------選考の流れ end----------------*/

/*------インタビュー start----------------*/
.Interview_title {
  font-size: 3.0rem;
  font-weight: normal;
  line-height: 1.6;
}

.Interview_row {
  display: table;
  border-collapse: separate;
  font-size: 1.6rem;
  line-height: 2;
  margin-top: 3.2rem;
}

.Interview_row:first-child {
  margin-top: 0;
}

.Interview_row .Interview_img_area {
  display: table-cell;
  vertical-align: top;
  width: 4.8rem;
  font-weight: 500;
  line-height: 2;
}

.Interview_text_area {
  line-height: 2;
  padding-left: 24px;
}

.rightImageText_inr:has(.Interview_row) {
  align-items: start;
}

@media screen and (max-width: 767px),print {
  .Interview_title {
    font-size: 2.0rem;
    line-height: 1.5;
  }

  .Interview_row {
    font-size: 1.4rem;
    line-height: 1.8;
  }
}
/*------インタビュー end----------------*/

/*------製品グレー段組み start----------------*/
.cp_RightImageText h4 {
  font-size: 2.8rem;
  font-weight: normal;
  line-height: 1.6;
  letter-spacing: normal;
}

.grayContents_wrap {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 2.4rem;
  margin: 3.2rem 0;

  div.grayContents_tag {
    width: 102px;
    height: 32px;
    background-color: var(--cp-gp-gray);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.28rem;
  }

  .grayContents_text {
    font-size: 1.6rem;
    line-height: 2;
  }
}

@media screen and (max-width: 767px),print {
  .cp_RightImageText h4 {
    font-size: 1.8rem;
    line-height: 1.5;
  }

  .grayContents_wrap {
    gap: 1.2rem;
    flex-direction: column;
    margin: 2.4rem 0;

    .grayContents_text {
      font-size: 1.4rem;
      line-height: 1.8;
    }
  }
}
/*------製品グレー段組み end----------------*/

/*------イメージスクロール Start----------------*/
@keyframes ScrollInfinity_list {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

.cp_ScrollInfinity {
  .ScrollInfinity_wrap {
    display: flex;
    overflow: hidden;
    /*  height: 373px; */
  }

  .ScrollInfinity_list {
    display: flex;
    list-style: none;
    padding: 0
  }

  .ScrollInfinity_list--left {
    animation: ScrollInfinity_list 60s infinite linear 0.5s both;
  }

  .ScrollInfinity_item {
    width: calc(100vw / 3);

    >img {
      width: 100% !important;
      height: auto !important;
    }
  }

}

@media screen and (min-width: 651px) and (max-width: 1024px) {
  .cp_ScrollInfinity {
    .ScrollInfinity_item {
      width: calc(100vw / 1.8);
      height: auto;
    }
  }
}

@media screen and (max-width: 650px),print {

  .cp_ScrollInfinity {
    .ScrollInfinity_item {
      width: 100vw;
      height: auto;
    }

    .ScrollInfinity_list--left {
      animation: ScrollInfinity_list 40s infinite linear 0.5s both;
    }
  }
}

/*------イメージスクロール end----------------*/
.cp_ImageModule:last-child {
  margin-bottom: 0;
}

/*-----------リスト各種 Start------------*/
.cp_2ColList>dl>div,
.cp_3ColList>dl>div {
  padding: 32px 0;
}

.cp_2ColList>dl div dt .title_blue,
.cp_3ColList>dl div dt .title_blue {
  color: var(--cp-blue);
  font-weight: normal;
  font-size: 2.2rem;
  margin-right: 40px;
  line-height: 1.6;

  &.large {
    font-size: 3rem;
  }
}

.cp_2ColList .flex_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem 6.4rem;
}

.cp_2ColList .flex_contents {

  display: flex;
  flex-direction: column;
}

.cp_2ColList .blue_text {

  color: var(--cp-blue);
  font-weight: 500;
  margin-bottom: 8px;
  display: block;
}

.cp_4ColList>dl>.list_wrap {
  display: flex;
  flex-direction: column;
  align-items: start;
  border: none;
}

.cp_4ColList>dl>.list_wrap>div.contents_inr {

  align-items: start;
  display: flex;
  width: 100%;
  padding: 3.2rem 0;
  border-bottom: 1px solid var(--cp-light-gray);
  gap: 2%;
}

.cp_4ColList>dl>.list_wrap>div.contents_inr .contents_wrap {

  width: 49%;
  display: flex;
  gap: 2%;
}

.cp_4ColList>dl dt {
  width: 29%;
  margin-right: 0;
}

.cp_4ColList>dl div .address_wrap {

  display: flex;
  flex-direction: column;
  gap: 4rem;
  width: 100%;
}

.cp_4ColList>dl dt span,
.cp_4ColList>dl dd span {
  display: inline-block;
}

.cp_4ColList>dl>div dd span.map_link {

  margin-top: .8rem;
  display: block;
}

.cp_4ColList>dl>div dd span.pc_only a {

  height: 3.2rem;
  display: block;
}

/*グレー背景付きリスト*/
@media screen and (min-width: 768px), print and (max-width: 1440px) {
  .cp_background_st ~ .cp_2ColList>dl,
  .cp_background_st ~ .cp_3ColList>dl {
    max-width: 1300px;
    margin: 0 auto;
  }
}
/*グレー背景付きリスト end*/


@media screen and (max-width: 767px),print {
  .cp_2ColList>dl>div,
  .cp_3ColList>dl>div {

    padding: 24px 0;
  }

  .cp_4ColList>dl>.list_wrap>div {
    flex-direction: column;
    width: 100%;
  }

  .cp_2ColList .flex_wrap {
    flex-direction: column;
    gap: 1.6rem;
  }

  .cp_2ColList>dl div dt .title_blue,
  .cp_3ColList>dl div dt .title_blue {
    color: var(--cp-blue);
    font-weight: normal;
    font-size: 1.8rem;
    width: 100%;
    line-height: 1.5;

    &.large {
      font-size: 2rem;
    }
  }

  .cp_4ColList>dl>.list_wrap {
    row-gap: 0;
  }

  .cp_4ColList>dl>.list_wrap>div.contents_inr {
    padding: 0;
    border: none;
  }

  .cp_4ColList>dl>.list_wrap>div.contents_inr .contents_wrap {
    width: 100%;
    flex-direction: column;
    border-bottom: 1px solid var(--cp-light-gray);
    padding: 2.4rem 0;
  }

  .cp_4ColList>dl>div dd.address_contents {
    margin-top: 1.6rem;
    flex-basis: 100%;
  }

  .cp_4ColList>dl>div .address_wrap {
    margin-right: 0;
    gap: 1.6rem;
  }

  .cp_4ColList>dl>div dt {
    width: 100%;
  }

  .cp_4ColList>dl>div dt:last-of-type {
    border-top: 1px solid var(--cp-light-gray);
    width: 100%;
    margin-top: 3.2rem;
    padding-top: 3.2rem;
  }

  .cp_4ColList>dl>div dt:first-of-type {
    border-top: none;
    margin-top: 0;
    padding-top: 0;
  }
}
/*-----------リスト各種 End------------*/

/*-----------ImageModule（テキスト入り） Start------------*/
.cp_ImageModule .im_box_inner {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: repeat(1, 1fr);
  align-items: end;
}

.im_box .im_box_inner .im_ttl {
  display: block;
  font-size: 5.8rem;
  line-height: 1.5;
  margin-bottom: 0;
  text-align: left;
  grid-column: 1 / span 7;
  /* Memo:タイトルが7カラム分を占める */
}

.im_box .im_box_inner .im_ttl_sub {
  font-size: 2.2rem;
  line-height: 1.6;
  margin-bottom: 3.2rem;
}

.im_box .im_box_inner .im_txt {
  display: block;
  margin-bottom: 0;
  font-size: 1.6rem;
  line-height: 2;
  grid-column: 1 / span 5;
  /* Memo:テキストが5カラム分を占める */
  grid-row-start: 2;
}

.im_box .im_box_inner .im_btn {
  grid-column: 7;
  /* Memo:ボタンは7カラムに配置 */
  grid-row-start: 2;
  align-self: end;
  border: solid 2px #140a9a;
  background-color: white;
  color: #140a9a !important;
}

.im_box .im_box_inner .im_btn:hover {
  background-color: #140a9a;
  color: #ffffff !important;
}

.im_box .im_box_inner .im_txt span {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .im_img {
    position: relative;
  }

  .im_box {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
  }

  .cp_ImageModule .im_box_inner {
    grid-template-columns: 1fr;
    /* 1カラムに変更 */
  }

  .im_box .im_box_inner .im_ttl,
  .im_box .im_box_inner .im_txt {
    color: #ffffff;
    text-align: left;
  }

  .im_box .im_box_inner .im_ttl {
    font-size: 4.4rem;
  }

  .im_box .im_box_inner .im_txt {
    font-size: 1.4rem;
    line-height: 1.8;
  }

  .im_box .im_box_inner .im_ttl_sub {
    margin-bottom: 2.4rem;
    font-size: 2.0rem;
  }

  .im_box .im_box_inner .im_btn {
    grid-row-start: none;
    margin-top: 2.4rem;
    font-size: 1.4rem;
    border: solid 2px #140a9a;
    background-color: white;
    color: #140a9a !important;
  }

  .im_box .im_box_inner .im_ttl,
  .im_box .im_box_inner .im_txt,
  .im_box .im_box_inner .im_btn {
    grid-column: 1;
    /* すべての要素を1カラムに配置 */
  }

}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .cp_ImageModule .im_box_inner {
    column-gap: 3.2rem;
  }

  .im_box .im_box_inner .im_ttl {
    font-size: 4.4rem;
  }

  .im_box .im_box_inner .im_txt {
    grid-column: 1 / span 6;
    /* Memo:テキストが4カラム分を占める */
  }

  .im_box .im_box_inner .im_ttl_sub {
    margin-bottom: 2.4rem;
    font-size: 2.0rem;
  }

  .im_box .im_box_inner .im_txt {
    font-size: 1.4rem;
    line-height: 1.8;
  }

  .im_box .im_box_inner .im_btn {
    border: solid 2px #140a9a;
    background-color: white;
    color: #140a9a !important;
    font-size: 1.4rem;
  }
}
/*-----------ImageModule（テキスト入り） end------------*/


/*-----------SPのみ画像ポップアップボタン Start------------*/
.sp_only:has(.edit_btn_blue) {
  margin-top: 4.0rem !important;
}
/*-----------SPのみ画像ポップアップボタン end------------*/

.cp_ScrollTable {
  table.result_list th.ttl_box {
    padding: 1.2rem .8rem;
    height: 45px;
  }

  td.txt_left {
    text-align: left;
  }

  .listResult_inr table.result_list th.ttl_box01 {
    width: calc(100% / 6 * 1);
  }

  .listResult_inr table.result_list th.ttl_box02 {
    width: calc(100% / 5 * 1);
  }

  .listResult_inr table.result_list th.ttl_box03 {
    width: calc(100% / 4 * 1);
  }

  .listResult_inr table.result_list th.w-col1 {
    width: calc(100% / 9 * 1);
  }

  .listResult_inr table.result_list th.w-col2 {
    width: calc(100% / 9 * 2);
  }

  .listResult_inr table.result_list th.w-col5 {
    width: calc(100% / 9 * 7);
  }

  .result_list th.ttl_box span {
    display: block;
  }

  .result_list th.ttl_box:not(:first-child) {
    width: 240px;
  }

  .result_list th:last-child,
  .result_list td:last-child {
    border-left: 2px solid #fff;
  }

  .result_list thead th.w-160 {
    width: 160px !important;
  }

  .result_list thead th.w-150 {
    width: 150px !important;
  }

  .result_list thead th.w-140 {
    width: 140px !important;
  }

  .result_list thead th.w-100 {
    width: 100px !important;
  }

  .result_list thead th.w-80 {
    width: 80px !important;
  }

  .result_list .fix01,
  .fix02 {
    position: sticky;
    right: 0;
    top: 0;
    width: 140px;
  }

  .result_list .list_label {
    padding: 1.2rem .8rem;
    line-height: 1.5;
  }

  /* newsで使用 start */
  .result_list .list_label ul {
    list-style: disc;
    list-style-position: inside;
  }

  .result_list .list_label ul li {
    text-indent: -1.6em;
    margin-left: 1.6em;
  }
  /* end */

  .result_list span.edit_btn_blue {
    font-size: 1.2rem;
    height: auto;
    padding: 6px 0;
    margin-top: 0;
  }

  a[href*=".pdf"]::after {
    display: none;
  }

}

.cp_ScrollTable .result_list thead th:nth-child(2) {
  width: 200px;
}


@media screen and (max-width: 767px) {
  .cp_ScrollTable {
    padding: 0 calc(53px + 46*(100vw - 769px) / 671);
    .result_list .fix01,
    .result_list .fix02 {
      position: relative;
    }

    .listResult_inr {
      padding: 0;
    }
    .result_list th:last-child,
    .result_list td:last-child {
      border-left:none;
    }
  }
}

.number_ImgTitle_inr:last-of-type {
  margin-bottom: 4.0rem;
}

.number_ImgTitle_inr .number_ImgTitle:not(:last-child) {
  margin-bottom: 8px;
}

h2.number_ImgTitle {
  font-size: 22px;
  display: flex;
  column-gap: 2.4rem;
  align-items: center;
  font-weight: normal;
  line-height: 1.6;
  letter-spacing: normal;
}

h2.number_ImgTitle img {
  width: 29px;
}

@media screen and (max-width: 767px) {
  .number_ImgTitle_inr:last-of-type {
    margin-bottom: 2.4rem;
  }
  
  .number_ImgTitle_inr .number_ImgTitle:not(:last-child) {
    margin-bottom: 2.4rem;
  }

  h2.number_ImgTitle {
    font-size: 18px;
    flex-direction: column;
    align-items: start;
    row-gap: 4px;
    line-height: 1.5;
  }
}
/*ナンバー付きタイトル共有（h2 22px ver) end*/

/*RightImageText start*/
.company_environment_3col ~ .cp_RightImageText {
  padding-bottom: 32px !important;
}

.company_environment_3col ~ .cp_RightImageText p a {
  color:var(--cp-link);
  text-decoration: underline;
}

.company_environment_3col ~ .cp_border_ttl:not(.cp_border_last) {
  padding-bottom: 3.2rem !important;
}

.cp_border_ttl .border_inr .border_gray {
  border-bottom: 1px solid var(--cp-light-gray);
}
/* kelk design end ------------ */

/* for print css 最後に記述 */
@media print {
  .cp_nav_botton {
    display: none !important;
  }
}