@charset "UTF-8";
#main .recruit_lead .container,
#main .business .container,
#main .closing .container {
  margin-inline: auto;
}

#main .business .container {
  max-width: 1250px;
}

/* カバー
----------------------------------------------- */
.cover {
  position: relative;
  overflow: hidden;
  aspect-ratio: 375/397;
}
@media screen and (min-width: 768px) {
  .cover {
    aspect-ratio: 768/753;
  }
}
@media screen and (min-width: 1450px) {
  .cover {
    aspect-ratio: unset;
    height: 550px;
  }
}
.cover::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 54.6666666667vw;
  background-image: linear-gradient(320deg, #000479 0%, #1f40b9 100%);
  z-index: 5;
  clip-path: polygon(0 22.4vw, 100% 0, 100% 100%, 0 100%);
}
@media screen and (min-width: 768px) {
  .cover::before {
    height: 49.0885416667vw;
    clip-path: polygon(0 22.7864583333vw, 100% 0, 100% 100%, 0 100%);
  }
}
@media screen and (min-width: 1450px) {
  .cover::before {
    height: 550px;
    width: calc(50% + 10px);
    clip-path: polygon(0 0, 100% 0, calc(100% - 269px) 100%, 0 100%);
  }
}
.cover::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50.1333333333vw;
  z-index: 6;
  background-color: rgba(177, 212, 255, 0.3);
  clip-path: polygon(0 0, 100% 28.8vw, 100% 100%, 0 100%);
}
@media screen and (min-width: 768px) {
  .cover::after {
    height: 41.6666666667vw;
    clip-path: polygon(0 0, 100% 27.9947916667vw, 100% 100%, 0 100%);
  }
}
@media screen and (min-width: 1450px) {
  .cover::after {
    height: 22.5517241379vw;
    width: calc(50% + 487px);
    clip-path: polygon(0 0, 100% 100%, 0 100%);
    background-color: rgba(177, 212, 255, 0.12);
  }
}

.cover_container {
  position: relative;
  width: 100%;
  height: 100%;
}

.cover_text_box {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 0 8.8vw 0;
}
@media screen and (min-width: 768px) {
  .cover_text_box {
    padding: 0 0 4.4270833333vw 0;
  }
}
@media screen and (min-width: 1450px) {
  .cover_text_box {
    height: 100%;
    width: 1250px;
    left: calc(50% - 625px);
    right: calc(50% + 625px);
    align-items: flex-start;
    justify-content: center;
    top: 0;
    bottom: 0;
    left: calc(50% - 725px);
    right: unset;
    width: 1450px;
    padding: 0 0 6px 140px;
  }
}

.cover_title_first {
  display: block;
  width: fit-content;
  margin-inline: auto;
  font-size: 5.3333333333vw;
  font-weight: bold;
  background-color: #004bd4;
  color: #ffffff;
  margin-bottom: 1.6vw;
  padding: 1.8666666667vw 5.3333333333vw 1.0666666667vw 5.3333333333vw;
  line-height: 1;
  clip-path: polygon(3.2vw 0, 100% 0, calc(100% - 3.2vw) 100%, 0 100%);
  font-weight: normal;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .cover_title_first {
    font-size: 5.2083333333vw;
    margin-bottom: 1.8229166667vw;
    padding: 1.6927083333vw 5.2083333333vw 0.6510416667vw;
    clip-path: polygon(3.90625vw 0, 100% 0, calc(100% - 3.90625vw) 100%, 0 100%);
    letter-spacing: 0.07em;
  }
}
@media screen and (min-width: 1450px) {
  .cover_title_first {
    margin-inline: 0 auto;
    font-size: 38px;
    margin-bottom: 6px;
    padding: 14px 52px 8px 40px;
    clip-path: polygon(28px 0, 100% 0, calc(100% - 28px) 100%, 0 100%);
    letter-spacing: 0.1em;
  }
}

