@charset "utf-8";
/*
-----------------------------
TOP CSS

共通
リンクバナー
タイトル メイン
タイトル サブ
メインビジュアル
NEWS
NEWS card
検索
サービス
サービス 詳細
会社概要
philosophyWrap
whitepapersListWrap
採用
バナースライド
-----------------------------*/

/*
共通
-----------------------------*/
.top_common_link {
    display: flex;
}
.top_common_link .pw_link_item {
    color: #ffffff;
    font-weight: bold;
    font-size: 1.4rem;
    text-decoration: underline;
    transition: .3s;
}
.top_common_link .pw_link_item:after {
    display: inline-block;
    width: 2em;
    height: 2em;
    margin-left: .5em;
    background: url(../../img/top/serviceFlex_icon_morelink.svg) no-repeat;
    background-size: contain;
    vertical-align: middle;
    content: "";
    transition: .3s;
    transition-delay: .1s;
}

.top_common_link .pw_link_item:hover {
    padding-left: .5em;
}
.top_common_link .pw_link_item:hover:after {
    margin-left: .8em;
}

@media screen and (min-width: 768px) {
    .top_common_link .pw_link_item {
        font-size: 1.6rem;
    }
}

/*
リンクバナー
-----------------------------*/
.linkBannerBlock {
    position: fixed;
    right: 10px;
    bottom: 100px;
    z-index: 500;
    max-width: 200px;
    transition: .3s;
}
.linkBannerBlock .lbb_link_item {
    transition: .3s;
}
.linkBannerBlock .lbb_link_item:hover {
    opacity: .5;
}
.linkBannerBlock.scroll {
    bottom: 10px;
}

/*
タイトル メイン
-----------------------------*/
.topMainTtl .tmt_block {
    padding-left: 3rem;
    line-height: 1.2;
}

.topMainTtl .tmt_block .tmt_en {
    display: block;
    position: relative;
    color: var(--color-mainBlue);
    font-weight: 500;
    font-size: 5rem;
}
.topMainTtl .tmt_block .tmt_en:before {
    /*background-color: var(--color-red);*/
    display: block;
    position: absolute;
    top: .5em;
    left: -.4em;
    width: .25em;
    height: .25em;
    border-radius: 100px;
    content: "";
}

.topMainTtl .tmt_block .tmt_jp {
    display: block;
    color: var(--color-black);
    font-weight: bold;
    font-size: 1.8rem;
}

@media screen and (min-width: 768px) {
    .topMainTtl .tmt_block .tmt_en {
        font-size: 7rem;
    }
    .topMainTtl .tmt_block .tmt_jp {
        font-size: 2rem;
    }
}

/*
タイトル サブ
-----------------------------*/
.topTtlFlex {
    display: block;
}

.topSubTtl .tmt_en {
    display: block;
    margin-bottom: 5px;
    color: var(--color-mainBlue);
    font-weight: 500;
    font-size: 3rem;
}
.topSubTtl .tmt_jp {
    display: block;
    color: var(--color-black);
    font-weight: bold;
    font-size: 1.4rem;
}
.topTtlFlex_link {
    margin-top: 30px;
}
.topTtlFlex_link .ttf_link_item {
    position: relative;
    padding-right: 2.5em;
    color: var(--color-black);
    font-weight: bold;
    font-size: 1.4rem;
    transition: .3s;
}

.topTtlFlex_link .ttf_link_item::before, .topTtlFlex_link .ttf_link_item::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    vertical-align: middle;
    content: "";
    transition: .3s;
}

.topTtlFlex_link .ttf_link_item::before {
    width: 1.8em;
    height: 1.8em;
            border-radius: 50%;
    background: var(--color-red);

    -webkit-border-radius: 50%;
}

.topTtlFlex_link .ttf_link_item::after {
    right: .8em;
            transform: rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    transition: .3s;

    -webkit-transform: rotate(45deg);
}
.topTtlFlex_link .ttf_link_item:hover {
    padding-right: 2.3em;
}
.topTtlFlex_link .ttf_link_item:hover::before {
    right: -.2em;
}
.topTtlFlex_link .ttf_link_item:hover::after {
    right: .5em;
}

