/* ========== px ========== */
.c-space-p0 {
    margin-top: 0px !important;
}
.c-space-p30 {
    margin-top: 30px !important;
}
.c-space-p40 {
    margin-top: 40px !important;
}
.c-space-p50 {
    margin-top: 50px !important;
}
.c-space-p60 {
    margin-top: 60px !important;
}
.c-space-p70 {
    margin-top: 70px !important;
}
.c-space-p80 {
    margin-top: 80px !important;
}

.c-space-mb0 {
    margin-bottom: 0 !important;
}

/* ========== hidden ========== */
@media only screen and (min-width: 640px) {
    .c-hide-pc {
        display: none;
    }
}

@media only screen and (max-width: 640px) {
    .c-hide-sp {
        display: none;
    }
}

/* ========== body ========== */
#customers {
    overflow-x: hidden;
}

/* ========== mainImage ========== */
#customers .c-mainImage-04.pc {
    background-image: url(/customers/img/mainImage_02@x2.jpg);
}
@media only screen and (max-width: 640px) {
  #customers .c-mainImage-04.sp {
      background-image: url(/customers/img/mainImage_02_sp@x2.jpg);
  }
}

/* ========== heading ========== */
#customers .c-heading {
    padding-bottom: 160px;
    text-align: center;
}
@media screen and (max-width: 640px) {
    #customers .c-heading {
        padding: 0 10px 110px;
        margin-bottom: 0;
    }
}

#customers .c-header {
    text-align: center;
}

#customers .c-header .c-header--h2, .c-header .c-header--h3 {
    display: inline-block;
}

#customers .c-header .c-header--h2 {
    color: #eb7000;
    font-size: 38px;
    line-height: 1.2;
    margin: 32px 0 38px;
}
@media screen and (max-width: 640px) {
    #customers .c-header .c-header--h2 {
        font-size: 28px;
        margin: 30px 0;
    }
}

#customers .c-header .c-header--h3 {
    color: #fff;
    background: -moz-linear-gradient(left, #eb7000, #f7a421);
    background: -webkit-linear-gradient(left, #eb7000, #f7a421);
    background: linear-gradient(to right, #eb7000, #f7a421);
    font-size: 28px;
    line-height: 1.5;
    padding: 20px 0;
    text-align: center;
    width: 100%;
}
@media screen and (max-width: 640px) {
    #customers .c-header .c-header--h3 {
        font-size: 24px;
        padding: 15px 20px;
    }
}

#customers .c-header .c-header--h3 .small {
    font-size: 70%;
}

#customers .c-header .c-header--h4 {
    font-size: 38px;
    font-weight: bold;
    color: #535252;
    line-height: 1.5;
}
@media screen and (max-width: 640px) {
    #customers .c-header .c-header--h4 {
        font-size: 24px;
    }
}

#customers .c-header .c-header--h4.small {
    font-size: 36px;
}
@media screen and (max-width: 640px) {
    #customers .c-header .c-header--h4.small {
        font-size: 22px;
    }
}

#customers .c-header .c-header--h4 strong {
    color: #eb7000;
    font-weight: bold;
}

#customers .c-header .c-header--figure {
    text-align: left;
    display: block;
    font-size: 28px;
    font-weight: bold;
}

/* ========== copy ========== */
#customers .c-copy {
    color: #535252;
    font-size: 16px;
    line-height: 1.7;
    text-align: center;
}
@media screen and (max-width: 640px) {
    #customers .c-copy {
        font-size: 14px;
    }
}

#customers .c-copy p, #customers .c-customers--copy p {
    margin-bottom: 0;
}
#customers .c-copy p + p {
    margin-top: 30px;
}

#customers .c-copy .__emphasis {
    color: #e50000;
}

#customers .c-customers--copy {
    color: #eb7000;
    font-size: 24px;
    margin-top: 1.5em;
    text-align: center;
}
@media screen and (max-width: 640px) {
    #customers .c-customers--copy {
        font-size: 20px;
    }
}

/* ========== bg ========== */
#customers .u-gradient-bg {
    background: -webkit-linear-gradient(top, #ffffff 76%, #f3f3f3 89%, #f3f3f3 89%, #f3f3f3 89%, #ededed 100%, #ffffff 100%);
    background: linear-gradient(to bottom, #ffffff 76%, #f3f3f3 89%, #f3f3f3 89%, #f3f3f3 89%, #ededed 100%, #ffffff 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

/* ========== content ========== */
#customers .l-structure {
    width: 100%;
    margin: 0;
    padding: 50px 0 80px;
    background-color: #fff;
}
@media screen and (max-width: 640px) {
    #customers .l-structure {
        padding: 40px 0 60px;
    }
}

