  @charset "utf-8";

@import "reset.css";
@import "common.css";
@import "common_sp.css";
@import "gnav.css";
@import "gnav_sp.css";
@import "subPage.css";

@import url('https://fonts.googleapis.com/css2?family=Gothic+A1:wght@400;500&family=M+PLUS+Rounded+1c:wght@900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Sawarabi+Gothic&family=Zen+Maru+Gothic:wght@400;500;700&display=swap');

body {
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none;
}

.noto-sans{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}

.en{
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.w1090{
    width: 1090px;
    margin-left: auto;
    margin-right: auto;
}

#content{
    color: #333;
}

#content #pankuzu{
    color: #000;
}

#content p{
    line-height: 1.5;
}

#content a{
    transition: all 0.5s ease 0s;
}

#content img{
    max-width: 100%;
}

.pageTit{
    margin:  70px 0;
}

.pageTit h2{
    text-align: center;
    font-weight: 900;
    margin-bottom: 15px;
    font-size: 200%;/*32px*/
    color: #333;
}

.pageTit h2 + .en{
    text-align: center;
    font-size: 125%;/*20px*/
    color: #006CB5;
}

.backBtn{
    text-align: center;
}

.backBtn a{
    border: 1px solid #006CB5;
    display: block;
    border-radius: 28px;
    width: 500px;
    height: 56px;
    line-height: 56px;
    color: #006CB5;
    background: #fff;
    text-align: left;
    margin: 0 auto;
}

.backBtn a span{
    display: block;
    margin: 0 25px;
    font-size: 112.5%;/*18px*/
    font-weight: 700;
    background: url("/img/technical-information/icn_arrow_right.svg") no-repeat right center;
    background-size: 32px auto;
}


/* Index
---------------------------------------------------*/

body#index #content .txtBl{
    margin-bottom: 40px;
}

body#index #content .txtBl p.lead{
    color: #006CB5;
    font-size: 150%;/*24px*/
}

body#index #content .txtBl p + p{
    line-height: 1.75;
    margin-top: 1em;
}

body#index #content .teamBl{
    text-align: center;
    background: #E4F3F5;
    margin-bottom:50px;
    padding:40px 0;
}

body#index #content .teamBl p.tit{
    text-align: center;
    font-size: 150%;/*24px*/
    margin-bottom: 15px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-style: normal;
}

body#index #content .teamBl .tit +  p{
    text-align: center;
    font-size: 112.5%;/*18px*/
    margin-bottom:25px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-style: normal;
}

body#index #content .teamBl div{
    text-align: center;
}

body#index #content .teamBl div a{
    border: 1px solid #006CB5;
    display: block;
    border-radius: 28px;
    width: 363px;
    height: 56px;
    line-height: 56px;
    color: #006CB5;
    background: #fff;
    text-align: left;
    margin: 0 auto;
}

body#index #content .teamBl div a span{
    display: block;
    margin: 0 25px;
    font-size: 112.5%;/*18px*/
    font-weight: 700;
    background: url("/img/technical-information/icn_arrow_right.svg") no-repeat right center;
    background-size: 32px auto;
}

body#index #content .caseBl{
    background: #E4F3F5;
    padding: 90px 0 50px 0;
}

body#index #content .caseBl p.tit{
    font-weight: 900;
    font-size: 200%;
    text-align: center;
    position: relative;
    margin-bottom: 70px;
    z-index: 1;
}

body#index #content .caseBl ul{
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
    max-width: 1155px;
    margin: 0 auto;
}

body#index #content .caseBl ul:before,
body#index #content .caseBl ul:after{
    content: "¡¡";
    width: 240px;
    display: block;
    order: 1;
}

body#index #content .caseBl ul li{
    width: 240px;
    text-align: center;
    margin-bottom: 40px;
}

body#index #content .caseBl ul li div{
    margin-bottom: 24px;
}

body#index #content .caseBl ul li img{
    width: 100%;
    height: auto;
}

body#index #content .caseBl ul p{
    font-size: 112.5%;/*18px*/
    line-height: 1.5;
}

