@charset "utf-8";

/* --------------------------------------- */
/* 「Company 会社概要」ページ
/* --------------------------------------- */


/* 下層メインビジュアル
-------------------------------------------*/
.underMvBl .inner1800::before {
    background: url(../img/company_mv_bg.webp) no-repeat center/contain;
}


@media screen and (max-width: 767px) {
    .underMvBl .inner1800::before {
        background: url(../img/company_mv_bg_sp.webp) no-repeat center /contain;
    }
}

/* 企業理念
-------------------------------------------*/
.philosophyBl {
    padding: 83px 0 79px;
    background-color: #F5F5F5;
}

.philosophy_item {
    margin-top: 100px;
    display: flex;
    justify-content: space-between;
}

.philosophy_item+.philosophy_item {
    margin-top: 50px;
}

.philosophy_item_left {
    width: 29.9%;
    box-sizing: border-box;
}

.philosophy_cate {
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .1em;
    text-align: center;
    position: relative;
    padding: 1.75em 0;
    position: relative;
    left: -1.3em;
}

.philosophy_cate::after {
    content: '';
    display: block;
    width: 1px;
    height: 100px;
    background-color: #000;
    position: absolute;
    right: -1.3em;
    top: 0;
}

.philosophy_item_right {
    width: 69.9%;
    box-sizing: border-box;
    padding-left: 6.25%;
    padding-right: 10.4%;
}

.philosophy_tit {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: .05em;
    margin-top: 1.2em;
}

.philosophy_item._2 .philosophy_tit {
    margin-top: 5px;
}

.philosophy_flame-ul.bg_white {
    margin-top: 46px;
}

.philosophy_flame-ul.bg_white>li {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .05em;
    background-color: #fff;
    padding: 0.93em 1.75em;
    border-radius: 5px;
}

.philosophy_flame-ul.bg_white>li+li {
    margin-top: 10px;
}

.philosophy_flame-ul.bg_white+.txt-m {
    margin-top: 27px;
}

.philosophy_imgwrap {
    margin: 56px auto 0;
    width: 370px;
}

.philosophy_vision-ul {
    margin-top: 50px;
}

.philosophy_vision-ul>li+li {
    margin-top: 30px;
}

.philosophy_vision-ul_tit {
    display: flex;
    align-items: center;
}

.philosophy_vision-ul_tit_promise,
.philosophy_vision-ul_tit_black {
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1.5;
}

.philosophy_vision-ul_tit_promise {
    width: 8em;
    min-width: 8em;
    margin-right: 1.4em;
    box-sizing: border-box;
}

.philosophy_vision-ul_tit_black {
    color: #fff;
    background-color: #000;
    padding: .93em 1.8em;
    border-radius: 5px;
    width: calc(100% - 9.4em);
    box-sizing: border-box;
}

.philosophy_vision-ul .txt-m {
    margin: 14px 0 0 10.5em;
}

.philosophy_item._3 .txt-m {
    margin-top: 76px;
}


@media screen and (max-width: 1000px) {
    .philosophy_item_right {
        padding-right: 0;
    }

    .philosophy_vision-ul_tit {
        display: block;
    }

    .philosophy_vision-ul_tit_black {
        width: auto;
        margin-top: 10px;
    }

    .philosophy_vision-ul .txt-m {
        margin: 14px 0 0 0;
    }

    .philosophy_imgwrap {
        padding-left: 0;
    }

    .philosophy_item._3 .txt-m {
        margin-top: 40px;
    }
}


@media screen and (max-width: 767px) {
    .philosophyBl {
        padding: 83px 0 76px;
    }

    .philosophyBl .inner1620 {
        padding: 0;
    }

    .philosophy_item {
        margin-top: 29px;
        display: block;
    }

    .philosophy_item+.philosophy_item {
        margin-top: 48px;
    }

    .philosophy_item_left {
        width: auto;
    }

    .philosophy_item_right {
        width: auto;
        padding-left: 0;
    }

    .philosophy_cate {
        font-size: 1.6rem;
        letter-spacing: .05em;
        text-align: left;
        padding: 0;
        left: 0;
    }

    .philosophy_cate::after {
        width: 50px;
        height: 1px;
        left: 0;
        right: auto;
        top: auto;
        bottom: -16px;
    }

    .philosophy_tit {
        font-size: 1.8rem;
        margin-top: 32px;
    }

    .philosophy_tit+.txt-m {
        margin-top: 13px;
        font-size: 1.4rem;
    }

    .philosophy_item._2 .philosophy_tit {
        margin-top: 33px;
    }

    .philosophy_flame-ul.bg_white {
        margin-top: 28px;
    }

    .philosophy_flame-ul.bg_white>li {
        font-size: 1.4rem;
        line-height: 1.8;
        padding: 1.25em 1.5em;
        border-radius: 5px;
    }

    .philosophy_flame-ul.bg_white+.txt-m {
        margin-top: 27px;
    }

    .philosophy_imgwrap {
        margin: 26px auto 0;
        width: calc((660 / 780)* 100vw);
        max-width: 330px;
    }

    .philosophy_vision-ul {
        margin-top: 22px;
    }

    .philosophy_vision-ul>li+li {
        margin-top: 27px;
    }

    .philosophy_vision-ul_tit_promise,
    .philosophy_vision-ul_tit_black {
        font-size: 1.4rem;
        line-height: 1.8;
    }

    .philosophy_vision-ul_tit_promise {
        width: auto;
        min-width: auto;
        margin-right: 0;
    }

    .philosophy_vision-ul_tit_black {
        width: auto;
        margin-top: 13px;
        padding: 1.25em 1.5em;
    }

    .philosophy_vision-ul .txt-m {
        margin: 12px 0 0 0;
    }

    .philosophy_item._3 .txt-m {
        margin-top: 15px;
    }

}


