@charset "UTF-8";

/*//////////////////////////////////
　沿革 company/history.html
//////////////////////////////////*/


.mainimage {
    width: 100%;
    position: relative;
}

.mainimage img {
    max-width: 100%;
}

.mainimage h2 {
    position: absolute;
    color: #fff;
    font-size: 45px;
    font-weight: bold;
    letter-spacing: 5px;
    text-shadow: 0px 0px 10px #333;
    top: 50%;
    left: 10%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.mainimage div {
    max-width: 960px;
    margin: 0 auto;
    position: absolute;
    right: 0;
    left: 0;
    bottom: 3%;
}

h2.mainttl {
    padding: 0px 0 20px;
    margin-top: -50px;
    text-align: center;
    font-size: 22px;
    color: #898989;
    letter-spacing: 5px;
}

h3.ttl {
    color: #0073bd;
    font-size: 30px;
    font-weight: bold;
    width: 960px;
    max-width: 100%;
    margin: 0 auto 30px;
}

h4.ttl2 {
    color: #000;
    font-size: 25px;
    font-weight: bold;
    margin-bottom: 30px;
}

h4.ttl3 {
    color: #000;
    font-size: 25px;
    font-weight: bold;
    margin-bottom: 30px;
}

h4.ttl2 small {
    color: #000;
    font-size: 20px;
    font-weight: bold;
}

h4.ttl3 strong {
    color: #000;
    font-size: 20px;
    font-weight: bold;
    border-left: 5px solid #0073bd;
    border-bottom: 1px solid #0073bd;
    padding: 6px 10px 10px;
}

/*企業案内index*/
.com_index {}

.com_index ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
}

.com_index ul li {
    width: 47%;
    margin-bottom: 40px;
}

.com_index ul li a {
    display: block;
    color: #000;
    transition: 0.3s;
    padding: 0px 0 20px;
    background: #ebebeb;
}

.com_index ul li a:hover {
    background: #d4d4d4;
}

.com_index ul li a p {
    text-align: center;
    font-size: 20px;
    margin-top: 20px;
    position: relative;
}

.arrow {
    position: relative;
    padding: 0 0 0 16px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
}

.arrow::before,
.arrow::after {
    margin: auto;
    content: "";
    vertical-align: middle;
}

