
/*私たちがめざすもの*/
#ourvision .headline{
 text-align: right;
 color:rgba(45,156,80,1);
 margin:1em 0;
}
#ourvision .headline span{
 display:inline-block;
 margin-right:1em;
}
#ourvision .headline::after{
  content: "";
  display: inline-block;
  width:40px;
  height:40px;
  background: url(../img/VISION_icon.png) center no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin:0 0 .5em 1em;
}
 /*////////////////////*/
#ourvision p.catch span{border:solid 1px #2d9c50;}
#ourvision h2{background:rgba(45,156,80,1);}
#ourvision h2::before {border-top: 15px solid rgba(45,156,80,1);}

/*//////box_area/////*/
#ourvision .box_area{
 border: solid 2px #2d9c50;
 border-radius:10px;
}
#ourvision .box_area h3{position: relative;}
#ourvision .box_area h3:after {
 content: "";
 position: absolute;
 left: 0;
 bottom: -15px;
 width: 100%;
 height: 5px;
 background: -webkit-repeating-linear-gradient(-45deg, #2d9c50, #2d9c50 2px, #fff 2px, #fff 4px);
 background: repeating-linear-gradient(-45deg, #2d9c50, #2d9c50 2px, #fff 2px, #fff 4px);
}
#ourvision .box_area h3::before {
 content: "";
 position: absolute;
 left: 0;
 top: -15px;
 width: 100%;
 height: 5px;
 background: -webkit-repeating-linear-gradient(-45deg, #2d9c50, #2d9c50 2px, #fff 2px, #fff 4px);
 background: repeating-linear-gradient(-45deg, #2d9c50, #2d9c50 2px, #fff 2px, #fff 4px);
}

#ourvision .box_area p:nth-of-type(1)::first-letter{
font-size: 160%;
color:rgba(45,156,80,1);
 }

 /*//////sub_menu/////*/
 #ourvision .sub_menu a{
  display: block;
  margin: auto;
  color:rgba(45,156,80,1);
 }
 #ourvision .sub_menu li{
  border-left:solid 1px rgba(45,156,80,1);
  text-align: center;
  color: rgba(45,156,80,1) !important;
 }
 #ourvision .sub_menu li:last-child{
  border-right:solid 1px rgba(45,156,80,1);
 }

 #ourvision #message .sub_menu li:nth-child(1),
 #ourvision #materiality .sub_menu li:nth-child(2),
 #ourvision #system .sub_menu li:nth-child(3),
 #ourvision #finance .sub_menu li:nth-child(4),
 #ourvision .sub_menu li:hover{
 text-decoration:underline;
 -webkit-text-decoration-style: wavy;
 -moz-text-decoration-style: wavy;
 text-decoration-style:wavy;
 text-underline-offset: 3px;
 }
 /*////////////////////*/

#ourvision .catch{color:rgba(45,156,80,1);}

@media all and (min-width:960px) {
 #ourvision .catch{
  text-align: center;
 }
 #ourvision .sub_menu li{
  padding:0 2em;
 }
}
@media all and (max-width:961px) {
 #ourvision .catch{
  text-align: left;
 }
 #ourvision .sub_menu li{
  padding:0 1em;
  min-height:3em;
 }
}

/*トップメッセージ */
#message .photo{
 display: block;
 width: 100%;
 height:0;
 padding-top:138%;
 background-position: center center !important;
}
#message figcaption{
font-size: 100%;
line-height:110%;
text-align: center;}
#message p small{
 display: block;
 line-height: normal;
}
@media all and (min-width:960px) {
 #message .box_list li{
  display:flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
 }
#message figure{width: 320px;
padding-left:50px;}
#message figcaption{margin-top:1em;}
}
@media all and (max-width:961px) {
#message figure{width:80%;margin:0 auto;}
#message figcaption{margin:1em auto 2em;text-align: center !important;}
}

