@charset "UTF-8";
/* CSS Document */
/*========= 会社案内 ===========*/
/*--- ご挨拶 ---*/
.col_2_item-img img {
  aspect-ratio: 1/1;
}
@media screen and (max-width: 820px) {
  .col_2_item-img img {
    aspect-ratio: 1/1.2;
    -o-object-position: center top;
       object-position: center top;
    /* 中央（左右）上に配置 */
  }
}

/*--- 会社概要 ---*/
.company-outline__inner {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  width: 100%;
  box-sizing: border-box;
}
.company-outline .bg-black__ttl {
  position: relative;
}
@media screen and (max-width: 1024px) {
  .company-outline .bg-black__ttl h3.h3__type01_white {
    line-height: 1;
  }
}
@media screen and (max-width: 819px) {
  .company-outline .bg-black__ttl h3.h3__type01_white br {
    display: none;
  }
}
.company-outline .bg-black__ttl h3.h3__type01_white div {
  padding-top: 10px;
}
.company-outline__info {
  flex: 1;
  padding: 3% 3% 0;
  box-sizing: border-box;
  display: flex;
  flex-flow: row wrap;
  background: white;
}
@media screen and (max-width: 819px) {
  .company-outline__info {
    width: 100%;
    height: auto;
    overflow-y: visible;
  }
}
.company-outline__info dt {
  width: 6em;
  font-weight: bold;
  font-size: 1.7rem;
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: dashed 1px #ccc;
}
.company-outline__info dd {
  width: calc(100% - 6em);
  font-size: 1.7rem;
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: dashed 1px #ccc;
}
.company-outline__info dt:last-of-type,
.company-outline__info dd:last-child {
  border-bottom: none;
}

/*--- 主要取引先 ---*/
.company-client h3 {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .company-client h3 {
    text-align: left;
  }
}
.company-client__inner {
  padding-top: 25px;
}
.company-client .dashed-note {
  margin: 0 auto;
  max-width: 680px;
  background-color: #fff;
  /* 背景色 */
  background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%), linear-gradient(180deg, #ccc 1px, transparent 1px);
  /* 点線2の色と太さ */
  background-size: 8px 100%, 100% 3.2em;
  /* 点線2のサイズ */
  line-height: 3.2em;
  /* 文字の高さ */
  padding-bottom: 1px;
  /* 最終行の下にも罫線を引く */
}
.company-client .dashed-note p {
  font-size: 1.7rem;
  line-height: 3.01em;
}
.company-client .dashed-note p strong {
  font-weight: 600;
  padding-right: 10px;
}
.company-client .dashed-note strong {
  font-size: 1.7rem;
  padding-right: 10px;
  display: inline-block;
  line-height: 3.01em;
}

/*--- 取　組 ---*/
.company-effort h3 {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .company-effort h3 {
    text-align: left;
  }
}
.company-effort__inner {
  max-width: 980px;
  margin: 25px auto 0;
}
  .company-effort__inner .col_2 {
	  justify-content:center;
  }
@media screen and (max-width: 567px) {
  .company-effort__inner .col_2 {
    flex-direction: column;
  }
}
.company-effort__inner .col_2 li {
  width: 80%;
	max-width:450px;
}
@media screen and (max-width: 567px) {
  .company-effort__inner .col_2 li {
    width: 100%;
    margin: 0 auto;
  }
}
.company-effort__inner .col_2 li img {
  display: block;
  border: 1px solid #ccc;
  margin-bottom: 10px;
  padding: 10px;
  box-sizing: border-box;
}
.company-effort__inner .col_2 li p {
  line-height: 1.4;
}
@media screen and (max-width: 319px) {
  .company-effort__inner .col_2 li p {
    font-size: 1.5rem;
    text-align: left;
  }
}

/*--- 沿　革 ---*/
.company-history h3 {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .company-history h3 {
    text-align: left;
  }
}
.company-history__inner {
  padding-top: 25px;
}
.company-history .timeline {
  padding-top: 25px;
}
.company-history .timeline div {
  width: 80%;
  margin: 0 auto 0;
  display: flex;
  flex-flow: row wrap;
  max-width: 860px;
  box-sizing: border-box;
  /*=絶対配置で線を設定=*/
  /*=●の設定=*/
}
@media screen and (max-width: 768px) {
  .company-history .timeline div {
    width: 100%;
  }
}
@media screen and (max-width: 567px) {
  .company-history .timeline div {
    flex-direction: column;
  }
}
.company-history .timeline div dt {
  width: 2.5em;
  font-weight: 600;
  padding: 10px 0;
  position: relative;
  text-align: right;
  display: block;
  box-sizing: border-box;
  font-size: 6rem;
  font-weight: bold;
  color: #222;
  line-height: 1.8;
  display: block;
  align-self: center;
  font-family: "PMingLiU", Arial, "Helvetica Neue", Helvetica, sans-serif;
}
@media screen and (max-width: 768px) {
  .company-history .timeline div dt {
    font-size: 4.2rem;
  }
}
@media screen and (max-width: 567px) {
  .company-history .timeline div dt {
    font-size: 4rem;
    line-height: 1.2;
    padding-bottom: 8px;
    width: 100%;
    text-align: left;
    position: relative;
  }
  .company-history .timeline div dt:after {
    position: absolute;
    content: "";
    display: inline-block;
    width: 1em;
    height: 1px;
    background: #b71c62;
    left: 0.1em;
    bottom: 0;
  }
}
.company-history .timeline div dd {
  flex: 1;
  font-size: 1.7rem;
  padding: 10px 0;
  font-weight: normal;
  box-sizing: border-box;
  line-height: 1.8;
  text-align: justify;
  align-self: center;
}
.company-history .timeline div dd span {
  display: block;
  font-size: 1.6rem;
  padding-bottom: 5px;
  font-weight: 500;
}
@media screen and (max-width: 567px) {
  .company-history .timeline div dd {
    width: 100%;
    padding-bottom: 25px;
    padding-left: 5px;
  }
}
.company-history .timeline div .border-line {
  content: "";
  display: block;
  width: 1px;
  height: auto;
  background: #ccc;
  margin: 0 5%;
  box-sizing: border-box;
  position: relative;
}
@media screen and (max-width: 567px) {
  .company-history .timeline div .border-line {
    display: none;
  }
}
.company-history .timeline div .border-line:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #c0360f;
}

/*--- アクセス ---*/
@media screen and (max-width: 819px) {
  .company-access {
    max-width: initial;
  }
  .company-access .h3__type01_white {
    max-width: 600px;
    padding: 0 5%;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 819px) and (max-width: 567px) {
  .company-access .h3__type01_white {
    padding: 0;
  }
}
.company-access__inner {
  display: flex;
  flex-flow: row wrap;
}
@media screen and (max-width: 819px) {
  .company-access__inner {
    flex-direction: column;
    height: initial;
  }
}
.company-access__map {
  width: 70%;
  height: 500px;
}
.company-access__map .google_map {
  width: 100%;
  height: 100%;
  display: block;
}
@media screen and (max-width: 819px) {
  .company-access__map {
    width: 100%;
    order: 3;
  }
  .company-access__map .google_map {
    height: 450px;
  }
}
.company-access__ttl {
  width: 30%;
  background: black;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 819px) {
  .company-access__ttl {
    order: 1;
  }
}
.company-access p {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 0;
  line-height: 1.5;
}
@media screen and (max-width: 819px) {
  .company-access p {
    order: 2;
    max-width: 600px;
    padding: 10px 5% 10px;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 567px) {
  .company-access p {
    padding: 10px 0;
  }
}/*# sourceMappingURL=company.css.map */