/*##################################################################/*
/* --------------------------------
* Keyvisual
* -------------------------------- */
.child_key_v {
  background-image: url(../images/sub-key-company.jpg);
  min-height: 92px;
}
.child_key_v .copy_area h2 {
  margin-bottom: 0;
}
.child_key_v .copy_area {
  padding: 20px 0 22px;
}

.child_key_v .copy_area h2,
.child_key_v .copy_area p {
  color: #000;
}

/* --------------------------------
* Main Contents
* -------------------------------- */
.company_introduction {}
.company_introduction .title_section {}

.company_introduction .flex_wrap .text_area {
  width: 60%;
  padding-right: 5%;
}

.company_introduction .flex_wrap .photo_area {
  width: 40%;
}

.company_information {
  padding-top: 40px;
  margin-bottom: 40px;
}

.company_information .flex_wrap {
  margin-bottom: 20px;
}

.company_information .flex_wrap .photo_area {
  width: 60%;
  padding-right: 5%;
}

.company_information .flex_wrap .text_area {
  width: 40%;
}

.company_information .flex_wrap .text_area dl {
  display: inline-block;
}

.company_information .flex_wrap .text_area dl dt {
  width: 30%;
  display: inline-block;
  vertical-align: top;
}

.company_information .flex_wrap .text_area dl dd {
  width: 70%;
  display: inline-block;
}

.company_information .flex_wrap .text_area dl dd a {
  text-decoration: underline;
}

.company_information .flex_wrap .text_area dl dd a:hover {
  color: #008E4C;
}

.social_contribution .contribution_content {
  display: flex;
  justify-content: center;
  align-items: center;
  border: #333 solid 1px;
  padding: 100px 0;
  margin: 0 5%;
  margin-bottom: 100px;
}

.social_contribution .contribution_content h4 {
  text-align: center;
  font-size: 3.6rem;
}

.social_contribution .gallery {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 40px;
}

.social_contribution .gallery .box {
  width: 50%;
  padding: 0 20px;
}

.social_contribution .caption {
  text-align: center;
  margin: 10px auto 20px;
}

/*##################################################################/*
/* --------------------------------
 * SP
 * -------------------------------- */
@media screen and (max-width: 768px) {
  .company_introduction .flex_wrap .text_area,
  .company_introduction .flex_wrap .photo_area,
  .company_information .flex_wrap .photo_area,
  .company_information .flex_wrap .text_area {
    width: 100%;
    padding: 0;
  }

  .company_information .flex_wrap .text_area {
    margin-bottom: 40px;
  }

  .title_section .icon {
    display: block;
  }

  .social_contribution .gallery .box {
    width: 100%;
	padding: 0;
  }
  .child_key_v {
    height: 126px;
  }
  .child_key_v .copy_area {
    padding: 0px 0 0px;
  }
  .key_v .btn_lang, .child_key_v .btn_lang {
    bottom: -50px;
  }


}