/* 代表挨拶
-------------------------------------------*/
.messageBl {
    padding: 83px 0 77px;
}

.message_tit {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: .05em;
    margin-top: 45px;
}

.message_imgwrap {
    margin-top: 47px;
    margin-bottom: 48px;
}

.message_imgwrap img {
    border-radius: 10px;
}

.messageBl .sec-twocolumn_right .sign {
    text-align: right;
    margin-left: auto;
    display: block;
    margin-top: 23px;
}


@media screen and (max-width: 767px) {
    .messageBl {
        padding: 83px 0 78px;
    }

    .messageBl .inner1300 {
        padding: 0;
    }

    .message_tit {
        font-size: 1.8rem;
        margin-top: 28px;
    }

    .message_imgwrap {
        margin: 17px 0;
    }

    .messageBl .sec-twocolumn_right .txt-m:nth-child(1),
    .messageBl .sec-twocolumn_right .sign {
        margin-top: 27px;
    }

}


/* CSR・組織図
-------------------------------------------*/
.csrBl {
    padding: 83px 0 80px;
    background-color: #F5F5F5;
}

.csrBl .third-tit+.inner1300 {
    margin-top: 48px;
}

.csrBl .txt-m {
    text-align: center;
}

.csr_imgwrap {
    margin: 27px auto 0;
    width: 59.9%;
    max-width: 730px;
}


@media screen and (max-width: 767px) {
    .csrBl {
        padding: 83px 0 80px;
    }

    .csrBl .third-tit+.inner1300 {
        margin-top: 27px;
        padding: 0;
    }

    .csrBl .txt-m {
        text-align: left;
    }

    .csr_imgwrap {
        margin: 27px auto 0;
        width: auto;
        max-width: 340px;
    }
}


/*会社概要
-------------------------------------------*/
.outlineBl {
    padding: 99px 0 172px;
}

.outline_table-wrap {
    display: flex;
    justify-content: space-between;
}

.outlineBl .sec-twocolumn {
    margin-top: 49px;
}

.outline_dl {
    border-top: 1px solid #ccc;
    display: flex;
    padding: 1.1em 1.0em 1.1em 1.2em;
}

.outline_dl:last-of-type {
    border-bottom: 1px solid #ccc;
}

.outline_dl>dt {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: .05em;
    width: 131px;
    min-width: 131px;
    box-sizing: border-box;
}

.outline_dl>dd {
    width: calc(100% - 131px);
    box-sizing: border-box;
}

.outline_map {
    margin-top: 50px;
    border: 1px solid #ccc;
}

.outline_map+.txt-m {
    margin: 27px auto 0;
    text-align: center;
}

.outline_map+.txt-m span.pc {
    display: inline-block;
}

@media screen and (max-width: 1000px) {
    .outlineBl .sec-twocolumn {
        display: block;
    }

    .outlineBl .sec-twocolumn_left,
    .outlineBl .sec-twocolumn_right {
        width: auto;
    }

    .outlineBl .sec-twocolumn_left {
        margin-right: 0;
    }

    .outlineBl .sec-twocolumn_left .outline_dl:last-of-type {
        border-bottom: none;
    }
}


@media screen and (max-width: 767px) {
    .outlineBl {
        padding: 84px 0 127px;
    }

    .outlineBl .inner1300 {
        padding: 0;
    }

    .outlineBl .sec-twocolumn {
        margin-top: 28px;
    }

    .outline_dl {
        display: block;
        padding: 1.15em 1.3em;
    }

    .outline_dl>dt {
        font-size: 1.4rem;
        width: auto;
        min-width: auto;
    }

    .outline_dl>dd {
        width: auto;
        margin-top: 3px;
    }

    .outline_dl>dd span.sp {
        display: inline-block!important;
    }

    .outline_map {
        margin-top: 30px;
    }

    .outline_map iframe {
        height: calc((660/780)*100vw);
    }

    .outline_map+.txt-m {
        margin: 16px auto 0;
        text-align: left;
    }

}