@media only screen and (max-width:767px) {
    .w1090{
        width: auto;
        padding: 0 2%;
    }
    
    .pageTit{
        margin:  40px 0;
    }

    .pageTit h2{
        margin-bottom: 0;
        font-size: 150%;/*24px*/
        line-height: 1.5;
    }

    .pageTit h2 + .en{
        font-size: 100%;/*16px*/
    }

     .backBtn a{
/*        border-radius: 28px;*/
        width: 100%;
        max-width: 350px;
        height: inherit;
        line-height: inherit;
/*        height: 56px;
        line-height: 56px;*/
         
        padding: 0;
        height: inherit;
        line-height: inherit;
        border-radius: 50px;
    }

   .backBtn a span{
        background: url("/img/technical-information/icn_arrow_right.svg") no-repeat right center;
        background-size: 28px auto;

        margin: 12px 25px;
        padding-right: 40px;
        line-height: 1.2;

    }
    
    
    /* Index
    ---------------------------------------------------*/

    body#index #content .txtBl{
        margin-bottom: 30px;
    }

    body#index #content .txtBl p.lead{
        font-size: 125%;/*20px*/
    }

    body#index #content .teamBl{
        margin-bottom:30px;
        padding:30px 2%;
    }

    body#index #content .teamBl p.tit{
        font-size: 150%;/*24px*/
    }

    body#index #content .teamBl .tit +  p{
        font-size: 93.75%;/*15px*/
        margin-bottom: 30px;
        text-align: left;
    }

    body#index #content .teamBl div a{
        border-radius: 40px;
        width: 100%;
        max-width: 332px;
        height: 52px;
        line-height: 52px;
    }

    body#index #content .teamBl div a span{
        margin: 0 25px;
        background: url("/img/technical-information/icn_arrow_right.svg") no-repeat right center;
        background-size: 28px auto;
    }

    body#index #content .caseBl{
        padding: 55px 0 15px 0;
    }

    body#index #content .caseBl p.tit{
        font-size: 150%;/*24px*/
        margin-bottom: 50px;
    }

    body#index #content .caseBl ul{
        padding: 0 2%;
    }

    body#index #content .caseBl ul li{
        width: 45.714285714%;
    }
    
    body#index #content .caseBl ul:before,
    body#index #content .caseBl ul:after{
        display: none;
    }

    body#index #content .caseBl ul li div{
        margin-bottom: 15px;
    }

    body#index #content .caseBl ul p{
        font-size:87.5%;/*14px*/
    }

}

/* value-creation
---------------------------------------------------*/
body#value-creation #content{
    padding-bottom: 160px;
}

body#value-creation .unchorBl{
    margin-bottom: 120px;
}

body#value-creation .unchorBl p{
    margin-bottom:35px;
    text-align: center;
}

body#value-creation .unchorBl ul{
    background:#E4F3F5;
    border-radius: 16px;
    padding: 30px 30px;
    display: flex;
    justify-content: space-between;
}

body#value-creation .unchorBl ul li{
    align-content: center;
}

body#value-creation .unchorBl ul li:nth-child(2){
    margin: 0 5%;
    max-width: 45%;
}

body#value-creation .unchorBl ul a{
    display: block;
    background: url("/img/technical-information/icn_arrow_right.svg") no-repeat right center;
    background-size: 24px auto;
    padding-right: 40px;
    line-height: 1.5;
}

body#value-creation h3{
    line-height: 1.75;
    font-size: 150%;/*24px*/
    margin-bottom: 10px;
    color:#006CB5;
}

body#value-creation #content p{
    line-height: 1.75;
}

body#value-creation .box01{
    margin-bottom: 70px;
}

body#value-creation .box01 .img01{
    margin: 10px auto 0 auto;
    max-width: 864px;
}

body#value-creation .box02{
    background: #E4F3F5;
    padding: 80px 0;
    margin-bottom: 120px;
}


body#value-creation .box02 .subtit{
    font-weight: bold;
    margin-top: 40px;
    font-size: 112.5%;/*18px*/
    margin-bottom: 5px;
}

