
.company_vision {
    background-color: #fff;
    width: 100%;
    margin-top: -50px;
    padding-top: 50px;
    overflow: hidden;
}

.c_v_container {
    display: flex;
    flex-flow: column;
}

.c_v_img img {
    width: 100%;
}

.t_v_title {
    width: 100%;
    margin-bottom: 20px;
}

.t_v_title img {
    width: 80%;
    max-width: 260px;
}

.c_v_block .catchcopy_30 {
    margin-bottom: 16px;
}

.c_v_msg {
    line-height: 2.2;
}

.c_v_sp_only {
    display: block;
}

.c_v_pc_only {
    display: none;
}

@media screen and (max-width: 767px) {
    .c_v_tablet_only, .c_v_pc_only {
        display: none;
    }

    .c_v_sp_only {
        display: block;
    }

    .t_v_title img {
        max-width: 250px;
    }

    .c_v_container {
        padding: 30px 0 50px;
        margin-bottom: 400px;
    }

    .c_v_block:last-child {
        padding-top: 50px;
        margin: 0 25px;
    }

    .catchcopy_30 {
        line-height: 1.4;
    }
}

@media screen and (min-width: 768px) {
    .c_v_sp_only, .c_v_pc_only {
        display: none;
    }

    .c_v_tablet_only {
        display: block;
    }

    .c_v_container {
        flex-flow: row;
        padding: 70px 0;
        margin-bottom: 300px;
    }

    .c_v_block {
        flex-basis: 50%;
        height: 100%;
    }

    .c_v_block:first-child {
        flex-basis: 50%;
    }

    .c_v_block:last-child {
        padding: 50px 0;
        margin: auto 50px;
        flex-basis: 40%;
    }

    .t_v_title img {
        max-width: 300px;
    }

    .c_v_block:first-child {
        width: 100%;
        height: auto;
        max-height: 600px;
    }

    .c_v_img {
        width: 100%;
        height: 100%;
    }

    .c_v_img img {
        border-radius: 0 40px 40px 0;
        object-position: 50% 50%;
        object-fit: cover;
        height: 100%;
    }

    .t_v_title {
        width: 150%;
        margin-left: -80px;
    }

    .catchcopy {
        margin-bottom: 40px;
    }

    .c_v_msg {
        font-size: 14px;
    }
}

@media screen and (min-width: 1200px) {
    .c_v_sp_only, .c_v_tablet_only {
        display: none;
    }

    .c_v_pc_only {
        display: block;
    }

    .c_v_container {
        padding: 100px 0;
    }

    .t_v_title {
        margin: 0 0 30px -140px;
    }

    .c_v_pc_only {
        display: block;
    }

    .c_v_msg {
        font-size: 16px;
    }

    .c_v_img {
        border-radius: 0 100px 100px 0;
    }
}

.campany_logo {
    position: relative;
    margin-top: -400px;
}

.campany_logo .inner {
    background-color: #FDD000;
    padding: 30px 20px;
}

.c_l_container {
    display: flex;
    flex-flow: column;
}

.campany_logo .c_l_ttl {
    display: flex;
    align-items: center;
    font-size: 40px;
    margin: 0 0 20px;
    line-height: 1;
}

.campany_logo .c_l_ttl::after {
    content: '';
    display: inline-block;
    flex-grow: 1;
    height: 2px;
    margin-left: 1rem;
    background-color: #fff;
    border-radius: 2px;
}

.c_l_logo, .c_l_logo img {
    width: 100%;
}

.c_l_logo {
    position: relative;
    max-width: 250px;
    margin: 0 auto;
}

.c_l_block #vision {
    width: 40%;
    position: absolute;
    top: -30%;
    right: 0;
    top: -40px;
    right: 10px;
}

.c_l_pc_only {
    display: none !important;
}

@media screen and (max-width: 767px) {
    .campany_logo {
        margin-bottom: 70px;
    }

    .campany_logo .inner {
        border-radius: 30px;
    }

    .c_l_logo {
        width: min(80%, 600px);
        padding-bottom: 10px;
    }

    .c_l_desc {
        font-size: 12px;
        line-height: 2.2;
    }
}

