@charset "utf-8";

/* -----------------------------------------------------------
    ヘッダー
----------------------------------------------------------- */


@media screen and (max-width:1100px) {
    .gnavi__lists{
        display: none;
    }

    .entry-btn{
        display: none;
    }

    .entry-btn-sp{
        display: block;
    }

    .entry-btn-sp::after{
        display: block;
    }

}

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

    .gnavi__wrap{
        padding: 2rem 4%;
        width: 60%;
    }

    .logo img{
        max-width: 20rem;
    }
    
    .js-header.scrolled{
        background-color: transparent;
    }
}

@media (max-width: 768px) {
    .hamburger {
      display: flex; /* レスポンシブ対応で表示 */
    }
  
    .gnavi__wrap.active {
      display: block; /* アクティブ時に表示 */
    }
  }

/* -----------------------------------------------------------
    フッター
----------------------------------------------------------- */

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

    .footer-inner{
        padding-top: 20rem;
    }

    .footer-entry{
        top: -20%;
    }

}

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

    .footer-entry-bg {
        padding: 2rem 3rem;
    }

    .gray-line {
        margin: 1.5rem 0;
    }

    .footer-entry a,
    .footer-entry-btm{
        line-height: 1.3;
    }

    .footer-inner {
        padding-top: 15rem;
    }

    .footer-left ul li{
        text-align: center;
    }

    .footer-left{
        margin-top: 8rem;
    }

    .footer-right ul li:not(:first-child) {
        margin-top: 1rem;
    }

    .copyright {
        margin-top: 6rem;
    }

    .footer-entry-top a,
    .footer-entry-btm{
        padding: 0;
    }

    .footer-entry-top a::before{
        top: 5%;
        right: 0;
    }

    .footer-inner{
        padding-bottom: 12rem;
    }
    

}

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

    .footer-entry{
        top: -17%;
    }

}

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

    .footer-inner{
        padding-top: 15rem;
    }

    .footer-entry{
        top: -12%;
    }

}


/* -----------------------------------------------------------
    共通
----------------------------------------------------------- */

@media screen and (max-width:1150px) {
    .f-size-65 {
        font-size: 6rem;
    }

    .f-size-103 {
        font-size: 8.3rem;
    }

}

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

    .entry-btn{
        transform: rotate(90deg) translateX(336px);
    }

}

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

    section {
        margin-top: 7rem;
    }

    .f-size-255{
        font-size: 17.5rem;
    }

    .f-size-167{
        font-size: 12.7rem;
    }

    .f-size-103 {
        font-size: 6.0rem;
    }

    .f-size-71{
        font-size: 5.5rem;
    }

    .f-size-65 {
        font-size: 4.5rem;
    }

    .f-size-57{
        font-size: 3rem;
    }

    .f-size-66 {
        font-size: 4.2rem;
    }

    .f-size-60 {
        font-size: 4rem;
    }

    .f-size-46 {
        font-size: 3.6rem;
    }

    .f-size-42 {
        font-size: 3.2rem;
    }

    .f-size-40 {
        font-size: 3rem;
    }

    .f-size-38 {
        font-size: 2.8rem;
    }

    .f-size-37 {
        font-size: 2.6rem;
    }

    .f-size-36 {
        font-size: 3rem;
    }

    .f-size-34 {
        font-size: 2.8rem;
    }

    .f-size-30 {
        font-size: 2.4rem;
    }

    .f-size-26{
        font-size: 2.1rem;
    }

    .f-size-25 {
        font-size: 2rem;
    }

    .inner-left{
        max-width: calc(820px + 8%);
        margin: 0 auto;
        padding: 0 4%;
    }

    .inner-right{
        max-width: calc(820px + 8%);
        margin: 0 auto;
        padding: 0 4%;
    }

    .inner-left-wide {
        max-width: calc(820px + 8%);
        margin: 0 auto;
        padding: 0 4%;
    }

    .inner-right-wide {
        max-width: calc(820px + 8%);
        margin: 0 auto;
        padding: 0 4%;
    }
    
    .global-fv{
        margin-top: 12rem;
    }

    .entry-btn{
        transform: rotate(90deg) translateX(308px);
    }

}

/* -----------------------------------------------------------
    TOP
----------------------------------------------------------- */