body#value-creation .box02 .img02{
    margin: 40px auto 120px auto;
    max-width: 1083.5px;
}

body#value-creation .box02 .column02{
    overflow: hidden;
}

body#value-creation .box02 .column02 .floatL{
    float: left;
}

body#value-creation .box02 .column02 .floatR{
    float: right;
}

body#value-creation .box02 .column02 .txt{
    width: 640px;
}

body#value-creation h4{
    font-weight: bold;
    line-height: 1.75;    
    font-size: 112.5%;/*18px*/
    margin-bottom: 5px;
}

body#value-creation .box02 .column02 .img{
    width: 416px;
}

body#value-creation .box02 .column02 > .btn{
    margin-top: 30px;
}

body#value-creation .box02 .column02 >.btn .btn a{
    border: 1px solid #006CB5;
    display: block;
/*    border-radius: 28px;
    height: 56px;
    line-height: 56px;*/
    color: #006CB5;
    background: #fff;
    text-align: left;
    margin: 0 auto;   
    
    padding: 18.5px 0;
    border-radius: 50px;
}

body#value-creation .box02 .column02 >.btn .btn a span{
    display: block;
    margin: 0 25px;
    font-size: 112.5%;/*18px*/
    font-weight: 700;
    background: url("/img/technical-information/icn_blank.svg") no-repeat right center;
    background-size: 32px auto;
    padding-right: 100px;
}

body#value-creation .box03 .img04{
    position: relative;
    max-width: 1090px;
    margin: 60px auto 160px;
    line-height: 2;
}

body#value-creation .box03 .img04 .subtit{
    font-size: 225%;/*36px*/
    text-align: center;
    margin-bottom: 20px;
    line-height: 1.2 !important;
}

body#value-creation .box03 .img04 .img04_txtBl01{
    width:410px ;
    position: absolute;
    left: 65px;
    top: 110px;
}

body#value-creation .box03 .img04 .img04_txtBl01 .subtit{
    color: #E2617F;
}

body#value-creation .box03 .img04 .img04_txtBl02{
    width:430px;
    position: absolute;
    right: 50px;
    top: 110px;
}

body#value-creation .box03 .img04 .img04_txtBl02 .subtit{
    color: #E89919;
}

body#value-creation .box03 .img04 .img04_txtBl03{
    width:528px ;
    position: absolute;
    right: 281px;
    top: 750px;
}

body#value-creation .box03 .img04 .img04_txtBl03 .subtit{
    color: #006CB5;
    font-size:275%;/*44px*/
}

body#value-creation .box03 .img05{
    margin: 60px auto 160px;
    max-width: 739.5px;
}

body .linkHead {
  padding-top: 154px;
  margin-top: -154px;
	display: block;
}

@media only screen and (max-width:767px) {
    body#value-creation #content{
        padding-bottom: 80px;
    }

    body#value-creation .unchorBl{
        margin-bottom: 60px;
    }

    body#value-creation .unchorBl p{
        margin-bottom:30px;
        text-align: left;
    }

    body#value-creation .unchorBl ul{
        padding: 30px 0;
        display: block;
    }
    
    body#value-creation .unchorBl ul li{
        max-width: 270px!important ;
        margin: 0 auto !important;
    }
    
    body#value-creation .unchorBl ul li + li{
        margin-top: 20px !important;
    }
    
    body#value-creation .unchorBl ul a {
        background: url("/img/technical-information/icn_arrow_bottom.svg") no-repeat right center;
        background-size: auto;
        background-size: 24px auto;
    }
    
    body#value-creation h3{
        line-height: 1.5;
        font-size: 125%;/*20px*/
    }