.arrow::before {
    position: absolute;
    right: 5%;
    top: 8px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


/*企業理念*/
.principle {
    width: 100%;
    padding: 50px 0 20px;
}

.principle:nth-child(even) {
    background: #eff6f8;
}

.principle article {
    width: 800px;
    max-width: 95%;
    margin: 0 auto 30px;
}

.principle h3.ttl {
    margin-bottom: 0;
}

.principle h4.ttl2 {
    margin-bottom: 0;
    margin-top: 30px;
}

.principle h4.ttl3 {
    margin-top: 40px;
}

.principle input {
    opacity: 0;
}

.principle label {
    cursor: pointer;
}

.principle .toggle {
    margin-top: 15px;
    margin-bottom: 70px;
    padding-bottom: 50px;
}

.principle .toggle li {
    line-height: 1.7;
    margin-bottom: 15px;
    margin-left: 0;
    text-indent: 1em;
}

.principle .toggle li.indent {
    text-indent: -1em;
    padding-left: 2em;
}

/*企業理念*/
.principle .title {
    pointer-events: all;
    display: flex;
    padding: 10px 0;
    border: 1px solid #ddd;
    /*グラデーション*/
    background: #ffffff;
    background: -moz-linear-gradient(top, #ffffff 0%, #f3f3f3 50%, #ededed 51%, #ffffff 100%);
    background: -webkit-linear-gradient(top, #ffffff 0%, #f3f3f3 50%, #ededed 51%, #ffffff 100%);
    background: linear-gradient(to bottom, #ffffff 0%, #f3f3f3 50%, #ededed 51%, #ffffff 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ffffff', GradientType=0);
    /*グラデーション*/
    margin-top: 20px;
}

.principle .toggle {
    height: 0;
    padding: 0;
    transition: .2s;
    overflow: hidden;
    margin-bottom: 40px;

}

.principle input:checked+.toggle {
    height: auto;
}



/*トップメッセージ*/
.messagepd {
    padding-bottom: 0 !important;
}

.message_bg {
    width: 100%;
    background: #e5f1fb;
    padding: 50px 0;
}

.message .white_area {
    width: 960px;
    max-width: 100%;
    background: #fff;
    padding: 50px 0;
    margin-top: -90px;
    z-index: 1;
    position: relative;
}

.message .white_area ul {
    width: 85%;
    margin: 0 auto;
}

.message .white_area ul li {
    text-indent: 1em;
    /* margin-bottom: 10px; */
    margin-bottom: 20px;
    line-height: 1.8;
    font-size: 15px;
    letter-spacing: 0px;
}

/* .message .white_area ul li:nth-child(2) ,
.message .white_area ul li:nth-child(5) ,
.message .white_area ul li:nth-child(7) ,
.message .white_area ul li:nth-child(8) {
    margin-bottom: 40px;
} */
.message .white_area p {
    text-align: right;
    width: 85%;
    margin: 20px auto 0;
    line-height: 1.5;
    font-size: 14px;
}

.message .white_area p.message-ttl {
    font-size: 20px;
    text-align: left;
    margin-bottom: 20px;
}


/*企業概要*/
.gaiyo h3.yakuin {
    margin: 70px auto 20px;
}

.gaiyo .enkaku dl dt {
    text-align: left;
}

.gaiyo .pdf_area {
    line-height: 2;
    margin-top: 20px;
}

.gaiyo .pdf_area .pdf {
    width: 15px;
    vertical-align: middle;
}


/*事業・サービス*/
.service {
    margin: 80px auto;
}

.service h2.ttl {
    text-align: center;
    font-weight: bold;
    font-size: 25px;
    margin-bottom: 30px;
}

.service .ttl_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 830px;
    max-width: 100%;
    margin: 20px auto 0px;
}

.service .energie {
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    line-height: 2;
    display: flex;
    align-content: center;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.service .energie span {
    color: #007c44;
    border: 2px solid #007c44;
    padding: 0px 5px;
    margin-right: 10px;
    width: 230px;
    display: block;
}

.service .electlic {
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    line-height: 2;
    display: flex;
    align-content: center;
    flex-wrap: wrap;
}

.service .electlic span {
    color: #eb6d8e;
    border: 2px solid #eb6d8e;
    padding: 0px 5px;
    margin-right: 10px;
    width: 230px;
    display: block;
}

.sec_area .mis_area {
    width: 100%;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: flex-start;
}

.sec_area .mis_area li {
    width: 47%;
    margin: 0 1%;
    color: #fff;
    text-align: center;
}

.sec_area .mis_area li .ic {
    width: 45px;
    margin: 0 auto 15px;
}

.sec_area .mis_area li h3 {
    padding-bottom: 15px;
}

.sec_area .mis_area li h3 span {
    font-size: 25px;
    font-weight: bold;
    line-height: 1.5;
    padding-bottom: 10px;
}

.sec_area .mis_area li.bg_energie .bg {
    background: url(../img/service/bg_mission01.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    padding: 100px 0;
}

.sec_area .mis_area li.bg_jigyo .bg {
    background: url(../img/service/bg_mission02.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    padding: 100px 0;
}

.sec_area .mis_area li p {
    color: #000;
    line-height: 1.8;
    max-width: 90%;
    margin: 20px auto;
    font-size: 14px;
    text-align: left;
}

.sec_area .mis_area li .btn_mission {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    display: block;
    color: #fff;
    position: relative;
}

.sec_area .mis_area li .btn_mission.padb {
    padding-bottom: 10px;
    margin-bottom: 70px;
}

.sec_area .mis_area li .btn_mission .k_show {
    width: 263px;
    max-width: 80%;
    margin: 0 auto;
    display: block;
}

.sec_area .mis_area li p.h5em {
    height: 10em;
}

.sec_area .mis_area li a {
    transition: 0.3s;
}

.sec_area .mis_area li a:hover {
    opacity: .8;
}

.sec_area .mis_area li .btn_mission .btnbottom {
    /* position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin: 0 auto; */
}

.sec_area .mis_area li .btn_mission img {
    max-width: 100%;
}




/*沿革*/
.enkaku {
    width: 100%;
    max-width: 100%;
}

.bge-type-table {
    width: 960px;
    max-width: 95%;
    margin: 0 auto 60px !important;
}

.enkaku dl,
.bge-type-table tr {
    display: flex;
    justify-content: flex-start;
}

.enkaku dl:nth-child(even),
.bge-type-table tr:nth-child(even) {
    background: #eff6f8;
}

.bge-type-table tr th {
    display: flex;
    justify-content: center;
    width: 20%;
    padding: 30px 30px 30px 10px;
    margin-right: 30px;
    border-right: 1px solid #c1c1c1;
    text-align: right;
    line-height: 1.6;
}

.enkaku dl dt {
    width: 20%;
    padding: 30px 30px 30px 10px;
    margin-right: 30px;
    border-right: 1px solid #c1c1c1;
    text-align: right;
    line-height: 1.6;
}

.enkaku dl dd,
.bge-type-table tr td {
    width: 80%;
    padding: 30px 0;
    font-size: 15px;
    line-height: 1.6;
}

.bgt-image {
    width: 960px;
    max-width: 95%;
    margin: 0 auto 60px;
}

.bgb-wysiwyg {
    width: 960px;
    max-width: 95%;
    margin: 0 auto 20px !important;
}

.bge-ckeditor {
    line-height: 1.8;
    margin-bottom: 10px;
}


/*カーボンニュートラルにむけて*/
#main.csr_wrap {
    padding: 0;
}

.mirai h4 {
    text-align: center;
    font-size: 27px;
    color: #007c44;
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 10px;
}

.mirai {
    padding: 50px 0;
    background-color: #eaf3ea;
    background: url(../../common/img/bg-diagonal-repeart_g.png);
    margin-top: 100px;
}

.mirai .kenkyu {
    padding: 20px 0;
    background: #fff;
    border: 1px solid #007c44;
    text-align: center;
    color: #007c44;
    font-size: 18px;
    width: 800px;
    max-width: 95%;
    margin: 20px auto 20px;
    font-weight: 600;
    line-height: 1.5;
}

.mirai p {
    text-align: center;
    line-height: 1.6;
}

.mirai .clean {
    width: 800px;
    max-width: 95%;
    margin: 40px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.mirai .clean li {
    width: 49%;
    position: relative;
}

.mirai .clean li span {
    position: absolute;
    right: 10px;
    bottom: 10px;
    color: #fff;
    font-size: 12px;
}

.mirai .base {
    width: 800px;
    max-width: 95%;
    margin: 30px auto;
}




/*---------------------------
PC・TABのみ
---------------------------*/

@media only screen and (min-width: 767px) {}


/*---------------------------
Tab
---------------------------*/

@media screen and (max-width: 960px) {

    .service .energie {
        font-size: 14px;
        width: 100%;
    }

    .service .electlic {
        font-size: 14px;
        width: 100%;
    }

    .service .energie br,
    .service .electlic br {
        display: none;
    }

    .sec_area .mis_area li p.h5em {
        height: 13em;
    }

    .service .energie span {
        width: 100%;
    }

    .service .electlic span {
        width: 100%;
    }
}


/*---------------------------
sp
---------------------------*/

@media only screen and (max-width: 767px) {

    .mainimage h2 {
        font-size: 30px;
    }

    h3.ttl {
        font-size: 25px;
        line-height: 1.5;
    }

    h4.ttl2 {
        font-size: 20px;
        line-height: 1.6;
    }

    h4.ttl2 small {
        font-size: 16px;
    }

    h4.ttl3 strong {
        font-size: 15px;
    }

    /*企業案内index*/
    .com_index ul li {
        width: 48%;
        margin-bottom: 20px;
    }

    .com_index ul li a {
        padding: 0 0 10px;
    }

    .com_index ul li a p {
        font-size: 14px;
        line-height: 1.5;
        margin-top: 10px;
    }

    .arrow::before {
        top: 38%;
    }


    .principle h4.ttl3 {
        margin-top: 20px;
    }


    /*企業概要*/
    .gaiyo .enkaku dl dt {
        width: 25%;
    }

    .gaiyo .enkaku dl dd {
        width: 75%;
    }

    /*事業・サービス*/
    .service h2.ttl {
        line-height: 1.5;
    }

    .service .energie {
        justify-content: center;
    }

    .service .electlic {
        justify-content: center;
    }

    .sec_area .mis_area li {
        width: 100%;
        margin-bottom: 50px;
    }

    .sec_area .mis_area li.bg_energie .bg {
        padding: 50px 0;
    }

    .sec_area .mis_area li.bg_jigyo .bg {
        padding: 50px 0;
    }

    .sec_area .mis_area li p.h5em {
        height: auto;
    }

    .sec_area .mis_area li .btn_mission.padb {
        margin-bottom: 40px;
    }

    .service .energie br,
    .service .electlic br {
        display: block;
    }

    /*トップメッセージ*/
    .message .white_area {
        margin-top: -20px;
    }

    .message .white_area p.message-ttl {
        font-size: 18px;
        text-align: left;
        margin-bottom: 20px;
    }

    /*沿革*/
    .enkaku dl dt {
        width: 18%;
        padding: 20px 3% 20px 0;
        margin-right: 3%;
        font-size: 13px;
        line-height: 1.6;
    }

    .enkaku dl dd {
        width: 76%;
        padding: 20px 0 20px 0;
    }

}

.com_indexpage .btn_wrap {
    width: 960px;
    max-width: 100%;
    margin: 0 auto;
    position: relative;
}

.btn_brand {
    display: block;
    width: 160px;
    text-align: right;
    float: right;
}

@media screen and (max-width:767px) {
    .btn_brand {
        position: absolute;
        bottom: 5px;
        right: 5px;
        display: block;
        width: 100px;
    }

    .enkaku dl dt,
    .bge-type-table tr th {
        padding: 0;
        margin-right: 10px;
        padding-right: 10px;
        display: flex;
        align-items: center;
        width: 25%;
        font-size: 13px;
        text-align: right;
        justify-content: center;
    }

    .enkaku dl dd,
    .bge-type-table tr td {
        width: 72%;
        font-size: 14px;
    }
}


.mainimage_topmessage {
    margin: -40px 0 0 0;
}

@media screen and (max-width:1370px) {
    .mainimage_topmessage {
        margin: -47px 0 0 0;
    }
}

@media screen and (max-width:767px) {
    .mainimage_topmessage {
        margin: 0 0 0 0;
    }
}


#recruit ul.subGnav li {
    height: 15px;
}

.recruit {
    padding: 0 0 100px 0;
}

.recruit .title {
    background-color: #e6e6e6;
    text-align: center;
    font-size: 32px;
    padding: 0.45em;
    margin: 0 0 2em;
    font-weight: bold;
    color: #0073bd;
}

.recruit .title_st01 {
    text-align: left;
    background-color: initial;
    font-size: 28px;
    font-weight: normal;
    color: #333;
    padding: 0 0 0;
    letter-spacing: 3px;
    margin: 0 0 1em;
}

.recruit .title2 {
    background-color: #0073bd;
    color: #fff;
    font-size: 26px;
    padding: 0.35em;
    font-feature-settings: "palt";
    margin: 0 0 1.4em;
    font-weight: bold;
}

.recruit .group {
    margin: 0 0 2em;
}

.recruit .group .name {
    border-bottom: 1px solid #b6b6b7;
    padding: 0 0 0.6em;
    margin: 0 0 0.7em;
    font-size: 20px;
    font-weight: bold;
    font-feature-settings: "palt";
}

.recruit .group .value .txt {
    font-size: 17px;
    line-height: 1.5;
    margin: 0 0 1.8em;
}

.recruit .group .value .note {
    font-size: 17px;
    line-height: 1.5;
    margin: 0 0 0.5em;
}

.recruit .lists .list {
    font-size: 17px;
    line-height: 1.3;
    margin: 0 0 0.4em;
    position: relative;
    padding: 0 0 0 25px;
}

.recruit .lists .list:before {
    content: "";
    border-radius: 50%;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 14px;
    height: 14px;
    margin: auto;
    background-color: #0073bd;
}

.recruit .notice {
    font-size: 26px;
    color: #e60012;
    margin: 0 0 1.6em;
    font-weight: bold;
}

.recruit .job {
    margin: 3em 0 0;
}

.recruit .job dl {
    display: flex;
    font-size: 18px;
    line-height: 1.5;
}

.recruit .job dl dt {
    width: calc(140/960*100%);
    border-right: 1px solid #b6b6b7;
    padding: 0 0 2em;
    font-weight: bold;
}

.recruit .job dl dd {
    padding: 0 0 2em 3.3em;
    width: calc(820/960*100%);
}

.recruit .job dl:last-child dt {
    padding: 0 0 0;
}

.recruit .job dl:last-child dd {
    padding: 0 0 0 3.3em;
}

.recruit .flow {
    margin: 4em 0 0;
}

.recruit .flow .flow__img {
    text-align: center;
    margin: 0 0 1em;
}

.recruit .flow .note {
    font-size: 17px;
    margin: 0 auto;
    color: #333;
}

.recruit .flow .txt {
    font-size: 18px;
    margin: 0 0 1em;
}

.recruit .txt_big {
    font-size: 21px;
    font-weight: bold;
    line-height: 1.5;
    margin: 0 0 0.5em;
}

.recruit .txt_big_mg {
    margin: 0 0 2.5em;
}

.recruit .txt {
    font-size: 18px;
    line-height: 1.5;
}

.recruit .txt_mg {
    margin: 0 auto 1em;
}

.recruit .mg_md {
    margin: 0 0 3em;
}

.recruit .mg_big {
    margin: 0 0 5em;
}

@media screen and (max-width: 767px) {
    .recruit {
        padding: 0 0 50px 0;
    }

    .recruit .title {
        font-size: 25px;
        padding: 0.45em;
        margin: 0 0 1em;
        font-weight: bold;
        color: #0073bd;
    }

    .recruit .title2 {
        font-size: 18px;
        padding: 0.35em;
        font-feature-settings: "palt";
        margin: 0 0 1.4em;
        font-weight: bold;
        line-height: 1.3;
    }

    .recruit .group {
        margin: 0 0 2em;
    }

    .recruit .group .name {
        padding: 0 0 0.4em;
        margin: 0 0 0.5em;
        font-size: 16px;
    }

    .recruit .group .value .txt {
        font-size: 15px;
        line-height: 1.5;
        margin: 0 0 1.0em;
    }

    .recruit .group .value .note {
        font-size: 15px;
        line-height: 1.5;
        margin: 0 0 0.5em;
    }

    .recruit .lists .list {
        font-size: 15px;
        line-height: 1.3;
        margin: 0 0 0.4em;
        position: relative;
        padding: 0 0 0 15px;
    }

    .recruit .lists .list:before {
        content: "";
        border-radius: 50%;
        display: block;
        position: absolute;
        top: 5px;
        bottom: auto;
        left: 0;
        width: 10px;
        height: 10px;
        margin: auto;
        background-color: #0073bd;
    }

    .recruit .notice {
        font-size: 20px;
        margin: 0 0 1.0em;
    }

    .recruit .job {
        margin: 3em 0 0;
    }

    .recruit .job dl {
        display: flex;
        font-size: 15px;
        line-height: 1.3;
    }

    .recruit .job dl dt {
        width: 28%;
        border-right: 1px solid #b6b6b7;
        padding: 0 0 2em;
        font-weight: bold;
        white-space: nowrap;
    }

    .recruit .job dl dd {
        width: 72%;
        padding: 0 0 2em 1.3em;
    }

    .recruit .job dl:last-child dt {
        padding: 0 0 0;
    }

    .recruit .job dl:last-child dd {
        padding: 0 0 0 1.3em;
    }

    .recruit .flow {
        margin: 4em 0 0;
    }

    .recruit .flow .flow__img {
        text-align: center;
        margin: 0 0 1em;
    }

    .recruit .flow .note {
        font-size: 12px;
        width: 100%;
        margin: 0 auto;
        color: #333;
    }

    .recruit .txt_big {
        font-size: 18px;
        font-weight: bold;
        line-height: 1.5;
        margin: 0 0 1em;
    }

    .recruit .txt {
        font-size: 15px;
        line-height: 1.5;
    }

    .recruit .mg_md {
        margin: 0 0 30px;
    }

    .recruit .mg_big {
        margin: 0 0 50px;
    }
}

/* 20240828ページタイトル背景を静止画から動画に変更 */
.mainimage.movie-box {
    background: #000;
    padding-top: 36.25%;
    position: relative;
    overflow: hidden;
    z-index: 2;
}

.mainimage.movie-box video {
    display: block;
    width: 100vw;
    position: absolute;
    top: -152px;
    left:0;
}

/* tab用 */
@media only screen and (max-width:1024px) {
    .mainimage.movie-box {
        padding-top: 31.25%;
    }
}
/* sp用 */
@media only screen and (max-width: 767px) {
    .mainimage.movie-box {
     padding-top: 42.25%;
    }
    
    .mainimage.movie-box video {
        top: -30px;
    }
}

@media only screen and (max-width: 500px) {
#main {
    width: 100%!important;
    max-width: 100%!important;
    overflow: hidden!important;
}

/* 20250708修正 */
.enkaku dl dd, .bge-type-table tr th {
    max-width: 90px!important;
}
.enkaku dl dd, .bge-type-table tr td {
    max-width: 256px!important;
}
.enkaku dl dd, .bge-type-table tr th,
.enkaku dl dd, .bge-type-table tr td {
    white-space: wrap!important;
}
}



/*# sourceMappingURL=recruit.css.map */