@media screen and (min-width: 778px) {
    .topTtlFlex {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
    }
    .topSubTtl .tmt_en {
        font-size: 3.6rem;
    }
    .topSubTtl .tmt_jp {
        font-size: 1.6rem;
    }
    .topTtlFlex_link .ttf_link_item {
        font-size: 1.6rem;
    }
    .topTtlFlex_link {
        margin-top: 0;
    }
}

/*
mainVidualWrap
-----------------------------*/
.mainVidualWrap {
    position: relative;
    min-height: calc(100vh - 70px);
    overflow: hidden;
}

.mainSliderItem {
    min-height: calc(100vh - 70px);
    min-height: 300px;
}
.mainImgWrap .imgItem {
    display: block;
    width: 100%;
    height: calc(100vh - 70px);

    max-inline-size: inherit;
    /* margin: auto; */
    object-fit: cover;
}

@media screen and (min-width: 991px) {
    .mainVidualWrap {
        min-height: calc(100vh - 100px);
    }

    .mainSliderItem {
        min-height: calc(100vh - 100px);
    }

    .mainImgWrap .imgItem {
        min-height: calc(100vh - 100px);
    }
}

/*
mainTextWrap
-----------------------------*/
.mainVidualWrap .mainTextWrap {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: +1;
    margin: auto;
}
.mainVidualWrap .mainTextWrap .mainTtl {
    color: #ffffff;
    font-weight: bold;
    font-size: 6rem;
}

.mainVidualWrap .mainTextWrap.slide01 {
    top: 10%;
    left: 10%;
}

.mainVidualWrap .mainTextWrap .mainTtl_01 {
    font-size: 4rem;
    line-height: 1.2;
}
.mainVidualWrap .mainTextWrap .mainTtl .mtw_size_l {
    font-weight: 500;
    font-size: 1.4em;
    font-family: "Poppins", sans-serif;
}

.mainVidualWrap .mainTextWrap.slide02 {
    top: 10%;
    left: 10%;
}

.mainVidualWrap .mainTextWrap .mainTtl_02 {
    font-size: 3.6rem;
}

.mainVidualWrap .mainTextWrap.slide03 {
    top: 10%;
    left: 10%;
}
.mainVidualWrap .mainTextWrap .mainTtl_03 {
    font-size: 3rem;
    text-shadow: 0 0 10px rgba(0, 0, 0, .3);
}

@media screen and (min-width: 768px) {
    .mainVidualWrap .mainTextWrap .mainTtl_01 {
        font-size: 7rem;
    }
    .mainVidualWrap .mainTextWrap .mainTtl_02 {
        font-size: 6rem;
    }
    .mainVidualWrap .mainTextWrap .mainTtl_03 {
        font-size: 5.4rem;
    }
}

@media screen and (min-width: 991px) {
    .mainVidualWrap .mainTextWrap .mainTtl {
        font-size: 8rem;
    }

    .mainVidualWrap .mainTextWrap .mainTtl_01 {
        font-size: 8rem;
    }

    .mainVidualWrap .mainTextWrap.slide02 {
        display: flex;
        align-items: end;
        top: 0;
        bottom: 15%;
    }
    .mainVidualWrap .mainTextWrap .mainTtl_02 {
        font-size: 7rem;
    }

    .mainVidualWrap .mainTextWrap.slide03 {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        top: 0;
        left: 5%;
    }
    .mainVidualWrap .mainTextWrap .mainTtl_03 {
        font-size: 7rem;
        text-shadow: 0 0 10px rgba(0, 0, 0, .1);
    }
}

@media screen and (min-width: 1366px) {
    .mainVidualWrap .mainTextWrap .mainTtl_01 {
        font-size: 10rem;
    }
    .mainVidualWrap .mainTextWrap.slide01 {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        top: 0;
        left: 5%;
    }
}

/*
mainVidualWrap responsive
-----------------------------*/
.mainImgWrap .imgItem.sp_img {
    display: block;
}
.mainImgWrap .imgItem.pc_img {
    display: none;
}