/*
    body#value-creation #content p{
    line-height: 1.75;
    }
*/
    body#value-creation .box01{
        margin-bottom: 50px;
    }

    body#value-creation .box01 .img01{
        margin: 20px auto 0 auto;
        width: 90.857142857%;
    }

    body#value-creation .box02{
        padding: 60px 0;
        margin-bottom: 60px;
    }

    body#value-creation .box02 .subtit{
        margin-top: 30px;
    }

    body#value-creation .box02 .img02{
        margin: 20px auto 30px auto;
    }

    body#value-creation .box02 .column02{
        display: block;
    }

    body#value-creation .box02 .column02 .floatL{
        width: 100%;
        float: inherit;
    }

    body#value-creation .box02 .column02 .floatR{
        width: 100%;
        float: inherit;
    }

    body#value-creation .box02 .column02 .txt{
        width: 100%;
    }

    body#value-creation h4{
    font-weight: bold;
    line-height: 1.75;    
    font-size: 112.5%;/*18px*/
    margin-bottom: 5px;
    }

    body#value-creation .box02 .column02 .img{
        width: 100%;
        margin-top: 30px;
    }

    body#value-creation .box02 .column02 >.btn .btn a{
/*        border-radius: 40px;*/
        padding: 0;
        height: inherit;
        line-height: inherit;
    }

    body#value-creation .box02 .column02 >.btn .btn a span{
        margin: 12px 25px;
        padding-right: 40px;
        line-height: 1.2;
    }

    body#value-creation .box03 .img04{
        max-width: 1090px;
        margin: 40px -2% 80px;
        line-height: 1.8;
/*        font-size: 81.25%;*/
        font-size: calc(20 / 750* 100vw);
    }
    
    body#value-creation .box03 .img04 .subtit{
    font-size: 150%;/*24px*/
    margin-bottom: 15px;
    }

    body#value-creation .box03 .img04 .img04_txtBl01{
        width:70% ;
        left: 15%;
        top: 7%;
        font-size: calc(22 / 750* 100vw);
    }


    body#value-creation .box03 .img04 .img04_txtBl02{
        width:70% ;
        left: 15%;
        top: 30%;
        font-size: calc(22 / 750* 100vw);
    }

    body#value-creation .box03 .img04 .img04_txtBl03{
        width:70% ;
        right: 15%;
        top: 63%;
        font-size: calc(22 / 750* 100vw);
    }

    body#value-creation .box03 .img04 .img04_txtBl03 .subtit{
        font-size:150%;/*24px*/
    }

    body#value-creation .box03 .img05{
        margin: 40px auto 80px;
    }

    body .linkHead {
        padding-top: 70px;
        margin-top: -70px;
    }
    
}

@media only screen and (max-width:420px) {
    body#value-creation .box03  .img04 .img04_txtBl01 {
        width: 65%;
        top: 4%;
        left: 17.5%;
    }
     body#value-creation .box03 .img04 .img04_txtBl02 {
        top: 28.5%;
        width: 65%;
        left: 17.5%;
  }
    
    body#value-creation .box03 .img04 {
        font-size: 155%;
    }
}

/* ÏÂŒÓ
---------------------------------------------------*/
.mainImg{
    margin-bottom: 80px;
    height: 180px;
    position: relative;
    background: #E4F3F5;
}

.mainImg .txt{
background: none !important;
  position: inherit !important;
  width: 1090px !important;
  margin: 0 auto !important;
  padding: 50px 0 0 0 !important;
  height: inherit !important;
}

body#shinkansen-recycling .mainImg .txt,
body#wheelchair .mainImg .txt,
body#double-skin .mainImg .txt,
body#genesta .mainImg .txt,
body#ecolas .mainImg .txt,
body#hydrogen-accumulators .mainImg .txt{
    padding: 30px 0 0 0 !important;
}

body#hydrogen-accumulators .mainImg .txt h2{
    font-size: 162.5%;/*26px*/    
}


.mainImg .txt h2{
    font-size: 200%;/*32px*/    
    font-family: "Noto Sans JP", sans-serif;
    color: #333333;
    font-weight: 900;
    position: relative;
    z-index: 1;
}

.mainImg .illust{
    position: absolute;
    bottom: 0;
    right: 30px;
}

.mainImg .illust img{
    height: 98px;
    width: auto;
}

.mainImg .illust.yusou img{
    height: 122px;
    width: auto;
}

