/*=== 共通 ===*/
/*== タイトル ==*/
.top_title_en, .top_title_ja{ line-height: 1; }
.top_title_en{
    font-size: clamp(4rem, 5.208333333333334vw, 10rem);
    color: var(--main-color);
}
.top_title_ja{
    margin-top: clamp(1.6rem, 2.083333333333333vw, 4rem);
    font-size: clamp(1.8rem, 1.5625vw, 3rem);
    font-weight: 700;
}
/*== moreボタン ==*/
.top_link{
    position: relative;
    padding: clamp(1.2rem, 1.1979166666666667vw, 2.3rem) 0;
    display: block;
    width: 100%;
    font-size: clamp(1.6rem, 1.3020833333333335vw, 2.5rem);
    /* font-size: clamp(1.6rem, 1.0416666666666665vw, 2rem); */
    font-weight: 700;
    text-align: center;
    color: #010101;
    background-color: var(--accent-color);
}
.top_link::before{
    content: "";
    position: absolute;
    top: 50%;
    right: 3.2rem;
    background-image: url(../img/common/arrowBlack.png);
    width: clamp(.8rem, 1.6666666666666667vw, 1.3rem);
    height: clamp(1.477rem, 3.076923076923077vw, 2.4rem);
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
}



/*=== FV ===*/
.firstview{
    position: relative;
    background-image: url(../img/FV.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    aspect-ratio: 1 / 0.48802083333333335;
}
.fv_text_ja, .fv_text_ja_span, .fv_text_en, .fv_text_en_span{
    line-height: 1;
    color: #fff;
}
.fv_text_ja, .fv_text_en{ position: absolute; }
.fv_text_ja{
    /* position: relative; */
    top: 19.53125vw;
    width: 100%;
    font-size: clamp(3.2rem, 3.125vw, 6rem);
    font-weight: 900;
    text-align: center;
    text-shadow: #3b6497 .1rem 0 1.6rem;
}
/* .fv_text_ja::before,
.fv_text_ja::after{
    content: "～";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}
.fv_text_ja::before{ left: -2rem; }
.fv_text_ja::after{ right: 2rem; } */
.fv_text_ja_span{ font-size: clamp(4rem, 3.90625vw, 7.5rem); }
.fv_text_en{
    bottom: -0.5208333333333333vw;
    left: 50%;
    width: 100%;
    font-size: clamp(7.2rem, 7.8125vw, 15rem);
    mix-blend-mode: overlay;
    transform: translateY(0%) translateX(-50%);
    -webkit-transform: translateY(0%) translateX(-50%);
}
.fv_text_en_span{
    display: block;
    mix-blend-mode: overlay;
    text-align: center;
}

/*=== NEWS お知らせ ===*/
.top_news{
    position: relative;
    padding: clamp(6rem, 10vw, 12rem) 0;
    background-image: url(../img/bg_long.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.top_news::before{
    content: "";
    position: absolute;
    top: 1.5625vw;
    right: 3.4vw;
    background-image: url(../img/news_text.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: clamp(12rem, 16.40052083333333vw, 31.489rem);
    aspect-ratio: 1 / 0.9989837721108958;
    animation: rotation 24s linear infinite;
}
@keyframes rotation{
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
.tn_wrap{
    margin: 0 auto;
    padding: clamp(4rem, 5.833333333333333vw, 7rem) 0 clamp(4.8rem, 7.5vw, 9rem);
    max-width: 156rem;
    width: 90%;
    background-color: #fff;
}
.tn_inner{
    margin: 0 auto 0 7rem;
    display: flex;
    max-width: 134rem;
    width: 90%;
    gap: 4rem 8rem;
}
.tn_title_link{
    display: flex;
    flex-direction: column;
    max-width: 35rem;
    width: 39%;
    justify-content: space-between;
}
.tn_link_box_PC{ margin-top: 1rem; }
.tn_list{ width: 100%; }
article{ border-bottom: .1rem dashed #0b0b0b; }
.tn_list_link{
    padding: clamp(1.6rem, 1.5104166666666667vw, 2.9rem) 0;
    display: flex;
    flex-wrap: wrap;
    gap: .8rem 2.4rem;
}
.tn_date_cat{
    display: flex;
    gap: .8rem 2.4rem;
    align-items: center;
    justify-content: space-between;
}
.tn_time{ font-size: clamp(1.8rem, 1.25vw, 2.4rem); }
.tn_cat{
    padding: clamp(.5rem, 0.6666666666666667vw, .8rem) 2rem;
    line-height: 1;
    width: fit-content;
    font-size: clamp(1.5rem, 0.9375vw, 1.8rem);
    letter-spacing: -.05em;
    color: #fff;
    background-color: var(--main-color);
}
.tn_sentence{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.tn_link_box_SP{ display: none; }

/*=== COMPANY 企業情報・BUSINESS 事業内容 ===*/
.tcbSec{ position: relative; }
.tcbSec::before{
    content: "";
    position: absolute;
    top: 0;
    z-index: -1;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.top_company::before{
    background-image: url(../img/company.svg);
    left: 0;
    width: clamp(7rem, 11.584375vw, 22.242rem);
    aspect-ratio: 1 / 4.627461559212302;
}
.top_business::before{
    background-image: url(../img/business.svg);
    right: 0;
    width: clamp(7rem, 11.583333333333332vw, 22.24rem);
    aspect-ratio: 1 / 4.76;
}
.top_company_business_wrap{
    display: flex;
    flex-direction: column;
    gap: clamp(6.4rem, 4.947916666666666vw, 9.5rem) 0;
}
.tcb_inner{
    display: flex;
    justify-content: space-between;
}
.tcb_info_box{ width: 42%; }
.tcb_headline{
    margin: clamp(3.2rem, 2.604166666666667vw, 5rem) 0 clamp(2.4rem, 2.083333333333333vw, 4rem);
    display: flex;
    flex-direction: column;
    gap: clamp(.8rem, 1.5625vw, 3rem) 0;
}
.tcb_headline_span{
    padding: clamp(.4rem, 0.6666666666666667vw, .8rem) clamp(1.6rem, 2vw, 2.4rem);
    display: block;
    width: fit-content;
    font-size: clamp(1.8rem, 1.5625vw, 3rem);
    font-weight: 700;
    color: #fff;
    background-color: var(--main-color);
}
.tcb_headline_span_SP{ display: none; }
.tcb_link_box{
    margin-top: clamp(3.2rem, 4.166666666666666vw, 8rem);
    max-width: 35rem;
}
.tcb_sentence{
    letter-spacing: -.05rem;
    word-break: auto-phrase;
}
/*== COMPANY 企業情報 ==*/
.tc_inner{
    margin-left: 9.375vw;
    padding-top: clamp(1rem, 7.291666666666667vw, 14rem);
}
.tc_img{ width: 53.3%; }
/*== BUSINESS 事業内容 ==*/
.tb_inner{
    margin-right: 5.729166666666666vw;
    padding: clamp(1rem, 3.125vw, 6rem) 0 clamp(1rem, 7.03125vw, 13.5rem);
}
.tb_img{ width: 54.4%; }

/*=== RECRUIT 採用情報 ===*/
.top_recruit{
    padding: 2.4rem 0 clamp(6rem, 12.5vw, 15rem);
    background-image: url(../img/bg_long.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.tr_catchcopy, .tr_catchcopy_span{
    line-height: 1;
    mix-blend-mode: screen;
}
.tr_catchcopy{
    margin-bottom: 1.6rem;
    text-align: center;
    opacity: .8;
}
.tr_catchcopy_span{
    font-size: clamp(4rem, 6.770833333333333vw, 13rem);
    display: inline-block;
    background: linear-gradient(90deg, #0f336d, #021d52 50%, #0f336d);
    background: -webkit-linear-gradient(0deg, #0f336d, #021d52 50%, #0f336d);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.tr_bgWhite{
    position: relative;
    margin: -6.25vw auto 0;
    padding: clamp(6rem, 5.833333333333333vw, 7rem) 0 clamp(6rem, 6.666666666666667vw, 8rem);
    width: 83.5%;
    background-color: rgba(255, 255, 255, .93);
}
.tr_bg_inner .top_title_box{ text-align: center; }
.tr_headline{
    margin: 4rem auto 1.6rem;
    width: fit-content;
    font-size: clamp(1.6rem, 1.5625vw, 3rem);
    color: var(--main-color);
    background: linear-gradient(transparent 65%, rgb(255 255 0 / 100%) 35%);
}
.tr_sentence{
    margin: 0 auto 0;
    width: 64.1%;
    text-align: center;
    word-break: auto-phrase;
}
.tr_img_link{
    margin: clamp(2.4rem, 3.125vw, 6rem) auto 0;
    background-image: url(../img/topRec.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    width: 87.2%;
    aspect-ratio: 1 / 0.32549595885378396;
    align-items: center;
    justify-content: center;
}
.re_link{
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}
.re_link:hover{ opacity: 1; }
.re_link:hover .re_linkBtn{ background-color: rgba(194, 178, 47, .72); }
.re_linkBtn{
    position: relative;
    border: .2rem solid rgba(255, 255, 255, .72);
    padding: clamp(1.6rem, 1.6666666666666667vw, 3.2rem) 0;
    display: flex;
    max-width: 45rem;
    min-width: 25rem;
    width: 90%;
    font-size: clamp(1.8rem, 1.5625vw, 3rem);
    font-weight: 700;
    color: #fff;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 30, 91, .72);
    transition: .3s all;
}
.re_linkBtn::before{
    content: "";
    position: absolute;
    top: 50%;
    right: 2.604166666666667vw;
    background-image: url(../img/common/arrowWhite_small.png);
    width: clamp(.8rem, 1.6666666666666667vw, 1.3rem);
    height: clamp(1.477rem, 3.076923076923077vw, 2.4rem);
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
}
@media screen and ( max-width: 1200px ){
    /*=== NEWS お知らせ ===*/
    .tn_inner{
        margin: 0 auto;
        flex-direction: column;
    }
    .tn_link_box_PC{ display: none; }
    .tn_link_box_SP{
        margin: 2rem auto 0;
        display: block;
        max-width: 35rem;
        min-width: 23rem;
        width: 50%;
    }

    /*=== COMPANY 企業情報・BUSINESS 事業内容 ===*/
    .tcb_info_box{
        margin: 4rem auto 0;
        width: 80%;
    }
    .tcb_img{ width: 90%; }
    /*== COMPANY 企業情報 ==*/
    .tc_inner{
        margin: 0 0;
        flex-direction: column-reverse;
    }
    .tc_img{ margin-left: auto; }
    /*== BUSINESS 事業内容 ==*/
    .tb_inner{
        margin: 0 0;
        flex-direction: column;
    }

    /*=== RECRUIT 採用情報 ===*/
    .tr_bgWhite, .tr_sentence{ width: 90%; }
    .tr_img_link{
        background-image: url(../img/topRec_SP.png);
        aspect-ratio: 1 / 0.335;
    }
    .re_linkBtn{ width: 48%; }
}
@media screen and ( max-width: 780px ){
    /*=== FV ===*/
    .firstview{
        background-image: url(../img/FV_SP.jpg);
        aspect-ratio: 1 / 0.6410256410256411;
    }
    .fv_text_ja{
        top: 25.64102564102564vw;
        font-size: clamp(1.8rem, 4.615384615384616vw, 3.6rem);
    }
    .fv_text_ja_span{ font-size: clamp(2.2rem, 6.41025641025641vw, 5rem); }
    .fv_text_en{
        bottom: -0.641025641025641vw;
        font-size: clamp(3.6rem, 10.256410256410255vw, 8rem);
    }

    /*=== NEWS お知らせ ===*/
    .tn_inner{ gap: 2rem 0; }
    .tn_list_link{ flex-direction: column; }
    .tn_date_cat{
        max-width: initial;
        width: fit-content;
    }
    .top_news::before{
        top: 3rem;
        right: 6.41025641025641vw;
        width: clamp(10rem, 21.794871794871796vw, 17rem);
    }

    /*=== COMPANY 企業情報・BUSINESS 事業内容 ===*/
    .tcb_info_box{ width: 88%; }

    /*=== RECRUIT 採用情報 ===*/
    .tr_bg_inner{
        margin: 0 auto;
        width: 92%;
    }
    .tr_sentence, .tr_img_link{ width: 100%; }
    .tr_sentence{ text-align: start; }
    .tr_br{ display: none; }
    .re_link:hover .re_linkBtn{ background-color: rgba(0, 30, 91, .72); }
    .re_linkBtn{ transition: none; }
}
@media screen and ( max-width: 500px ){
    /*=== COMPANY 企業情報・BUSINESS 事業内容 ===*/
    .tcb_headline_span_PC{ display: none; }
    .tcb_headline_span_SP{ display: block; }

    /*=== RECRUIT 採用情報 ===*/
    .re_linkBtn{
        padding: .8rem 0;
        min-width: 18rem;
        font-size: 1.6rem;
    }
    .re_linkBtn::before{ right: .5rem; }
}