@media screen and (min-width: 768px) {
    .mainImgWrap .imgItem.sp_img {
        display: none;
    }
    .mainImgWrap .imgItem.pc_img {
        display: block;
    }
}

/*
NEWS
-----------------------------*/
.topNewsWrap {
    margin-bottom: 70px;
    padding-top: 70px;
}

.topNewsWrapFlex {
    display: flex;
    flex-wrap: wrap;
    align-items: center;

    gap: 100px;
}

.topNewsWrapFlex .tnwf_col {
    width: 100%;
}

@media screen and (min-width: 768px) {
    .topNewsWrap {
        margin-bottom: 100px;
        padding-top: 100px;
    }
    .topNewsWrapFlex {
        gap: 20px;
    }
    .topNewsWrapFlex .tnwf_col {
        width: calc(50% - 10px);
    }
}

@media screen and (min-width: 991px) {
    .topNewsWrapFlex {
        gap: 100px;
    }
    .topNewsWrapFlex .tnwf_col {
        width: calc(50% - 30px);
    }
}

/*
NEWS card
-----------------------------*/

.newsListWrap .wlw_list .wlw_list_item {
    position: relative;
    border-top: 1px solid var(--color-lightGray02);
	margin: 0 auto;
}

.newsListWrap .wlw_list .wlw_list_item:last-child {
    border-bottom: 1px solid var(--color-lightGray02);
}

.newsListWrap .wlw_list .wlw_list_item:after, .newsListWrap .wlw_list .wlw_list_item:before {
    position: absolute;
    right: 0;
    width: 10%;
    height: 1px;
    background: var(--color-red);
    content: "";
}
.newsListWrap .wlw_list .wlw_list_item:after {
    bottom: -1px;
}
.newsListWrap .wlw_list .wlw_list_item:before {
    top: -1px;
}

.newsListWrap .wlw_list .wlw_link_item {
    display: block;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    min-height: 80px;
    padding-top: 10px;
    padding-bottom: 10px;
    background: #ffffff;
    transition: .3s;
    margin-left: 30px;
}

.newsListWrap .wlw_list .wlw_link_item .dateItem {
    display: block;
    width: 100%;
    margin-bottom: 10px;
    padding-right: 10%;
    color: var(--color-mainBlue02);
    font-size: 1.2rem;
}

