@charset "UTF-8";

.company {
  padding-top: 32.0rem;
  width: 90%;
}
.company h2 {
  position: relative;
  margin-left: 10.0rem;
  margin-bottom: 4rem;
}
.company h2::before {
  content:'';
  position: absolute;
  background-image: url("../images/common/company.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 622px;
  height: 204px;
  top: -18.0rem;
  left: 0;
}
.company h2::after {
  content: '';
  display: block;
  width: 40px;
  height: 3px;
  background-color: #003F8E;
  position: absolute;
  bottom: -4px;
  left: 0;
}
.company p {
  width: 80%;
  margin-top: 2rem;
  margin-left: 5.0rem;
}
.pageToc_column {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  margin-left: 10.0rem;
  margin-top: 5.0rem;
}
.pageToc_column li {
  margin-right: 2.0rem;
  margin-bottom: 1.6rem;
}
/* sticky */
.pageBody__wrapper {
  display: flex;
  margin-top: 10.0rem;
}
.pageBody__main {
  width: 80%;
  margin-right: 10.0rem;
  margin-left: 10.0rem;
}
.pageAside {
  top: 8.0rem;
  position: sticky;
}
/* メインページ */
.pageBody__main h3 {
  position: relative;
  font-size: 2.6rem;
  color: #003F8E;
  margin-left: 2.0rem;
  margin-bottom: 4.0rem;
}
.pageBody__main h3::before {
  content: '';
  display: block;
  width: 4px;
  height: 34px;
  background-color: #003F8E;
  position: absolute;
  bottom: 0.4rem;
  left: -1.8rem;
}
.pageBody_column {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10.0rem;
  margin-left: 6.0rem;
}
.company__column {
  display: flex;
  column-gap: 4%;
}
.companyGreetings__detail {
  flex-basis: 68%;
}
.companyPresidentName {
  display: flex;
  column-gap: 2.0rem;
  align-items: center;
  line-height: 0;
}
.companyGreetings_img {
  flex-basis: 28%;
  max-width: 316px;
}
.companyGreetings_title {
  font-weight: 500;
  font-size: 2.1rem;
  /* white-space: nowrap; */
  margin-bottom: 4rem;
}
.companyGreetings__text p {
  margin-top: 1.6rem;
}
.vision_container {
  margin-top: 16.0rem;
}
.vision_img {
  display: block;
  width: 60vw;
  max-width: 864px;
}
.environment_container {
  margin-top: 16.0rem;
}
.environment h4 {
  display: inline-block;
  border-bottom: 1px solid #BBBFC5;
  padding-bottom: 2.4rem;
  width: 100%;
  margin-top: 4.8rem;
  margin-bottom: 2.4rem;
  font-size: 2.1rem;
}
.environment_policy {
  margin-top: 2.4rem;
}
.environment_policy li {
  list-style-position: inside;
  margin-top: 0.8rem;
  padding-left: 1em;
	text-indent: -1em;
}
.environment_detail {
  margin-left: 2.0rem;
}
.quality_column {
  display: flex;
  column-gap: 4%;
}
.quality__detail {
  padding-top: 2%;
  flex-basis: 68%;
}
.quality_column li {
  list-style-position: inside;
  margin-top: 0.8rem;
  padding-left: 1em;
	text-indent: -1em;
}
.quality__img {
  flex-basis: 28%;
}
.certification_container h4 {
  margin-top: 4.8rem;
  margin-bottom: 2.4rem;
  font-size: 2.4rem;
}
.certification_container dl {
  display: flex;
  flex-wrap: wrap;
  border-top: 1.6px solid #DEDFE0;
  border-bottom: 1.6px solid #DEDFE0;
  margin-bottom: 5.4rem;
}
.certification_container dt {
  width: 20%;
  border-right: 1.6px solid #DEDFE0;
  border-bottom: 1.6px solid #DEDFE0;
  background-color: #F5F7F9;
  padding: 1.0rem;
  margin: 0;
}
.certification_container dd {
  border-bottom: 1.6px solid #DEDFE0;
  width: 80%;
  padding: 1.0rem;
  margin: 0;
}
.certification_container dt:last-of-type {
  border-bottom: none;
}
.certification_container dd:last-of-type {
  border-bottom: none;
}
.square_blue::before {
  content:"■";
  font-size: 100%;
  color: #09709A;
  margin-right: 4px;
}
.square_green::before {
  content:"■";
  font-size: 100%;
  color: #3C8F65;
  margin-right: 4px;
}
.square_orange::before {
  content:"■";
  font-size: 100%;
  color: #DB8246;
  margin-right: 4px;
}
.certification_container p {
  font-size: 2.1rem;
}
.certificate {
  margin-top: 6.4rem;
  margin-bottom: 2rem;
}
.certificate_column {
  display: flex;
  flex-wrap: wrap;
  background-color: #F5F7F9;
  padding: 2rem 4rem;
  justify-content: space-between;
}
.certificate_column p {
  font-size: 1.4rem;
}
.jisq_column {
  display: flex;
  gap: 1.0rem;
}
.kems {
  width: 23%;
}
.iso {
  width: 22%;
}
.jisq {
  width: 45.2%;
}
.jisq_img {
  width: 53%;
}
.companyProfile_container {
  margin-top: 16.0rem;
}
.companyProfile dl {
  display: flex;
  flex-wrap: wrap;
  border-top: 1.6px solid #DEDFE0;
  border-bottom: 1.6px solid #DEDFE0;
  margin-bottom: 5.4rem;
}
.companyProfile dt {
  width: 20%;
  border-right: 1.6px solid #DEDFE0;
  border-bottom: 1.6px solid #DEDFE0;
  background-color: #F5F7F9;
  padding-top: 3.0rem;
  padding-left: 2.0rem;
}
.companyProfile dd {
  border-bottom: 1.6px solid #DEDFE0;
  width: 80%;
  padding: 3.0rem;
}
.companyProfile_mgb32 p {
  margin-bottom: 3.2rem;
}
.companyProfile_mgb32 p:last-child {
  margin-bottom: 0;
}
.companyProfile_mgb16 p {
  margin-bottom: 1.6rem;
}
.companyProfile_mgb16 p:last-child {
  margin-bottom: 0;
}
.companyProfile_mgl10 {
  margin-left: 1.0rem;
}
.position {
  display: inline-block;
  width: 12.0rem;
}
.name {
  display: inline-block;
}
.connection_img {
  margin-left: 1.2rem;
}

/*== 線の上を別の線が伸びる */
.btnlinestretches {
	position:relative;
}
.connect_column {
  display: inline-flex;
  align-items: center;
  /*線の基点とするためrelativeを指定*/
  /*リンクの形状*/ 
  color:#222;
  display:inline-block;
  outline: none;
}
/*線の設定*/
.btnlinestretches::before,
.btnlinestretches::after {
	content:'';
  /*絶対配置で線の位置を決める*/
	position:absolute;
	z-index:1;
	bottom:-0.4rem;
	left:0;
  /*線の形状*/   
	background:#ccc;
	width:100%;
	height:2px;
  /*アニメーションの指定*/
	transition:all 0.3s ease-in-out;
}
/*hover時に伸びる線の形状*/   
.btnlinestretches::after{
	width:0;
	background:#003F8E;
}
/*hover時に100%に伸びる*/   
.btnlinestretches:hover::after {
	width:100%;
}
@media screen and (max-width: 768px) {
  .company {
    padding-top: 20.0rem;
    width: 90%;
  }
  .company h2 {
    margin-left: 2.0rem;
    /* margin-bottom: 4rem; */
  }
  .company h2::before {
    top: -11.0rem;
    width: 346px;
    height: 102px;
  }
  .pageToc_column {
    margin-left: 1.0rem;
  }
  .pageBody__main {
    width: 100%;
    margin-right: 2.0rem;
    margin-left: 2.0rem;
  }
  .company__column {
    flex-direction: column-reverse;
  }
  .companyGreetings_img {
    text-align: center;
    /* margin: auto 6.0rem; */
  }
  .companyGreetings__detail {
    margin-top: 4.0rem;
  }
  .vision_container {
    margin-top: 8rem;
  }
  .vision_img {
    width: 90vw;
  }
  .environment_container {
    margin-top: 8.0rem;
  }
  .certification_container dt {
    width: 23%;
  }
  .certification_container dd {
    width: 77%;
  }
  .certificate_column {
    flex-direction: column;
    row-gap: 4rem;
  }
  .quality_column {
    flex-direction: column;
  }
  .quality__img {
  width: 50%;
  margin-top: 2.0rem;
  }
  .kems {
    width: 50%;
  }
  .jisq {
    width: 100%;
  }
  .iso {
    width: 50%;
  }
  .companyProfile_container {
    margin-top: 8.0rem;
  }
  .companyProfile dd {
    padding: 3.0rem 2.0rem;
  }
  .companyProfile dt {
    padding-left: 1.0rem;
  }
  .companyProfile dd.connection {
    padding: 3.0rem 1.0rem 3.0rem 2.0rem;
  }
  .connection_img {
    margin-left: 0.2rem;
  }
}
/* サイドページ */
.pageBody__aside {
  width: 20%;
  display: block;
  padding: 2.0rem 0 4.5rem 3.0rem;
  border-left:  1px solid #BBBFC5;
}
.pageAside__title {
  color: #003F8E;
  font-size: 2.2rem;
}
.pageAside__item {
  color: #333;
  margin-left: 1.6rem;
}
.pageAsideItem  {
  padding-top: 0.8rem;
}
.pageAsideItem a:hover{
  border-bottom: 1.8px solid #333;
}
@media screen and (max-width: 1023px) {
  .pageBody__aside {
    display: none;
  }
}