/*マテリアリティ*/
#materiality .attention_Area{
 border:solid 2px rgba(45,156,80,1);
 border-radius:20px;
 margin-bottom:4%;
}
#materiality .attention_Area h3{
 text-align: center;
 line-height:1.5;
 border-bottom:solid 2px rgba(45,156,80,1);
 padding-bottom: .5em;
 margin-bottom: 1em !important;
}
#materiality .attention_Area h3 span{
 position: relative;
}
#materiality .attention_Area h3::after,
#materiality .attention_Area h3::before {
  background:none;
}
#materiality .m1 h3 span::before{
 content: "";
 background: url(../img/materiality_icon/icon_01.png) center no-repeat;
 background-size: contain;
}
#materiality .m2 h3 span::before{
 content: "";
 background: url(../img/materiality_icon/icon_02.png) center no-repeat;
 background-size: contain;
}

#materiality .m3 h3 span::before{
 content: "";
 background: url(../img/materiality_icon/icon_03.png) center no-repeat;
 background-size: contain;
}

#materiality .m4 h3 span::before{
 content: "";
 background: url(../img/materiality_icon/icon_04.png) center no-repeat;
 background-size: contain;
}

#materiality .m5 h3 span::before{
 content: "";
 background: url(../img/materiality_icon/icon_05.png) center no-repeat;
 background-size: contain;
}
#materiality .m6 h3 span::before{
 content: "";
 background: url(../img/materiality_icon/icon_03.png) center no-repeat;
 background-size: contain;
}

#materiality .attention_Area .txt_list span{
 color:rgba(0,80,255,1);
}

#materiality ul.txt_list{
position: relative;
width:90%;
margin:0 auto 1em;
}
#materiality ul.txt_list li{
 margin:0;
 padding-left:1.5em;
 word-break: break-word;
}
#materiality ul.txt_list li::before{
 position: absolute;
 content:"■";
 display:block;
 color:rgba(0,80,255,1);
 left:0;
}

#materiality .attention_Area a.in_link{
 display:inline-block;
 color:rgba(45,156,80,1);
 text-decoration: none;
 width:90%;
 margin:0 5% 1em;
}
#materiality .attention_Area a.in_link::after{
 content: "＞＞";
}
#materiality .attention_Area a.in_link:hover{
 opacity: 0.6;
}

#materiality .photo{
 display: block;
 width: 100%;
 height:0;
 padding-top:56.25%;
 background-position: center center !important;
}
@media all and (min-width:960px) {
 #materiality .materiality6{
  display: flex;
  flex-wrap: wrap;
  justify-content:space-between;
  margin-top: 2em;
 }
 #materiality .attention_Area{
  width:48%;
 }
 #materiality .attention_Area h3{
  font-size: 100%;
 }
 #materiality .attention_Area h3 span::before{
  display: block;
  margin:auto;
  width:50px;
  height:50px;
 }
 #materiality .attention_Area .txt_list{
  font-size: 80%;
 }
 #materiality .attention_Area a.in_link{
  font-size: 90%;
 }
#materiality .box_area figure{
   width:80%;
   margin:50px auto;
  }
}
@media all and (max-width:961px) {
#materiality .materiality6{
  margin-top: 2em;
}
#materiality .attention_Area{
 width:100%;
}
#materiality .attention_Area h3{
  font-size:80%;
  white-space: nowrap;
}
#materiality .attention_Area h3 span{
  position:relative;
  display: block;
  padding-bottom:.5em;
}
#materiality .attention_Area h3 span::before{
  display: block;
  margin:auto;
  width:40px;
  height:40px;
}
#materiality .attention_Area .txt_list{
  font-size:80%;
}
#materiality .attention_Area a.in_link{
 font-size: 80%;
}
#materiality .box_area figure{
   width:100%;
   margin:2em auto;
  }
}

/*サステナビリティ推進体制*/
#system .photo{
 display: block;
 width: 100%;
 height:0;
 padding-top:52.5625%;
 background-size: contain;
 background-position: center center !important;
}
/*リスト*/
#system ul.system_list{
position: relative;
}
#system ul.system_list li{
padding: 0;margin:0;
}
#system ul.system_list li::before{
 position: absolute;
 content:"■";
 display: inline-block;
 color:rgba(45,156,80,1);
 left:0;
}
#system ul.system_list a:hover{color:#004c87;
 text-decoration: none;
}
@media all and (min-width:960px) {
#system .box_area figure{
   width:100%;
   margin:50px auto;
}
/*リスト*/
#system ul.system_list{
   padding:2em 0 0 1.5em;
}
}
@media all and (max-width:961px) {
#system .box_area figure{
   width:100%;
   margin:2em auto;
  }
  /*リスト*/