#customers .l-structure.__close {
    padding-top: 0;
    padding-bottom: 80px;
}

#customers .l-structure.__small {
    padding-bottom: 30px;
}

#customers .l-structure .l-structure--body {
    max-width: 868px;
    margin: 0 auto;
}
@media screen and (max-width: 865px) {
    #customers .l-structure .l-structure--body {
        width: 100%;
        padding: 0 10px;
        position: relative;
    }
}
@media screen and (max-width: 640px) {
    #customers .l-structure .l-structure--body {
        width: 100%;
        padding: 0 10px;
        position: relative;
    }
}

/* ========== tab ========== */
@media screen and (max-width: 640px) {
    #customers .c-tab--area {
        position: absolute;
        top: -70px;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        width: 100%;
        padding: 0 10px;
    }
}

#customers .c-tab {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
     -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: -136px;
}
@media screen and (max-width: 640px) {
    #customers .c-tab {
        margin-top: 0;
        width: 100%;
    }
}

#customers .c-tab--item {
    background-color: #eb7000;
    position: relative;
    width: 282px;
}
@media screen and (max-width: 640px) {
    #customers .c-tab--item {
        width: 33.3333333%;
        height: 70px;
        display: table;
    }
}

#customers .c-tab--item.sdgs {
    background-color: #58b50d;
}

#customers .c-tab--item.performance_and_award {
    background-color: #0e1a58;
}

#customers .c-tab--item.is-active::before {
    content: "";
    position: absolute;
    top: 100%;
    border-top: 15px solid #eb7000;
    border-right: 15px solid transparent;
    border-left: 15px solid transparent;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
@media screen and (max-width: 640px) {
    #customers .c-tab--item.is-active::before {
        border-top: 10px solid #eb7000;
        border-right: 10px solid transparent;
        border-left: 10px solid transparent;
        bottom: -10px;
    }
}

#customers .c-tab--item.sdgs.is-active::before {
    border-top: 15px solid #58b50d;
}
#customers .c-tab--item.performance_and_award.is-active::before {
    border-top: 15px solid #0e1a58;
}
@media screen and (max-width: 640px) {
    #customers .c-tab--item.sdgs.is-active::before {
        border-top: 10px solid #58b50d;
    }
    #customers .c-tab--item.performance_and_award.is-active::before {
        border-top: 10px solid #0e1a58;
    }
}

#customers .c-tab--item a {
    color: #fff;
    font-size: 26px;
    display: block;
    padding: 16px 0;
    text-align: center;
    text-decoration: none;
}
@media screen and (max-width: 640px) {
    #customers .c-tab--item a {
        font-size: 12px;
        padding: 10px;
        display: table-cell;
        vertical-align: middle;
    }
}

#customers .c-tab--item a:hover {
    opacity: .8;
}

#customers .c-tab--item a small {
    font-size: 20px;
}
@media screen and (max-width: 640px) {
    #customers .c-tab--item a small {
        font-size: 12px;
    }
}

/* ========== block ========== */
#customers .c-block {
    background-color: #fff;
    border: 2px solid #ccc;
    margin-top: 80px;
    padding: 30px 75px 48px;
}
@media screen and (max-width: 640px) {
    #customers .c-block {
        margin-top: 40px;
        padding: 15px;
    }
}

#customers .c-block .c-block--head {
    color: #eb7000;
    font-size: 24px;
    margin-bottom: 25px;
}
@media screen and (max-width: 640px) {
    #customers .c-block .c-block--head {
        font-size: 18px;
        margin-bottom: 15px;
    }
}

#customers .c-leadBlock{
    background-color: #fdeecb;
    border-radius: 20px;
    padding: 40px;
}
@media screen and (max-width: 640px) {
    #customers .c-leadBlock{
        padding: 20px;
    }
}

#customers .c-infoBlock{
    border: 3px dotted #eb7000;
    padding: 40px;
}
@media screen and (max-width: 640px) {
    #customers .c-infoBlock{
        padding: 20px;
    }
}

