@charset "UTF-8";
/* ============================================== */
/*                    共通設定                    */
/* ============================================== */
@media screen and (max-width:800px) {
    .inner{padding: 0 6%;}
    a[href*=tel]{pointer-events: auto;}
    body{
        font-size: 14px;
        line-height: 1.7;
    }
}
@media screen and (max-width:800px) {
    .pc_cont{display: none;}
    .sp_cont{display: block;}
}
/* ============================================== */
/*            WP用クラス            */
/* ============================================== */
@media screen and (max-width:800px) {
    .mb30{margin-bottom: 15px !important;}
    .mb40{margin-bottom: 20px !important;}
    .mb50{margin-bottom: 25px !important;}
    .mb60{margin-bottom: 30px !important;}
    .mb100{margin-bottom: 50px !important;}
}
/* =========================================================== */
/* 全ページ共通パーツ  */
/* =========================================================== */
/* ====================================== */
/* ボタン */
/* ====================================== */
@media screen and (max-width:800px) {
    .btn{
        width: 100%;
        max-width: 180px;
        margin: 0 auto;
        border-radius: 12px 0 0 0;
    }
    .btn a{
        font-size: 18px;
        letter-spacing: 0.05em;
    }
    .btn a::after{margin: 0 0 0 0.4em;}
    .btn:not(:has(a)){padding: .6em 0.2em 0.4em 1.2em}

    /* 四角ボタン */
    .btn.btn_square {max-width: 210px;}
    .btn.btn_square a{
        font-size: 14px;
        padding: .9em 1em;
    }
}
/* ====================================== */
/* カードアイテム */
/* ====================================== */
@media screen and (max-width:800px) {
    .ul_card{gap: 40px 2%;}
    .ul_card li a div{display: block;}
    .ul_card li figure{aspect-ratio: initial;}
    .ul_card li .btn{margin: 1em 0 0 auto;}
    /* 社員紹介 */
    .ul_card li .int_dept{font-size: 16px;}
}
/* ====================================== */
/* フローティングバナー */
/* ====================================== */
@media screen and (max-width:800px) {
    .bnr_entry{inset: auto 22px 230px auto;}
    .flag_on .bnr_entry{bottom: 22px;}
    .bnr_entry a img{
        width: 97px;
        height: 97px;
    }
    .bnr_entry span{
        inset: 5px 3px auto auto;
        width: 19px;
        height: 19px;
    }
    .bnr_entry span::before,
    .bnr_entry span::after{width: 8px;}
}

/* ============================================== */
/*                    ヘッダー                    */
/* ============================================== */
@media screen and (min-width:801px) {
    .rct-header nav div ul li a:hover{
        opacity: 1;
        color: var(--mainBlue03);
    }
}
@media screen and (max-width:800px) {
    .rct-header{padding: 18px 20px 17px;}
    .rct-header .logo a span:has(img){width: 140px;}
    .rct-header .logo a span{font-size: 20px;}
}

