/*　環境に配慮したものづくり
---------------------------------------------------------------------------*/

.environmental_policy{
  width:100%;
  margin-bottom:40px;
}

.environmental_policy__content{
  display:flex;
  align-items:flex-start;
  gap:60px;
  margin-top:50px;
}

.environmental_policy__text{
  flex:1;
  min-width:0;
}

.environmental_policy__description{
  margin:0;
  color:#333;
  font-size:15px;
  line-height:2;
}

.environmental_policy__points{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 30px;
  margin-top:35px;
}

.environmental_policy__point{
  display:flex;
  align-items:flex-start;
  gap:14px;
  min-width:0;
  padding:18px 0;
  border-top:1px solid #d8d8d8;
}

.environmental_policy__point:nth-child(3),
.environmental_policy__point:nth-child(4){
  border-bottom:1px solid #d8d8d8;
}

.environmental_policy__point-icon{
  position:relative;
  width:10px;
  height:10px;
  margin-top:7px;
  border-radius:50%;
  background:#005bac;
  flex:0 0 10px;
}

.environmental_policy__point p{
  margin:0;
  color:#333;
  font-size:15px;
  font-weight:500;
  line-height:1.8;
}

.environmental_policy__image{
  flex:0 0 38%;
  max-width:520px;
}

.environmental_policy__image img{
  width:100%;
  height:auto;
  display:block;
}


/* =================================
   Tablet
================================= */

@media screen and (max-width:1100px){

  .environmental_policy__content{
    gap:40px;
    margin-top:45px;
  }

  .environmental_policy__image{
    flex-basis:40%;
  }

  .environmental_policy__points{
    gap:0 20px;
    margin-top:30px;
  }

  .environmental_policy__point{
    padding:16px 0;
  }

}


/* =================================
   Smartphone
================================= */

@media screen and (max-width:768px){

  .environmental_policy__content{
    flex-direction:column;
    gap:30px;
    margin-top:35px;
  }

  .environmental_policy__text{
    width:100%;
  }

  .environmental_policy__description{
    font-size:13px;
    line-height:1.9;
  }

  .environmental_policy__points{
    grid-template-columns:1fr;
    gap:0;
    margin-top:25px;
  }

  .environmental_policy__point{
    padding:14px 0;
  }

  .environmental_policy__point:nth-child(3){
    border-bottom:none;
  }

  .environmental_policy__point:nth-child(4){
    border-bottom:1px solid #d8d8d8;
  }

  .environmental_policy__point-icon{
    width:8px;
    height:8px;
    margin-top:7px;
    flex-basis:8px;
  }

  .environmental_policy__point p{
    font-size:13px;
    line-height:1.8;
  }

  .environmental_policy__image{
    width:100%;
    max-width:none;
    margin:0;
  }

}

/*　基本方針
---------------------------------------------------------------------------*/

.environmental_policy__basic{
  width:100%;
  margin-bottom:40px;
}

.policy_list{
  margin-top:45px;
}

.policy_item{
  display:flex;
  align-items:flex-start;
  gap:30px;

  padding:30px 0;

  border-top:1px solid #d8d8d8;
}

.policy_item:last-child{
  border-bottom:1px solid #d8d8d8;
}

.policy_number{
  position:relative;

  width:60px;
  flex:0 0 60px;

  padding-left:18px;

  color:#005bac;
  font-size:20px;
  font-weight:700;
  line-height:1.5;
}

.policy_number::before{
  content:"";

  position:absolute;
  left:0;
  top:3px;

  width:4px;
  height:24px;

  background:#005bac;
}

.policy_number span{
  display:block;
}

.policy_content{
  flex:1;
  min-width:0;
}

.policy_title{
  margin:0;

  color:#0b1830;
  font-size:19px;
  font-weight:700;
  line-height:1.5;
}

.policy_text{
  margin:12px 0 0;

  color:#555;
  font-size:15px;
  line-height:2;
}


/* =================================
   Tablet
================================= */