@media screen and (max-width:950px) {
    .top-message .flex-right svg{
        width: 90%;
        position: relative;
        right: -20%;
    }

    .top-message .flex-left {
        width: 100%;
    }

    .top-message .flex-right {
        width: 100%;
        margin-top: 6rem;
    }

    .top-message{
        padding-bottom: 5rem;
    }

}



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

    .top .fv-text{
    justify-content: center;
    align-items: end;
    padding-bottom: 12%;
    }
    .top .fv-text img{
        width:90%;
    }

    .fv-news{
        padding: 0 4%;
    }

    .fv-news .white-bg{
        width: 100%;
    }

    .fv-news-tag {
        padding: 0 1rem;
    }

    .top .fv-text::before{
        background-size: 80%;
      }

      .fv-news a{
        padding-right: 2rem;
      }

      .fv-news a::after{
        right: 5%;
      }

    .top-message .f-size-65 {
        font-size: 3.5rem;
    }
    .top-message h3{
        font-size: 3.3rem;
    }

    .top-company .bg{
        height: 20rem;
    }

    .top-company .white-bg{
        top: 0;
    }

    .top-company-inner {
        padding: 2rem;
        padding-bottom: 4rem;
    }

    .top-company-inner .tx{
        margin-top: 1rem;
    }

    .top-company li {
        width: 100%;
    }

    .top-company li:not(:first-of-type) {
        margin-top: 4rem;
    }

    .top-company-inner .tx {
        margin-top: 0;
    }

    .top-company li .f-size-15{
        font-size: 1.8rem;
    }

    .people-swp {
        .swiper-slide {
            width: 80%;
        }
    }

    .work-top{
        padding: 5rem 0;
    }

    .top-work{
        margin-top: 2rem;
    }

    .top-work ul.work-list li {
        width: 100%;
    }

    .top-work ul.work-list li:nth-of-type(2) {
        margin-top: 2rem;
    }

    .top-work ul.work-list li a{
        padding: 3rem;
        padding-bottom: 7rem;
    }

    .work-top .flex-left{
        width: 100%;
    }

    .work-top .flex-right{
        width: 100%;
    }

    .work-img-wrap{
        height: 20rem;
    }

    .work-img{
        top: 40%;
    }

    #work-anime{
        width: 125%;
    }

    .scroll-infinity__item {
        width: 200vw;
      }

      .work-img-btm-wrap {
        padding: 4rem 0;
    }

    .sp-t-center{
        text-align: center;
    }

    .top-work ul.work-list li .ttl{
        margin-top: 3rem;
        text-align: center;
    }

    .top-work ul.work-list li a::after {
        right: 7%;
        bottom: 7%;
    }

    .top-recruit {
        margin-top: 2rem;
        margin-bottom: 7rem;
    }

    .top-recruit .bg{
        width: 100%;
        background-image: none;
        height: 0;
    }

    .top-recruit ul {
        margin-top: 4.5rem;
    }

    .top-recruit ul li {
        padding: 2rem 1%;
    }

    .top-recruit ul li::after{
        right: 1%;
        top: 32%;
    }

    .top-recruit .flex-left{
        width: 100%;
        margin-bottom: 5rem;
    }

    .top-recruit .flex-right{
        width: 100%;
        padding-left: 0;
    }

    .top-news .bg{
        padding-bottom: 20rem;
    }

}

.fv-area .fv-top .sp{
    display: none;
}
@media screen and (max-width:578px) {
    .fv-area .fv-top .pc{
        display: none;
    }
    .fv-area .fv-top .sp{
        display: block;
    }
}

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

    .work-img-wrap{
        height: 12rem;
    }

    .top-message .flex-right svg{
        width: 100%;
        right: -10%;
    }

    
}

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

    .top-company .bg{
        background-size: contain;
    }

}

@media screen and (max-width:378px) {
    .work-img-wrap{
        height: 9rem;
    }
}

/* -----------------------------------------------------------
    代表メッセージ
----------------------------------------------------------- */

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

    .message-area .flex-left {
        width: 100%;
    }

    .message-area .flex-right {
        width: 100%;
        padding-left: 0;
        margin-top: 5rem;
    }

    .message-area-btm .white-bg{
        padding-bottom: 15rem;
    }

}