.newsListWrap .wlw_list .wlw_link_item .ttlItem {
    display: -webkit-box;
    padding-right: 10%;
    overflow: hidden;
    color: var(--color-black);
    font-weight: bold;
    font-size: 1.4rem;
    line-height: 1.7;
    white-space: inherit;

    text-overflow: inherit;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.newsListWrap .wlw_list .wlw_link_item:before {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 10%;
    height: 100%;
    background: #ffffff;
    content: "";
    transition: .3s;
}

.newsListWrap .wlw_list .wlw_link_item:after {
    display: block;
    position: absolute;
    top: 0;
    right: 3%;
    bottom: 0;
    width: 8%;
    max-width: 12px;
    height: 100%;
    background: url(../../img/news/newsList_icon.svg) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    transition: .3s;
}
.newsListWrap .wlw_list .wlw_link_item:hover {
    background: var(--color-lightGray);
}
.newsListWrap .wlw_list .wlw_link_item:hover:before {
    background: var(--color-red);
}

.newsListWrap .wlw_list .wlw_link_item:hover:after {
    right: 1%;

    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
}

@media screen and (min-width: 768px) {
    .newsListWrap .wlw_list .wlw_link_item .dateItem {
        font-size: 1.2rem;
    }
    .newsListWrap .wlw_list .wlw_link_item .ttlItem {
        font-size: 1.4rem;
    }
    .newsListWrap .wlw_list .wlw_list_item:after, .newsListWrap .wlw_list .wlw_list_item:before {
        max-width: 40px;
    }
    .newsListWrap .wlw_list .wlw_link_item:before {
        max-width: 40px;
    }
    .newsListWrap .wlw_list .wlw_link_item:after {
        right: 2%;
    }
}

@media screen and (min-width: 991px) {
    .newsListWrap .wlw_list .wlw_link_item .dateItem {
        width: 90px;
        padding-right: 0;
    }
    .newsListWrap .wlw_list .wlw_link_item .ttlItem {
        width: calc(100% - 90px);
        padding-right: 60px;
    }
    .newsListWrap .wlw_list .wlw_link_item:after {
        right: 14px;
    }
}

/*
検索
-----------------------------*/
.topSearchWrap {
    max-width: 600px;
    margin-right: auto;
    margin-left: auto;
    padding: 30px 20px;
    border-radius: 5px;
    background-color: var(--color-mainBlue);
    color: #ffffff;
}

.topSearchWrap .tsw_logo {
    margin-bottom: 5px;
    text-align: center;
}
.topSearchWrap .tsw_logo .logoItem {
    display: inline-block;
    width: 80%;
    max-width: 200px;
}

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

.topSearchWrap .tsw_formInner {
    display: flex;
    flex-wrap: wrap;

    gap: 10px;
}

.tsw_selectItem {
    display: inline-flex;
    align-items: center;
    position: relative;
    width: 100%;
}

.tsw_selectItem::after {
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: var(--color-mainBlue);
    content: "";

    pointer-events: none;
}

.tsw_selectItem select {
    min-width: 100%;
    height: 2.8em;
    padding: .4em calc(.8em + 30px) .4em .8em;
    border: 1px solid #cccccc;
    border-radius: 3px;
    background-color: #ffffff;
    color: var(--color-black);
    font-size: 1em;
    cursor: pointer;

    appearance: none;
}
.tsw_selectText {
    width: 100%;
}
.tsw_selectText input {
    min-width: 100%;
    height: 2.8em;
    padding: .4em calc(.8em + 30px) .4em .8em;
    border: 1px solid #cccccc;
    border-radius: 3px;
    background-color: #ffffff;
    color: var(--color-black);
    font-size: 1em;

    appearance: none;
}
.tsw_selectSubmit {
    position: relative;
    width: 80%;
    margin-right: auto;
    margin-left: auto;
}
.tsw_selectSubmit input {
    position: relative;
    min-width: 100%;
    height: 2.8em;
    padding: .4em calc(.8em + 20px) .4em .8em;
    border: none;
    border-radius: 3px;
    background-color: var(--color-red);
    color: #ffffff;
    font-weight: bold;
    font-size: 1em;
    cursor: pointer;
    transition: .3s;
}
.tsw_selectSubmit:hover input {
    background-color: var(--color-black);
}
.tsw_selectSubmit:after {
    display: inline-block;
    /* margin-left: 5px; */
    position: absolute;
    top: 0;
    right: 1em;
    bottom: 0;
    width: 1.1em;
    height: 1.1em;
    margin-top: auto;
    margin-bottom: auto;
    background: url(../../img/top/tsw_selectSubmit_icon.svg) no-repeat;
    background-size: contain;
    vertical-align: middle;
    content: "";
}

@media screen and (min-width: 768px) {
    .tsw_selectItem {
        width: calc(50% - 5px);
    }
    .tsw_selectText {
        width: calc(70% - 10px);
    }
    .tsw_selectSubmit {
        width: 30%;
    }
}

/*
サービス
------------------------------------------*/
.topServiceFlex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 84%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.topServiceFlex .col {
    width: 100%;
}

.topServiceFlex .tsf_link_item {
    display: block;
    position: relative;
    color: #ffffff;
}
@media screen and (max-width: 990px) {
    .topServiceFlex .tsf_link_item {
        width: fit-content;
    }
}

.topServiceFlex .tsf_link_item .imgWrap {
    overflow: hidden;
    /*background-color: #0E1621;*/
    transition: .3s;
}

.topServiceFlex .tsf_link_item .imgWrap img {
    transform: scale(1);
    transition: .3s;
    /*opacity: 0.6;*/
}

.topServiceFlex .tsf_link_item:hover .imgWrap img {
    /*opacity: 0.9;*/
    transform: scale(1.1);
}
.topServiceFlex .tsf_link_item .centerText {
    position: absolute;
    /*    right: 0;
    left: 0;
    margin-right: auto;
    margin-left: auto;*/
    top: 50%;
    left: 50%;
    z-index: 2;
    transform: translate(-50%, -50%);
    width: 100%;
    /* -webkit-transform: translate(-50%, 0); */
    /* -ms-transform: translate(-50%, -50%);*/
    text-align: center;
}

.topServiceFlex .tsf_link_item .centerText .ttl_en {
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 1.6rem;
}
.topServiceFlex .tsf_link_item .centerText .ttl_jp {
    font-weight: bold;
    font-size: 2.2rem;
}
.topServiceFlex .tsf_link_item .centerText .text {
    font-weight: bold;
    font-size: 1.4rem;
}
.topServiceFlex .tsf_link_item .link {
    display: flex;
    align-items: center;
    position: absolute;
    right: 15%;
    bottom: 10%;
    z-index: 3;
    transition: .3s;
    transition-delay: .1s;
}
.topServiceFlex .tsf_link_item .link .link_text {
    display: inline-block;
    font-weight: bold;
    font-size: 1.4rem;
    text-decoration: underline;
}

.topServiceFlex .tsf_link_item .link .link_text:after {
    display: inline-block;
    width: 2em;
    height: 2em;
    margin-left: .5em;
    background: url(../../img/top/serviceFlex_icon_morelink.svg) no-repeat;
    background-size: contain;
    vertical-align: middle;
    content: "";
}
.topServiceFlex .tsf_link_item:hover .link {
    right: 13%;
}

@media screen and (min-width: 768px) {
    .topServiceFlex .tsf_link_item .centerText .ttl_en {
        font-size: 1.8rem;
    }
    .topServiceFlex .tsf_link_item .centerText .ttl_jp {
        margin-bottom: 30px;
        font-size: 2.4rem;
    }
    .topServiceFlex .tsf_link_item .centerText .text {
        font-size: 1.6rem;
    }
}
@media screen and (min-width: 991px) {
    .topServiceFlex .col {
		width: 50%;
    }
	.topServiceFlex .col2 {
		width: calc(50% - 80px);
    }
    .topServiceFlex .tsf_link_item .centerText .ttl_jp {
        margin-bottom: 40px;
        font-size: 3rem;
    }
}

/*
サービス 詳細
------------------------------------------*/
.topServiceInner {
    padding-top: 40px;
    padding-bottom: 60px;
    border-top: 1px solid var(--color-blueGray);
}

.serviceLineupList {
    display: flex;
    flex-wrap: wrap;

    gap: 20px;
}

.serviceLineupList .sll_list_item {
    width: calc(50% - 20px);
}

.serviceLineupList .sll_link_item {
    display: block;
    position: relative;
}

.serviceLineupList .sll_link_item .imgWrap {
    margin-bottom: 10px;
    overflow: hidden;
    border-radius: 5px;
    background-color: var(--color-lightGray02);
}
.serviceLineupList .sll_link_item .imgWrap img {
    display: block;
    width: 100%;
    transition: .3s;
}

.serviceLineupList .sll_link_item:hover .imgWrap img {
    transform: scale(1.1);
}

.serviceLineupList .sll_link_item .textWrap {
    position: absolute;
    right: 0;
    bottom: 10px;
    left: 0;
    z-index: +1;
    color: #ffffff;
    font-weight: bold;
    font-size: 1.2rem;
    text-align: center;
}

.serviceLineupList .sll_link_item .textWrap .text {
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (min-width: 768px) {
    .topServiceInner {
        padding-top: 40px;
        padding-bottom: 80px;
        border-top: 1px solid var(--color-blueGray);
    }
    .serviceLineupList .sll_list_item {
        width: calc(25% - 15px);
    }
    .serviceLineupList .sll_link_item .textWrap {
        font-size: 1.4rem;
    }
}

/*
会社概要
------------------------------------------*/
/* .companyFlex {
    display: flex;
    flex-wrap: wrap;

    gap: 30px;
}
.companyFlex .col {
    position: relative;
    width: 80%;
    margin-right: auto;
    margin-left: auto;
}
.companyFlex .col .imgWrap {
    overflow: hidden;
    border-radius: 5px;
    background-color: #0e1621;
    transition: .3s;
}
.companyFlex .col .imgWrap img {
    opacity: .7;
    transform: scale(1);
    width: 100%;
    transition: .3s;
}
.companyFlex .col .linkText {
    display: flex;
    position: absolute;
    right: 5%;
    bottom: 10%;
    z-index: 2;
    padding-right: 2.5em;
    color: #ffffff;
    font-weight: bold;
    font-size: 1.2rem;
}

.companyFlex .col .linkText:before, .companyFlex .col .linkText:after {
    display: inline-block;
    position: absolute;
    right: 0;
    content: "";
}
.companyFlex .col .linkText:before {
    width: 1.8em;
    height: 1.8em;
    border-radius: 100px;
    background-color: #ffffff;
}
.companyFlex .col .linkText:after {
    top: .5em;
    right: .5em;
    width: .8em;
    height: .8em;
    border-radius: 100px;
    background-color: var(--color-red);
}
.companyFlex .col .cf_link_item:hover img {
    opacity: 1;
    transform: scale(1.1);
}

@media screen and (min-width: 768px) {
    .companyFlex .col {
        width: calc(50% - 15px);
    }
    .companyFlex .col .linkText {
        font-size: 1.4rem;
    }
} */

/*
philosophyWrap
------------------------------------------*/
.philosophyBgItem {
    background: url(../../img/top/strength_bg_sp.png) no-repeat;
    background-position: bottom center;
    background-size: cover;
}
.philosophyWrap {
    padding-top: 80px;
    padding-bottom: 80px;
}
.philosophyWrap .pw_ttl_block {
    color: #ffffff;
}
.philosophyWrap .pw_ttl_block .pw_ttl_en {
    font-weight: 500;
    font-size: 5rem;
}
.philosophyWrap .pw_text_block .pw_text_l {
    color: #ffffff;
    font-weight: bold;
    font-size: 2.6rem;
}
.philosophyWrap .pw_text_block .pw_text {
    color: #ffffff;
    font-weight: bold;
    font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
    .philosophyBgItem {
        background: url(../../img/top/strength_bg_pc.png) no-repeat;
        background-position: bottom center;
        background-size: cover;
    }
    .philosophyWrap {
        padding-top: 100px;
        padding-bottom: 100px;
    }
    .philosophyWrap .pw_ttl_block .pw_ttl_en {
        font-size: 6.2rem;
    }
    .philosophyWrap .pw_text_block .pw_text_l {
        font-size: 3rem;
    }
    .philosophyWrap .pw_text_block .pw_text {
        font-size: 1.8rem;
    }
}

/*
whitepapersListWrap
---------------------------------------------*/
.whitepapersListWrap .wlw_list {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;

    gap: 40px;
}
.whitepapersListWrap .wlw_list .wlw_list_item {
    width: 100%;
}
.whitepapersListWrap .wlw_list .wlw_link_item {
    display: flex;
    align-items: stretch;
    position: relative;
    width: 100%;
    padding-left: 20px;
    overflow: hidden;
    border-radius: 5px;
    background: #f4f6f9;
}

.whitepapersListWrap .wlw_list .wlw_link_item .imgWrap {
    position: relative;
    width: 30%;
    height: auto;
    overflow: hidden;
}

.whitepapersListWrap .wlw_list .wlw_link_item .imgWrap .imgItem {
    transform: scale(1);
    width: 100%;
    height: 100%;
    transition: .3s;

    object-fit: contain;
    object-position: center;
}

.whitepapersListWrap .wlw_list .wlw_link_item .textWrap {
    width: 70%;
    height: 100%;
    padding: 20px 20px 50px 20px;
}

.whitepapersListWrap .wlw_list .wlw_link_item .textWrap .ttl {
    margin-bottom: 20px;
    color: var(--color-black);
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.7;
}

.whitepapersListWrap .wlw_list .wlw_link_item .textWrap .linkItem {
    position: absolute;
    right: 20px;
    bottom: 20px;
    padding-right: 30px;
    color: var(--color-black);
    font-weight: bold;
    font-size: 1.4rem;
}

.whitepapersListWrap .wlw_list .wlw_link_item .textWrap .linkItem:before, .whitepapersListWrap .wlw_list .wlw_link_item .textWrap .linkItem:after {
    display: inline-block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    border-radius: 100px;
    content: "";
    transition: .3s;
}
.whitepapersListWrap .wlw_list .wlw_link_item .textWrap .linkItem:before {
    right: 0;
    width: 24px;
    height: 24px;
    background: #ffffff;
}
.whitepapersListWrap .wlw_list .wlw_link_item .textWrap .linkItem:after {
    right: 8px;
    width: 8px;
    height: 8px;
    background: var(--color-red);
}

.whitepapersListWrap .wlw_list .wlw_link_item:hover .imgWrap .imgItem {
    transform: scale(1.1);
}

.whitepapersListWrap .wlw_list .wlw_link_item:hover .textWrap .linkItem:before {
    background: var(--color-mainBlue);
}
.whitepapersListWrap .wlw_list .wlw_link_item:hover .textWrap .linkItem:after {
    background: #ffffff;
}

@media screen and (min-width: 768px) {
    .whitepapersListWrap .wlw_list .wlw_list_item {
        display: flex;
        align-items: center;
        width: calc(50% - 20px);
    }
    .whitepapersListWrap .wlw_list .wlw_link_item {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        height: 100%;
        padding-left: 0;
    }
    .whitepapersListWrap .wlw_list .wlw_link_item .imgWrap {
        width: 100%;
        height: 200px;
    }
    .whitepapersListWrap .wlw_list .wlw_link_item .imgWrap .imgItem {
        object-fit: cover;
    }
    .whitepapersListWrap .wlw_list .wlw_link_item .textWrap {
        width: 100%;
        font-size: 1.6rem;
    }
    .whitepapersListWrap .wlw_list .wlw_link_item .textWrap .linkItem {
        font-size: 1.6rem;
    }
}
@media screen and (min-width: 991px) {
    .whitepapersListWrap .wlw_list .wlw_list_item {
        width: calc(33.33% - 28px);
    }
}

/*
採用
---------------------------------------------*/
.recruitmentWrap {
    padding-top: 60px;
    padding-bottom: 60px;
    background: url(../../img/top/recruitment_bg_sp.png) no-repeat;
    background-size: cover;
}
.recruitmentWrap .topMainTtl .tmt_en {
    color: #ffffff;
}
.recruitmentWrap .topMainTtl .tmt_jp {
    color: #ffffff;
}
.recruitmentWrap .topMainTtl .tmt_block .tmt_en:before {
    background-color: #ffffff;
}

.recruitmentWrap .recruitmentLead {
    color: #ffffff;
    font-weight: bold;
    font-size: 2.8rem;
    line-height: 1.5;
}

.recruitmentWrap .recruitmentFlex {
    display: flex;
    flex-wrap: wrap;

    gap: 20px;
}
.recruitmentWrap .recruitmentFlex .col {
    width: 80%;
    margin-right: auto;
    margin-left: auto;
}

.recruitmentWrap .recruitmentFlex .rf_link_item {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    min-height: 80px;
    overflow: hidden;
    border-radius: 5px;
    background-color: var(--color-red);
}
.recruitmentWrap .recruitmentFlex .rf_link_item:before {
    display: block;
    position: absolute;
    right: 30px;
    width: 44px;
    height: 44px;
    border-radius: 100px;
    background-color: #ea6f67;
    content: "";
    transition: .4s;

    transform-origin: ease-in;
}

.recruitmentWrap .recruitmentFlex .rf_link_item:hover:before {
    right: 0;
    width: 100%;
    height: 100%;
    border-radius: 0;
}

.recruitmentWrap .recruitmentFlex .rf_link_item .icon {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: 34px;
    z-index: +1;
    width: 36px;
    height: 36px;
    border-radius: 100px;
    background-color: #ffffff;
}
.recruitmentWrap .recruitmentFlex .rf_link_item .icon img {
    z-index: +1;
    height: 50%;
}

.recruitmentWrap .recruitmentFlex .rf_link_item .text {
    z-index: +2;
    color: #ffffff;
    font-weight: bold;
    font-size: 1.4rem;
}

@media screen and (min-width: 768px) {
    .recruitmentWrap {
        padding-top: 80px;
        padding-bottom: 80px;
        background: url(../../img/top/recruitment_bg_pc.png) no-repeat;
        background-size: cover;
    }
    .recruitmentWrap .recruitmentLead {
        font-size: 3.2rem;
    }
    .recruitmentWrap .recruitmentFlex {
        gap: 40px;
    }
    .recruitmentWrap .recruitmentFlex .col {
        width: calc(50% - 20px);
    }
    .recruitmentWrap .recruitmentFlex .rf_link_item {
        min-height: 100px;
    }
    .recruitmentWrap .recruitmentFlex .rf_link_item .text {
        font-size: 1.6rem;
    }
    .recruitmentWrap .recruitmentFlex .rf_link_item:before {
        right: 28px;
        width: 48px;
        height: 48px;
    }
}

/*
バナースライド
---------------------------------------------*/
.sliderLinkWrap {
    padding-top: 50px;
    padding-bottom: 50px;
}
.sliderLinkWrap .sliderLinkList {
    display: flex;
}
.sliderLinkWrap .sliderLinkList .sll_list_item {
    display: inline-block;
    width: 200px;
    margin-right: 10px;
    margin-left: 10px;
    overflow: hidden;
    border: 1px solid var(--color-blueGray);
    border-radius: 5px;
    transition: .3s;
}

.sliderLinkWrap .sliderLinkList .sll_list_item:hover {
    border: 1px solid var(--color-mainBlue);
}

@media screen and (min-width: 768px) {
    .sliderLinkWrap {
        padding-top: 70px;
        padding-bottom: 70px;
    }
}

/*　背景動画 */
/* ラッパー（外側の要素） */
.video-wrapper {
    position: relative; /* 絶対配置するコンテンツや疑似要素の基準とする */
    width: 100%;
    overflow: hidden;
    aspect-ratio: 16 / 9; /* 縦横比（アスペクト比） */
}

/* 疑似要素でオーバーレイを表示 */
.video-wrapper::before {
    position: absolute; /* 絶対配置 */
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(9, 2, 108, .15);
    content: "";
}

/* video 要素 */
.video-wrapper video {
    width: 100%; /* 明示的に幅を設定（必須） */
    height: 100%; /* 明示的に高さを設定（必須） */

    object-fit: cover; /* コンテンツボックスに収まるように拡大縮小 */
}

.video-content {
    position: absolute; /* 絶対配置 */
    top: 43%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    margin-right: -50%;
    color: #ffffff;
    text-align: center;
}

#content .video-content h2 {
    color: #ffffff;
    font-size: 2rem;
    letter-spacing: .1rem;
    text-shadow: 2px 2px 2px #444444;
}

.video-content p {
    max-width: 600px;
    padding: 0 2rem;
}

@media screen and (max-width: 480px) {
    .video-wrapper {
        aspect-ratio: 1 / 1;
    }
    .video-content {
        top: 38%;
        margin-top: 1rem;
    }
}

/*
.imgWrap {
    overflow: hidden;
    background-color: #2e6fca;
    transition: .3s;
    border-radius: 5px;
}
*/

.objimage {
    background-color: #2e6fca;
}

.topMainTtl .tmt_block .tmt_en {
    color: black;
    font-weight: 100;
    font-size: 40px;
    text-align: center;
}
.topMainTtl .tmt_block .tmt_jp {
    display: block;
    color: var(--color-black);
    font-weight: normal;
    font-size: 1.8rem;
    text-align: center;
}
/*=========================================
#追加
=========================================*/
/*
img-wrapper
---------------------------------------------*/
.img-wrapper {
    height: 56.25vw;
    background-image: url(../../img/top/fv.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    aspect-ratio: 16 / 9;
}
.img-copy-wrapper {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    width: fit-content;
    margin: 0 auto;
    text-align: center;
}
.img-wrapper-copy--main {
    color: #ffffff;
    font-size: 3.96vw;
    line-height: 1.43;
    letter-spacing: .1em;
}

.img-wrapper-copy--sub {
    color: #ffffff;
    font-size: 1.88vw;
    line-height: 1.5556;
    letter-spacing: .05em;
}