@media screen and (min-width: 600px) and (max-width: 767px) {
    .campany_logo .inner {
        padding: 30px 50px;
    }

    .c_l_logo {
        width: 180px;
        margin: 0 auto;
        padding-bottom: 0;
    }

    .c_l_container {
        display: flex;
        flex-flow: row-reverse;
        column-gap: 20px;
    }

    .c_l_block:first-child {
        flex-basis: 40%;
    }

    .c_l_block:last-child {
        flex-basis: 60%;
    }
}

@media screen and (min-width: 768px) {
    .c_l_sp_only {
        display: none !important;
    }

    .c_l_pc_only {
        display: flex !important;
    }

    .campany_logo {
        margin: -300px auto 300px;
    }

    .campany_logo .inner {
        border-radius: 50px;
        padding: 50px;
    }

    .c_l_container {
        flex-flow: row-reverse;

        margin: 0;
    }

    .c_l_block:first-child {
        flex-basis: 30%;
        margin: auto 0;
    }

    .c_l_block:last-child {
        flex-basis: 60%;
        margin-right: 80px;
    }

    .c_l_logo {
        width: 160%;
        margin: 0 0 0 -50px;
        padding-bottom: 0;
    }

    .c_l_block #vision {
        top: -70px;
    }

    .c_l_desc {
        margin: 0;
    }
}

@media screen and (min-width: 1200px) {
    .campany_logo .inner {
        padding: 70px 100px;
        border-radius: 70px;
    }

    .c_l_block .c_l_ttl {
        font-size: 60px;
        margin: 0 0 24px;
    }

    .c_l_desc {
        margin: 0;
    }

    .c_l_block:first-child {
        flex-basis: 44%;
    }

    .c_l_block:last-child {
        flex-basis: 56%;
        margin-right: 0px;
    }

    .c_l_logo {
        width: 120%;
        margin: -20px 130px 0 80px;
        max-width: 280px;
    }
}

.campany_mvv {
    background-color: white;
    width: 100%;
    border-radius: 30px 0 0 0;
    padding: 350px 0 120px;
}

.mvv_mission .catchcopy_20,
.mvv_value .catchcopy_20 {
    text-indent: -0.5em;
    margin: 0;
}

.mvv_value_1, .mvv_value_2 {
    margin-bottom: 22px;
}

.mvv_mission h2, .mvv_value h2 {
    opacity: .7;
}

.mvv_value_desc {
    position: relative;
    margin-left: 50px;
}

.mvv_value_desc::before {
    content: '';
    position: absolute;
    width: 30px;
    height: 1px;
    background-color: #190723;
    top: 14px;
    left: -46px;
}

@media screen and (max-width: 767px) {
    .campany_mvv {
        margin-top: -420px;
    }

    .campany_mvv .inner {
        padding: 50px 0 0;
    }

    .campany_mvv .ttl_en {
        margin-bottom: 20px;
    }

    .mvv_mission {
        margin-bottom: 40px;
    }

    .mvv_mission .catchcopy_20,
    .mvv_value .catchcopy_20 {
        margin-bottom: 12px;
    }
}

@media screen and (min-width: 600px) and (max-width: 767px) {
    .campany_mvv {
        padding: 150px 0 120px;
        margin-top: -220px;
    }
}

@media screen and (min-width: 768px) {
    .campany_mvv {
        padding: 200px 0 150px;
        margin-top: -500px;
        border-radius: 40px 0 0 0;
    }

    .campany_mvv .inner {
        padding: 60px 0 0;
    }

    .campany_mvv .ttl_en {
        margin-bottom: 16px;
    }

    .mvv_mission {
        margin-bottom: 40px;
    }

    .mvv_contents {
        padding-left: 60px;
    }

    .mvv_mission .catchcopy_20,
    .mvv_value .catchcopy_20 {
        margin-bottom: 8px;
    }
}

