@charset "utf-8";

/* CSS Document */

.companypage .st-secheader{margin-bottom: 100px;}

.cp-message{margin-bottom: 100px;}
  .cp-message_main{
    display: flex;
    flex-direction: column;
    }
    .cp-message_head{
      order: 1;
      margin-bottom: 30px;
      }
      .cp-message_title{}
        .cp-message_title span{
          --viewport-from: 476;
          --font-size-from: 24;
          --min-font-size: 24;
          --viewport-to: 1200;
          --font-size-to: 40;
          --max-font-size: 40;
          }
    .cp-message_fig{
      order: 0;
      margin-bottom: 50px;
      }
    .cp-message_body{
      order: 2;
      margin-bottom: 50px;
      }
      .cp-message_par{
        display: flex;
        flex-direction: column;
        line-height: 2;
        }
        .cp-message_par:not(:last-of-type){margin-bottom: 1.5em;}
    .cp-signature{
      order: 3;
      display: flex;
      align-items: center;
      margin-left: auto;
      }
      .cp-signature_position{margin-right: 20px;}
        .cp-signature_position span{}
      /* .cp-signature_fig{width: 200px;}
      .cp-signature_fig .svgIcon{
        width: 100%;
        height: 54px;
        } */
      .cp-signature_fig{
        --viewport-from: 476;
        --font-size-from: 24;
        --min-font-size: 24;
        --viewport-to: 1200;
        --font-size-to: 28;
        --max-font-size: 28;
        position: relative;
        top: -3px
      }

 .cp-philosophy{
margin-bottom: 100px;
 }

 .cp-philosophy_main{
  display: flex;
  justify-content: center;
  --viewport-from: 476;
  --font-size-from: 16;
  --min-font-size: 16;
  --viewport-to: 1200;
  --font-size-to: 20;
  --max-font-size: 20;
 }


.cp-policy{
  margin-bottom: 100px;
  padding-top: 100px;
  padding-bottom: 100px;
  background-color: rgba(var(--color-Snow),1);
  }
  .cp-policy_list{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    }
    .cp-policy_item{
      display: flex;
      flex-direction: column;
      align-items: center;
      width: calc((100% - 90px) / 3);
      }
    .cp-policy_item:not(:nth-of-type(3n+3)){margin-right: 45px;}
    .cp-policy_item:nth-of-type(-n+3){margin-bottom: 50px;}
      .cp-policy_fig{
        width: 120px;
        height: 120px;
        margin-bottom: 15px;
        }
      .cp-policy_fig .svgIcon{
        width: 100%;
        height: 100%;
        color: rgba(var(--color-ToryBlue),1);
        }
      .cp-policy_title{margin-bottom: 10px;}
        .cp-policy_title-text{
          font-family: var(--family-heebo);
          --viewport-from: 476;
          --font-size-from: 22;
          --min-font-size: 22;
          --viewport-to: 992;
          --font-size-to: 24;
          --max-font-size: 24;
          font-weight: bold;
          line-height: 1;
          letter-spacing: 0.05em;
          }
          .cp-policy_title-text::first-letter{
            font-size: 1.25em;
            color: rgba(var(--color-ToryBlue),1);
            }
      .cp-policy_summary{max-width: 240px;}
        .cp-policy_summary-text{font-size: var(--fontsize-Md);}