.cover_title_second {
  display: block;
  width: fit-content;
  margin-inline: auto;
  font-size: 6.4vw;
  font-weight: bold;
  background: linear-gradient(330deg, #004bd4 0%, #0f94e8 100%);
  color: #ffffff;
  line-height: 1;
  margin-bottom: 2.6666666667vw;
  padding: 2.4vw 6.4vw 1.0666666667vw;
  clip-path: polygon(5.3333333333vw 0, 100% 0, calc(100% - 5.3333333333vw) 100%, 0 100%);
  font-weight: bold;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .cover_title_second {
    font-size: 6.1197916667vw;
    margin-bottom: 2.2135416667vw;
    padding: 2.4739583333vw 5.2083333333vw 1.171875vw;
    clip-path: polygon(5.2083333333vw 0, 100% 0, calc(100% - 5.2083333333vw) 100%, 0 100%);
    letter-spacing: 0.1em;
  }
}
@media screen and (min-width: 1450px) {
  .cover_title_second {
    margin-inline: 0 auto;
    font-size: 44px;
    margin-bottom: 12px;
    padding: 16px 54px 8px 46px;
    clip-path: polygon(42px 0, 100% 0, calc(100% - 42px) 100%, 0 100%);
  }
}

.cover_title_big {
  font-size: 7.4666666667vw;
}
@media screen and (min-width: 768px) {
  .cover_title_big {
    font-size: 6.7708333333vw;
  }
}
@media screen and (min-width: 1450px) {
  .cover_title_big {
    font-size: 57px;
    letter-spacing: 0;
  }
}

.cover_catch {
  font-size: 4.2666666667vw;
  font-weight: normal;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .cover_catch {
    font-size: 3.6458333333vw;
    letter-spacing: 0.08em;
  }
}
@media screen and (min-width: 1450px) {
  .cover_catch {
    font-size: 28px;
    line-height: 1;
    margin-top: 18px;
    margin-left: 40px;
  }
}

.cover_img_container {
  width: 100%;
  height: 100%;
}

.cover_img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* リード文
----------------------------------------------- */
.recruit_lead {
  padding: 6px 14px 50px;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.53333;
}
@media screen and (min-width: 768px) {
  .recruit_lead {
    padding: 53px 0 100px;
    font-size: 18px;
    line-height: 1.5555;
    text-align: center;
  }
}
@media screen and (min-width: 1450px) {
  .recruit_lead {
    padding: 85px 50px 100px;
    font-size: 18px;
    line-height: 1.5555;
  }
}
@media screen and (min-width: 768px) {
  .recruit_lead span {
    display: inline-block;
  }
}

.recruit_lead_text:not(:last-child) {
  margin-bottom: 23px;
}
@media screen and (min-width: 768px) {
  .recruit_lead_text:not(:last-child) {
    margin-bottom: 28px;
  }
}
@media screen and (min-width: 1450px) {
  .recruit_lead_text:not(:last-child) {
    margin-bottom: 28px;
  }
}

/* 事業紹介
----------------------------------------------- */
.business {
  background-color: #f5f5f5;
  padding: 52px 12px 50px;
}
@media screen and (min-width: 768px) {
  .business {
    padding: 102px 0px 100px;
  }
}
.business .md_button_a {
  margin-inline: auto;
  width: 100%;
  max-width: 202px;
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .business .md_button_a {
    margin-top: 30px;
    max-width: 292px;
  }
}
@media screen and (min-width: 1450px) {
  .business .md_button_a {
    margin-top: 32px;
    margin-inline: 0 auto;
  }
}
.business .md_button_a a {
  width: 100%;
}

.product_sparate_line {
  display: block;
  border: none;
  height: 2px;
  max-width: 315px;
  margin-inline: auto;
  margin-block: 31px 34px;
  background-image: linear-gradient(to right, #707070 0px, #707070 2px, transparent 2px, transparent 4px);
  background-size: 6px 2px;
  background-repeat: repeat-x;
}
@media screen and (min-width: 768px) {
  .product_sparate_line {
    max-width: 588px;
    margin-block: 40px 40px;
  }
}
@media screen and (min-width: 1450px) {
  .product_sparate_line {
    max-width: 900px;
    margin-block: 78px 60px;
    height: 4px;
    background-image: linear-gradient(to right, #707070 0px, #707070 4px, transparent 4px, transparent 8px);
    background-size: 12px 4px;
  }
}

.product {
  display: flex;
  flex-direction: column;
}
.product_title {
  color: #1731aa;
}
.product_title_sub {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 14px;
  letter-spacing: 0.05em;
  line-height: 1.3333;
}
@media screen and (min-width: 768px) {
  .product_title_sub {
    font-size: 20px;
    margin-bottom: 16px;
  }
}
@media screen and (min-width: 1450px) {
  .product_title_sub {
    font-size: 20px;
    margin-bottom: 25px;
  }
}
.product_title_sub span {
  display: inline-block;
}
.product_title_text {
  line-height: 1;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .product_title_text {
    font-size: 32px;
  }
}
@media screen and (min-width: 1450px) {
  .product_title_text {
    font-size: 32px;
  }
}
.product_title::after {
  content: "";
  display: block;
  width: 38px;
  height: 5px;
  background: linear-gradient(to right, #279dea 0%, #004bd4 100%);
  margin-top: 6px;
  clip-path: polygon(4px 0, 100% 0, calc(100% - 4px) 100%, 0 100%);
}
@media screen and (min-width: 768px) {
  .product_title::after {
    width: 70px;
    height: 10px;
    margin-top: 12px;
    clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  }
}
@media screen and (min-width: 1450px) {
  .product_title::after {
    margin-top: 14px;
  }
}
.product_img {
  width: 100%;
  aspect-ratio: 351/198.25;
  margin-top: 16px;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .product_img {
    margin-top: 20px;
    aspect-ratio: 500/282;
    width: 75%;
    display: block;
    margin-inline: auto;
  }
}
@media screen and (min-width: 1450px) {
  .product_img {
    margin: 0;
    width: 100%;
    aspect-ratio: 500/282;
  }
}
.product_description {
  margin-top: 16px;
  font-size: 15px;
  line-height: 1.7333;
  color: #090909;
}
@media screen and (min-width: 768px) {
  .product_description {
    margin-top: 19px;
    font-size: 16px;
  }
}
@media screen and (min-width: 1450px) {
  .product_description {
    font-size: 16px;
    margin-top: 38px;
  }
}
.product_description_additional {
  margin-top: 16px;
  font-size: 15px;
  line-height: 1.7333;
  margin-top: 16px;
  color: #090909;
}
@media screen and (min-width: 768px) {
  .product_description_additional {
    margin-top: 19px;
    font-size: 16px;
  }
}
@media screen and (min-width: 1450px) {
  .product_description_additional {
    font-size: 16px;
    margin-top: 16px;
  }
}
.product_tag_list {
  display: flex;
  gap: 8px 16px;
  margin-top: 13px;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .product_tag_list {
    margin-top: 18px;
    gap: 24px;
  }
}
@media screen and (min-width: 1450px) {
  .product_tag_list {
    width: 100%;
    margin-top: 30px;
    gap: 0;
    justify-content: space-between;
  }
}
.product_tag {
  width: 138px;
  height: 42px;
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border-radius: 999px;
  padding: 6px 4px 6px 35px;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .product_tag {
    width: 180px;
    height: 55px;
    padding: 8px 4px 8px 45px;
  }
}
.product_tag_icon {
  width: 27px;
  height: 24px;
  position: absolute;
  top: 50%;
  left: 8px;
  transform: translateY(-50%);
  object-fit: contain;
}
@media screen and (min-width: 768px) {
  .product_tag_icon {
    width: 34px;
    height: 30px;
    left: 10px;
  }
}
.product_tag_text {
  font-size: 12px;
  letter-spacing: 0.1em;
  color: #090909;
}
@media screen and (min-width: 768px) {
  .product_tag_text {
    font-size: 14px;
  }
}
.product_tag--smartphone {
  padding-inline: 30.4px 4px;
}
@media screen and (min-width: 768px) {
  .product_tag--smartphone {
    padding-inline: 40.4px 4px;
  }
}
.product_tag--smartphone_icon {
  width: 15.7px;
  height: 24.7px;
  left: 10.7px;
}
@media screen and (min-width: 768px) {
  .product_tag--smartphone_icon {
    width: 19.7px;
    height: 30.7px;
    left: 13.7px;
  }
}
.product_tag--carengine {
  padding-inline: 39.3px 4px;
}
@media screen and (min-width: 768px) {
  .product_tag--carengine {
    padding-inline: 50.3px 4px;
  }
}
.product_tag--carengine_icon {
  width: 27px;
  height: 15.62px;
  left: 8.3px;
}
@media screen and (min-width: 768px) {
  .product_tag--carengine_icon {
    width: 33px;
    height: 19.62px;
    left: 10.3px;
  }
}
.product_tag--precision {
  padding-inline: 33.2px 4px;
}
@media screen and (min-width: 768px) {
  .product_tag--precision {
    padding-inline: 43.2px 4px;
  }
}
.product_tag--precision_icon {
  width: 20.8px;
  height: 20.8px;
  left: 12.4px;
}
@media screen and (min-width: 768px) {
  .product_tag--precision_icon {
    width: 26.8px;
    height: 26.8px;
    left: 15.4px;
  }
}
.product_tag--airplane {
  padding-inline: 33.3px 4px;
}
@media screen and (min-width: 768px) {
  .product_tag--airplane {
    padding-inline: 43.3px 4px;
  }
}
.product_tag--airplane_icon {
  width: 20.7px;
  height: 23.8px;
  left: 12.6px;
}
@media screen and (min-width: 768px) {
  .product_tag--airplane_icon {
    width: 26.7px;
    height: 29.8px;
    left: 15.6px;
  }
}
.product_tag--hospital {
  padding-inline: 34.4px 4px;
}
@media screen and (min-width: 768px) {
  .product_tag--hospital {
    padding-inline: 44.4px 4px;
  }
}
.product_tag--hospital_icon {
  width: 21.7px;
  height: 21.5px;
  left: 12.7px;
}
@media screen and (min-width: 768px) {
  .product_tag--hospital_icon {
    width: 27.7px;
    height: 27.5px;
    left: 15.7px;
  }
}
.product_tag--semiconductor {
  padding-inline: 40.1px 4px;
}
@media screen and (min-width: 768px) {
  .product_tag--semiconductor {
    padding-inline: 50.1px 4px;
  }
}
.product_tag--semiconductor_icon {
  width: 26.7px;
  height: 26.7px;
  left: 13.4px;
}
@media screen and (min-width: 768px) {
  .product_tag--semiconductor_icon {
    width: 32.7px;
    height: 32.7px;
    left: 16.4px;
  }
}
.product_tag--carbody {
  padding-inline: 35.9px 4px;
}
@media screen and (min-width: 768px) {
  .product_tag--carbody {
    padding-inline: 45.9px 4px;
  }
}
.product_tag--carbody_icon {
  width: 26.7px;
  height: 15.5px;
  left: 9.2px;
}
@media screen and (min-width: 768px) {
  .product_tag--carbody_icon {
    width: 32.7px;
    height: 19.5px;
    left: 12.2px;
  }
}
.product_tag--kitchen {
  padding-inline: 34.4px 4px;
}
@media screen and (min-width: 768px) {
  .product_tag--kitchen {
    padding-inline: 44.4px 4px;
  }
}
.product_tag--kitchen_icon {
  width: 26.7px;
  height: 20.4px;
  left: 7.7px;
}
@media screen and (min-width: 768px) {
  .product_tag--kitchen_icon {
    width: 32.7px;
    height: 24.4px;
    left: 10.7px;
  }
}
.product_tag--building {
  padding-inline: 37.7px 4px;
}
@media screen and (min-width: 768px) {
  .product_tag--building {
    padding-inline: 47.7px 4px;
  }
}
.product_tag--building_icon {
  width: 24.4px;
  height: 25.6px;
  left: 13.3px;
}
@media screen and (min-width: 768px) {
  .product_tag--building_icon {
    width: 30.4px;
    height: 31.6px;
    left: 16.3px;
  }
}
.product_tag--airplane-light {
  padding-inline: 35px 4px;
}
@media screen and (min-width: 768px) {
  .product_tag--airplane-light {
    padding-inline: 45px 4px;
  }
}
.product_tag--airplane-light_icon {
  width: 21px;
  height: 19.2px;
  left: 10px;
}
@media screen and (min-width: 768px) {
  .product_tag--airplane-light_icon {
    width: 27px;
    height: 25.2px;
    left: 13px;
  }
}
.product_tag--clinic {
  padding-inline: 32px 4px;
}
@media screen and (min-width: 768px) {
  .product_tag--clinic {
    padding-inline: 42px 4px;
  }
}
.product_tag--clinic_icon {
  width: 24px;
  height: 19.4px;
  left: 8px;
}
@media screen and (min-width: 768px) {
  .product_tag--clinic_icon {
    width: 30px;
    height: 25.4px;
    left: 11px;
  }
}
.product_tag--prototype {
  padding-inline: 35px 4px;
}
@media screen and (min-width: 768px) {
  .product_tag--prototype {
    padding-inline: 45px 4px;
  }
}
.product_tag--prototype_icon {
  width: 24px;
  height: 24px;
  left: 11px;
}
@media screen and (min-width: 768px) {
  .product_tag--prototype_icon {
    width: 30px;
    height: 30px;
    left: 14px;
  }
}
.product_tag--carmake {
  padding-inline: 38.6px 4px;
}
@media screen and (min-width: 768px) {
  .product_tag--carmake {
    padding-inline: 48.6px 4px;
  }
}
.product_tag--carmake_icon {
  width: 26.5px;
  height: 15.4px;
  left: 12.1px;
}
@media screen and (min-width: 768px) {
  .product_tag--carmake_icon {
    width: 32.5px;
    height: 19.4px;
    left: 15.1px;
  }
}
.product_tag--food {
  padding-inline: 38.6px 4px;
}
@media screen and (min-width: 768px) {
  .product_tag--food {
    padding-inline: 48.6px 4px;
  }
}
.product_tag--food_icon {
  width: 26.5px;
  height: 13.8px;
  left: 12.1px;
}
@media screen and (min-width: 768px) {
  .product_tag--food_icon {
    width: 32.5px;
    height: 17.8px;
    left: 15.1px;
  }
}
.product_tag--logistics {
  padding-inline: 38.6px 4px;
}
@media screen and (min-width: 768px) {
  .product_tag--logistics {
    padding-inline: 48.6px 4px;
  }
}
.product_tag--logistics_icon {
  width: 26.5px;
  height: 26px;
  left: 12.1px;
}
@media screen and (min-width: 768px) {
  .product_tag--logistics_icon {
    width: 32.5px;
    height: 32px;
    left: 15.1px;
  }
}

@media screen and (min-width: 1450px) {
  .product {
    display: grid;
    grid-template-columns: minmax(0, 572px) minmax(0, 500px);
    grid-template-areas: "title  image" "desc   image" "tags   image" "sub_desc image" "button image";
    column-gap: 78px;
    align-items: flex-start;
  }
}
@media screen and (min-width: 1450px) {
  .product_title {
    grid-area: title;
  }
}
@media screen and (min-width: 1450px) {
  .product_description {
    grid-area: desc;
  }
}
@media screen and (min-width: 1450px) {
  .product_description_additional {
    grid-area: sub_desc;
  }
}
@media screen and (min-width: 1450px) {
  .product_tag_list {
    grid-area: tags;
  }
}
@media screen and (min-width: 1450px) {
  .product .md_button_a {
    grid-area: button;
  }
}
@media screen and (min-width: 1450px) {
  .product_img_container {
    grid-area: image;
    display: flex;
    align-items: center;
    height: 100%;
  }
}

@media screen and (min-width: 1450px) {
  .product--reverse {
    grid-template-columns: minmax(0, 500px) minmax(0, 572px);
    grid-template-areas: "image title" "image desc" "image tags" "image sub_desc" "image button";
  }
}

/* クロージング文
----------------------------------------------- */
.closing {
  padding: 50px 12px 16px;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.53333;
}
@media screen and (min-width: 768px) {
  .closing {
    padding: 100px 50px 38px;
    font-size: 18px;
    line-height: 1.5555;
    text-align: center;
  }
}
@media screen and (min-width: 1450px) {
  .closing {
    padding: 100px 50px 38px;
    font-size: 18px;
    line-height: 1.5555;
  }
}

.closing_text:not(:last-child) {
  margin-bottom: 23px;
}
@media screen and (min-width: 768px) {
  .closing_text:not(:last-child) {
    margin-bottom: 29px;
  }
}
@media screen and (min-width: 768px) {
  .closing_text:not(:last-child) span {
    display: inline-block;
  }
}

.closing_text mark {
  background: linear-gradient(to bottom, transparent 0%, transparent 50%, #c1e0ff 50%, #c1e0ff 100%);
}