/* ============================================== */
/*              ハンバーガーメニュー              */
/* ============================================== */
@media screen and (min-width:1321px) {
    .rct-header nav div ul li.current{
        color: var(--mainBlue03);
        /* pointer-events: none; */
    }
}
@media screen and (max-width:1320px) {
    main{margin: 75px auto 0;}
    .kv.kv_home{margin: 75px 0 0;}
    /* body:has(.rct-header:has(.ham.open)){overflow: hidden;} */
    .rct-header{height: 75px;}
    .rct-header .ham {
        display: block;
        position: absolute;
        z-index: 10;
        inset: 20px 18px auto auto;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        transition: .3s;
        cursor: pointer;
    }

    .rct-header .ham span,
    .rct-header .ham::before,
    .rct-header .ham::after {
        position: absolute;
        z-index: 1;
        top: 50%;
        left: 50%;
        transform: translateX(-50%);
        font-size: 0;
        display: block;
        width: 27px;
        height: 1px;
        border-radius: 1px;
        background: var(--gray02);
        transition: .4s;
    }

    .rct-header .ham::before,
    .rct-header .ham::after{content: '';}
    .rct-header .ham::before{top: calc(50% - 8px);}
    .rct-header .ham::after{top: calc(50% + 8px);}

    html:has(.rct-header .ham.open){overflow: hidden;}
    .rct-header .ham.open span{opacity: 0;}
    .rct-header .ham.open::before {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) rotate(35deg);
    }
    .rct-header .ham.open::after {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) rotate(-35deg);
    }
    .rct-header .ham.open + nav{
        clip-path: inset(0);
        padding-bottom: 100px;
        opacity: 1;
        visibility: visible;
        transition: 
            opacity 0s 0s,
            visibility 0s 0s,
            clip-path .3s 0s
        ;
    }
    /* ナビ */
    .rct-header nav{
        overflow-y: auto;
        position: fixed;
        z-index: 10;
        inset: 75px auto auto 0;
        width: 100vw;
        height: calc(100lvh - 75px);
        background: var(--gradient_bgBlue);
        color: #fff;
        clip-path: inset(0 0 100vh 0);
        opacity: 0;
        visibility: hidden;
        transition:
            opacity 0s .3s,
            visibility 0s .3s,
            clip-path 0.3s 0s
        ;
    }
    .rct-header nav div{position: relative;z-index: 0;flex-direction: column;}
    .rct-header nav div ul{
        justify-content: space-between;
        flex-wrap: wrap;
        width: 100%;
        gap: 0;
        margin: 0 0 15px;
        border-top: 1px solid #ffffff67;
    }
    .rct-header nav div ul li{
        width: 50%;
        border-bottom: 1px solid #ffffff67;
    }
    .rct-header nav div ul li:nth-of-type(2n-1){border-right: 1px solid #ffffff67;}
    .rct-header nav div ul li:last-of-type{
        width: 100%;
        border-top: 1px solid #fff;
    }
    .rct-header nav div ul li.sp_cont{display: block;}
    .rct-header nav div ul li a{
        position: relative;
        z-index: 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 1.5em 1em;
        font-size: 14px;
        font-weight: 500;
        line-height: 1.2;
        width: 100%;
    }
    .rct-header nav div ul li a::after{
        content: '';
        display: block;
        width: 16px;
        height: 6px;
        background: url(../img/common/ico/btn_arrow.svg) no-repeat center / contain;
    }
    .rct-header nav div ul li:last-of-type a::after{
        width: 12px;
        height: 12px;
        background: url(../img/common/ico/blank.svg) no-repeat center / contain;
    }
    .rct-header .btn_cta{
        width: 90%;
        max-width: 380px;
        margin: 0 auto;
    }
    .rct-header .btn_cta a{
        width: 100%;
        padding: 25px 10px;
    }
    .rct-header .btn_cta a span:nth-of-type(1){font-size: 22px;}
    .rct-header .btn_cta a span:nth-of-type(2){font-size: 20px;}
    .rct-header .btn_cta a span:nth-of-type(1)::before{
        width: 24px;
        height: 20px;
    }
}
@media screen and (max-width:400px) {
    .rct-header .btn_cta a{
        flex-direction: column;
        row-gap: 10px;
        padding: 20px;
    }
    .rct-header .btn_cta a span:nth-of-type(1){font-size: 21px;}
    .rct-header .btn_cta a span:nth-of-type(1)::before{
        width: 20px;
        height: 17px;
    }
    .rct-header .btn_cta a span:nth-of-type(2){
        padding: 0;
        border: none;
        font-size: 18px;
    }
}
@media screen and (max-width:329px) {
    .rct-header nav div ul li{
        display: flex;
        min-height: 77px;
    }
}
/* =========================================================== */
/* editor_contents  */
/* =========================================================== */
@media screen and (max-width:800px) {
    .editor_contents h2{font-size: 22px;}
    .editor_contents h2::before{width: 30px;height: 3px;}
    .editor_contents h3{font-size: 18px;}
    .editor_contents h4{font-size: 16px;}
    .editor_contents .bg_blue{
        margin: 20px 0 35px;
        padding: 25px 6%;
    }
    .editor_contents .bg_blue .wp-block-columns:last-of-type{gap: 1.2em;}
    .editor_contents .bg_blue .wp-block-column{max-width: 100%;}
}