/* -----------------------------------------------------------
    事業紹介
----------------------------------------------------------- */

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

    .business-01 .flex-left{
        width: 100%;
        padding-right: 0;
    }

    .business-01 .flex-right{
        width: 100%;
        margin-bottom: 3rem;
    }

    .business-01-top{
        margin-bottom: 3rem;
    }

    .business-01-top h4 {
        margin-bottom: 2rem;
    }

    .business-02 .flex-left{
        width: 100%;
        margin-bottom: 3rem;
    }

    .business-02 .flex-right{
        width: 100%;
        padding-left: 0;
    }

    .business-02 {
        margin-top: 6rem;
    }

    .business-area-btm .white-bg {
        padding-top: 7rem;
    }

    .features-repeat .flex-left{
        width: 100%;
        padding: 3rem;
        padding-bottom: 4rem;
    }
    
    .features-repeat .flex-right{
        width: 100%;
    }

    .features-repeat .flex-right img{
        border-radius: 2.6rem 2.6rem 0 0 ;
        height: 30rem;
    }

    .features-num{
        text-align: center;
    }

    .features-title{
        text-align: center;
    }

    .features-repeat h4 {
        margin-top: 0;
        margin-bottom: 2rem;
    }

    .business-area-btm .white-bg{
        padding-bottom: 15rem;
    }

}

/* -----------------------------------------------------------
    数字で見る
----------------------------------------------------------- */

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

    .data-area .f-size-30{
        font-size: 3.6rem;
    }

    .data-area .f-size-30.title{
        font-size: 3rem;
    }

    .bubble-data {
        padding: 5px 8px;
    }
    
    .data-area01 .main-bg{
        height: 153rem;
    }
    
    .data01-tx{
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .data01-tx .ttl{
        text-align: center;
    }

    .data-box1{
        margin-top: 2rem;
    }

    .data-img01 {
        padding-right: 0;
        margin: 2rem 0;
        margin-bottom: 4rem;
        text-align: center;
    }

    .data-area01-02{
        width: 100%;
        margin-bottom: 6rem;
    }
    .data-area01-03{
        width: 100%;
    }

    .data-img02{
        text-align: center;
        margin-top: 4rem;
        margin-bottom: 3rem;
    }

    .data-area02-01 .data01-wrap .ttl{
        margin-bottom: 2rem;
    }

    .data-img02 img{
        width: 80%;
    }

    .data-area02-02{
        width: 100%;
        margin-bottom: 6rem;
    }

    .data-area01-02 .data-wrap,
    .data-area01-03 .data-wrap{
        justify-content: space-evenly;
    }

    .data-area02-03{
        width: 100%;
    }

    .data-area02-04 .bg-img {
        background-position: center bottom;
    }

    .data-area02-04 .accent-bg {
        padding: 20rem 0;
    }

    .data-area02-04 .flex.row.space-between{
        text-align: center;
        align-items: center;
    }

    .data-box02-04{
        margin-top: 5rem;
    }

    .data-area02-05 .data01-wrap .flex-left,
    .data-area02-06 .data01-wrap .flex-left {
        width: 100%;
    }

    .data-area02-05 .data01-wrap .flex-right{
        width: 100%;
        margin-top: 3rem;
    }

    .data-area02-05 .data01-wrap .flex.align-center{
        justify-content: center;
    }

    .data-area02-05 .data01-wrap .ttl{
        text-align: center;
    }
    
    .data-area02-05 .data01-wrap .subtx{
        text-align: center;
    }


    .data-area02-06 .data01-wrap .flex-right{
        width: 100%;
        margin-top: 3rem;
    }

    .data-area02-06 .data01-wrap .flex.align-center{
        justify-content: center;
    }

    .data-area02-06 .data01-wrap .ttl{
        text-align: center;
    }
    
    .data-area02-06 .data01-wrap .subtx{
        text-align: center;
    }

    .data-area02-0506-wrap{
        width: 100%;
    }
    
    /* .data-area02-0506{
        padding-bottom: 70rem;
    } */

    .data-line-dot{
        display: none;
    }

    .data-area span.d-block{
        display: inline-block;
    }


    /* .data-area02-0506 {
        padding-bottom: 90rem;
    } */

    .new-data-area04.data-area02-05 .data01-wrap .flex-right{
        gap: 3rem;
    }


}

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

    .data-area02-0506 {
        padding-bottom: 85rem;
    }

    .data-area01 .main-bg {
        height: 155rem;
    }


}


/* -----------------------------------------------------------
    社員インタビュー
----------------------------------------------------------- */

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

    .interview-area03 .inner-right-wide {
        padding-right: 8%;
    }

    .interview-area02 .white-bg{
        padding-top: 25rem;
    }

}

