/* ============================= */
/* レスポンシブ */
/* ============================= */
/* タブレット */
@media screen and (min-width:768px){
    /* トップページ */
    .top_brand_image_box .top_brand_logo {
        width: 20%;
    }
    .main_visual {
        /* 1. 古いブラウザ用フォールバック */
        height: calc(60vh - 60px);
        /* 2. 最新ブラウザ用（アドレスバー表示時の高さで固定） */
        height: calc(60svh - 60px);
        /* 3. JavaScript対応（最優先） */
        height: calc(var(--vh, 1vh) * 60 - 60px);
    }
    .main_visual .main_visual_inner .main_catch_copy {
        bottom: unset;
        top: 29vh;
    }
    .slide-number {
        top: 50vh;
        bottom: unset;
    }
    .progress-container {
        top: 52vh;
        bottom: unset;
    }
    /* 下層ページ */
    .service_image_box01, .company_message_image_box01 {
        width: 45%;
        margin-left: 12%;
    }
    .service_image_box02, .company_message_image_box02 {
        width: 45%;
        margin-left: 45%;
    }
    .cookie_box.show {
        width: 640px;
        margin-left: calc((100% - 640px) / 2);
    }
    .companyu_profile #company_profile {
    border-top: solid 0.5px #5c7a8b;
    }
    .companyu_profile #company_profile tr {
        border-bottom: solid 0.5px #5c7a8b;
    }

}

/* PC */
@media screen and (min-width:1024px){
    /* トップページ */
    .container {
        max-width: 1024px;
        margin: 0 auto;
    }
    .text1 {
        font-size: 20px;
        top: 55%;
    }
    .text2 {
        font-size: 26px;
        top: 55%;
    }
    .loading_logo {
        top:50%;
    }
    .loading_logo img {
        width: 180px;
    }
    .header_inner {
        height: 75px;
    }
    .header_inner .header_logo h1 a {
        height: 75px;
        font-size: 20px;
    }
    .header_inner .header_logo h1 a img {
        height: 52px;
        margin-right: 15px;
    }
    .header_inner .header_logo h1 a span {
        padding-right: 65px;
    }
    #gnav .gnav_logo_box a {
        height: 75px;
        font-size: 20px;
    }
    #gnav .gnav_logo_box a img {
        height: 52px;
        margin-right: 15px;
    }
    #gnav ul li a {
        font-size: 16px;
    }
    .gnav_btn a {
        font-size: 16px;
    }
    .main_visual {
        /* 1. 古いブラウザ用フォールバック */
        height: calc(75vh - 60px);
        /* 2. 最新ブラウザ用（アドレスバー表示時の高さで固定） */
        height: calc(75svh - 60px);
        /* 3. JavaScript対応（最優先） */
        height: calc(var(--vh, 1vh) * 75 - 60px);
    }
    .main_visual .main_visual_inner .main_catch_copy {
        bottom: unset;
        top: 35vh;
        left: 50px;
    }
    .slide-number {
        top: 62vh;
        bottom: unset;
    }
    .progress-container {
        top: 65vh;
        bottom: unset;
    }
    ..main_visual .main_visual_inner .main_catch_copy p {
        font-size: 2.1rem;
    }
    .main_visual .main_visual_inner .main_catch_copy p span.large_txt {
        font-size: 2.2rem;
    }
    .main_visual .main_visual_inner .main_catch_copy p span.middle_txt {
        font-size: 2.1rem;
    }
    .top_service_inner {
        max-width: 1024px;
        margin: 0 auto;
    }
    .top_service {
        margin-top: 60px;
        padding: 60px 0;
    }
    .top_service_list, .auto-scroll-gallery {
        margin-top: 60px;
    }
    .top_news_list {
        margin-top: 60px;
    }
    .footer_link {
        max-width: 1024px;
        margin: 60px auto 0;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .footer_link_inner {
        width: calc(50% - 10px);
    }
    .footer_link_inner:first-child {
        margin-right: 20px;
    }
    .footer_nav, .footer_info {
        max-width: 1024px;
        margin: 0 auto;
    }
    /* 下層ページ */
    .lower_header {
        margin-top: 75px;
        padding: 80px 40px 100px;
    }
    .lower_header h1 .lower_header_title_en {
        font-size: 35px;
    }
    .lower_header h1 .lower_header_title_jp {
        font-size: 18px;
    }
    .service_box, .company_message, .recruit_message_box, .news_list, .prvacy_policy_box, .contact_tel {
        max-width: 1024px;
        margin: 0 auto;
    }
    .recruit_image_box01 {
        width: 50%;
        margin: 0 25%;
    }
    .gallery-item {
        width: 320px;
        height: 320px;
    }

}