@charset "utf-8";


/* ▼共通▼ */
.mb1{
  margin-bottom: 1em;
}
.mb2{
  margin-bottom: 2em;
}
.mb30{
  margin-bottom: 30px;
}
.mb60{
  margin-bottom: 60px;
}
.mt1{
  margin-top: 1em;
}
.ml1{
  margin-left: 1em;
}
.taC{
  text-align: center !important;
}
.taR{
  text-align: right !important;
}
.taL{
  text-align: left !important;
}
.bold{
  font-weight: bold;
}

.viewPc{
  display: block;
}
.viewSp{
  display: none;
}

@media all and (min-width: 768px) and (max-width: 1024px) {
  .viewPc{
    display: block;
  }
  .viewSp{
    display: none;
  }
}

/* SP */
@media screen and ( max-width: 767px ) {
  .viewPc{
    display: none;
  }
  .viewSp{
    display: inline-block;
  }
  .mb60{
    margin-bottom: 20px;
  }
}


/* TOP PAGE
----------------------------------------*/
/* !Reseting
---------------------------------------------------------- */
body, div, pre, p, blockquote, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td
{ margin: 0; padding: 0;}
input, textarea
{ margin: 0; font-size: 100%;}
label
{ cursor: pointer;}
table
{ border-collapse: collapse; border-spacing: 0; font-size: 100%;}
fieldset, img
{ border: 0;}
img
{ vertical-align: top; max-width: 100%;}
address, caption, cite, code, dfn, em, th, var
{ font-style: normal; font-weight: normal;}
ol, ul
{ list-style: none;}
caption, th
{ text-align: left;}
h1, h2, h3, h4, h5, h6
{ font-size: 100%; font-weight: normal;}
q:after, q:before
{ content:'';}
a, input,select,textarea,button
{ outline: none; }
abbr, acronym
{ border: 0;}
*, *:before, *:after {box-sizing: border-box;}

.hide {
  display: none;
}
main a {
  color: #000!important;
  text-decoration: none;
  transition: all 0.5s !important;
  -moz-transition: all 0.5s !important;
  -webkit-transition: all 0.5s !important;
}
main a:hover {
  color: #000!important;
  opacity: .8;
  transition: all 0.5s !important;
  -moz-transition: all 0.5s !important;
  -webkit-transition: all 0.5s !important;
}

main .op {
  transition: all 0.5s !important;
  -moz-transition: all 0.5s !important;
  -webkit-transition: all 0.5s !important;
}
main .op:hover {
  opacity: .8;
  transition: all 0.5s !important;
  -moz-transition: all 0.5s !important;
  -webkit-transition: all 0.5s !important;
}


.sp{display: none!important;}
@media screen and (max-width: 767px) {
  .pc{display: none!important;}
  .sp{display: block!important;}
}

/* !Clearfix
---------------------------------------------------------- */
.clearfix {
  display: block;
  min-height: 1%;
}
.clearfix:after {
  clear: both;
  content:".";
  display: block;
  height: 0;
  visibility: hidden;
}
* html .clearfix {
  height: 1%;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}