@media screen and (min-width: 1200px) {
    .campany_mvv .inner {
        padding: 80px 0 20px;
    }

    .campany_mvv .ttl_en {
        margin-bottom: 30px;
    }

    .mvv_mission {
        margin-bottom: 60px;
    }

    .mvv_contents {
        padding-left: 100px;
    }

    .mvv_desc {
        font-size: 16px;
    }

    .mvv_value_desc::before {
        top: 16px;
    }

    .mvv_value_desc {
        padding-left: 100px;
        font-size: 20px;
    }

    .mvv_value_desc::before {
        content: none;
    }

    .mvv_mission .catchcopy_20,
    .mvv_value .catchcopy_20 {
        font-size: 30px;
        margin-bottom: 20px;
    }

    .mvv_value .catchcopy_20 {
        padding-left: 80px;
    }

    .mvv_value_1, .mvv_value_2 {
        margin-bottom: 40px;
    }

    .mvv_value_1, .mvv_value_2, .mvv_value_3 {
        position: relative;
    }

    .mvv_value_1::before, .mvv_value_2::before, .mvv_value_3::before {
        content: '';
        background-position: center;
        background-size: contain;
        width: 50px;
        height: 30px;
        position: absolute;
        top: 12px;
    }

    .mvv_value_1::before {
        background: url(../../img/corp_img/03_about/about_mvv_01.svg) no-repeat;
    }

    .mvv_value_2::before {
        background: url(../../img/corp_img/03_about/about_mvv_02.svg) no-repeat;
    }

    .mvv_value_3::before {
        background: url(../../img/corp_img/03_about/about_mvv_03.svg) no-repeat;
    }

    .mvv_mission h2, .mvv_value h2 {
        display: flex;
        align-items: center;
    }

    .mvv_mission h2::after, .mvv_value h2::after {
        content: '';
        display: inline-block;
        flex-grow: 1;
        height: 3px;
        margin-left: 2rem;
        background-color: #fff;
        border-radius: 2px;
    }
}

.campany_message {
    width: 100%;
    z-index: 5;
    padding-bottom: 100px;
}

.c_m_container {
    display: flex;
}

.c_m_block:first-child {
    display: inline-flex;
    width: 100%;
    height: 100%;
}

.c_m_img_ttl, .c_m_img_photo img, .c_m_img_sign img {
    width: 100%;
    height: 100%;
}

.c_m_block {
    position: relative;
}

.c_m_block .c_m_text {
    font-size: 14px;
    line-height: 2.6;
    margin-bottom: 30px;
}

.c_m_block .c_m_text p {
    margin-bottom: 14px;
}

.c_m_img_photo {
    aspect-ratio: 300/417;
    position: absolute;
    height: auto;
}

.c_m_img_sign {
    aspect-ratio: 5/2;
    width: auto;
}

@media screen and (max-width: 767px) {
    .campany_message .inner {
        padding-bottom: 50px;
    }

    .c_m_container {
        flex-flow: column;
    }

    .c_m_block:first-child {
        min-height: 100px;
        margin-bottom: 20px;
    }

    .c_m_img_ttl {
        background: url(../../img/corp_img/03_about/sp-about_message_01.svg) no-repeat;
        background-size: contain;
        aspect-ratio: 73/28;
        min-height: 100px;
    }

    .c_m_group_01 {
        margin-bottom: 30px;
    }

    .c_m_group_02 {
        width: 60%;
    }

    .c_m_group_03 {
        width: 50%;
    }

    .c_m_img_sign {
        height: 80px;
    }

    .c_m_img_photo {
        width: 270px;
        height: 417px;
        bottom: -60px;
        right: 0;
    }
}

@media screen and (max-width: 600px) {
    .c_m_block {
        position: static;
    }

    .c_m_group_01, .c_m_group_02, .c_m_group_03 {
        width: 100%;
    }

    .c_m_img_sign {
        height: 100%;
        max-height: 70px;
        margin-left: auto;
    }

    .c_m_img_photo {
        width: 80%;
        max-width: 300px;
        margin: 20px auto -60px;
        position: static;
    }
}

