@charset "UTF-8";
/* RESET */
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */

body{
    color: #1F1F1F;
}
/* decarbonization top */
.hero-decarbonization{
    background-image: url('../images/files202201/decarbonization_png_2022.png');
    background-position: center bottom !important;
    background-size: cover;
}
.greenbox{
    background: #EBF5F2;
    padding: 40px;
    position: relative;
    margin: 1em auto;
    border-radius: 5px;
}
.decarbon_box .greenbox h4{
    margin-top: 0;
}
.graybox{
    background: #F4F4F4;
    border-radius: 5px;
    margin: 2em 0;
}
.decarbon_box h3{
    font-size: 2.4em;
    line-height: 1.5em;
    margin-bottom: 1em;
    font-weight: bold;
}
.decarbon_box h3 span{
    font-size: 0.5em;
    display: block;
    color: #0AB586;
}
.decarbon_box h4{
    margin: 1em auto;
    font-size: 1.5em;
}
.decarbon_box p,
.decarbon_box ul,
.decarbon_box ol{
    font-size: 1.1em;
    line-height: 1.8em;
    margin: 1em auto;
}

.what_is_decarbonization::before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    border-left: 50px solid #0AB586;
    border-bottom: 50px solid transparent;
}
.what_is_decarbonization img{
    max-width: 330px;
}
.our_solution h3 {
    padding:0 calc(100% - 19em) 0 0;
    font-weight: bold;
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 250px auto;
    background-image:url('../images/files202201/solface.png');
}

@media screen and (max-width: 860px) {
.our_solution h3 {
    padding:0 0 150px 0;
}
}
.graybox h4{
    border-radius: 5px 5px 0 0;
    background: #0AB586;
    font-size: 1.3em;
    color: #fff;
    margin: 0 auto;
    text-align: center;
    padding: 0.25em 1em;
}
.graybox.box3 h4{
    background: #7CAA00;
}
.greenbox .btn-group3 .btn,
.graybox .btn-group3 .btn{
    width: auto;
    min-width: 31.8%;
}
.grayinner{
    padding: 30px;
}
.box1 h5{
    margin: 0 auto 1em;
    font-size: 1.3em;
    text-align: center;
}

img.hyo{
    width:55%;
}
img.tex{
    width:43.7%;
}

.box1 .flex img{
    max-width: 90%;
}
.box1 ol strong{
    display: inline-block;
    color: #fff;
    border-radius: 5px;
    padding: 0 1em;
    min-width: 8em;
    font-weight: normal;
}
.box1 ol strong::first-letter{
    margin-right: 0.25em;
}
.box1 ol li{
    margin-bottom: 0.5em;
}
.box1 ol li:nth-child(1) strong{
    background: #767676;
}
.box1 ol li:nth-child(2) strong{
    background: #dc6b18;
}
.box1 ol li:nth-child(3) strong{
    background: #0068b7;
}
.box1 ol li:nth-child(4) strong{
    background: #1b9700;
}
.box2 .flex.c5{
    margin: 0 auto;
}
.box2 .flex.c5::after{
    position: absolute;
    bottom: 0;
}
.box2 .flex.c5>*{
    width: calc((100% - 60px) / 5);
    border-radius: 10px;
    border: 2px solid #0DAC7B;
    padding: 0.75em 0;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin: 0 15px 0 0;
    font-size: 1.1em;
    font-weight: bold;
    line-height: 1.4em;
    background: #fff;
}
.box2 .flex.c5>*:last-child{
    margin-right: 0;
}
.box2 .flex.c5>*:nth-child(3){
    border: 2px solid #7CAA00;
    background: #F3F8E5;
}
.box2 .flex.c5>*:nth-child(3)::after{
    border-left: 15px solid #7CAA00;
}
.box2 .flex.c5>*::after{
    content: '';
    position: absolute;
    right:-32px;
    border-top: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 15px solid #0DAC7B;
}
.box2 .flex.c5>*:last-child::after{
    display: none;
}
.box2 .flex.c5>li:nth-child(3) span{
    display: block;
    margin: 0 auto;
    position: absolute;
    bottom: -56px;
    left: 0;
    width: 100%;
    height: 54px;
}
.box2 .flex.c5>li:nth-child(3) span img{
    display: block;
    margin: 0 auto;
}