.cp-guidelines{margin-bottom: 100px;}
  .cp-guidelines_head{margin-bottom: 55px;}
    .cp-guidelines_title{
      display: flex;
      flex-direction: column;
      align-items: center;
      }
      .cp-guidelines_title-en{
        font-family: var(--family-heebo);
        --viewport-from: 476;
        --font-size-from: 22;
        --min-font-size: 22;
        --viewport-to: 992;
        --font-size-to: 30;
        --max-font-size: 30;
        }
      .cp-guidelines_title-jp{
        --viewport-from: 476;
        --font-size-from: 16;
        --viewport-to: 992;
        --font-size-to: 20;
        --max-font-size: 20;
        }

    .cp-guidelines_list{
      display: flex;
      flex-direction: column;
      max-width: 540px;
      margin: 0 auto;
      }
      .cp-guidelines_item{
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        }
        .cp-guidelines_item:not(:last-of-type){margin-bottom: 40px;}
      .br-opening{
        width: 10px;
        height: 84px;
        margin-right: 15px;
        background-color: rgba(var(--color-Turbo),1);
        position: relative;
        }
        .cp-guidelines_item:nth-of-type(even) .br-opening{background-color: rgba(var(--color-ToryBlue),1);}
        .br-opening::before{
          content: "";
          width: calc(100% - 2px);
          height: calc(100% - 4px);
          position: absolute;
          background-color: rgba(var(--color-White),1);
          top: 50%;
          right: 0;
          transform: translateY(-50%);
          z-index: 50;
          }
      .cp-guidelines_detail{width: calc(100% - 50px);}
        .cp-guidelines_catch{
          margin-bottom: 5px;
          font-family: var(--family-heebo);
          --viewport-from: 476;
          --font-size-from: 22;
          --min-font-size: 22;
          --viewport-to: 992;
          --font-size-to: 30;
          --max-font-size: 30;
          font-weight: bold;
          line-height: 1;
          letter-spacing: 0.05em;
          }
        .cp-guidelines_meaning{
          --viewport-from: 476;
          --font-size-from: 15;
          --min-font-size: 15;
          --viewport-to: 992;
          --font-size-to: 18;
          --max-font-size: 18;
          font-weight: bold;
          line-height: 1.4;
          }
      .br-closing{
        width: 10px;
        height: 85px;
        margin-left: 15px;
        background-color: rgba(var(--color-Turbo),1);
        position: relative;
        }
        .cp-guidelines_item:nth-of-type(even) .br-closing{background-color: rgba(var(--color-ToryBlue),1);}
        .br-closing::before{
          content: "";
          width: calc(100% - 2px);
          height: calc(100% - 4px);
          position: absolute;
          background-color: rgba(var(--color-White),1);
          top: 50%;
          left: 0;
          transform: translateY(-50%);
          z-index: 50;
          }

.cp-outline{
  }
  .cp-outline_list{}
    .cp-outline_item{
      display: grid;
      grid-template-columns: 300px 1fr;
    }
      .cp-outline_head{
        padding-top: 20px;
        padding-bottom: 20px;
        padding-left: 15px;
        border-bottom: 1px solid rgba(var(--color-ToryBlue),1);
        }
      .cp-outline_body{
        display: flex;
        flex-direction: column;
        padding-top: 20px;
        padding-right: 30px;
        padding-bottom: 20px;
        padding-left: 30px;
        border-bottom: 1px solid rgba(var(--color-VeryLightGrey),1);
        line-height: 1.8;
        }
      .cp-outline_body a{
        color: rgb(12 107 176 / 1);
        text-decoration: underline;
      }
      .cp-outline_body a:hover{text-decoration: none;}

.office .cp-outline_body{
  display: grid;
  gap: 10px;
}

.office dl{
  display: grid;
}  

.office dt{
  display: grid;
  grid-template-columns: 12px auto;
  gap: 4px;
  font-weight: bold;
  align-items: center;
}

.office dt::before{
  content: "";
  width: 100%;
  height: 12px;
  background-color: #212121;
}

.office dd{
}

.officer dl{
  display: grid;
  grid-template-columns: 150px auto;
}  

.officer dt{
}

.officer dt::before{
  content: "";
  width: 100%;
  height: 12px;
  background-color: #212121;
}

.officer dl.auditor{
  margin-top: 15px;
}

.cp-history{
  padding-top: 100px;
  padding-bottom: 100px;
}

.cp-outline_sublist{}

.cp-outline_sublist li{
  display: grid;
  grid-template-columns: 10px 1fr;
  gap: 6px;
}

.cp-outline_sublist li::before{
  content: "";
  width: 100%;
  height: 10px;
  background-color: #0071bc;
  border-radius: 50%;
  position: relative;
  top: 11px;
}

.cp-outline_sublist a{
  text-decoration: underline;
}

.cp-structure{}
  .cp-structure_item{display: flex;}
    .cp-structure_head{width: 180px;}
    .cp-structure_body{width: calc(100% - 180px);}

.cp-field{}
  .cp-field_block{}
  .cp-field_block:not(:last-of-type){margin-bottom: 1em;}
    .cp-field_head{display: flex;}
      .cp-field_head::before{content: "■";}
    .cp-field_body{}
    .cp-field_list{
      display: flex;
      flex-wrap: wrap;
      }
      .cp-field_list-item{display: flex;}
        .cp-field_list-item:not(:last-of-type)::after{content: "、";}
        .etc .cp-field_list-item:last-of-type::after{
          content: "など";
          margin-left: 0.5em;
          }
  .cp-field_box{display: flex;}
    .cp-field_subhead{width: 150px;}
      .cp-field_subbody{width: calc(100% - 150px);}