.mainImg .illust.industrial img{
    height: 95.5px;
    width: auto;
}

.mainImg .car img{
    height: 80.5px;
    width: auto;
}

.mainImg .car-electro img{
    height: 82.5px;
    width: auto;
}

.mainImg .electro img{
    height: 90px;
    width: auto;
}

.mainImg .building img{
    height: 64px;
    width: auto;
}

.mainImg .environment img{
    height: 122px;
    width: auto;
}

#templateBl{
    padding-bottom: 120px;
}

#templateBl .column02,
#templateBl .fullBl{
    overflow: hidden;
}

#templateBl .column02 + .column02,
#templateBl .fullBl + .fullBl,
#templateBl .column02 + .fullBl,
#templateBl .fullBl02 + .column02{
    margin-top: 120px;
}

#templateBl .fullBl > div + div{
    margin-top: 30px;
}

#templateBl .floatL{
    float: left;
}

#templateBl .floatR{
    float: right;
}

#templateBl .column02 > .btn.clear{
    clear: both;
}

#templateBl .column02 .txt{
    width: 640px;
}

#templateBl .txt h3{
    line-height: 1.75;
    font-size: 150%;/*24pxx*/
    margin-bottom: 10px;
    color:#006CB5;
}

#templateBl .txt h3 span{
    font-size: 75%;/*18px*/
}

#templateBl .txt p{
    line-height: 1.75;
}

#templateBl .txt p + p{
    margin-top: 10px;
}

#templateBl .txt p.mt20{
    margin-top: 20px;
}

#templateBl .fontS{
    font-size: 87.5%;/*14px*/
}

#templateBl .column02 .img{
    width: 416px;
}

#templateBl .column02 .img img{
    max-width: 100%;
}

#templateBl .column02 .img ul li + li{
    margin-top: 64px;
}

#templateBl .btn{
    margin-top: 30px;
}

#templateBl .btn .btn{
    margin-top: 0;
}

#templateBl .btn .btn a{
    border: 1px solid #006CB5;
    display: block;
/*    border-radius: 28px;
    height: 56px;
    line-height: 56px;*/
    color: #006CB5;
    background: #fff;
    text-align: left;
    margin: 0 auto;    
    
    border-radius: 50px;   
    box-sizing: border-box;
}

#templateBl .btn .btn a span{
    display: block;
    margin: 0 25px;
    font-size: 112.5%;/*18px*/
    font-weight: 700;
    background: url("/img/technical-information/icn_arrow_right.svg") no-repeat right center;
    background-size: 32px auto;
/*    padding-right: 100px;*/
    padding: 18.5px 100px 18.5px 0;
}

#templateBl .bgArea{
    background: #E4F3F5;
    margin: 120px auto;
    padding: 0;
}

#templateBl .bgArea .inner{
    background: #E4F3F5;
    padding: 80px;
    width: inherit;
}

#templateBl .bgArea h4{
    font-size: 150%;/*24px*/
    margin-bottom: 25px;
    color:#006CB5;    
}

#templateBl .bgArea .market ul{
    margin-bottom: -16px;
}

#templateBl .bgArea .market li{
    display: inline-block;
    padding: 0 12px;
    border-radius: 14px;
    background: #D6D6D6;
    line-height: 22px;
    height: 24px;
    color: #A7A7A7;
    font-weight: 500;
    font-size: 92.5%;/*14px*/
    margin-bottom: 16px;
    margin-right: 16px;
}

#templateBl .bgArea .market li.on{
    background: #006CB5;
    color: #fff;
}

#templateBl .bgArea .connection{
    margin-top: 50px;
}

#templateBl .bgArea .connection li + li{
    margin-top: 15px;
}

#templateBl .bgArea .connection li a{
   color: #006CB5;    
}

#templateBl .bgArea .connection li a:hover{
    text-decoration: underline;
    opacity: 1;
}

.pageBtn{
    display: table;
    margin: 0 auto;
}

.pageBtn li{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    min-width: 40px;
}

.pageBtn li.pagetop{
    width: 450px;
}