.grayinner .flex.c3{
    justify-content: space-between;
}
.grayinner .flex.c3>*{
    width: calc((100% - 20px) / 3);
    margin-bottom: 10px;
    position: relative;
}
.grayinner .flex.c3 li img{
    display: block;
}
.grayinner .flex.c3 li span{
    position: absolute;
    padding: 0 0.5em;
    text-decoration: none;
    color: #fff;
    font-size: 0.9em;
    top: 0;
    left: 0;
}
.grayinner .flex.c3 li:nth-child(1) span,
.grayinner .flex.c3 li:nth-child(2) span{
    background: #767676;
}
.grayinner .flex.c3 li:nth-child(3) span{
    background: #dc6b18;
}
.grayinner .flex.c3 li:nth-child(4) span,
.grayinner .flex.c3 li:nth-child(5) span{
    background: #1b9700;
}
.grayinner .flex.c3 li:nth-child(6) span{
    background: #0068B7;
}

.cts-decarbonization .bg-primary.btn-btob{
    background:#0D315C;
}
p.addinfo{
    padding: 1em;
    font-size: 1em;
    margin: 1em auto;
    border-radius: 0;
    position: relative;
}
.addinfo strong{
    color: #1f1f1f;
    font-weight: bold;
}
.addinfo img{
    margin: 0.4em 1em 0.6em 0;
    float: left;
    display: block;
    width: 60%;
}
.addinfo::after{
    content: '';
    display: block;
    clear: both;
}
.addmarker{
    display: inline-block;
    position: relative;
    padding-left: 1.5em;
}
.addmarker.w2{
    padding-left: 2.25em;
}
.addmarker span.marker{
    position: absolute;
    left: 0.25em;
}

.greenbox .flex{
    justify-content: center;
}
.greenbox .flex>*{
    padding: 0 5px;
    max-width: 260px;
    margin-bottom: 10px;
}
.utilities .greenbox h4{
    margin: 0;
    padding: 5px 0 5px 40px;
    background-position: left center;
    background-repeat: no-repeat;
    background-size: 27px auto;
    background-image: url('../images/files202201/utilitieshead.png');
}

.faqbox{
    padding: 1em 0 2em;
    border-bottom: 1px solid #A5A5A5;
}
.faqbox:first-of-type{
    border-top: 1px solid #A5A5A5;
}
.faqbox h4{
    min-height: calc(36px + 0.33em);
    background-position: left 0.33em;
    background-repeat: no-repeat;
    font-size: 1.1em;
    margin:  0;
    padding: 10px 10px 0 50px;
    background-size: 36px auto;
    background-image: url('../images/files202201/qhead.png');
}
.faqbox p{
    margin:  10px 0 0 50px;
}
.person.flex{
    padding: 30px;
    border: 1px solid #A5A5A5;
    justify-content: space-between;
}
.person.flex .faceimg{
    width: 170px;
}
.person.flex .pbody{
    width: calc(100% - 200px);
}

/*glossary*/
.glossary{
    margin-bottom: 100px;
}
.pagetopwrapper{
    width: 100%;
}
.pagetopwrapper::after{
    content:'';
    display: block;
    clear: both;
}
.servicetop{
    position: fixed;
    z-index: 1000;
    bottom: 110px;
    right: 0;
    padding-bottom: 3em;
    text-align: right;
}

.servicetop a{
    position: relative;
    border-radius: 5px 0 0 5px;
    text-decoration: none;
    padding:  2rem 2rem 2rem 4rem;
    font-size: 1.1em;
    color: #fff;
    margin-bottom: 3em;
    background: rgba(13, 49, 92,0.8);
}
.servicetop a:hover{
    background: rgba(13, 49, 92,1);
}

.servicetop a::before{
    content: '';
    display: block;
    position: absolute;
    top: 1.66rem;
    left: 2rem;
    width: 24px;
    height: 24px;
    transform: rotate(180deg);
    background-image: url('../images/files202201/glossary_listmarker.png');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    filter: brightness(100);
}


.glossary h3,.glossary h4, .glossary h5{
    font-weight: bold;
}
.glossary h3{
    font-size: 2em;
    line-height: 130%;
}
.glossary h3 span{
    display: block;
    font-size: 0.6em;
}
.glossary h4{
    font-size: 1.6em;
    margin:2em auto 0.5em;
}
.glossary>p,
.glossary>ol,
.glossary>ul{
    font-size: 1.1em;
    line-height: 1.8em;
}
.glossary p,
.glossary ol,
.glossary ul{
    margin: 1em auto;
}
.glossary ul,
.glossary ol{
    padding-left: 1.2em;
}
.glossary ul>li{
    list-style-type: disc;
}
.glossary.glossarylist ul{
    padding-left: 0;
}
.glossary.glossarylist ul li{
    list-style-type: none;
}
.glossary ol.nolistmarker{
    padding-left: 0.25em;
}
.glossary ol.nolistmarker li{
    position: relative;
    padding-left: 1.25em;
}
.glossary ol.nolistmarker li span.maru{
    position: absolute;
    left: 0;
}
.glossary li{
    margin:0.25em 0;
}