@media screen and (min-width: 768px) {
    .campany_message {
        padding: 30px 0 100px;
    }

    .campany_message .inner {
        padding-bottom: 70px;
    }

    .c_m_container {
        flex-flow: row;
        column-gap: 50px;
    }

    .c_m_block:first-child {
        align-items: center;
        flex-basis: 20%;
    }

    .c_m_block:last-child {
        flex-basis: 70%;
    }

    .c_m_img_ttl {
        background: url(../../img/corp_img/03_about/about_message_01.svg) no-repeat;
        background-size: contain;
        aspect-ratio: 28/73;
        width: 200px;
        height: auto;
    }

    .c_m_group_02 {
        width: 71%;
    }

    .c_m_group_03 {
        width: 58%;
    }

    .c_m_img_sign {
        height: 80px;
    }

    .c_m_img_photo {
        width: 270px;
        height: 417px;
        bottom: -70px;
        right: -100px;
    }
}

@media screen and (min-width: 1200px) {
    .campany_message {
        padding: 60px 0 100px;
    }

    .campany_message .inner {
        padding-bottom: 100px;
    }

    .c_m_group_01, .c_m_group_02 {
        width: 72%;
    }

    .c_m_group_03 {
        width: 66%;
    }

    .c_m_img_sign {
        height: 100px;
    }

    .c_m_img_photo {
        width: 300px;
        height: 473px;
        bottom: -120px;
        right: -110px;
    }
}

.canpany_profile {
    position: relative;
    width: 100%;
    background-color: #FDD000;
    border-radius: 30px;
    padding: 50px 0;
    margin-top: -100px;
    z-index: 7;
}

.c_p_container, .c_p_access, .c_p_b_container {
    display: flex;
    flex-flow: column;
}

.c_p_block:first-child {
    margin-bottom: 20px;
}

.c_p_container:first-child {
    margin-bottom: 50px;
}

.c_p_block .ttl_30 {
    color: #FEEC99;
}

.c_p_b_block table {
    width: 100%;
}

.c_p_b_block table tr {
    display: inline-block;
    width: 100%;
    padding: 20px 0;
}

.c_p_label {
    width: 90px;
}

.c_p_map {
    width: 100%;
    border-radius: 30px;
    overflow: hidden;
}

.c_p_map iframe {
    width: 100%;
    height: 300px;
}

.c_p_block .license_num {
    display: inline-block;
    line-height: 1.7;
    margin-top: 10px;

}

.c_p_block .c_p_ttl {
    display: inline-flex;
    background-color: #190723;
    border-radius: 30px;
    width: 100px;
    height: 30px;
    color: #fff;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 767px) {
    .c_p_access div:first-child {
        margin-bottom: 10px;
    }

    .c_p_access:first-child, .c_p_map {
        margin-bottom: 20px;
    }
}

@media screen and (min-width: 768px) {
    .c_p_b_container {
        flex-flow: row;
    }

    .c_p_container, .c_p_b_container {
        column-gap: 40px;
    }

    .c_p_access:first-child {
        margin-bottom: 30px;
    }

    .c_p_access div {
        display: inline-flex;
    }

    .c_p_access div:first-child {
        margin-bottom: 10px;
    }

    .c_p_b_block:nth-child(1),
    .c_p_b_block:nth-child(2) {
        flex-basis: 50%;
    }

    .c_p_b_block:first-child table tr:nth-child(2) {
        padding: 33px 0;
    }

    .c_p_container:last-child .c_p_b_block {
        margin: auto 0;
    }
}

@media screen and (min-width: 1200px) {
    .canpany_profile {
        padding: 100px 0;
        border-radius: 100px;
    }

    .c_p_container, .c_p_b_container, .c_p_access {
        flex-flow: row;
    }

    .c_p_access {
        column-gap: 20px;
    }

    .c_p_container:first-child,
    .c_p_access:first-child {
        margin-bottom: 60px;
    }

    .c_p_container .c_p_block:nth-child(1) {
        flex-basis: 16%;
    }

    .c_p_container .c_p_block:nth-child(2) {
        flex-basis: 80%;
    }

    .c_p_b_block:first-child table tr:nth-child(2) {
        padding: 34px 0;
    }

    .c_p_access div {
        display: inline-flex;
        align-items: center;
    }
}

/*introセクション*/

.works_intro{
    text-align:center;
    background-color: #fff;
    position: relative;
    z-index: 5;
    padding-top:100px;
    padding-bottom: 200px;
}

@media (max-width: 767px) {
    .works_intro{
        padding-top:50px;
        padding-bottom: 100px;
    }
}