@media screen and (max-width:850px) {
    .interview-area02 .white-bg{
        padding-top: 20rem;
    }
    .time_line span{
        height: 100%;
    }

}

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

    section.interview-area {
        margin-top: -4rem;
    }

    .interview-area .text-area{
        text-align: center;
    }

    .interview-area .text-area p{
        text-align: start;
    }

    .interview_introduction {
        width: 100%;
    }

    .introduction-wrap {
        padding: 2rem;
    }
    
    .interview .introduction-wrap .flex-left{
        width: 100%;
    }

    .interview .introduction-wrap .flex-right{
        width: 100%;
        margin-top: 1rem;
    }

    .interview .introduction-wrap .flex-left h2 {
        margin-bottom: 0.5rem;
    }

    .interview-area01 .inner-left-wide {
        margin: 0;
        padding: 0;
    }

    .interview-area01 .base-bg {
        padding-bottom: 15rem;
    }

    .interview-area01 .img {
        padding-left: 4%;
    }

    .interview-area01 .text-area {
        max-width: calc(820px + 8%);
        margin: 0 auto;
        padding: 0 4%;
        margin-top: 5rem;
    }

    .interview-area01 .img::after {
        content: url(../image/interview/text-reason-small.svg); 
        bottom: -23px;
    }

    .interview-area02 .inner-right-wide,
    .interview-area03 .inner-right-wide{
        margin: 0;
        padding: 0;
    }

    .interview-area02 .img-wrap {
        top: -8rem;
    }

    .interview-area02 .img::after {
        content: url(../image/interview/text-works-small.svg); 
        bottom: -23px;
        left: -5px;
    }

    .interview-area02 .img {
        padding-right: 4%;
    }

    .interview-area02 .white-bg {
        padding-top: 35rem;
    }

    .interview-area02 .text-area {
        max-width: calc(820px + 8%);
        margin: 0 auto;
        padding: 0 4%;
    }

    .interview-area03 .inner-right-wide {
        padding-right: 0;
    }

    .interview-area03 .flex-left {
        width: 100%;
    }

    .interview-area03 .flex-right {
        width: 100%;
        max-width: calc(820px + 8%);
        margin: 0 auto;
        padding: 0 4%;
    }

    .interview-area03 .flex-right .text-area {
        margin-top: 5rem;
    }

    .interview-area03 .white-bg {
        padding: 3rem 1rem;
        padding-left: 7rem;
    }

    .interview .swiper-slide{
        width: 80%;
    }

    .flow05 > li dl dt {
        margin-right: 2rem;
    }

    .interview-area04 .white-bg {
        padding: 3rem;
    }

    .interview-area04 .interview-bg {
        height: 30rem;
    }

    .interview-area04 .text-wrap {
        position: relative;
        bottom: 5rem;
    }

    .interview-area04 .text-area-btm{
        padding-top: 0;
        padding-bottom: 8rem;
    }

    .interview-area05 .inner {
        padding-top: 8rem;
    }

    .swiper-button-next, .swiper-button-prev {
        display: none;
    }

    .interview-area05 .inner {
        padding-bottom: 20rem;
    }

        .story-area03.accent-bg{
        padding-bottom: 15rem;
    }


}

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

    .interview-area02 .white-bg{
        padding-top: 30rem;
    }
    .tate-txt .txt{
        font-size: 2rem;
    }
    .tate-txt{
        gap: 1rem;
    }

}

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

    .interview-area02 .white-bg{
        padding-top: 20rem;
    }

}

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

    .interview-area02 .white-bg{
        padding-top: 25rem;
    }

}

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

    .interview-area03 .white-bg{
        padding-left: 3rem;
        padding-right: 3rem;
    }

    .interview-area02 .white-bg{
        padding-top: 15rem;
    }

}


/* -----------------------------------------------------------
    キャリア・福利厚生
----------------------------------------------------------- */

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

    .benefit-area02.white-bg{
        padding-bottom: 22rem;
    }

    .benefit-area01 .flex-left{
        width: 100%;
    }
    
    .benefit-area01 .flex-right{
        width: 100%;
        padding-left: 0;
        margin-top: 3rem;
    }

    .benefit-area01 .flex-wrap {
        margin-bottom: 6rem;
    }

    .benefit-list {
        width: 100%;
    }

    li.benefit-list:nth-of-type(2) {
        margin-top: 3rem;
    }

    .benefit-area01 .reverse_main {
        margin-top: 4rem;
    }

    .benefit-area02 .inner {
        padding-top: 6.5rem;
    }

}