.cp-norm{
  padding-top: 100px;
  padding-bottom: 100px;
  background-color: rgba(var(--color-Snow),1);
}

.cp-norm_copy{
  margin-bottom: 40px;
  --viewport-from: 476;
  --font-size-from: 15;
  --min-font-size: 15;
  --viewport-to: 992;
  --font-size-to: 18;
  --max-font-size: 18;
  font-weight: bold;
}

.cp-norm_list{
  display: grid;
  gap: 10px;
  margin-bottom: 20px;
  padding-left: 1.5em;
}

.cp-norm_list li{
  --viewport-from: 476;
  --font-size-from: 16;
  --min-font-size: 16;
  --viewport-to: 992;
  --font-size-to: 16;
  --max-font-size: 16;
  list-style: decimal;
}

.cp-norm_end{
  text-align: right;
}

.cp-access{
  padding-top: 100px;
}

.cp-access_map{
  width: 100%;
  height: 500px;
}

.cp-access_map iframe{
  display: block;
  width: 100%;
  height: 100%;
}


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

.cp-message{margin-bottom: 80px;}
  .cp-message_head{margin-bottom: 20px;}
  .cp-message_fig{margin-bottom: 30px;}
  .cp-message_body{margin-bottom: 30px;}
  .cp-signature_position{margin-right: 15px;}
  /* .cp-signature_fig{width: 150px;}
  .cp-signature_fig .svgIcon{height: 41px;} */

}/* max-width: 992px */

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

.companypage .st-secheader{margin-bottom: 80px;}

.cp-message{margin-bottom: 80px;}

.cp-policy{
  margin-bottom: 80px;
  padding-top: 80px;
  padding-bottom: 80px;
  }
  .cp-policy_item{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: calc((100% - 40px) / 2);
    }
  .cp-policy_item:not(:nth-of-type(3n+3)){margin-right: 0;}
  .cp-policy_item:not(:nth-of-type(2n+2)){margin-right: 40px;}
  .cp-policy_item:nth-of-type(-n+3){margin-bottom: 40px;}
  .cp-policy_fig{
    width: 100px;
    height: 100px;
    }

.cp-guidelines{margin-bottom: 80px;}

.cp-outline{
  margin-bottom: 80px;
  padding-top: 80px;
  padding-bottom: 80px;
  }

.cp-outline_item{
  flex-direction: column;
  padding-top: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(var(--color-VeryLightGrey),1);
  }
  .cp-outline_head{
    width: 100%;
    margin-bottom: 5px;
    padding-top: 0;
    padding-right: 5px;
    padding-bottom: 0;
    padding-left: 5px;
    border-bottom: 0;
    }
    .cp-outline_head span{font-weight: bold;}
  .cp-outline_body{
    display: flex;
    flex-direction: column;
    width: 100%;
    padding-top: 0;
    padding-right: 5px;
    padding-bottom: 0;
    padding-left: 5px;
    border-bottom: 0;
    line-height: 1.8;
    }

}/* max-width: 768px */

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

.companypage .st-secheader{margin-bottom: 60px;}

.cp-message{margin-bottom: 60px;}

.cp-policy{
  margin-bottom: 60px;
  padding-top: 60px;
  padding-bottom: 60px;
  }
  .cp-policy_list{
    flex-direction: column;
    max-width: 320px;
    margin: 0 auto;
    }
    .cp-policy_item{width: 100%;}
  .cp-policy_item:not(:nth-of-type(2n+2)){margin-right: 0;}
  .cp-policy_summary{max-width: 100%;}
  .cp-policy_summary-text br{display: none;}

.cp-guidelines{margin-bottom: 60px;}

.cp-outline{
  margin-bottom: 60px;
  padding-top: 60px;
  padding-bottom: 60px;
  }

.cp-field_box{flex-direction: column;}
.cp-field_box:not(:last-of-type){margin-bottom: 10px;}
  .cp-field_subhead{width: 100%;}
  .cp-field_subbody{width: 100%;}


}/* max-width: 576px */

@media screen and (max-width: 476px) {}/* max-width: 476px */