.works_intro_title{
    display:inline-block;
    margin: 0 auto;
    text-align:center;
    margin-bottom: 90px;
    padding-bottom:30px;
    border-bottom: 2px solid #FDD000;
}
@media (max-width: 767px) {
    .works_intro_title{
        margin-bottom: 50px;
    }
}

.works_intro_desc{
    text-align:center;
    margin-bottom: 20px;
}



.works_content_background {
    width: 100%;
    background-color: white;
    z-index: 7;
    /*position: relative;*/
    /*height:850px;*/
}


.works_project_background{
    background-color:white;
    position: relative;
    z-index:10000;
}

.works_project_logo{
    position:absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) translateY(28%);
    max-width: 926px;
    width:100%;
    height:auto;
    z-index: -1000;
}

.works_project{

    background-color: #46C0AF;
    padding-top:70px;
    padding-bottom:220px;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
}

.slick_works_project
.slick-prev{
    display: block;                /* 非表示になっていないか */
    z-index: 10;                   /* 他の要素の下に隠れていないか */
    opacity: 1;                    /* 透明になっていないか */
}
.slick_works_project
.slick-next{
    display: block;                /* 非表示になっていないか */
    z-index: 10;                   /* 他の要素の下に隠れていないか */
    opacity: 1;                    /* 透明になっていないか */
}

@media (min-width: 1200px) {
    #slick_works_project{
    padding:0;
    }
}
@media (max-width: 1199px) {
    #slick_works_project{
    padding:0;
    }
}




.works_project_list{
    position:relative;
    background-color:white;
    border-radius: 30px;
    padding-top: 50px;
    padding-bottom: 100px;
    padding-left:20px;
    padding-right:20px;
    text-align:center;
}


@media (min-width: 1200px) {
    .works_project_list{
    margin: 0 20px;
    }
}

@media (max-width: 1199px){
    .works_project_list{
    margin: 0 20px;
    }
}

@media (min-width: 1200px) {
.works_project_list_badge{
    position:absolute;
    top:-50px;
    left:-40px;
    width: 100px;
    height:auto;
}
}

@media (max-width: 1199px) {
  .works_project_list_badge{
    /*display:none !important;*/
 }
}


@media (min-width: 1200px) {
.works_project_list:nth-child(1n){
    margin-left:20px;
}
}

/*
.works_project_list:nth-child(3n){
    margin-right:0;
}*/

.works_project_list_heading{
    font-size: 14px;
}

.works_project_list_img{
    width: 90%;
    margin: 30px auto;
}

.work_project_grid-table {
    display: grid;
    grid-template-columns: 3fr 7fr; /* 3列均等 */
    grid-template-rows: 80px 80px 80px;
    height:200px;
    text-align:left;
  }
  .work_project_grid-item{
    padding-top: 5px;
    padding-bottom:5px;
    padding-left:5px;
    padding-right:0;
    border-bottom: 2px solid black;
    font-size: 12px;
  }

   .work_project_grid-item.header{
    border-top: 2px solid black;
    border-bottom: 2px solid black;
  }

   .work_project_grid-item.before {
    padding: 10px;
    background-color: #FDD000;
    border-bottom: 2px solid black;
    font-size:13px;

  }

  /*works_contentセクション*/

  .works_content_background{
        z-index: 10000;
        position:relative;
  }
  .works_content{
    /*position: absolute;*/
    width: 100%;
    background-color: #FDD000;
    border-radius: 30px;
    padding-top:50px;
    padding-bottom:100px;
    padding-left:50px;
    padding-right:50px;
    z-index: 7;
    top:-10%;
    z-index:10000;
}