@media screen and (max-width:1100px){

  .policy_list{
    margin-top:40px;
  }

  .policy_item{
    gap:25px;
    padding:27px 0;
  }

  .policy_number{
    width:55px;
    flex-basis:55px;
    padding-left:16px;
    font-size:19px;
  }

  .policy_number::before{
    width:4px;
    height:22px;
  }

  .policy_title{
    font-size:18px;
  }

  .policy_text{
    font-size:14px;
    line-height:1.9;
  }

}


/* =================================
   Smartphone
================================= */

@media screen and (max-width:768px){

  .policy_list{
    margin-top:30px;
  }

  .policy_item{
    gap:15px;
    padding:22px 0;
  }

  .policy_number{
    width:40px;
    flex-basis:40px;
    padding-left:12px;
    font-size:16px;
  }

  .policy_number::before{
    top:2px;
    width:3px;
    height:20px;
  }

  .policy_title{
    font-size:16px;
    line-height:1.6;
  }

  .policy_text{
    margin-top:9px;
    font-size:13px;
    line-height:1.9;
  }

}

/*　組織体制図
---------------------------------------------------------------------------*/

/* =================================
   マネジメント体制
================================= */

.management_activity{
  width:100%;
}

.management_block{
  margin-top:30px;
}

.management_block + .management_block{
  margin-top:30px;
  margin-bottom:40px;
}


/* =================================
   レイアウト
================================= */

.management_card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,30%);
  align-items:start;
  gap:60px;

  margin-top:30px;
}

.management_card__content{
  min-width:0;
}

.management_card__image{
  width:100%;
  min-width:0;
}

.management_card__image img{
  width:100%;
  height:auto;
  display:block;

  border:1px solid #d8d8d8;
}


/* =================================
   本文
================================= */

.management_text{
  margin:0;

  color:#555;
  font-size:15px;
  line-height:2;
}

.management_text + .management_text{
  margin-top:20px;
}


/* =================================
   PDFリンク
================================= */

.management_link{
  display:inline-flex;
  align-items:center;
  gap:10px;

  margin-top:30px;

  color:#333;
  font-size:15px;
  font-weight:500;
  line-height:1.5;
  text-decoration:none;

  transition:color .3s ease;
}

.management_link:hover{
  color:#005bac;
}


/* =================================
   丸矢印
================================= */

.management_link__circle{
  position:relative;

  width:26px;
  height:26px;
  flex:0 0 26px;

  border-radius:50%;
  background:#005bac;

  transition:transform .3s ease;
}

.management_link:hover .management_link__circle{
  transform:translateX(4px);
}

.management_link__circle::before{
  content:"";

  position:absolute;
  top:50%;
  left:50%;

  width:6px;
  height:6px;

  border-top:1.5px solid #fff;
  border-right:1.5px solid #fff;

  transform:translate(-65%,-50%) rotate(45deg);
}


/* =================================
   Font Awesome
================================= */

.management_link__pdf{
  font-size:17px;
  color:#d32f2f;

  flex-shrink:0;

  transition:color .3s ease;
}

.management_link__external{
  font-size:12px;
  color:#777;

  flex-shrink:0;

  transition:color .3s ease;
}

.management_link:hover .management_link__pdf{
  color:#c62828;
}

.management_link:hover .management_link__external{
  color:#005bac;
}


/* =================================
   認証情報テーブル
================================= */

.profile-table-wrap{
  width:100%;
  margin-top:30px;
}

.profile-table{
  width:100%;

  border-collapse:collapse;

  border-top:1px solid #d8d8d8;
  border-left:1px solid #d8d8d8;

  color:#333;
  font-size:15px;
}

.profile-table th,
.profile-table td{
  padding:18px 20px;

  text-align:left;
  vertical-align:middle;
  line-height:1.8;
  word-break:normal;

  border-right:1px solid #d8d8d8;
  border-bottom:1px solid #d8d8d8;
}

.profile-table th{
  width:180px;

  background:#eef4f8;

  color:#0b1830;
  font-weight:700;

  white-space:nowrap;
}

.profile-table td{
  background:#fff;
}


/* =================================
   Tablet
================================= */