/*common*/
.inner{
  padding: 0 20px;
  max-width: 1200px;
  position: relative;
  margin: 0 auto;
}
/*mainv*/
.bx-wrapper .bx-pager{
  /*bottom: 40px;*/
  bottom: 3%;
}
.bx-wrapper .bx-pager.bx-default-pager a {
    background: #666;
    width: 96px;
    height: 28px;
    margin: 0 10px;
    outline: 0;
    -moz-border-radius: 0px;
    -webkit-border-radius: 0px;
    border-radius: 0px;
    position: relative;
}
.bx-wrapper .bx-pager.bx-default-pager div:nth-child(1) a:before {
content: "CASE";
display: inline-block;
position: absolute;
color: #fff;
top: 52%;
left: 0;
transform: translate(-20%, -50%);
-webkit-transform: translate(-20%, -50%);
-ms-transform: translate(-50%, -50%);
}
.bx-wrapper .bx-pager.bx-default-pager div:nth-child(2) a:before {
content: "脱炭素";
display: inline-block;
position: absolute;
color: #fff;
top: 52%;
left: 0;
transform: translate(-30%, -50%);
-webkit-transform: translate(-30%, -50%);
-ms-transform: translate(-50%, -50%);
}
.bx-wrapper .bx-pager.bx-default-pager div:nth-child(3) a:before {
content: "レポート";
display: inline-block;
position: absolute;
color: #fff;
top: 52%;
left: 0;
transform: translate(-55%, -50%);
-webkit-transform: translate(-55%, -50%);
-ms-transform: translate(-50%, -50%);
}
.bx-wrapper .bx-pager.bx-default-pager div:nth-child(4) a:before {
content: "SDGs";
display: inline-block;
position: absolute;
color: #fff;
top: 52%;
left: 0;
transform: translate(-20%, -50%);
-webkit-transform: translate(-20%, -50%);
-ms-transform: translate(-50%, -50%);
}
.bx-wrapper .bx-pager.bx-default-pager div:nth-child(1) a.active:before,
.bx-wrapper .bx-pager.bx-default-pager div:nth-child(2) a.active:before,
.bx-wrapper .bx-pager.bx-default-pager div:nth-child(3) a.active:before,
.bx-wrapper .bx-pager.bx-default-pager div:nth-child(4) a.active:before{
  color: #fff;
}
.bx-wrapper .bx-pager.bx-default-pager div:nth-child(1) a:hover:before,
.bx-wrapper .bx-pager.bx-default-pager div:nth-child(2) a:hover:before,
.bx-wrapper .bx-pager.bx-default-pager div:nth-child(3) a:hover:before,
.bx-wrapper .bx-pager.bx-default-pager div:nth-child(4) a:hover:before{
  color: #fff;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover, .bx-wrapper .bx-pager.bx-default-pager a.active{
    background: #D00F31;
}
/*.bx-wrapper .bx-pager.bx-default-pager a:hover{background: #0C2661;}*/

.slick-dots{
  bottom:10px;
}
.slick-dots li {
  margin: 0 4px; 
  width: 96px;
  background: #666;
}
.slick-dots li button:before {
  content: "CASE";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 96px;
  opacity: 1;
}
.slick-dots li:nth-child(2) button:before {
  content: "脱炭素";
}
.slick-dots li:nth-child(3) button:before {
  content: "レポート";
}
.slick-dots li.slick-active button:before{
  background: #D00F31;
  color: #fff !important;
  font-weight: bold;
  opacity: 1;
}



@media screen and (max-width: 767px) {
  .bx-wrapper .bx-pager.bx-default-pager a {
    background: #666;
    width: 80px;
    height: 25px;
    margin: 0 5px;
    outline: 0;
    -moz-border-radius: 0px;
    -webkit-border-radius: 0px;
    border-radius: 0px;
  }
  .bx-wrapper .bx-pager.bx-default-pager div:nth-child(1) a:before {
    top: 52%;
    left: 0;
    transform: translate(-30%, -50%);
    -webkit-transform: translate(-30%, -50%);
    -ms-transform: translate(-50%, -50%);
    font-size: 12px;
  }
  .bx-wrapper .bx-pager.bx-default-pager div:nth-child(2) a:before {
    top: 52%;
    left: 0;
    transform: translate(-35%, -50%);
    -webkit-transform: translate(-35%, -50%);
    -ms-transform: translate(-50%, -50%);
    font-size: 12px;
  }
  .bx-wrapper .bx-pager.bx-default-pager div:nth-child(3) a:before {
    top: 52%;
    left: 0;
    transform: translate(-60%, -50%);
    -webkit-transform: translate(-60%, -50%);
    -ms-transform: translate(-50%, -50%);
    font-size: 12px;
  }
  .bx-wrapper .bx-pager.bx-default-pager div:nth-child(4) a:before {
    top: 52%;
    left: 0;
    transform: translate(-30%, -50%);
    -webkit-transform: translate(-30%, -50%);
    -ms-transform: translate(-50%, -50%);
    font-size: 12px;
  }
  .bx-wrapper {margin-bottom: 0;padding-bottom: 12%}
}