/* ====================================== */
/* エントリー */
/* ====================================== */
@media screen and (max-width:800px) {
    /* テーブル */
    .rct-entry_sub .editor_contents .wp-block-table td{
        display: block;
        width: 100% !important;
    }
    .rct-entry_sub .editor_contents .wp-block-table td:nth-of-type(1){
        font-size: 16px;
        padding:12px 0 0;
    }
    .rct-entry_sub .editor_contents .wp-block-table td:nth-of-type(2){padding: 0.7em 0 15px;}
    /* アンカーリンクリスト */
    .rct-entry_sub .editor_contents .anc_list li{font-size: 20px;}
    /* 職種アコーディオン */
    .rct-entry_sub .editor_contents h3.ac{font-size: 20px;}
    .rct-entry_sub .editor_contents h3.ac:not(:nth-child(1)){margin-top: 30px;}
    .rct-entry_sub .editor_contents h3.ac + div{padding: 0 20px 50px;}
    .rct-entry_sub .editor_contents h3.ac + div .wp-block-table{margin: 0 1px 40px;}
    .rct-entry_sub .editor_contents h3.ac + div .wp-block-table td{padding: 0 0 1.5em;}
    .rct-entry_sub .editor_contents h3.ac + div .wp-block-table td:nth-of-type(1){padding: 1em 1em 1em 0;}
    .rct-entry_sub .editor_contents h3.ac + div .wp-block-table td:nth-of-type(2){padding-right: 1.5em;}
    .rct-entry_sub .editor_contents h3.ac::before,
    .rct-entry_sub .editor_contents h3.ac::after{
        width: 20px;
        inset: 23px 20px auto auto;
    }
    .btn.btn_entry{max-width: 100%;}
    .btn.btn_entry a{font-size: 17px;}
    /* ポータル */
    .rct-entry_portal .btn.btn_entry{margin: 60px auto 0;}
}
/* ====================================== */
/* カスタムブロック */
/* ====================================== */
/* FAQアコーディオン */
@media screen and (max-width:800px) {
    .blk_faq{margin: 0 auto 50px;}
    .blk_faq:last-of-type{margin: 0 auto 30px;}
    .blk_faq h2{font-size: 22px}
    .blk_faq dl dt{
        font-size: 16px;
        /* padding-left: 28px; */
        padding: 1em 3em 1em 1.7em;
    }
    .blk_faq dl span{font-size: 18px;}
    .blk_faq dl dt::before,
    .blk_faq dl dt::after{top: 32px;}
    .blk_faq + .btn{margin: 0 auto 10px;}
}
/* データで見るPRAPブロック */
@media screen and (max-width:1285px) {
    .blk_about{margin: 0 auto 100px;}
    .blk_about .flex{
        align-items: flex-start;
        justify-content: center;
        column-gap: 5% !important;
    }
    .blk_about .flex > section{
        flex-direction: column;
        row-gap: 10px;
        text-align: center;
    }
    .blk_about .flex > section > div{max-width: 100%;}
    .blk_about .flex > section > p{
        width: 90%;
        text-align: center;
        margin: -.9em auto 0 !important;
        font-size: 15px !important;
    }
    /* 2カラム */
    .blk_about .flex.col2 > section{width: calc((100% / 2) - 17%);}
    .blk_about .flex.col2 > section > p{margin-top: -.9em !important;}
    /* 3カラム */
    .blk_about .flex.col3 > section{width: calc((100% / 3) - 7%);}

}
@media screen and (max-width:890px) {
    .blk_about h2{font-size: 50px;}
    .blk_about .flex.col3 > section{width: calc((100% / 2) - 17%);}
}
@media screen and (max-width:800px) {
    .blk_about{margin: 0 auto 80px;}
    .blk_about .flex{row-gap: 40px;}
    /* 2カラム */
    .blk_about .flex.col2 > section figure{max-width: 140px;}
    .blk_about .flex.col2 > section h3{font-size: 20px;}
    .blk_about .flex.col2 > section p:nth-of-type(1){font-size: 14px;}
    .blk_about .flex.col2 > section p:nth-of-type(2) span:not(.num){font-size: 26px;}
    .blk_about .flex.col2 > section p:nth-of-type(2) span.num{font-size: 48px;}
    /* 3カラム */
    .blk_about .flex.col3 > section figure{max-width: 100px;}
    .blk_about .flex.col3 > section p{
        font-size: 15px;
        max-width: 400px;
    }
    .blk_about .flex.col3 > section h3{font-size: 18px;}
    .blk_about .flex.col3 > section p:nth-of-type(1){font-size: 13px;}
    .blk_about .flex.col3 > section p:nth-of-type(2) span:not(.num){font-size: 22px;}
    .blk_about .flex.col3 > section p:nth-of-type(2) span.num{font-size: 40px;}
}
@media screen and (max-width:690px) {
    .blk_about .flex > section{width: 100% !important;}
}
/* =========================================================== */
/* 下層共通  */
/* =========================================================== */
/* ============================================== */
/* kv */
/* ============================================== */
@media screen and (max-width:800px) {
    .kv{height: 180px;}
    .kv .ttl_box p{font-size: 40px;}
    .kv .ttl_box h1{font-size: 18px;}
    .kv.kv_aboutus .ttl_box h1{font-size: 24px;}

    /* パンくずリスト */
    .kv .inner .breadcrumbs{
        inset: 0.3em auto auto 6%;
        max-width: calc(100% - 12%);
    }
    /* コンテンツ余白 */
    .bg_area{padding: 30px 0 60px;}
}
/* =========================================================== */
/* エントリー  */
/* =========================================================== */
@media screen and (max-width:800px) {
    /* エントリー共通 */
    .rct-entry_sub .editor_contents h2{font-size: 22px;}
    .rct-entry_sub .bg_area{padding: 30px 0 60px;}
}
@media screen and (max-width:800px) {
    /* エントリー下層共通 */
    .kv.kv_sub{height: 160px;}
    .kv.kv_sub .ttl_box p{font-size: 21px;}
    .kv.kv_sub .ttl_box p::before{
        width: 17px;
        height: 14px;
        margin: 0 6px 0 0;
    }
    .kv.kv_sub .ttl_box h1{font-size: 22px;}
    /* パンくずリスト */
    .rct-entry_sub .breadcrumbs{
        inset: auto;
        margin: 0 0 25px;
    }
    /* アンカーリンク */
    .rct-entry_sub .editor_contents .anc_list{
        flex-direction: column;
        align-items: center;
    }
    .rct-entry_sub .editor_contents .anc_list li a{justify-content: center;}
    .rct-entry_sub .editor_contents .anc_list li a::after{background-image: url(../img/page/entry/ico_anc_sp.svg);}
}
/* page-entry_portal */
@media screen and (max-width:800px) {
    .bg_wht a{padding: 30px 20px 20px !important;}
    .bg_wht a > .btn{width: 130px;}
    .bg_wht h2{font-size: 22px;}
}

