@charset "UTF-8";
/* **************************************


     追加


***************************************/
/*最小値:$value+0.2 → 可変（$value + 0.625vw（画面幅320px:2px, 800px:5px, 1200px:7.5px,2560px:12px））→ 最大値:$value + 1.2*/
/* =============================================================================


    service 


============================================================================= */
.works {
  margin-top: 140px;
  padding: 60px 0 80px;
  position: relative;
}

.works:before {
  background: #d7e7f0;
  border-radius: 0 30px 30px 0;
  content: "";
  height: 100%;
  left: -7.5vw;
  position: absolute;
  top: 0%;
  width: 100%;
  z-index: -1;
}

.works:nth-of-type(2n + 1):before {
  border-radius: 30px 0px 0px 30px;
  left: auto;
  right: -7.5vw;
}

.product {
  border: 1px solid #313131;
  border-radius: 30px;
  margin-top: 100px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.product:before {
  background: #fff;
  bottom: 0;
  content: "";
  height: calc(80%);
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100vw;
  z-index: -1;
}

.product + .product {
  margin-top: 40px;
}

.product-ttl {
  background: #073cb8;
  color: #fff;
  cursor: pointer;
  font-size: 3.2rem;
  font-weight: bold;
  padding: 0.5em 80px 0.5em 1em;
  position: relative;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.product-ttlbtn {
  background: #fff;
  border-radius: 50%;
  display: block;
  height: 44px;
  position: absolute;
  right: 18px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 44px;
  /* そのうち1本を縦にする */
  /* プラスアイコンクリック後、マイナスにする */
}

.product-ttlbtn:before, .product-ttlbtn:after {
  background: #073cb8;
  content: "";
  display: block;
  height: 2px;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  width: 16px;
  /*     @include mq("tab") {
      width: 30px;
    }

    @include mq("sp") {
      width: 20px;
    } */
}

.product-ttlbtn:before {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}

.on .product-ttlbtn:before {
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg);
}

.product-content {
  background: #fff;
  display: none;
  padding: 80px;
  position: relative;
  z-index: 1;
}

.product-list {
  gap: 56px 48px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.product-item {
  width: calc(50% - 24px);
}

.product-item-img {
  background: #d7e7f080;
}

.product-item-img img {
  width: 100%;
}

.product-listttl {
  display: inline-block;
  font-size: 3.8rem;
  font-weight: 600;
  margin-bottom: 20px;
  padding: 0 0.5em;
  position: relative;
  z-index: 1;
}

.product-listttl:before {
  background: #d7e7f0;
  border-radius: 60px;
  bottom: 0;
  content: "";
  height: 50%;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  z-index: -1;
}

.product-listtxt {
  margin-bottom: 28px;
  margin-top: 20px;
}

.product-item-ttl {
  font-size: 2.4rem;
  font-weight: bold;
  margin-top: 0.5em;
}

.product-content-item + .product-content-item {
  margin-top: 110px;
}

.product-item-txt {
  margin-top: 0.15em;
}

.product-item-txt span {
  display: block;
  padding-left: 0.5em;
  text-indent: -0.5em;
}

.works-ttl {
  font-size: 5rem;
  font-weight: bold;
  text-align: center;
}

.works-header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 80px auto 0;
  position: relative;
}

.works-header._even {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.works-header-img {
  margin-left: calc((100vw - 85vw) / -2);
  width: 100%;
}

.works-header-img img {
  width: 100%;
}

.works-header-img._even {
  margin-left: 0;
  margin-right: calc((100vw - 85vw) / -2);
}

.works-header-txtbox {
  color: #fff;
  margin-left: -380px;
  max-width: 580px;
  padding: 80px 0 80px 80px;
  position: relative;
  z-index: 1;
}

.works-header-txtbox:before {
  background: #073cb8;
  border-radius: 30px 0 0 30px;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: calc(100% + 7.5vw);
  z-index: -1;
}

.works-header-txtbox._even {
  left: 0;
  margin-left: 0;
  margin-right: -380px;
  padding: 80px 80px 80px 0px;
  right: auto;
}

.works-header-txtbox._even:before {
  border-radius: 0px 30px 30px 0px;
  left: auto;
  right: 0;
}

.works-header-ttl {
  font-size: 2.4rem;
  font-weight: bold;
}

.works-header-txt {
  margin-top: 0.5em;
}

.seat_belt-head {
  font-size: 3.8rem;
  font-weight: bold;
  margin-top: 80px;
  text-align: center;
}

.seat_belt-txt {
  margin-top: 80px;
  padding-left: 340px;
}

.seat_belt-deptimg {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: auto;
  position: relative;
  width: 100%;
}

.seat_belt-deptimg img {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  width: 100%;
}

.seat_belt-deptttl {
  align-self: center;
  bottom: 0;
  color: #fff;
  font-size: 3.2rem;
  font-weight: bold;
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  justify-self: center;
  position: absolute;
  text-align: center;
  width: 100%;
}

.seat_belt-deptttl:before {
  background: #535353;
  content: "";
  height: 100%;
  left: 0;
  mix-blend-mode: multiply;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

.seat_belt-deptttl span {
  color: #fff;
  position: relative;
  z-index: 2;
}

.seat_belt-contents {
  margin: auto;
  max-width: 1180px;
  position: relative;
}

.seat_belt-imgs {
  margin: auto;
  position: relative;
}

.seat_belt-imgbox {
  margin: auto;
  max-width: 48%;
  padding: 60px 0 120px;
}

.seat_belt-imgbox img {
  width: 100%;
}

.seat_belt-dept._product {
  left: -103px;
  position: absolute;
  top: -60px;
}

.seat_belt-dept._tech {
  bottom: 0;
  position: absolute;
  right: clamp(-103px, -7.5vw, -16px);
}

.seat_belt-dept {
  max-width: 400px;
  width: 33%;
}

.seat_belt-depttxt,
.seat_belt-imgtxt {
  margin-top: 20px;
}

.seat_belt-depttxt {
  font-size: 1.6rem;
  margin-left: auto;
  margin-right: auto;
  width: 80%;
}

.parts-contents {
  gap: 110px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-top: 80px;
}

.parts-content {
  width: calc(50% - 55px);
}

.part-content-txt {
  margin-top: 0.5em;
}

.parts-content-ttl {
  font-size: 3.8rem;
  font-weight: bold;
}

.part-content-list {
  border-top: 2px solid #fff;
  font-size: 2.4rem;
  margin-top: 20px;
}

.part-content-item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 2px solid #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 0.75em 0;
}

.part-content-item dt,
.part-content-item dd {
  width: 50%;
}

.env-ttl,
.design-ttl,
.flow-ttl {
  font-size: 3.8rem;
  font-weight: bold;
  text-align: center;
}

.flow-txt,
.design-txt,
.env-txt {
  margin: 20px auto 0;
  max-width: 720px;
}

.flow-contents,
.design-contents,
.env-contents {
  margin-bottom: 120px;
  margin-top: 80px;
}

.env-list {
  gap: 28px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 80px;
}

.env-item {
  width: calc(33.33333% - ((28px * 2) / 3));
}

.env-item-img {
  background: #fff;
  border-radius: 30px 0 30px 0;
  overflow: hidden;
  text-align: center;
}

.env-item-ttl {
  font-size: 2.4rem;
  font-weight: bold;
  margin-top: 20px;
  text-align: center;
}

.design-list {
  gap: 0px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 80px;
}

.design-item {
  width: 25%;
}

/* $figure02: rgb(216, 46, 29);
$figure03: #422070;
$figure04: #fec030; */
.design-item-figure {
  background: #073cb8;
  color: #fff;
  position: relative;
  width: 100%;
}

.design-item:not(:nth-child(1)) .design-item-figure:before {
  -webkit-clip-path: polygon(50% 50%, 0 0, 0 100%);
          clip-path: polygon(50% 50%, 0 0, 0 100%);
  content: "";
  height: 100%;
  left: -1px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 40px;
}

.design-item:nth-child(2) .design-item-figure {
  background: #1559f6;
}

.design-item:nth-child(2) .design-item-figure:before {
  background: #073cb8;
}

.design-item:nth-child(3) .design-item-figure {
  background: #5f8df9;
}

.design-item:nth-child(3) .design-item-figure:before {
  background: #1559f6;
}

.design-item:nth-child(4) .design-item-figure {
  background: #a9c2fc;
}

.design-item:nth-child(4) .design-item-figure:before {
  background: #5f8df9;
}

.design-item-figure span {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  font-size: 3.8rem;
  font-weight: bold;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 5px;
  padding: 1em 0;
  text-align: center;
  width: 100%;
}

.design-item-txt {
  margin-top: 24px;
  padding-right: 32px;
}

.flow-contents {
  background: #fff;
  border: 1px solid #707070;
  padding: 80px;
}

.flow-txt span {
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(60%, #d7e7f0));
  background: linear-gradient(transparent calc(100% - 60%), #d7e7f0 60%);
}

.flow-list {
  border-bottom: 1px solid #535353;
  margin-top: 50px;
}

.flow-item {
  gap: 30px;
  border-top: 1px solid #535353;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 40px 0;
  /*   & + & {
    margin-top: 90px;

    @include mq("sp") {
      margin-top: 32px;
    }
  } */
}

.flow-item-ttl {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #313131;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 2.8rem;
  font-weight: bold;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.3;
  padding: 0.25em;
  text-align: center;
  width: 264px;
}

.flow-item-ttl span {
  font-family: "Poppins", sans-serif;
  font-size: 1.6rem;
  font-weight: 600;
}

.flow-item-txthead {
  font-size: 2rem;
}

.flow-item-txthead span {
  font-size: 1.4rem;
}

.flow-item-txtbox {
  gap: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.8rem;
  width: calc(100% - 300px);
}

.flow-item-txt_content {
  width: calc(50% - 15px);
}

.flow-item-txt {
  padding-left: 0.5em;
  text-indent: -0.5em;
}

.content-btnlist {
  gap: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 80px auto 0;
  max-width: 1080px;
}

.content-btnitem {
  width: calc(33.33333% - (40px / 3));
}

.content-btn {
  border: 1px solid #313131;
  border-radius: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 20px 24px 20px 20px;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.content-btn:hover {
  background: #073cb8;
  border: 1px solid #073cb8;
  color: #fff;
}

.content-btn:hover > span {
  background: #fff;
  height: 40px;
  right: calc(10% - 15px);
  width: 40px;
}

.content-btn:hover > span:before, .content-btn:hover > span:after {
  background: #073cb8;
  border-radius: 9999px;
  border-radius: 9999px;
  content: "";
  display: inline-block;
  height: 2px;
  position: absolute;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  width: 10px;
}

.content-btn:hover > span:before {
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.content-btn:hover > span:after {
  left: calc(50% - 2px);
  position: absolute;
  top: calc(50% - 0.5px);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transform-origin: calc(100% - 0.5px) 50%;
          transform-origin: calc(100% - 0.5px) 50%;
  width: 8px;
}

.content-btn > span {
  background: #073cb8;
  border-radius: 50%;
  height: 10px;
  position: absolute;
  right: 10%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.2s;
  transition: 0.2s;
  width: 10px;
}

.content-btn > span:before {
  background: #073cb8;
  height: 10px;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 10px;
}

.part-content-listspan {
  font-size: 1.8rem;
}

.part-content-table {
  margin-top: 20px;
}

.part-content-table th,
.part-content-table td {
  border-top: 2px solid #fff;
  font-size: 1.8rem;
  padding: 0.5em 0.15em;
}

.part-content-table th {
  font-size: 2.4rem;
}

.floating {
  position: relative;
  z-index: 2;
}

.floating-btn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #073cb8;
  border: 2px solid #073cb8;
  border-radius: 50%;
  bottom: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  height: 80px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  right: 40px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  width: 80px;
  z-index: 10;
  z-index: 20;
}

.floating-btn:hover {
  background: #fff;
}

.floating-btn:hover span:before,
.floating-btn:hover span:after {
  background: #073cb8;
}

.floating-btn span {
  height: 40px;
  position: relative;
  width: 40px;
}

.floating-btn span:before, .floating-btn span:after {
  background: #fff;
  border-radius: 9999px;
  border-radius: 9999px;
  content: "";
  display: inline-block;
  position: absolute;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.floating-btn span:before {
  height: 40px;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 4px;
}

.floating-btn span:after {
  height: 4px;
  left: calc(50% - 4px);
  position: absolute;
  top: 4px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 20px;
}

@media screen and (max-width: 1366px){
  .seat_belt-dept._product {
    left: calc((100% - 100vw) / 2);
  }
  .seat_belt-dept._tech {
    right: calc((100% - 100vw) / 2);
  }
  .seat_belt-dept {
    width: 28%;
  }
}

@media (max-width: 1208px){
  .works {
    margin-top: 80px;
  }
  .works-ttl {
    font-size: 4rem;
  }
  .works-header {
    margin-top: 20px;
  }
  .works-header-img {
    margin-left: -24px;
  }
  .works-header-img._even {
    margin-right: -24px;
  }
  .works-header-txtbox {
    margin-left: -280px;
    margin-top: 60px;
    max-width: 50%;
    padding: 50px 0 50px 50px;
  }
  .works-header-txtbox._even {
    margin-right: -280px;
    padding: 50px 50px 50px 0px;
  }
  .works-header-ttl {
    font-size: 2rem;
  }
  .seat_belt-head {
    font-size: 3rem;
  }
  .seat_belt-deptttl {
    font-size: 2.8rem;
  }
  .seat_belt-dept._product {
    left: -24px;
  }
  .seat_belt-dept._tech {
    right: -24px;
  }
  .seat_belt-depttxt {
    font-size: 1.4rem;
  }
  .parts-contents {
    gap: 60px;
  }
  .parts-content {
    width: calc(35% - 60px);
  }
  .parts-content:nth-child(1) {
    width: calc(65%);
  }
  .parts-content-ttl {
    font-size: 3rem;
  }
  .part-content-list {
    font-size: 2rem;
  }
  .design-list {
    gap: 0px;
  }
  .design-item {
    width: 25%;
  }
  .design-item-txt {
    padding-right: 24px;
  }
  .flow-contents {
    padding: 80px 40px;
  }
  .flow-item-txtbox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .flow-item-txt_content {
    width: 100%;
  }
  .content-btnlist {
    gap: 20px 40px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .content-btnitem {
    width: calc(50% - (40px));
  }
  .content-btn {
    font-size: 1.8rem;
    letter-spacing: 0;
  }
  .part-content-listspan {
    font-size: 1.6rem;
  }
  .part-content-table th,
  .part-content-table td {
    font-size: 1.6rem;
  }
  .part-content-table th {
    font-size: 2rem;
  }
  .floating-btn {
    height: 60px;
    width: 60px;
  }
  .floating-btn span {
    height: 30px;
    width: 30px;
  }
  .floating-btn span:before {
    height: 30px;
    width: 3px;
  }
  .floating-btn span:after {
    height: 3px;
    left: calc(50% - 3px);
    top: 3px;
    width: 15px;
  }
}

@media (max-width: 767px){
  .works {
    margin-top: 60px;
  }
  .product {
    margin-top: 60px;
  }
  .product + .product {
    margin-top: 28px;
  }
  .product-ttl {
    font-size: 2.6rem;
  }
  .product-content {
    padding: 40px 28px;
  }
  .product-list {
    gap: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .product-item {
    width: 100%;
  }
  .product-listttl {
    font-size: 2.8rem;
    margin-bottom: 10px;
  }
  .product-listtxt {
    margin-top: 10px;
  }
  .product-item-ttl {
    font-size: 2rem;
  }
  .works-ttl {
    font-size: 3rem;
  }
  .works-header {
    gap: 0;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: 20px;
  }
  .works-header._even {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .works-header-img {
    margin-left: -16px;
  }
  .works-header-img._even {
    margin-right: -16px;
  }
  .works-header-txtbox {
    margin: 0;
    max-width: 100%;
    width: 100%;
  }
  .works-header-txtbox._even {
    margin: 0;
  }
  .seat_belt-head {
    font-size: 2.4rem;
    margin-top: 48px;
  }
  .seat_belt-txt {
    margin-top: 20px;
    padding-left: 0;
  }
  .seat_belt-deptttl {
    font-size: 2.4rem;
  }
  .seat_belt-imgbox {
    margin: 40px auto 0;
    max-width: 480px;
    padding: 0;
  }
  .seat_belt-depts {
    gap: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: auto;
    max-width: 540px;
  }
  .seat_belt-dept._product {
    left: auto;
    position: relative;
    top: auto;
  }
  .seat_belt-dept._tech {
    left: auto;
    position: relative;
    right: auto;
    top: auto;
  }
  .seat_belt-dept {
    margin-top: 40px;
    width: calc(50% - 5px);
  }
  .seat_belt-depttxt {
    width: 100%;
  }
  .parts-contents {
    gap: 40px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .parts-content {
    width: 100%;
  }
  .parts-content:nth-child(1) {
    width: calc(100%);
  }
  .parts-content-ttl {
    font-size: 2.6rem;
  }
  .part-content-list {
    font-size: 1.8rem;
  }
  .env-ttl,
  .design-ttl,
  .flow-ttl {
    font-size: 2.4rem;
    letter-spacing: 0;
  }
  .flow-contents,
  .design-contents,
  .env-contents {
    margin-bottom: 60px;
    margin-top: 48px;
  }
  .env-list {
    gap: 30px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .env-item {
    width: calc(80% - ((10px * 2) / 3));
  }
  .env-item-img {
    border-radius: 15px 0 15px 0;
  }
  .env-item-ttl {
    font-size: 2rem;
    letter-spacing: 0;
  }
  .design-list {
    gap: 0px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 48px;
  }
  .design-item {
    gap: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }
  .design-item-figure {
    width: 120px;
  }
  .design-item:not(:nth-child(1)) .design-item-figure:before {
    -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
            clip-path: polygon(100% 0, 0 0, 50% 100%);
    height: 20px;
    left: 50%;
    top: -1px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100%;
  }
  .design-item-figure span {
    font-size: 3rem;
  }
  .design-item-txt {
    margin: 0;
    padding: 0;
    padding: 0.5em 0;
    width: calc(100% - 140px);
  }
  .flow-item {
    gap: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .flow-item-ttl span {
    font-size: 1.4rem;
  }
  .flow-item-ttl {
    font-size: 2.4rem;
    margin: auto;
    width: 220px;
  }
  .flow-item-txthead {
    font-size: 1.8rem;
  }
  .flow-item-txtbox {
    gap: 10px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 1.6rem;
    width: 100%;
  }
  .flow-item-txt_content {
    width: 100%;
  }
  .content-btnlist {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 40px;
  }
  .content-btnitem {
    margin: auto;
    max-width: 340px;
    width: 100%;
  }
  .part-content-listspan {
    font-size: 1.2rem;
  }
  .part-content-table th,
  .part-content-table td {
    font-size: 1.2rem;
  }
  .part-content-table th {
    font-size: 1.6rem;
  }
  .floating-btn {
    bottom: 10px;
    height: 45px;
    right: 10px;
    width: 45px;
  }
  .floating-btn span {
    height: 25px;
    width: 25px;
  }
  .floating-btn span:before {
    height: 25px;
    width: 2px;
  }
  .floating-btn span:after {
    height: 2px;
    left: calc(50% - 2px);
    top: 2px;
    width: 10px;
  }
}


/*# sourceMappingURL=works.css.map*/