/*index*/
.indexWrap{
  background-color: #fff
}
.indexSec01{
  padding: 65px 0 0;
}
.indexSec01 .p01{
  text-align: center;
  font-size: 48px;
  margin-bottom: 30px;
  font-weight: bold;
}
.indexSec01 .p02{
  text-align: center;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin-bottom: 75px;
}
.indexSec01 .box a{
  display: block;
  position: relative;
  opacity: 1;
}
.indexSec01 .box a:hover{opacity: .7}
.indexSec01 .p04{
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  /*width: 25%;*/
  height: 100%;
  background: #E6E6E6;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 35px;
}
.indexSec01 .p04 span{
  min-width: 206px;
  padding: 0 10px 10px;
  font-size: 21px;
  font-weight: bold;
  color: #333;
  border-bottom: 5px solid #D00F31;
}
.indexSec01 .p05{
  right: 0;
  left: auto
}
.indexSec01 .p06{
  margin-top: 120px;
  font-size: 15px;
  text-align: center;
}
.indexSec01 .p06 a{color: #000}

.hdS{
  margin-bottom: 20px;
}
.hdS_title{
  font-size: 28px;
  margin-bottom: 15px;
  font-weight: bold;
}
.hdS_txt{
  font-size: 15px;
}
.indexSec02 {margin-bottom: 90px;}
.indexSec02 .hdS{margin-bottom: 90px;}
.indexUl01{
  display: flex;
  flex-wrap: wrap;
  margin: 0 -12px
}
.indexUl01 li{
  width: calc(33.33% - 24px);
  margin: 0 12px 24px;
}

.linkBox01 .img{
  position: relative;
  padding-bottom: 5px;
  background: url(../../../../../../../../content/dam/nttcom/hq/jp/about-us/csr/top/line_bg.gif) repeat-y center bottom;
}
.linkBox01 .img2{
  position: relative;
}
.linkBox01 .img img,
.linkBox01 .img2 img{
  vertical-align: bottom;
}
.linkBox01 .img:before{
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: calc(100% - 5px);
  opacity: 0;
  background-color: #fff;
  transition: opacity .5s;
}
.linkBox01 .img2:before{
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: 0;
  background-color: #fff;
  transition: opacity .5s;
}
.linkBox01 a:hover .img:before{opacity: .7}
.linkBox01 a:hover .img2:before{opacity: .7}
.linkBox01 .img.none:before{
  opacity: .7;
}
.linkBox01 a:hover .img.none:before{opacity: 0}

.linkBox01 .txt{
  font-size: 15px;
  margin-top: 15px;
}

.indexUl02{
  margin-top: 55px;
}
.indexUl02 .img{
  padding-bottom: 0;
  background-image: none
}

.indexSec04{
  margin: 160px 0;
  position: relative;
  z-index: 2;
}
.indexSec04 .wrap{
  background: url(../../../../../../../../content/dam/nttcom/hq/jp/about-us/csr/top/bg_sec04.jpg)no-repeat center center;
  background-size: cover;
  padding: 80px 0;
}
.indexSec04 .box{
  padding: 35px;
  position: relative;
  z-index: 1;
  background-color: rgba(255,255,255,0.9)
}

.indexUl03{
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}
.indexUl03 li{
  width: calc(33.2% - 30px);
  margin: 0 15px 28px;
}

.indexUl03_2{
  display: flex;
  flex-wrap: wrap;
  margin: 0 -14px;
}
.indexUl03_2 li{
  width: calc(50% - 28px);
  margin: 0 14px 28px;
}

.indexSec04 .p01{
  font-size: 20px;
  margin: 20px 0 20px;
  font-weight: bold;
}
.indexUl04{
  display: flex;
  flex-wrap: wrap;
  margin: 0 -14px
}
.indexUl04 li{
  width: calc(25% - 28px);
  margin: 0 14px 28px;
}
.indexSec04 .linkBox01.blackBox .img{
  position: relative;
  padding-bottom: 5px;
  background-image: linear-gradient(to right, #0C2661 0% 50%,#0C2661 50.1% 100%);
}
.linkBox01.blackBox .img:before{
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: calc(100% - 5px);
  opacity: .5;
  background-color: #000;
  transition: opacity .5s;
}

.indexSec04 .linkBox01 .img.pr01{
  background:#225ba9;
}
.indexSec04 .linkBox01 .img.pr02{
  background:#007858;
}
.indexSec04 .linkBox01 .img.pr03{
  background:#de1d2f;
}
.indexSec04 .linkBox01 .img.pr04{
  background:#7d3086;
}

.indexSec05{
  margin-bottom: 100px
}
.indexSec05 .hdS{margin-bottom: 80px}

.indexSec06{
  margin-bottom: 160px;
}
.indexSec06 .hdS{margin-bottom: 80px}
.indexDl01{
  display: inline-flex;
  width: 100%;
  text-align: center;
}
.indexDl01.tl{text-align: left;}
.indexDl01.half{width: 49.5%}
.indexDl01 dt{
  font-weight: bold;
  width: 285px;
  height: 128px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 20px;
  line-height: 1.6;
  border-top: 5px solid #D00F31; 
  border-bottom: 5px solid #D00F31; 
  margin-right: 50px;
  margin-top: 20px;
}
.indexDl01 dd{
  width: calc(100% - 285px - 50px)
}
.indexUl06{
  display: flex;
  flex-wrap: wrap;
  margin: 0 -20px
}
.indexUl06 li{
  width: 240px;
  margin: 0 20px 40px;
}
.indexUl06 .img{
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.indexUl06 .img img{max-height: 100%}
.indexUl06 .txt{
  font-size: 15px;
  line-height: 24px;
  margin-top: 10px
}

.indexSec07{
  position: relative;
  z-index: 2
}
.indexSec07:before{
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 750px;
  transform: translate(-50%,-44%);
  background: url(../../../../../../../../content/dam/nttcom/hq/jp/about-us/csr/top/bg_sec07.png)no-repeat center center;
  background-size: cover;
  z-index: -1;
}
.indexSec07 .box{
  display: flex;
  justify-content: space-between;
}
.indexSec07 .box .item{
  width: calc(50% - 25px);
}
.indexSec07 .box .img2{ margin-bottom: 24px}
.indexSec07 .indexDl02 + .indexDl02{margin-top:70px }
.indexDl02 dt{
  padding-bottom: 5px;
  background: url(../../../../../../../../content/dam/nttcom/hq/jp/about-us/csr/top/line_bg.gif) repeat-y center bottom;
}
.indexDl02 dd{
  font-size: 15px;
  margin-top: 10px;
}

.indexSec08{
  margin: 160px 0;
}
.indexSec08 .box{
  border: 2px solid #000;
}
.indexSec08 .tabLink{
  display: flex;
  justify-content: center;
  padding: 37px 0;
}
.indexSec08 .line{
  padding-bottom: 5px;
  background: url(../../../../../../../../content/dam/nttcom/hq/jp/about-us/csr/top/line_bg.gif) repeat-y center bottom;
}
.indexSec08 .tabLink li{
  margin: 0 25px;
  width: 130px;
}
.indexSec08 .tabLink li .title{
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  padding-top: 5px;
}
.indexSec08 .tabLink a{
  padding-bottom: 17px;
  display: block;
  border-bottom: 5px solid transparent;
  box-sizing: border-box;
}
.indexSec08 .tabLink a.is_active{
  border-bottom-color: #666;
}
.indexSec08 .tabLink a .on{display: none;}
.indexSec08 .tabLink a.is_active .no{display: none;}
.indexSec08 .tabLink a.is_active .on{display: block;}
.indexSec08 .tabBox{
  display: none;
  padding: 25px 20px 30px;
  text-align: center;
}
.indexSec08 .tabBox.is_active{display: block;}
.indexSec08 .tabBox .title{
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 20px;
}
.indexSec08 .tabBox .txt{
  font-size: 15px;
  line-height: 2.1;
}

.indexSec09{
  margin-bottom: 100px;
}
.indexSec09 .link{
  text-align: center;
  margin-top: 80px
}
.indexSec09 .link img{width: 350px}
.indexUl09{
  display: flex;
  flex-wrap: wrap;
  margin: 0 -20px
}
.indexUl09 li{
  width: calc(33.33% - 40px);
  margin: 0 20px 40px;
}

@media all and (min-width: 768px) and (max-width: 1024px) {
  .indexSec06{
    margin-bottom: 40px;
  }
  .indexSec06 .hdS{margin-bottom: 20px}
  .indexDl01{
    display: block;
    width: 100%;
    text-align: center;
  }
  .indexDl01.tl{text-align: left;}
  .indexDl01.half{width: 100%}
  .indexDl01 dt{
    width: auto;
    height: 64px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 14px;
    line-height: 1.6;
    border-top: 3px solid #D00F31; 
    border-bottom: 3px solid #D00F31; 
    margin: 0 0 20px;
  }
  .indexDl01 dd{
    width: auto;
  }
  .indexUl06{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 -10px
  }
  .indexUl06 li{
    width: auto;
    max-width: 200px;
    margin: 0 10px 20px;
  }
  .indexUl06 .img{
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .indexUl06 .img img{max-height: 100%}
  .indexUl06 .txt{
    font-size: 12px;
    line-height: 1.6;
    margin-top: 5px
  }
}


@media screen and (max-width: 767px) {
   .indexSec01{
    padding: 35px 0 0;
  }
  .indexSec01 .p01{
    text-align: center;
    font-size: 24px;
    margin-bottom: 15px;
  }
  .indexSec01 .p02{
    text-align: left;
    font-size: 12px;
    line-height: 1.6;
    letter-spacing: 0.1em;
    margin-bottom: 35px;
  }
  .indexSec01 .box a{
    display: block;
    position: relative;
    opacity: 1;
  }
  .indexSec01 .box a:hover{opacity: .7}
  .indexSec01 .p03{position: relative; background:#E6E6E6; padding-bottom: 15px; }
  .indexSec01 .p03:before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-left:none;
    border-right: 60px solid #E6E6E6;
  }
  .indexSec01 .p03 img{ margin-left: -20px;}
  .indexSec01 .p04{
    position: static;
    left: 0;
    top: 0;
    z-index: 2;
    /*width: 25%;*/
    height: 100%;
    background: #E6E6E6;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 17px;
  }
  .indexSec01 .p04 span{
    min-width: 200px;
    text-align: center;
    padding: 0 5px 5px;
    font-size: 12px;
    font-weight: bold;
    color: #333;
    border-bottom: 3px solid #D00F31;
  }
  .indexSec01 .p05{
    /*display: none;*/
    right: 0;
    left: auto;
  }
  .indexSec01 .p05 span{
    font-size: 0;
    padding: 0;
  }
  .indexSec01 .p06{
    margin-top: 30px;
    font-size: 12px;
    text-align: center;
  }
  .indexSec01 .p06 a{color: #000}

  .hdS{
    margin-bottom: 10px;
  }
  .hdS_title{
    font-size: 18px;
    margin-bottom: 8px;
  }
  .hdS_txt{
    font-size: 12px;
  }
  .indexSec02 {margin-bottom: 45px;}
  .indexSec02 .hdS{margin-bottom: 45px;}
  .indexUl01{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -6px
  }
  .indexUl01 li{
    width: calc(100% - 12px);
    margin: 0 6px 20px;
  }

  .linkBox01 .img{
    position: relative;
    padding-bottom: 5px;
    background: url(../../../../../../../../content/dam/nttcom/hq/jp/about-us/csr/top/line_bg.gif) repeat-y center bottom;
  }
  .linkBox01 .img2{
    position: relative;
  }
  .linkBox01 .img:before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: calc(100% - 3px);
    opacity: 0;
    background-color: #fff;
    transition: opacity .5s;
  }
  .linkBox01 .img2:before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-color: #fff;
    transition: opacity .5s;
  }
  .linkBox01 a:hover .img:before{opacity: .7}
  .linkBox01 a:hover .img2:before{opacity: .7}
  .linkBox01 .txt{
    font-size: 12px;
    margin-top: 8px;
  }

  .indexUl02{
    margin-top: 25px;
  }
  .indexUl02 li{
    width: calc(50% - 12px);
  }
  .indexUl02 .img{
    padding-bottom: 0;
    background-image: none
  }

  .indexSec04{
    margin: 40px 0;
    position: relative;
    z-index: 2;
  }
  .indexSec04 .wrap{
    padding: 30px 0;
  }
  .indexSec04 .box{
    padding: 15px;
    background-color: rgba(255,255,255,0.8);
    position: relative;
    z-index: 1;
  }
  .indexSec04:before{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 80%;
    transform: translate(-50%,-50%);
    background: url(../../../../../../../../content/dam/nttcom/hq/jp/about-us/csr/top/bg_sec04.jpg)no-repeat center center;
    background-size: cover;
    z-index: -1;
  }
  .indexUl03{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -6px
  }
  .indexUl03 li{
    width: calc(50% - 12px);
    margin: 0 6px 12px;
  }
  .indexUl03_2{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -6px
  }
  .indexUl03_2 li{
    width: calc(50% - 12px);
    margin: 0 6px 12px;
  }
  .indexSec04 .p01{
    font-size: 14px;
    margin: 25px 0 10px;
  }
  .indexUl04{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -6px
  }
  .indexUl04 li{
    width: calc(50% - 12px);
    margin: 0 6px 12px;
  }
  .indexSec04 .linkBox01.blackBox .img{
    position: relative;
    padding-bottom: 3px;
    background-image: linear-gradient(to right, #0C2661 0% 50%,#0C2661 50.1% 100%);
  }
  .indexSec04 .linkBox01.blackBox .img img{width: 100%}
  .linkBox01.blackBox .img:before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: calc(100% - 3px);
    opacity: 0;
    background-color: #000;
    transition: opacity .5s;
  }
  .linkBox01.blackBox .img.full:before{
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: calc(100%);
    opacity: 0;
    background-color: #000;
    transition: opacity .5s;
  }

  .indexSec05{
    margin:0px 0 40px
  }
  .indexSec05 .hdS{margin-bottom: 20px}

  .indexSec06{
    margin-bottom: 40px;
  }
  .indexSec06 .hdS{margin-bottom: 20px}
  .indexDl01{
    display: block;
    width: 100%;
    text-align: center;
  }
  .indexDl01.tl{text-align: left;}
  .indexDl01.half{width: 100%}
  .indexDl01 dt{
    width: auto;
    height: 64px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 14px;
    line-height: 1.6;
    border-top: 3px solid #D00F31; 
    border-bottom: 3px solid #D00F31; 
    margin: 0 0 20px;
  }
  .indexDl01 dd{
    width: auto;
  }
  .indexUl06{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 -10px
  }
  .indexUl06 li{
    width: auto;
    max-width: 200px;
    margin: 0 10px 20px;
  }
  .indexUl06 .img{
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .indexUl06 .img img{max-height: 100%}
  .indexUl06 .txt{
    font-size: 12px;
    line-height: 1.6;
    margin-top: 5px
  }

  .indexSec07{
    position: relative;
    z-index: 2;
    background-color: #dcdddd;
    padding: 30px;
  }
  .indexSec07:before{
    content: none;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 350px;
    transform: translate(-50%,-44%);
    background: url(../../../../../../../../content/dam/nttcom/hq/jp/about-us/csr/top/bg_sec07.png)no-repeat center center;
    background-size: cover;
    background: #dcdddd;
    z-index: -1;
  }
  .indexSec07 .box{
    display: block;
    justify-content: space-between;
  }
  .indexSec07 .box .item{
    width: auto;
    margin-bottom: 20px
  }
  .indexSec07 .box .img2{margin-bottom: 20px}
  .indexSec07 .indexDl02 + .indexDl02{margin-top:20px }
  .indexDl02 dt{
    padding-bottom: 3px;
    background: url(../../../../../../../../content/dam/nttcom/hq/jp/about-us/csr/top/line_bg.gif) repeat-y center bottom;
  }
  .indexDl02 dd{
    font-size: 12px;
    margin-top: 5px;
  }

  .indexSec08{
    margin: 40px 0;
  }
  .indexSec08 .box{
    border: 2px solid #000;
  }
  .indexSec08 .tabLink{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: 30px 10px 15px;
  }
  .indexSec08 .line{
    padding-bottom: 3px;
    background: url(../../../../../../../../content/dam/nttcom/hq/jp/about-us/csr/top/line_bg.gif) repeat-y center bottom;
  }
  .indexSec08 .tabLink li{
    margin: 0 10px 20px;
    width: 80px;
  }
  .indexSec08 .tabLink li .title{
    font-size: 13px;
  }
  .indexSec08 .tabLink a{
    padding-bottom: 10px;
    display: block;
    border-bottom: 3px solid transparent
  }
  .indexSec08 .tabLink a.is_active{
    border-bottom-color: #666;
  }
  .indexSec08 .tabLink a .on{display: none;}
  .indexSec08 .tabLink a.is_active .no{display: none;}
  .indexSec08 .tabLink a.is_active .on{display: block;}
  .indexSec08 .tabBox{
    display: none;
    padding: 15px 15px 15px;
    text-align: center;
  }
  .indexSec08 .tabBox.is_active{display: block;}
  .indexSec08 .tabBox .title{
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  .indexSec08 .tabBox .txt{
    /*text-align: left;*/
    font-size: 12px;
    line-height: 1.8;
  }
  .indexSec08 .tabBox .txt br{display: none;}

  .indexSec09{
    margin-bottom: 40px;
  }
  .indexSec09 .link{
    text-align: center;
    margin-top: 30px
  }
  .indexSec09 .link img{width: 200px}
  .indexUl09{
    display: block;
    flex-wrap: wrap;
    margin: 0 -20px
  }
  .indexUl09 li{
    width: calc(100% - 40px);
    margin: 0 20px 20px;
  } 
}

.indexSec04 .line1{
  margin-bottom: 40px;
}
.indexSec04 .line1 img{
  width: 100%;
  height: auto;
}