/* #mainImg
================================================ */
#engineering #gHeader { background: transparent; border-bottom: 0; }

@media all and (min-width: 600px) { #engineering #gHeader { background: #fff; } }

.is_sticky #gHeader { background: #fff !important; }

/* info
------------------------------------- */
#info .mod_inner01 { padding-top: 40px; padding-bottom: 20px;}

/* intro
------------------------------------- */
#intro { position: relative; background: url(../img/energy/bg_intro01_sp.png) no-repeat center bottom/cover; /* &:before { content: ''; position: absolute; top: -150px; left: 0; height: 150px; width: 100%; background: #eee; } */ }
#intro .introInner { padding-top: 40px; padding-bottom: 55px; }
#intro .intro_ttl{ margin-bottom: 20px; text-align: center; font-size: 1.6em;}
@media all and (min-width: 600px) { #intro { background-image: url(../img/energy/bg_intro01_pc.png); }
  #intro:before { display: none; }
  #intro .introInner { padding-top: 50px; padding-bottom: 80px; } 
  #intro .intro_ttl{font-size: 2em; margin-bottom: 40px;}
}

/* contract
------------------------------------- */
#contract .inner { padding-top: 15px; padding-bottom: 55px; }

#contract .lead { margin-bottom: 25px; }

#contract .list .item { background: #fff; border: 1px solid #c6c6c6; padding: 23px 25px 25px; position: relative; }

#contract .list .item + .item { margin-top: 15px; }

#contract .list .item .copy { font-weight: 700; border-bottom: 1px solid #c6c6c6; position: relative; margin-bottom: 9px; padding-bottom: 14px; }

#contract .list .item .bgTxt { position: absolute; bottom: -17px; right: 0; font-size: 3rem; font-weight: 700; letter-spacing: .04em; color: #016cb1; opacity: .2; }

#contract .market { background: #eeeeee; margin-top: 30px; padding: 25px 20px; }

#contract .market .subTit { margin-bottom: 15px; font-size: 1.7rem; font-weight: 700; color: #1cacda; text-align: center; }

#contract .market .marketList { margin-bottom: 0; }

@media all and (min-width: 600px) { #contract .inner { padding-top: 60px; padding-bottom: 100px; }
  #contract .lead { margin-bottom: 52px; text-align: center; }
  #contract .list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  #contract .list .item { width: calc(33.33% - 17px); box-sizing: border-box; padding: 27px 30px 35px; }
  #contract .list .item + .item { margin-top: 0; }
  #contract .list .item .copy { font-size: 2rem; line-height: 1.5; margin-bottom: 12px; padding-bottom: 15px; }
  #contract .list .item .bgTxt { bottom: -22px; font-size: 4rem; }
  #contract .market { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-top: 50px; padding: 32px 51px 47px; }
  #contract .market .subTit { width: 100%; margin-bottom: 13px; font-size: 2.4rem; }
  #contract .market .marketList { width: 33.33%; box-sizing: border-box; } }

/* performance
------------------------------------- */
#performance { background: #eeeeee; }

#performance .inner { padding-top: 50px; padding-bottom: 55px; }

#performance .lead { margin-bottom: 30px; }

#performance .secPerformance + .secPerformance { margin-top: 40px; }

#performance .secPerformance .table th { background: #f3f3f3; font-weight: 700; }

#performance .secPerformance .table td { background: #fff; }

#performance .secPerformance .table .list { margin-bottom: 0; }

#performance .secPerformance .os { width: 100%; overflow: auto; white-space: nowrap; }

#performance .secPerformance .os .table { width: 1100px; }

#performance .secPerformance .os .table table { width: 100%; }

#performance .secPerformance .os .table th { background: #f3f3f3; border-top: 1px solid #e2e2e2; padding: 7px 0 8px; text-align: center; font-size: 1.3rem; font-weight: 700; }

#performance .secPerformance .os .table thead th { width: 230px; border-bottom: 1px solid #e2e2e2; border-left: 1px solid #e2e2e2; }

#performance .secPerformance .os .table thead th:first-child { width: 0; }

#performance .secPerformance .os .table tbody tr:nth-child(n+2) td { padding: 0 0; }

#performance .secPerformance .os .table tbody tr:nth-child(2) th { width: 202px; }

#performance .secPerformance .os .table tbody tr:nth-child(2) th + th { width: 0; border-left: 1px solid #e2e2e2; }

#performance .secPerformance .os .table th { vertical-align: middle; text-align: center; padding: 7px 0 8px; }

#performance .secPerformance .os .table th .note { display: inline-block; margin-top: 0; color: #333; }

#performance .secPerformance .os .table td { vertical-align: top; background: #fff; border-top: 1px solid #e2e2e2; border-left: 1px solid #e2e2e2; padding: 20px 25px; font-size: 1.3rem; }

#performance .secPerformance .os .table .circle { color: #016cb1; font-weight: 700; text-align: center; }

@media all and (min-width: 600px) { #performance .inner { padding-top: 114px; padding-bottom: 100px; }
  #performance .lead { margin-bottom: 42px; text-align: center; }
  #performance .secPerformance + .secPerformance { margin-top: 91px; }
  #performance .secPerformance .os .table th { text-align: center; padding: 16px 0; font-size: 1.5rem; }
  #performance .secPerformance .os .table th .note { display: inline; margin-top: 0; margin-left: 0; padding-left: 0; font-size: 1.1rem; }
  #performance .secPerformance .os .table td { font-size: 1.5rem; }
  #performance .secPerformance .os .table .circle { font-size: 3.2rem; } }

/* effort
------------------------------------- */
#effort .inner { padding-top: 50px; padding-bottom: 40px; }

#effort .lead { margin-bottom: 30px; }

#effort .secEffort + .secEffort { margin-top: 35px; }

#effort .secEffort .txt + .list { margin-top: 15px; }

@media all and (min-width: 600px) { #effort .inner { padding-top: 93px; padding-bottom: 75px; }
  #effort .lead { margin-bottom: 43px; text-align: center; }
  #effort .secEffort + .secEffort { margin-top: 64px; }
  #effort .secEffort .txt + .txt { margin-top: 11px; }
  #effort .secEffort .txt + .list { margin-top: 11px; } }

/* other
------------------------------------- */
#other { background: #eeeeee; }

#other .otherInner { padding-top: 50px; margin-bottom: 60px; }

@media all and (min-width: 600px) { #other .otherInner { padding-top: 90px; padding-bottom: 70px; } }


/*  #back-btn
================================================== */
#back-btn .areaBtn { margin: 0 -18px; padding: 25px 45px; background: #e5f0f7; }
#back-btn .areaBtn .btn { margin-top: 0; }
#back-btn .areaBtn .btn a { height: auto; padding: 13px 0 14px; line-height: 1.4; text-align: center; }

@media all and (min-width: 600px) {
  #back-btn .areaBtn .btn { max-width: 350px; width: 350px; margin: 0 auto; }
  #back-btn .areaBtn .btn a { padding: 20px 0 19px; } }