.glossarylist h4{
    border-top:3px solid #0AB586;
    border-bottom:1px solid rgba(112, 112, 112, 0.5);
    padding: 1em 0;
}
.glossarylist h4 a{
    color:#1f1f1f;
    text-decoration: none;
    padding-left: 35px;
    position: relative;
}
.glossarylist h4 a::before{
    content:'';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 24px;
    height: 24px;
    background-image:url('../images/files202201/glossary_h3marker.png') ;
    background-position:center center;
    background-repeat: no-repeat;
    background-size: contain;
}
.glossarylist li a{
    line-height: 1.6em;
}
.glossarylist li{
    padding-left: 25px;
    margin: 5px 0;
    position: relative;
}
.glossarylist li::before{
    content:'';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 24px;
    height: 24px;
    background-image:url('../images/files202201/glossary_listmarker.png') ;
    background-position:center center;
    background-repeat: no-repeat;
    background-size: contain;
}
.flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.flex.c2>*{
    width: 50%;
}
.flex.c3>*{
    width: calc(100% / 3);
    margin-bottom: 10px;
}

.decarbon_box .pbody h3{
    font-size: 1.8em;
    font-weight: bold;
    line-height: 1.4em;
}

.decarbon_box .pbody h3 span {
    color: #1f1f1f;
    line-height: 1.4em;
    font-size: 0.6em;
}
.decarbon_box .pbody h4{
    color: #1b9700;
    font-size: 1.2em;
    margin: 1.5em auto 0;
}
.decarbon_box .pbody p{
    margin: 0 auto 1.5em;
}



@media screen and (max-width: 780px) {
    .addinfo img{
        float: none;
        width: 360px;
        max-width: 100%;
    }
}
@media screen and (max-width: 740px) {
    .flex.c3>*{
        width: 50%;
    }
    .flex.c2>*{
        width: 100%;
    }
    .grayinner .flex.c3 > *{
        width: calc((100% - 10px) / 2);
    }
}
@media screen and (max-width: 680px) {
    .box2 .flex.c5 > *{
        width: 100%;
        margin: 0 0 15px 0;
    }
    .box2 .flex.c5 li:nth-child(2) br,
    .box2 .flex.c5>li:nth-child(3) span{
        display: none;
    }
    .box2 .flex.c5 > ::after {
        content: '';
        position: absolute;
        right: auto;
        bottom: -32px;
        border-top: 15px solid #0DAC7B;
        border-right: 15px solid transparent;
        border-bottom: 15px solid transparent;
        border-left: 15px solid transparent;
    }
    .box2 .flex.c5>*:nth-child(3)::after{
        border-left: 15px solid transparent;
        border-top: 15px solid #7CAA00;
    }
    .box2 .flex.c5 > :last-child {
        margin-bottom: 0;
    }

}
@media screen and (max-width: 560px) {
    .section.message{
        margin-left: 0;
        margin-right: 0;
    }
    .our_solution h3 br,
    .utilities h3 br{
        display: none;
    }
    .flex.c3>*{
        width: 100%;
    }
    .greenbox,.grayinner,.person.flex{
        padding: 25px;
    }
    .grayinner .flex.c3 > *{
        width: 100%;
    }
    .person.flex{
        flex-wrap: wrap;
    }
    .person.flex .faceimg,
    .person.flex .pbody{
        width: 100%;
    }
    .faceimg img{
    max-width: 170px;
        margin: 0 auto 2em;
        display: block;
    }
    img.hyo,
    img.tex{
        width:90%;
        margin: 0 auto;
        display: block;
    }
.greenbox img{
    max-width: 100%;
}
}
@media screen and (max-width: 380px) {
    .btn-btob br{
        display: none;
    }
    .greenbox img{
        max-width: 100%;
    }
}

.btn.btn-glossary::before {
    background-image: url('../images/files202201/line-file-glossary.png');
}