/* -----------------------------------------------------------
    インターンシップ
----------------------------------------------------------- */

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

    .internship-area01 .white-text{
        width: 100%;
        padding: 4rem 0;
    }

    .internship-area01::before{
        background-image: none;
    }

    .internship-area01::after{
        background-image: none;
    }

    .internship-area02 .flex-left {
        width: 100%;
    }

    .internship-area02 .flex-right {
        width: 100%;
        margin-top: 3rem;
    }

    .internship-area02 .flex-right .ttl {
        margin-bottom: 1.5rem;
    }

    .internship-area02 {
        margin-top: 5rem;
        margin-bottom: 6rem;
    }

    .internship-area03 .tabcontents .flex-left {
        width: 100%;
    }

    .internship-area03 .tabcontents .flex-left img{
        border-radius: 0;
        height: 30rem;
    }

    .internship-area03 .tabcontents .ttl.reverse_main {
        padding: 2rem;
    }

    .internship-area03 .tabcontents .flex-right {
        width: 100%;
    }

    .internship-area03 .tabcontents .flex-right.white-bg {
        padding: 2rem 2.5rem;
        padding-bottom: 3rem;
        border-radius: 0 0 3rem 3rem;
    }

    .internship-area03 .inner{
        padding-bottom: 6rem;
    }

    .course-cntnt{
        margin-top: 2rem;
    }

    .internship-area04{
        height: 50rem;
    }

    .internship-area04 .main-bg {
        padding-top: 18rem;
    }

    .internship .tablist {
        width: calc((100% - 10px) / 3);
    }
}


/* -----------------------------------------------------------
    よくある質問
----------------------------------------------------------- */

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

    .faq-area01{
        padding-bottom: 20rem;
    }

    .details-summary {
        .tap-btn{
            top: 45%;
            right: 5%;
        }
    }

    .details-summary{
        padding-right: 6rem;
    }

    .details-content{
        padding-right: 6rem;
    }

    .faq-button a{
        width: 100%;
    }

}



/* -----------------------------------------------------------
    お知らせ
----------------------------------------------------------- */

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

    .privacy-area01{
        padding-bottom: 20rem;
    }

    .news-area01 {
        padding-bottom: 20rem;
    }

    .news-cntnt li a::after{
        right: 5%;
    }

}


/* お知らせ詳細 */

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

    .news-detail-area01{
        padding-bottom: 20rem;
    }

    .news-detail-area .Pagination {
        margin-top: 5rem;
    }

}


/* -----------------------------------------------------------
    募集要項
----------------------------------------------------------- */

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

    .recruitment-area .tab_content{
        padding: 2rem;
    }

    .recruitment-area .tab_item {
        width: 100%;
        margin-bottom: 2rem;
        padding: 1rem;
    }

    .table_design03 th, .table_design03 td {
        display: block;
        width: 100%;
        border-bottom: none;
    }

    .table_design03 th {
        padding-bottom: 1rem;
    }

    .table_design03 td {
        padding-top: 0;
    }

    .table_design03 td:first-of-type {
        border-top: none;
    }
    .table_design03 .table_design01 td {
        padding: 1.5rem 1rem;
    }

    .table_design01 tr:last-of-type {
        border-bottom: 1px solid #E0E0E0;
    }


    .step-text {
        padding-left: 9rem;
        padding-right: 3rem;
    }

    .stepbar .stepbarwrap .steptitle .stepcircle{
        width: 10rem;
        height: 10rem;
    }

    .stepbar .stepbarwrap .stepline{
        left: 6%;
    }

    .step-text p{
        margin-bottom: 1rem;
    }

    .step-document .flex-left{
        width: 100%;
        margin-bottom: 1rem;
    }

    .step-document .flex-right{
        width: 100%;
    }

    .recruitment-area03 .flex-left {
        width: 100%;
        margin-bottom: 3rem;
    }

    .recruitment-area03 .flex-right{
        width: 100%;
    }

    .recruitment-area03 .inner{
        padding-bottom: 20rem;
    }
    

}

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

    .stepbar .stepbarwrap .stepline{
        left: 8%;
    }

}

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

    .stepbar .stepbarwrap .stepline{
        left: 12%;
    }

}


/* -----------------------------------------------------------
    プロジェクトストーリー
----------------------------------------------------------- */