@media screen and (max-width:1100px){

  .management_block{
    margin-top:45px;
  }

  .management_block + .management_block{
    margin-top:60px;
  }

  .management_card{
    grid-template-columns:minmax(0,1fr) minmax(230px,30%);
    gap:35px;

    margin-top:25px;
  }

  .management_text{
    font-size:14px;
    line-height:1.9;
  }

  .management_link{
    margin-top:25px;
    font-size:14px;
  }

  .management_link__circle{
    width:24px;
    height:24px;
    flex-basis:24px;
  }

  .management_link__pdf{
    font-size:16px;
  }

  .management_link__external{
    font-size:11px;
  }

  .profile-table{
    font-size:14px;
  }

  .profile-table th,
  .profile-table td{
    padding:16px;
  }

  .profile-table th{
    width:150px;
  }

}


/* =================================
   Smartphone
================================= */

@media screen and (max-width:768px){

  .management_block{
    margin-top:40px;
  }

  .management_block + .management_block{
    margin-top:55px;
  }


  /* =========================
     1カラム
  ========================= */

  .management_card{
    display:flex;
    flex-direction:column;
    gap:25px;

    margin-top:20px;
  }


  /* =========================
     画像
  ========================= */

  .management_card__image{
    order:-1;

    width:75%;
    max-width:420px;

    margin:0 auto;
  }

  .management_card__image img{
    width:100%;
    height:auto;
  }


  /* =========================
     組織体制図
  ========================= */

  .management_block:first-of-type .management_card__image{
    width:85%;
    max-width:420px;
  }


  /* =========================
     ISO登録証
  ========================= */

  .management_block:last-of-type .management_card__image{
    width:55%;
    max-width:280px;
  }


  /* =========================
     本文
  ========================= */

  .management_text{
    font-size:13px;
    line-height:1.9;
  }

  .management_text + .management_text{
    margin-top:15px;
  }


  /* =========================
     リンク
  ========================= */

  .management_link{
    gap:8px;

    margin-top:22px;

    font-size:13px;
  }

  .management_link__circle{
    width:22px;
    height:22px;
    flex-basis:22px;
  }

  .management_link__circle::before{
    width:5px;
    height:5px;
  }

  .management_link__pdf{
    font-size:15px;
  }

  .management_link__external{
    font-size:10px;
  }


  /* =========================
     テーブル
  ========================= */

  .profile-table-wrap{
    width:100%;
    margin-top:22px;
  }

  .profile-table{
    width:100%;
    min-width:0;

    table-layout:fixed;

    font-size:13px;
  }

  .profile-table th,
  .profile-table td{
    padding:12px 10px;

    line-height:1.7;
    word-break:break-word;
  }

  .profile-table th{
    width:30%;

    white-space:normal;
  }

  .profile-table td{
    width:70%;
  }

}


/* =================================
   Small Smartphone
================================= */

@media screen and (max-width:480px){

  .management_block{
    margin-top:35px;
  }

  .management_block + .management_block{
    margin-top:50px;
  }

  .management_card{
    gap:22px;
    margin-top:18px;
  }


  /* =========================
     画像
  ========================= */

  .management_card__image{
    width:78%;
  }

  .management_block:first-of-type .management_card__image{
    width:88%;
  }

  .management_block:last-of-type .management_card__image{
    width:60%;
    max-width:240px;
  }


  /* =========================
     本文
  ========================= */

  .management_text{
    font-size:13px;
    line-height:1.9;
  }


  /* =========================
     リンク
  ========================= */

  .management_link{
    font-size:13px;
  }

  .management_link__circle{
    width:21px;
    height:21px;
    flex-basis:21px;
  }

  .management_link__pdf{
    font-size:14px;
  }

  .management_link__external{
    font-size:9px;
  }

  /* =========================
     テーブル
  ========================= */

  .profile-table{
    font-size:12px;
  }

  .profile-table th,
  .profile-table td{
    padding:10px 8px;

    line-height:1.65;
  }

  .profile-table th{
    width:30%;
  }

  .profile-table td{
    width:70%;
  }

}