.pageBtn li.pagetop a{
    font-size: 112.5%;
    font-weight: 700;
    color: #006CB5;    
}

.pageBtn li.pagetop a:hover{
    opacity: 1;
    text-decoration: underline;
}

@media only screen and (max-width:767px) {
    .mainImg{
        margin-bottom: 40px !important;
        height: 230px !important;
        position: relative !important;        
    }

    .mainImg .txt{
        padding: 20px 0 0 0 !important;
        width: auto !important;
    }
    
    body#shinkansen-recycling .mainImg .txt,
    body#wheelchair .mainImg .txt,
    body#car .mainImg .txt,
    body#double-skin .mainImg .txt,
    body#genesta .mainImg .txt,
    body#ecolas .mainImg .txt,
    body#hydrogen-accumulators .mainImg .txt{
        padding: 10px 0 0 0 !important;
    }    
    
    body#hydrogen-accumulators .mainImg .txt h2{
        font-size: 112.5%;/*18px*/
        line-height: 1.2;
    }
    
    .mainImg .txt h2{
        padding: 0 2%;
/*        font-size: 150%;*//*24px*/
        font-size: 137.5%;/*22px*/
        line-height: 1.4;
    }

    .mainImg .txt h2.min{
        font-size: 125%;/*20px*/
    }
    
    .mainImg .illust{
        position: absolute;
        bottom: 10px;
        right: 8%;
        width: 84%;
        height: 80px;
        text-align: center;
    }

    .mainImg .illust img{
        height: auto !important;
        width: auto !important;
        max-width: 100%;
        max-height: 100%;
    }
    
    .mainImg .building,
    .mainImg .car-electro{
        height: auto !important;
    }

    #templateBl{
        padding-bottom: 65px;
    }

    #templateBl .column02 + .column02,
    #templateBl .fullBl + .fullBl,
    #templateBl .column02 + .fullBl,
    #templateBl .fullBl02 + .column02{
        margin-top: 40px;
    }
    
    #templateBl .floatL,
    #templateBl .floatR{
        float: inherit;
    }

    #templateBl .column02 > * + *,
    #templateBl .fullBl > * + *{
        margin-top: 30px;
    }
    
    #templateBl .column02 .txt,
    #templateBl .column02 .img{
        width: 100%;
    }

    #templateBl .txt h3{
        font-size: 125%;/*20px*/
    }
    
    #templateBl .txt p span.spOnly {
        display: inline-block;
    }

    #templateBl .column02 .img ul li + li{
        margin-top: 34px;
    }

    #templateBl .btn .btn a{
        width: 100%;
        min-width: 350px;
        border-radius: 50px;
/*        height: inherit;
        line-height: 1.5;
        box-sizing: border-box;*/
        padding: 0;
        height: inherit;
        line-height: inherit;
    }

    #templateBl .btn .btn a span{
        background: url("/img/technical-information/icn_arrow_right.svg") no-repeat right center;
        background-size: 28px auto;
        padding-right: 30px;
/*        margin: 7px 25px;
        
        margin: 12px 25px;*/
        padding: 12px 40px 12px 0;
        padding-right: 40px;
        line-height: 1.2;
    }

    #templateBl .bgArea{
        margin: 80px auto 65px auto;
    }

    #templateBl .bgArea .inner{
        padding: 35px 15px;
    }

    #templateBl .bgArea h4{
        font-size: 125%;/*20px*/
        margin-bottom: 15px;
    }
    
    #templateBl .bgArea .market ul {
      margin-bottom: 0;
    }

    #templateBl .bgArea .market li{
        margin-bottom: 16px;
        margin-right: 16px;
        margin-left: 0 !important;
        font-size: 92.5%;/*14px*/
        height: inherit;
    }

    #templateBl .bgArea .connection{
        margin-top: 15px;
    }
    
    .pageBtn li.pagetop{
        width: 300px;
    }

}

/* ¥ê¥Ë¥å©`¥¢¥ëÓÃ×·¼ÓCSS*/
footer{
    margin-top: 0;
}