@media screen and (max-width:767px) {
    .member-column{
        width: 45%;
    }
    .story_introduction.member{
        padding: 0 3%;
    }
    .story-area01 .text-area{
        padding: 0 3%;
    }
    .speaker-left{
        padding-right: 0%;
        justify-content: space-between;
    }
    .speaker-right{
        padding-right: 0%;
        justify-content: space-between;
    }
    .speaker-text{
        width: 80%;
    }
    .story-photo.flex.row{
        flex-direction: row;
        padding-right: 0;
    }
    .story-area02 .white-bg{
        padding-top: 12rem;
    }
    .story-area02 .text-area{
        padding-left: 0;
    }
    .story-area02 .speaker-left, .story-area02 .speaker-right{
        padding: 0%;
        justify-content: space-between;
    }
    .story-area02 .story-photo{
        padding: 0;
    }
    .story-area03 .white-bg{
        padding: 6rem 3.5rem;
    }
    .story_introduction{
        width: 100%;
    }
}



/* -----------------------------------------------------------
    応募フォーム
----------------------------------------------------------- */

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

    .entry-area01{
        padding-bottom: 15rem;
    }


    .link-button {
        width: 100%;
        margin-top: 1rem;
    }

    .Form {
        margin-top: 50px;
        margin-left: auto;
        margin-right: auto;
        padding: 2rem;
        padding-bottom: 3rem;
    }

    .Form-Item {
        padding-top: 10px;
        padding-bottom: 18px;
        width: 100%;
    }

    .entry-link-wrap {
        margin-top: 3rem;
    }

    .Form-Btn-wrap {
        margin-top: 1rem;
    }

    .Form-Btn-container{
        width: 100%;
    }

    .entry-area01 .flex{
        flex-direction: column;
    }


}



/* 追記 */
@media screen and (min-width:1460px) {
    .top-headline{
        font-size: 8rem;
    }
}
@media screen and (max-width:1050px) {
    .top-recruit .f-size-18{
        font-size: 1.6rem;
    }
}
@media screen and (max-width:1000px) {
    .footer-list-wrap{
        gap: 3rem;
    }
    .top-company .top-work ul.work-list li .ttl{
        font-size: 2.5rem;
    }
    .top-work ul.work-list li a{
        padding: 3rem 3rem 7rem;
    }
    .top-recruit .flex-right {
        padding-left: 4rem;
    }
}
@media screen and (max-width:900px) {

}
@media screen and (max-width:767px) {
    .top-headline{
        font-size: 5rem;
    }
    .top-company{
        padding-bottom: 2rem;
    }
    .top-company .bg {
        height: 25rem;
    }
    .top-company .inner-wide{
        margin-top: 3rem;
    }
    .top-company-inner{
        padding-top: 4rem;
    }
    .top-company-inner .flex-left,
    .top-company-inner .flex-right{
        width: 100%;
    }
    .top-company-inner .flex-right .f-size-14.tx{
        font-size: 1.6rem;
    }
    .top-company .ttl {
        gap: 2rem;
    }
    .top-company-btm.top-work{
        margin-top: 7rem;
    }
    .top-company-btm.top-work ul.work-list li div{
        text-align: center;
    }
    ul.top-data-list{
        margin-top: 3rem;
    }
    ul.top-data-list li .f-size-60{
        font-size: 6rem;
    }    .top-recruit {
        margin-bottom: 22rem;
    }
    .top-recruit .flex-right{
        padding-left: 0;
    }
    .footer-list-wrap{
        gap: 0;
    }
    .footer-entry-top a::before{
        background-size: 80%;
    }

}

@media screen and (max-width:400px) {
    .top-company .bg {
        background-size: contain;
        height: 20rem;
    }
    .top-company .ttl{
        padding-bottom: 2rem;
    }
    ul.top-data-list{
        gap: 1.5rem;
    }
    ul.top-data-list li{
        width: 100%;
        min-width: auto;
    }
    ul.top-data-list li .f-size-60 {
        font-size: 5rem;
    }
    ul.top-data-list li img{
        width: 80%;
    }
    .top-data .link-button{
        width: 100%;
    }
    .footer-entry-top a::before{
        background-size: 60%;
    }
    footer .f-size-65{
        font-size: 3.5rem;
    }
    footer .f-size-40 {
        font-size: 2.5rem;
    }
    .footer-inner {
        padding-top: 10rem;
    }
    .top-recruit {
        margin-bottom: 17rem;
    }

}

@media screen and (max-width:350px) {
    .top-company .bg {
        height: 16rem;
    }
}


/* -----------------------------------------------------------
    2025.09 追記
----------------------------------------------------------- */
@media screen and (max-width: 767px) {
    .data-area01-04 .data01-wrap{
        align-items: center;
        text-align: center;
    }
    .text-left{
        width: 100%;
    }
    .sp-align-center{
        text-align: center;
    }
    .data-area02-04 .text-number{
        margin-top: 2rem;
    }
}