#system ul.system_list{
   padding:1em 0 0 1.5em;
}
}

/*リスト2*/
#ourvision ul.week_list a{color:rgba(45,156,80,1);
 text-decoration: underline;
 text-underline-offset: .3em;
}

#ourvision ul.week_list{
position: relative;
}
#ourvision ul.week_list li::before{
 position: absolute;
 content:"■";
 display: inline-block;
 color:rgba(45,156,80,1);
 left:0;
}
#ourvision ul.week_list a:hover{color:rgba(45,156,80,1);
 text-decoration: none;
}

@media all and (min-width:960px) {
#ourvision ul.week_list{
  padding:2em 0 0 1.5em;
 }
}

@media all and (max-width:961px) {
#ourvision ul.week_list{
  padding:1em 0 0 1.5em;
 }
}


/*pdfリスト*/
#system ul.pdf_list{
position: relative;
}
#system ul.pdf_list li{
line-height: 1;
padding: 0;
margin:0 0 1em 1.5em;
}
#system ul.pdf_list li:last-child{
margin-bottom: 0;
}

#system ul.pdf_list li::before{
position: absolute;
content:"PDF";
font-size: 80%;
display: inline-block;
color:rgba(255,255,255,1);
background:rgba(45,156,80,1);
padding:.2em;
left:0;
}
#system ul.pdf_list a{
 color:rgba(45,156,80,1);
}
#system ul.pdf_list a:hover{
 color:rgba(96,96,96,1);
 text-decoration: underline;
 text-underline-offset: 0.3em;
}
@media all and (min-width:960px) {
#system ul.pdf_list{
   padding:2em 0 0 1.5em;
}
}
@media all and (max-width:961px) {
#system ul.pdf_list{
   padding:1em 0 0 1.5em;
}
}





/*///////// article_list ///////////*/

#system #article_list h4{
  position: relative;
  padding-left:1.5em;
}
#system #article_list h4::before{
  position: absolute;
  content:"■";
  display:block;
  color:rgba(45,156,80,1);
  left:0;
}
#system #article_list ul{
  margin-bottom:2em;
}
#system #article_list li{
  position: relative;
  padding:0 0 0 1.5em;
  margin: 0;
}
#system #article_list li::before{
  position: absolute;
  content:"・";
  display:block;
  color:rgba(45,156,80,1);
  left:0;
}

@media all and (min-width:960px) {
}

@media all and (max-width:961px) {
  #system #article_list h4{
  margin-top:2em;
  line-height: 1.5;
  }
}



/*ファイナンス*/
/*pdfリスト*/
#finance ul.pdf_list{
position: relative;
}

#finance ul.pdf_list li{
line-height: 1;
padding: 0;
margin:0 0 1em 1.5em;
}
#finance ul.pdf_list li:last-child{
margin-bottom: 0;
}

#finance ul.pdf_list li::before{
position: absolute;
content:"PDF";
font-size: 80%;
display: inline-block;
color:rgba(255,255,255,1);
background:rgba(45,156,80,1);
padding:.2em;
left:0;
}
#finance ul.pdf_list a{
 color:rgba(45,156,80,1);
}
#finance ul.pdf_list a:hover{
 color:rgba(96,96,96,1);
 text-decoration: underline;
 text-underline-offset: 0.3em;
}
@media all and (min-width:960px) {
#finance ul.pdf_list{
   padding:2em 0 0 1.5em;
}
}
@media all and (max-width:961px) {
#finance ul.pdf_list{
   padding:1em 0 0 1.5em;
}
}

/*dl表*/
#finance table{
width: 100%;
font-size: 90%;
line-height: 1.5;
word-break:keep-all;
margin: 0;
padding: 0;
border-spacing: 0 !important;
border-top: solid 1px #2d9c50;
}

#finance td:first-child{
background-color: rgba(45,156,80,.2);
width: 20%;
padding: .5em;
text-align: center;
border-bottom: solid 1px #2d9c50;
box-sizing: border-box;
}
#finance td:last-child{
padding: 1em;
margin: 0;
text-align: left;
border-bottom: solid 1px #2d9c50;
}

@media all and (max-width:961px) {
#finance table{
font-size: 60%;
}
#finance td:first-child{
width: 30%;
}
}