/* ========== lnav ========== */
#customers .c-lnav {
    margin: 30px 0 0;
}

#customers .c-lnav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
@media screen and (min-width: 640px) {
    #customers .c-lnav ul {
        /*display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
         -ms-flex-pack: center;
        justify-content: center;*/
    }
    #customers .c-lnav ul:first-child {
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 640px) {
    /*#customers .c-lnav ul.c-lnav--flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    #customers .c-lnav ul.c-lnav--flex li {
        padding-left: 10px;
    }
    #customers .c-lnav ul.c-lnav--flex li:first-child {
        padding-left: 0;
    }*/
}

@media screen and (min-width: 640px) {
    #customers .c-lnav ul li {
        padding-left: 40px;
        line-height: 2;
    }
    /*#customers .c-lnav ul li:first-child {
        padding-left: 0;
    }*/
}
@media screen and (max-width: 640px) {
    #customers .c-lnav ul li {
        margin-bottom: 5px;
    }
}

#customers .c-lnav ul li a {
    color: #eb7000;
    font-size: 18px;
    display: block;
/*    text-align: center;*/
    text-decoration: none;
}
@media screen and (max-width: 640px) {
    #customers .c-lnav ul li a {
        font-size: 14px;
        text-align: left;
    }
}

@media screen and (min-width: 640px) {
    #customers .c-lnav ul li a{
        font-weight: bold;
    }
    #customers .c-lnav ul li a:hover {
        text-decoration: underline;
    }
}

#customers ul li.c-lnav--reference a{
    font-size: 87.5%;
    font-weight: normal;
    color: #888;
}

/* ========== panel ========== */
#customers .c-panel {
    box-shadow: 0 0 14px #999;
    position: relative;
}

#customers .c-panel.step02 {
    margin-bottom: 80px;
}
@media screen and (max-width: 640px) {
    #customers .c-panel.step02 {
        margin-bottom: 40px;
    }
}

#customers .c-panel.step02::after {
    content: "";
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
@media screen and (min-width: 640px) {
    #customers .c-panel.step02::after {
        bottom: -80px;
        border-top: 80px solid #31a196;
        border-right: 228px solid transparent;
        border-left: 228px solid transparent;
    }
}
@media screen and (max-width: 640px) {
    #customers .c-panel.step02::after {
        border-top: 40px solid #31a196;
        border-right: 80px solid transparent;
        border-left: 80px solid transparent;
        bottom: -40px;
    }
}

#customers .c-panel .c-panel--head {
    background-color: #eb7000;
    color: #fff;
    font-size: 28px;
    padding: 15px 0;
    text-align: center;
}
@media screen and (max-width: 640px) {
    #customers .c-panel .c-panel--head {
        font-size: 18px;
    }
}

#customers .c-panel.step02 .c-panel--head {
    background-color: #31a196;
}

#customers .c-panel.step03 .c-panel--head {
    background-color: #f42a5e;
}

#customers .c-panel .c-panel--head span {
    padding-left: 168px;
    position: relative;
}
@media screen and (max-width: 640px) {
    #customers .c-panel .c-panel--head span {
        padding-left: 84px;
    }
}

#customers .c-panel .c-panel--head span::before {
    background-image: url(/customers/img/img_step_01.png);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    height: 39px;
    left: 0;
    position: absolute;
    top: 2px;
    width: 148px;
}
@media screen and (max-width: 640px) {
    #customers .c-panel .c-panel--head span::before {
        background-size: 74px auto;
        width: 74px;
        height: 20px;
    }
}

#customers .c-panel.step02 .c-panel--head span::before {
    background-image: url(/customers/img/img_step_02.png);
}

#customers .c-panel.step03 .c-panel--head span::before {
    background-image: url(/customers/img/img_step_03.png);
}

#customers .c-panel .c-panel--inner {
    padding: 30px 40px 40px;
}
@media screen and (max-width: 640px) {
    #customers .c-panel .c-panel--inner {
        padding: 15px;
    }
}

#customers .c-panel .c-panel--inner .c-panel--copy {
    color: #eb7000;
    font-size: 24px;
    text-align: center;
}
@media screen and (max-width: 640px) {
    #customers .c-panel .c-panel--inner .c-panel--copy {
        font-size: 18px;
    }
}

#customers .c-panel.step02 .c-panel--inner .c-panel--copy {
    color: #31a196;
}