.works_content_logo{
    position:absolute;
    left: 50%;
    transform: translateX(-50%) translateY(22%);
    max-width: 1199px;
    width:100%;
    height:auto;
    bottom: 0;
    z-index: 0;
}

  .works_content_desc{
    text-align:center;
    margin-bottom: 40px;
  }

  .works_content_list{
    padding:0;
  }

  .works_content_list-item{
    display: grid;
    grid-template-columns: 1fr 5fr; /* 3列均等 */
    margin-bottom:30px;
  }
  @media (max-width: 767px) {
    .works_content_list-item{
    grid-template-columns: 1fr;;
    }
  }

  .works_content_list-item__heading{
    background-color: #46C0AF;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    border-top  : 2px solid black;
    border-left : 2px solid black;
    border-bottom: 2px solid black;
    border-right: 2px solid black;
    display: flex;
    align-items: center;      /* 縦中央 */
    justify-content: center;
    text-align:center;
    color:white;
    padding: 20px;
  }
  .works_content_list-item__desc{
    background-color:white;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    border-top  : 2px solid black;
    border-right : 2px solid black;
    border-bottom: 2px solid black;
    padding: 20px;
  }

  @media (max-width: 767px) {
    .works_content_list-item__heading{
    border-radius: 10px 10px 0 0;
    border-bottom: none;
    }
    .works_content_list-item__desc{
    border-radius: 0 0 10px 10px;
    border-top: none;
    border-left : 2px solid black;
    }
  }

  .works_content_list-item__desc_list{
    list-style-type: none;
  }
  @media (max-width: 1199px){
    .works_content_list-item__desc_list{
      padding-left : 10px;
    }
   }


  .works_content .inner{
    position:relative;
  }

  @media (min-width: 1200px) {

     .works_content_recruiter_man{
    position:absolute;

    bottom:40px;
    right:20px;
    width:169px;
    height:auto;
   }

   .works_content_recruiter_woman{
    position:absolute;

    bottom:-40px;
    right:-60px;
    width:107px;
    height:auto;
  }

  }

  @media (max-width: 1199px) {

       .works_content_recruiter_man{
    position:absolute;

    bottom:-80px;
    right:20px;
    width:100px;
    height:auto;
   }

   .works_content_recruiter_woman{
    position:absolute;

    bottom:-120px;
    right:0px;
    width:60px;
    height:auto;
  }

  }

  @media (max-width: 767px) {

       .works_content_recruiter_man{
    position:absolute;

    bottom:-80px;
    right:20px;
    width:60px;
    height:auto;
   }

   .works_content_recruiter_woman{
    position:absolute;

    bottom:-120px;
    right:0px;
    width:40px;
    height:auto;
  }

  }





  /*works_contatctセクション*/

  .works_contact{

    padding: 100px 0 151px;
    background-color: #fff;
    position: relative;
    z-index: 5;

  }


  .bg_dot_works{
     background-image:
    linear-gradient(to bottom, #46C0AF 50%, transparent 0%),
    radial-gradient(#190723 7%, transparent 10%),
    radial-gradient(#190723 7%, transparent 10%);

  background-position:
    0 0,              /* ← 赤レイヤー用 */
    0 -14px,
    14px 24px;

  background-size:
    100% 100%,        /* ← 赤レイヤーは要素全体 */
    28px 28px,
    28px 28px;
  }

  @media (min-width: 1200px) {
    .slick-list {
    /*padding: 60px !important;*/
    }
 }

 #slick_works_project .slick-list {
    overflow: visible !important;
}

.works_project .inner {
    overflow: hidden;
}

/* ① 削除（これが元凶） */
@media (min-width: 1200px) {
    .slick-list {
        /* padding: 60px !important;  ← 完全に削除 */
    }
}

/* ② 追加 */
#slick_works_project {
    padding-top: 60px; /* バッジ分の余白のみ */
    /* margin-left/right は追加しない */
}

#slick_works_project .slick-list {
    overflow: visible !important;
}

.works_project .inner {
    overflow: hidden;
    /* padding-left/right は追加しない */
}

/* ③ グリッド修正 */
.work_project_grid-table {
    grid-template-rows: auto auto auto;
    height: auto;
}


    .works_project_list_badge {
        position: absolute;
        top: -50px;
        left: 50%;
        transform: translateX(-50%);
        width: 100px;
        height: auto;
    }


 /*slick矢印*/
.slick_works_project slick-prev:before  {
    background: url(../../img/corp_img/06_recruit/sp-recruit_data_01.svg) no-repeat;
    transform: rotate(180deg);
}
.slick_works_project slick-next:before  {
    background: url(../../img/corp_img/06_recruit/sp-recruit_data_01.svg) no-repeat;
    transform: rotate(180deg);
}

.page_header_background{
    background-color:white;;
}