/* page-entry_new.php */
.btn a .tab_cont{display: none;}
@media screen and (max-width:1090px) {
    .btn a .tab_cont{display: block;}
}
@media screen and (max-width:1000px) {
    /* 2カラム */
    .rct-entry_new .editor_contents .column_wrapper{
        flex-direction: column;
        border: 0;
    }
    .rct-entry_new .editor_contents > section:last-of-type,
    .rct-entry_new .editor_contents > section:last-of-type .col_left::before,
    .rct-entry_new .editor_contents > section:last-of-type .col_right::before{border: 0;}
    /* 2カラム 左 */
    .rct-entry_new .editor_contents .column_wrapper .col_left{
        position: sticky;
        z-index: 10;
        top: 75px;
        padding: 1.4em 0;
        width: 100%;
    }
    .rct-entry_new .editor_contents .column_wrapper .col_left .ttl_box{position: static;}
    .rct-entry_new .editor_contents .column_wrapper .col_left .ttl_box p:not(.btn){
        font-size: 48px;
        margin: 0 0 .1em;
    }
    .rct-entry_new .editor_contents .column_wrapper .col_left .ttl_box h2{
        font-size: 20px;
        margin: 0;
    }
    .rct-entry_new .editor_contents .column_wrapper .col_left .ttl_box .btn{
        position: absolute;
        z-index: 0;
        inset: -100% 0 -100% auto;
        margin: auto !important;
        border-radius: 50%;
        width: 95px;
        height: 95px;
    }
    .rct-entry_new .editor_contents .column_wrapper .col_left .ttl_box .btn a{
        font-size: 13px;
        padding: 0.7em .4em 0.4em;
        line-height: 1.3;
    }
    .rct-entry_new .editor_contents .column_wrapper .col_left .ttl_box .btn a span:nth-of-type(1){font-size: 20px;}
    .rct-entry_new .editor_contents .column_wrapper .col_left .ttl_box .btn a::after{
        margin: 0 auto;
        width: 100%;
        height: 8px;
    }
    .rct-entry_new .editor_contents .column_wrapper .col_left .ttl_box .btn .sp_cont{display: block !important;}
    .rct-entry_new .editor_contents .column_wrapper .col_left::before{border: 0;}
    .rct-entry_new .editor_contents .column_wrapper .col_left::after{
        position: absolute;
        z-index: -1;
        inset: -1px -100vw auto auto;
        content: '';
        width: 100vw;
        height: calc(100% + 2px);
        background: var(--bg_entry);
    }
    /* 2カラム 右 */
    .rct-entry_new .editor_contents .column_wrapper .col_right{
        width: 100%;
        padding: 23px 0 40px;
    }
    .rct-entry_new .editor_contents .column_wrapper .col_right::before{border: 0;}
    .rct-entry_new .editor_contents .column_wrapper:last-of-type .col_right{padding-bottom: 0;}
    /* フッター */
    .rct-entry_new + script + script + footer .footer_outer{border-top: 1px solid#4C423F !important;}

}
@media screen and (max-width:800px) {
    .rct-entry_new .editor_contents .anc_list{
        gap: 0;
        max-width: 400px;
        margin: 0 auto 35px !important;
    }
    .rct-entry_new .editor_contents .anc_list li{
        width: 100%;
        border: 0;
        border-bottom: 1px solid #92929267;
        padding: 20px 0;
    }
    .rct-entry_new .editor_contents .anc_list li a{
        font-size: 20px;
        width: fit-content;
        margin: 0 auto;
    }
    .rct-entry_new .editor_contents .anc_list a span{font-size: 36px;}
    .rct-entry_sub.rct-entry_new .editor_contents .anc_list a::after{
        width: 22px;
        height: 12px;
    }
}
@media screen and (max-width:800px) {
    /* page-entry_career.php */
    .btn_simple a{font-size: 14px;}
    .rct-entry_career .editor_contents .anc_list li{width: 100%;}
    .rct-entry_career .editor_contents .anc_list li a{justify-content: flex-start;}
    .rct-entry_career .editor_contents .anc_list li a span{
        display: inline-block;
        width: fit-content;
    }
}

/* ====================================== */
/* cta_entry */
/* ====================================== */
@media screen and (max-width:800px) {
    .sec_cta{height: 245px;}
    .sec_cta .inner{padding: 0 6%;}
    .sec_cta .flex{
        flex-direction: column;
        align-items: flex-start;
    }
    .sec_cta h2{
        display: flex;
        align-items: flex-end;
        column-gap: 8px;
    }
    .sec_cta .flex > div:nth-of-type(1){
        padding: 0 0 0 38px;
        border: 0;
        margin: 0 0 22px;
    }
    .sec_cta .flex > div:nth-of-type(1) h2 span:nth-of-type(1){
        margin: 0;
        font-size: 32px;
    }
    .sec_cta .flex > div:nth-of-type(1) h2 span:nth-of-type(2){
        font-size: 20px;
        line-height: 1;
    }
    .sec_cta .flex > div:nth-of-type(1) h2 span:nth-of-type(1)::before{
        inset: -100% auto -100% -38px;
        margin: auto;
        width: 23px;
        height: 20px;
    }
    .sec_cta .flex > div:nth-of-type(2) p:nth-of-type(1){
        font-size: 13px;
        font-feature-settings: 'halt';
        line-height: 1.63;
    }
    .sec_cta .flex > div:nth-of-type(2) .has_arrow{
        font-size: 14px;
        font-weight: 500;
        margin: 2em 0 0;
    }
}

/* =========================================================== */
/* front-page.php */
/* =========================================================== */
@media screen and (min-width:1800px) {
    .kv.kv_home{
        height: 1240px;
        aspect-ratio: 18 / 10;
    }
    .kv.kv_home .inner{
        max-width: 1440px;
        max-height: 880px;
    }
    .kv.kv_home .video_cont{height: 1000px;}
    .kv.kv_home .video_cont video{
        height: 100%;
        object-fit: cover;
    }
    .kv.kv_home .video_cont::before{height: 100%;}
    .kv.kv_home .inner > div{
        margin: 0 auto 30px 0;
        max-width: 1100px;
    }
    .kv.kv_home .bg_wrap::before{top: -13.2vw;}
    .kv.kv_home .bg_wrap::after{
        height: calc(100% - 100px);
        inset: auto -100% -30px;
    }
    .inner_kvsec{max-width: 1440px;}
}
@media screen and (max-width:1000px) {
    /* KV */
    .kv.kv_home .bg_wrap::before{
        height: auto;
        aspect-ratio: 375 / 80;
        inset: -3.3vw -100% auto;
    }
    .kv.kv_home .bg_wrap::after{height: calc(100% - 17.7vw);}

    /* アンカーリスト */
    .kv.kv_home + .anc_list ul{
        flex-direction: column;
        row-gap: 40px;
    }
    .kv.kv_home + .anc_list ul li{
        width: 50%;
        border-right: 1px solid #ffffff67;
    }
    .kv.kv_home + .anc_list ul li a::after{margin: 0 auto;}
    .rct-home .ttl_box p{font-size: 46px;line-height: 1.3;}
    .rct-home .ttl_box h2{font-size: 18px;}
    .list_a{margin: 0 0 40px !important;}
    /* イベント */
    .sec_event{
        margin: 50px 0 0;
        padding: 50px 0 90px;
    }
    .sec_event .flex{flex-direction: column;}
    .rct-home .sec_event .flex > div{width: 100%;}
    .rct-home .sec_event .flex > div{display: contents;}
    .rct-home .sec_event .flex .btn{order: 1;}
    .rct-home .sec_event .flex .ttl_box + .btn{width: 180px;margin: 0 auto;}
    .rct-home .sec_event .flex ul{width: 100%;}
    .rct-home .sec_event .flex ul p{margin: 0;}
    /* 中段バナーリンク */
    .rct-home .sec_bnrList{padding: 45px 0;}
    .rct-home .sec_bnrList ul{row-gap: 5px;}
    .rct-home .sec_bnrList ul li{width: 100% !important;}
    .rct-home .sec_bnrList ul li a{
        flex-direction: column;
        align-items: flex-start !important;
        justify-content: flex-end !important;
        padding: 25px 20px;
    }
    .rct-home .sec_bnrList .ttl_box{margin: 0 0 35px !important;}
    .rct-home .sec_bnrList .ttl_box p{font-size: 16px;}

    .rct-home .sec_bnrList ul li a .btn{
        margin: 0;
        font-size: 12px;
        width: 121px;
    }
    .rct-home .sec_bnrList ul li:nth-of-type(3n-2){height: 210px !important;}
    .rct-home .sec_bnrList ul li:not(:nth-of-type(3n-2)){height: 145px !important;}
    .rct-home .sec_bnrList ul li:not(:nth-of-type(3n-2)) .ttl_box{margin: 0 0 15px !important;}
    .rct-home .sec_bnrList ul li::before{
        width: 81% !important;
        height: 100% !important;
        background: linear-gradient(to right, #000019 0%, #00001900 100%) !important;
    }
    /* 社員紹介 */
    .sec_interview{padding: 70px 0;}
    .sec_interview .inner{
        position: relative;
        z-index: 0;
        padding: 0;
    }
    .sec_interview .ttl_box{padding: 0 6%;}
    .sec_interview .flex{flex-direction: column;}
    .sec_interview .flex > div{display: contents;}
    .sec_interview .flex .btn{order: 1;}
    .rct-home .sec_interview .flex ul{
        width: 200%;
        display: flex;
    }
    .sec_interview .flex ul li{
        display: block;
        width: calc(100% / 3);
    }
    .sec_interview .scroll_wrapper ul.ul_card {
        display: flex;
        gap: 8px;
        width: max-content;
    }
    .rct-home .sec_interview .flex ul li{
        flex: 0 0 auto;
        /* width: 315px; */
        width: 230px;
    }
    .sec_interview .flex ul li a{display: block;}
    .rct-home .ul_card li .int_dept{margin: 0;}
    .rct-home .ul_card li .int_name{font-size: 16px;}
    .rct-home .ul_card li .int_job{font-size: 12px;}
    .sec_interview .scroll_outer{
        display: block !important;
        position: relative;
        z-index: 0;
        margin: 0 auto 50px;
        width: 100% !important;
    }
    .sec_interview div.scroll_wrapper{
        display: block;
        width: 100%;
        overflow: auto hidden;
        padding: 0 6% 23px;
        white-space: nowrap;
        scrollbar-width: none; /* Firefox対応 */
        -ms-overflow-style: none; /* IE, Edge旧版対応 */
    }
    .scrollbar {
        position: absolute;
        inset: auto auto 0 6vw;
        margin: auto;
        display: block !important;
        height: 3px !important;
        border-radius: 2px;
        /* width: calc(100vw - 17vw) !important; */
        width: calc(100% - 12%) !important;
        background: #73BDCC;
        background: #ffffff44;
    }
    .scrollbar span {
        display: block;
        height: 100%;
        background: #fff;
        border-radius: 2px;
        cursor: pointer;
        position: absolute;
        left: 0;
        width: 50px; /* 初期の幅 */
    }
    .sec_interview .scroll_wrapper::-webkit-scrollbar {display: none;}
    /* 下段バナーリンク */
    .sec_linkList{padding: 30px 0 50px;}
    .sec_linkList ul{row-gap: 5px;}
    .sec_linkList li{
        width: 100% !important;
        border-radius: 0 0 10px 0;
    }
    .sec_linkList li a{
        justify-content: space-between;
        font-size: 18px;
    }
    .sec_linkList li:not(:last-of-type){height: 80px;}
    /* モーダル */
    .modal_wrap .modal_cont .inner{padding: 0 6%;}
    .modal_wrap .modal_cont .inner p{width: 22px;height: 22px;top: -30px;left: -60px;}
    .modal_wrap .modal_cont .inner p::before,
    .modal_wrap .modal_cont .inner p::after{width: 12px;}
}
@media screen and (max-width:1100px) and (min-width: 1001px){
    .rct-home .sec_bnrList ul li:not(:nth-of-type(3n-2)) a{
        flex-direction: column;
        align-items: flex-start !important;
        justify-content: flex-end !important;
    }
    .rct-home .sec_bnrList ul li:not(:nth-of-type(3n-2)) .ttl_box {margin: 0 0 25px !important;}
    .rct-home .sec_bnrList ul l:not(:nth-of-type(3n-2))::before {
        width: 81% !important;
        height: 100% !important;
        background: linear-gradient(to right, #000019 0%, #00001900 100%) !important;
    }
}
@media screen and (max-width:1000px) and (min-width: 801px){
    .kv.kv_home .inner{height: 50vw;}
    .kv.kv_home .bg_wrap::before{
        inset: -15.5vw -100% auto;
        aspect-ratio: 375 / 60;
    }
    .kv.kv_home .bg_wrap::after{height: calc(100% - 8.7vw);}
    /* 中段バナーリンク */
    .rct-home .sec_bnrList ul li:not(:nth-of-type(3n-2)){width: calc(50% - 5px) !important;}
    .rct-home .sec_bnrList ul li a .btn{width: 124px;}
}
@media screen and (max-width:800px) {
    /* KV */
    .inner_kvsec{padding: 0 6%;}
    .kv.kv_home .inner{height: 75vw;}
    .kv.kv_home .inner > div h2{font-size: 62px;}
    .kv.kv_home .inner > div p{
        width: 97px;
        height: 97px;
        font-size: 10px;
        row-gap: 7px;
    }
    .kv.kv_home .inner > div p::before{
        width: 12px;
        height: 13px;
    }
    .kv.kv_home .video_cont{
        aspect-ratio: 73 / 75;
        height: auto;
    }
    .kv.kv_home .video_cont video{
        height: 100%;
        object-fit: cover;
    }
    /* KV */
    .kv.kv_home .bg_wrap::before{inset: -19.7vw -100% auto;}
    .kv.kv_home .bg_wrap::after{height: calc(100% - 12.3vw);}

    .kv.kv_home .inner_kvsec section h3{
        font-size: 24px;
        line-height: 1.7;
        margin: 0 0 0.7em;
    }
    .kv.kv_home .inner_kvsec section p{
        font-size: 14px;
        line-height: 1.85;
    }
    .rct-home .btn.btn_square a::after,
    .kv.kv_home .btn.btn_square a::after{
        width: 26px;
        height: 10px;
    }
    .kv.kv_home + .anc_list{padding: 80px 0;}
    .kv.kv_home + .anc_list ul{
        flex-direction: column;
        max-width: 210px;
        margin: 0 auto;
        row-gap: 40px;
    }
    .kv.kv_home + .anc_list ul li{
        width: 100%;
        border-left: 1px solid #ffffff67;
        border-right: 1px solid #ffffff67;
    }
    .kv.kv_home + .anc_list ul li a{
        font-size: 14px;
        padding: 0.5em 0;
    }
    .kv.kv_home + .anc_list ul li a span{
        font-size: 13px;
        margin: 0 auto .3em;
    }
    .kv.kv_home + .anc_list ul li a::after{
        width: 15px;
        height: 15px;
        margin: 0 auto;
    }
    .list_a > li{
        flex-direction: column;
        row-gap: 14px;
        padding: 18px 0 25px;
    }
    .list_a > li > div p{margin: 0 0 0.2em;}
    .list_a > li > div ul{font-size: 13px;}
    /* 関連サイト */
    .rct-home .sec_related{padding: 40px 0 50px;}
    .sec_related h2{
        font-size: 30px;
        margin: 0 auto 23px;
    }
    .sec_related ul{
        flex-direction: column;
        row-gap: 40px;
    }
    .sec_related ul li {width: 100%;}
}
/* =========================================================== */
/* page-news.php  */
/* =========================================================== */
@media screen and (max-width:800px) {
    .archive-news .bg_area{padding: 30px 0 60px;}
}
/* =========================================================== */
/* page-event.php  */
/* =========================================================== */
@media screen and (max-width:800px) {
    .rct-event .ul_card li .evt_date{margin: 0 0 0.5em;}
    .rct-event .ul_card li .evt_ttl{
        font-size: 16px;
        margin: 0 0 0.5em;
    }
    .rct-event .ul_card li figure.noimg figcaption{font-size: 16px;}
}
/* =========================================================== */
/* archive-interview.php  */
/* =========================================================== */
@media screen and (max-width:800px) {
    .rct-interview .ul_card_int .int_job,
    .rct-interview .ul_card_int .int_dept,
    .rct-interview .ul_card_int .int_join_year,
    .rct-interview .ul_card_int .int_entry_type{font-size: 15px;}
    .rct-interview .ul_card_int .int_name{font-size: 20px;}
    .rct-interview .ul_card_int .flex02{margin: 0 0 15px;}
    .rct-interview .ul_card_int a{padding: 65% 20px 20px;}
    .rct-interview .ul_card_int a .btn{margin: 1.5em 0 0 auto;}
    .rct-interview .ul_card_int a p.txt{min-height: 1px;font-size: 15px;}
    .rct-interview .ul_card_int a::before{height: 50%;}
    .rct-interview .ul_card_int li figure{height: 59%;}
    .rct-interview .ul_card_int li figure::before{height: 110px;}
}
/* =========================================================== */
/* single-interview.php  */
/* =========================================================== */
@media screen and (max-width:800px) {
    .kv.kv_single_int{height: 320px;}
    .interview-single .kv.kv_single_int::before{
        display: block;
        z-index: 1;
        inset: auto -100% -11vw -100%;
        height: calc(2vw + 32px);
        background: var(--gradient_bgBlue);
        clip-path: none;
        transform: skewY(-4deg);
    }
    .kv.kv_single_int::after{
        bottom: -5vw;
        height: 150px;
        opacity: 1;
    }
    .kv.kv_single_int .inner{
        align-items: flex-end;
        z-index: 1;
    }
    /* 社員情報 */
    .kv.kv_single_int .ttl_box{
        position: relative;
        z-index: 0;
        top: 14vw;
    }
    article{position: relative;z-index: 0;}
    .interview-single .int_cf{
        position: relative;
        z-index: -1;
        padding: calc(30px + 14vw) 0 60px;
    }
    .kv.kv_single_int .ttl_box h2{font-size: 18px;}
    .interview-single .int_cf::before{
        inset: 0 -100% auto -100%;
        height: 93%;
    }
    .interview-single .int_cf::after{display: none;}
    .interview-single .int_cf .inner{padding-bottom: 30px;}
    .interview-single .int_cf .int_info{margin: 0 0 35px;}
    .interview-single .int_cf .int_info > div:nth-of-type(1){margin: 0 0 10px;}
    .interview-single .int_cf .int_job,
    .interview-single .int_cf .int_dept{font-size: 14px;}
    .interview-single .int_cf .int_name{font-size: 22px;border-width: 1px;}
    .interview-single .int_cf .int_join_year,
    .interview-single .int_cf .int_entry_type{font-size: 14px;}
    .int_cf + .bg_area{padding-top: 30px;}
    /* 1日のスケジュール */
    .int_schedule h2{font-size: 22px;}
    .int_schedule h2::before{width: 34px;}
    .int_schedule ul{padding: 5px 0 0;}
    .int_schedule ul li p:nth-of-type(1){font-size: 34px;}
    .int_schedule ul li p:nth-of-type(2){font-size: 15px;}
    .int_schedule .slick-prev::before,
    .int_schedule .slick-next::before{width: 15px;height: 15px;}
    .int_schedule .slick-prev{left: -12px;}
    .int_schedule .slick-next{right: -16px;}
    .int_schedule .slick-prev:hover{left: -12px;}
    .int_schedule .slick-next:hover{right: -16px;}
    .int_pager .flex{align-items: flex-end;}
    .int_pager .pager_btn{width: 27%;}
    .int_pager .pager_btn.prev a{padding: 0 10px 8px 21px;}
    .int_pager .pager_btn.next a{padding: 0 10px 8px;}
    .int_pager .pager_btn span:nth-of-type(1){font-size: 24px;display: block;}
    .int_pager .pager_btn span:nth-of-type(2){margin: 0;}
    .int_pager .btn.btn_square{width: 33%;}
}