#customers .c-panel.step03 .c-panel--inner .c-panel--copy {
    color: #f42a5e;
}

#customers .c-panel .c-panel--inner .c-panel--txt {
    color: #535252;
    font-size: 24px;
    text-align: center;
}
@media screen and (max-width: 640px) {
    #customers .c-panel .c-panel--inner .c-panel--txt {
        font-size: 18px;
    }
}

#customers .c-panel .c-panel--inner .c-panel--cvn {
    margin-top: 30px;
}
@media screen and (max-width: 640px) {
    #customers .c-panel .c-panel--inner .c-panel--cvn {
        margin-top: 15px;
    }
}

#customers .c-panel .c-panel--inner .c-panel--cvn a {
    display: block;
}

@media screen and (min-width: 640px) {
    #customers .c-panel .c-panel--inner .c-panel--cvn a:hover {
        opacity: .8;
    }
}

.c-panel--head02 {
    margin-top: 3.375em
}

.c-panel--head02 h5 {
    border-bottom: 1px solid #d4d5d5;
    color: #eb7000;
    font-size: 150%;
    line-height: 1.4;
    margin: 0;
    padding-bottom: 10px;
    text-align: left;
}

.c-panel--head03 {
    margin-top: 2.375em
}

.c-panel--head03 h6 {
    color: #eb7000;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.4;
    margin: 0;
    text-align: left;
}

/* ========== column ========== */
#customers .c-column-group {
    overflow: visible;
    margin-top: 70px;
}
@media screen and (max-width: 640px) {
    #customers .c-column-group {
        margin-top: 40px;
    }
}

#customers .col-unit-item_head {
    background: -webkit-linear-gradient(top, #ffffff 76%, #f3f3f3 89%, #f3f3f3 89%, #f3f3f3 89%, #ededed 100%, #ffffff 100%);
    background: linear-gradient(to bottom, #ffffff 76%, #f3f3f3 89%, #f3f3f3 89%, #f3f3f3 89%, #ededed 100%, #ffffff 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    padding: 16px 0;
    display: table;
    width: 100%;
}

#customers .col-unit-item_head .c-figure-01 {
    display: table-cell;
    vertical-align: middle;
    margin: 0 auto;

}

#customers .col-unit-item_head .c-figure-01 img {
    width: 160px;
}

#customers .col-unit-item_head .c-figure-big img {
    width: 220px;
}

#customers .col-unit-item_txt {
    background-color: #fff;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    padding: 24px 30px;
    text-align: left;
}
@media screen and (max-width: 640px) {
    #customers .col-unit-item_txt {
        padding: 15px;
    }
}

#customers .col-unit-item_txt .c-heading4-01 h4 {
    color: #eb7000;
    font-weight: normal;
    text-align: center;
}

/* ========== thumb ========== */
#customers .c-thumb {
    margin-bottom: 70px;
}
@media screen and (max-width: 640px) {
    #customers .c-thumb {
        margin-bottom: 40px;
    }
}

/* ========== add ========== */
.txt-C {
    text-align: center;
}

.cnv-bd-none {
    box-shadow: none;
    border: none;
}

a.c-btn-account.c-btn-opinion::before {
    background-image: url(/opinion/img/icon_request_01.png);
    background-size: auto 28px;
    height: 28px;
    top: 14px;
    width: 28px;
}

#customers .c-panel.c-panel-hdi {
    padding: 20px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
}

.c-panel .c-heading4-01 h4 {
    color: #eb7000;
    font-weight: normal;
    text-align: center;
}

/* ========== c-note ========== */
#customers .c-note{
    font-size: 87.5%;
    color: #888;
}

/* ========== c-table-01 ========== */
.c-table-01 .centering02{
    vertical-align: middle;
}

.c-table-01.c-table-reference td{
    padding: 20px 20px 16px;
}

div.triangle{
    position: relative;
    margin-bottom: 20px;
}

div.triangle::after{
    content: "";
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    bottom: -80px;
    border-top: 40px solid #eb7000;
    border-right: 80px solid transparent;
    border-left: 80px solid transparent;
}


@media screen and (max-width: 640px){
    div.triangle::after{
        border-top: 40px solid #eb7000;
        border-right: 75px solid transparent;
        border-left: 75px solid transparent;
        bottom: -60px;
    }
}