/* =====================================================
   mv
===================================================== */
.mv {
  max-width: 1770px;
  width: 90%;
  margin: 0 auto;
  padding: 70px 0 140px;

  .mv_inner {
    display: flex;
    align-items: center;
    gap: 80px;

    .mv_content,
    .mv_slider {
      flex: 1 1 0;
      min-width: 0;
    }
  }

  .mv_content {
    position: relative;
    z-index: 2;

    .mv_text {
      .mv_title {
        font-size: 7.5rem;
        font-weight: bold;
        line-height: 1.4;
        margin-bottom: 24px;
        letter-spacing: 4.5px;

        p {
          display: block;
          margin: 0;
          white-space: nowrap;
        }

        .mv--title--emphasis {
          color: var(--color-primary);
          font-weight: bold;
        }

        .mv--title--cross {
          color: var(--color-secondary);
        }
      }

      .mv_lead {
        font-weight: bold;
        font-size: 2rem;
        color: var(--color-text);
        margin-bottom: 66px;
      }
    }

    .mv_buttons {
      display: flex;
      gap: 20px;
    }
  }

  .mv_slider {
    position: relative;
    max-width: 830px;

    .swiper {
      width: 100%;
      border-radius: 20px;
      overflow: hidden;

      .swiper-slide {
        aspect-ratio: 79 / 50;

        img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          display: block;
          border-radius: 20px;
          overflow: hidden;
        }
      }
    }

    .swiper-pagination {
      text-align: right;
      bottom: -40px;
    }
  }
}

@media (max-width: 1900px) {
  .mv {
    .mv_inner {
      .mv_content,
      .mv_slider {
        flex: 1 1 0;
        min-width: 0;
      }
    }

    .mv_content {
      .mv_text {
        .mv_title {
          font-size: var(--font-size-75-md);
        }

        .mv_lead {
          font-size: var(--font-size-20-md);
          margin-bottom: clamp(30px, 4vw, 40px);
        }
      }
    }
  }
}

@media (max-width: 900px) {
  .mv {
    /*min-height: calc(100vh - 80px);*/
    display: flex;
    align-items: center;
    padding: 2em 0 5em 0;

    .mv_inner {
      width: 100%;
      flex-direction: column-reverse;
      gap: 30px;
    }

    .mv_content {
      width: 100%;

      .mv_text {
        width: 90%;
        margin: 0 auto;

        .mv_title {
          font-size:clamp(24px, 7vw, 40px);
          letter-spacing: 2px;
          margin-bottom: 15px;
        }

        .mv_lead {
          margin-bottom: 0.5em;
          line-height: 1.7;
          font-size:clamp(16px, 4vw, 18px);
        }
      }

      .mv_buttons {
	flex-direction: row;
	gap: 15px;
	margin: auto;
	flex-wrap: wrap;
        width: fit-content;
	a{
                    width: fit-content;
                    font-size:clamp(14px, 3vw, 16px);
                    padding: 0 1em;
                    line-height: 3em;
	}
      }
    }

    .mv_slider {
      max-width: 100%;

      .swiper {
        height: 30vh;
      }

      .swiper-pagination {
        width: 97%;
        bottom: -25px;
      }
    }
  }
}


/* =====================================================
   info_ticker
===================================================== */

.top_fv_info_bg{
	background: #005bac;
	width: 100%;
	margin: 0;
	padding: 2em 0px;
}
.info_slide_wrap{
	display: flex;
	flex-wrap: nowrap;
	width: 90%;
	max-width: 1100px;
	height: auto;
	margin: auto;
	h2{
	        font-size: 20px;
	        font-weight: bold;
	        color: white;
	        width: 15%;
	        display: block;
	        margin-top: 0.5em;
		span{ font-size: 12px; display: block;}
	}
	.info_slide {
	        width: 85%;
	        background: #fff;
	        padding: 1em;
	        box-sizing: border-box;
	        border-radius: 10px;
	}
	.slick-slide {
	}
	.slick-slide p {
		display: block;
		width: fit-content;
		margin: 0.5em;
		float: left;
		background: #f39800;
		padding: 0.2em 1em;
		line-height: 1.5em;
		font-size: 12px;
		font-weight: bold;
		color: #FFF;
		border-radius: 5px;
		label{}
	}
	.slick-slide a {
	 color: #000;
	font-size: 14px;
	line-height: 2.5em;
	 font-weight: 500;
	 letter-spacing: 0.05em;
	 display: -webkit-box;
	 display: -ms-flexbox;
	 -webkit-box-orient: vertical;
	 -ms-flex-direction: column;
	 -webkit-line-clamp: 1;
	 overflow: hidden;
	}

	.slick-slide a span {margin-right: 1em; color: #666;}

	.slick-slide a:hover {
	 text-decoration: underline;
	}

	.info_prev::before {
		border-top: 1px solid #000!important;
		border-right: 1px solid #000!important;
	}

	.info_next::before {
		border-top: 1px solid #000!important;
		border-right: 1px solid #000!important;
	}


	.info_next {
	 position: absolute;
	right: 1em;
	top: 2em;
	width: 1em;
	height: 1em;
	 cursor: pointer;
        z-index: 10;
	}

	.info_next::before {
	 content: "";
	width: 0.6em;
	height: 0.6em;
	 display: block;
	 border-top: 1px solid #000;
	 border-right: 1px solid #000;
	 -webkit-transform: rotate(45deg);
	 transform: rotate(45deg);
	}

	.info_prev {
	position: absolute;
        right: 3em;
        top: 2em;
        width: 1em;
        height: 1em;
        cursor: pointer;
        z-index: 10;
	}

	.info_prev::before {
	 content: "";
	width: 0.6em;
	height: 0.6em;
	 display: block;
	 border-top: 1px solid #000;
	 border-right: 1px solid #000;
	 -webkit-transform: rotate(-135deg);
	 transform: rotate(-135deg);
	}


}

@media (max-width: 900px) {
	.top_fv_info_bg{
	padding: 1em 0px;
	}

	.info_slide_wrap{
		flex-wrap: wrap;
		width: 90%;
		h2{
		width: 100%;
		padding: 0.7em;
		span{display: contents;}
		}
		.info_slide{width: 100%;}
		.slick-slide a {font-size: clamp(12px, 3.5vw, 16px);}
		.slick-slide p {float: unset; margin: 0;}
		.info_prev {right: 1.5em; top: 2.5em; margin: 0;font-size: clamp(12px, 3.5vw, 16px);}
		.info_next {right: 0.2em; top: 2.5em; margin: 0;font-size: clamp(12px, 3.5vw, 16px);}

	}
}





/* =====================================================
   hero
===================================================== */
.hero {
  position: relative;

  &.hero_bg::before {
    content: "";
    background-color: var(--color-gray);
    height: 535px;
    display: block;
    position: absolute;
    width: 100%;
    z-index: -1;
    top: 0;
  }

  .hero_title {
    display: flex;
    align-items: center;
    gap: 60px;
    margin-bottom: 67px;
    text-align: left;
    white-space: nowrap;

    h2 {
      line-height: 1.6;
      letter-spacing: 3px;
      font-size: 5rem;
      color: var(--color-primary);
    }

    p {
      margin: 0;
      line-height: 2.5;
      letter-spacing: 1.5px;
      font-size: 1.8rem;
      font-weight: bold;
    }
  }

  .hero-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;

    .hero-item {
      text-align: left;

      &:hover {
        a {
          opacity: 1;
        }

        img {
          transform: scale(1.1);
        }
      }

      .hero-item_image {
        height: 260px;
        width: 100%;
        overflow: hidden;

        img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          display: block;
          overflow: hidden;
          transition: transform 0.3s ease;
        }
      }

      .hero-item_desc {
        width: 100%;
        min-height: 180px;
        background-color: var(--color-primary);
        padding: 25px;
        color: #fff;

        h3 {
          font-size: 3rem;
          margin-bottom: 20px;
          letter-spacing: 5px;
        }

        p {
          font-size: 1.4rem;
          margin: 0 0 30px;
        }
      }
    }
  }
}

@media (max-width: 1300px) {
  .hero {
    .hero_title {
      gap: 3%;

      h2 {
        letter-spacing: 2px;
        font-size: var(--font-size-50-md);
      }

      p {
        font-size: clamp(1rem, 1.4vw, 1.8rem);
      }
    }
  }
}

@media (max-width: 900px) {
  .hero {
    .hero_title {
      flex-direction: column;
      align-items: normal;
      gap: 15px;
      white-space: unset;
      margin-bottom: 40px;

      h2 {
        font-size: var(--font-size-50-sm);
      }

      p {
        font-size: var(--font-size-18-sm);
        line-height: 2;
      }
    }

    .hero-list {
	display: flex;
	flex-direction: column;
	gap: 30px;
	width: 80%;
	margin: auto;
      .hero-item {
        border-radius: 10px;
        overflow: hidden;

        .hero-item_image {
          height: 18vh;
        }

        .hero-item_desc {
        min-height: auto;
	padding: 5%;

          h3 {
            font-size: var(--font-size-30-sm);
            margin-bottom: clamp(1rem, 2vw, 18px);
          }

          p {
            font-size: var(--font-size-14-sm);
            margin: 0 0 0.3em;
          }
        }
      }
    }
  }
}

/* =====================================================
   reason
===================================================== */
.reason {
  position: relative;
  margin: 50px 0;

  &.reason_bg::before {
    content: "";
    background-color: var(--color-secondary);
    height: 120%;
    display: block;
    position: absolute;
    border-radius: 0 30px 30px 0;
    width: 35%;
    z-index: -1;
    top: 0;
  }

  .reason-slider {
    overflow: hidden;

    .reason-list {
      .reason-item {
        display: flex;
        margin: 0 50px;
        gap: 5%;

        &.swiper-slide {
          width: 1200px;
        }

        .reason-item_image {
		width: 54%;
		max-height: 500px;
		img{
			margin: auto 0 auto auto;
			height: auto;
			font-size: clamp(12px, 3.5vw, 16px);
			aspect-ratio: 6 / 4;
			object-fit: contain;
		}
        }

        .reason-item_body {
          width: 41%;

          .reason-item_num {
            background-color: var(--color-primary);
            height: 85px;
            width: 85px;
            display: inline-block;
            padding: 15px;
            border-radius: 50%;
            font-family: "Inter", sans-serif;

            p {
              margin: 0;
              text-align: center;
              font-size: 1.2rem;
              color: #fff;

              span {
                display: block;
                line-height: 1.1;
                font-size: 3rem;
                font-weight: bold;
              }
            }
          }

          .reason-item_title {
            margin: 10px 0 45px;
            font-size: 3.4rem;
            color: var(--color-primary);
            padding-left: 40px;
		small{font-size: 1.5rem;}
          }

          .reason-item_text {
            font-size: 1.8rem;
            padding-left: 40px;
          }
        }
      }
    }
  }
}

@media (max-width: 1300px) {
  .reason {
    .reason-slider {
      .reason-list {
        .reason-item {
          .reason-item_image {
            width: 54%;
          }

          .reason-item_body {
            .reason-item_title {
              margin: 10px 0 15px;
              padding-left: 10px;
              font-size: clamp(2rem, 3vw, 3.4rem);
            }

            .reason-item_text {
              padding-left: 10px;
              font-size: var(--font-size-20-md);
            }
          }

          &.swiper-slide {
            width: 65%;
          }
        }
      }
    }
  }
}

@media (max-width: 900px) {
  .reason {
    margin: 50px 0 0;

    &.reason_bg::before {
      height: 300px;
      width: 40%;
    }

    .reason-slider {
      .reason-list {
        flex-direction: column;
        gap: 50px;

        .reason-item {
          /*flex-direction: column-reverse;
          width: 100%;*/
	flex-direction: column-reverse;
	display: inline-flex;
	width: 100%;

          .reason-item_image {
            width: 100%;
            margin: 0 auto;
          }

          .reason-item_body {
            width: 100%;

            .reason-item_num {
              height: 75px;
              width: 75px;

              p {
                font-size: 1rem;

                span {
                  line-height: 1;
                  font-size: 2.5rem;
                }
              }
            }

            .reason-item_title {
              font-size: var(--font-size-34-sm);
            }

            .reason-item_text {
              font-size:clamp(14px,3.5vw,18px);
            }
          }
        }
      }

      .slick-dots {
        margin: 10px auto;
        width: 70%;
        text-align: right;

        /* max-width: 1200px;
        width: 90%;
        margin: 30px auto; */

        li {
          /* display: inline-block; */

          button {
            margin: 0 5px !important;
            width: 7px;
            height: 7px;
            /* font-size: 0;
            line-height: 0;
            display: block;
            padding: 0;
            cursor: pointer;
            color: transparent;
            border: 0;
            outline: none;
            background: #e3f0fb;
            margin: 0 11px !important;
            width: 10px;
            height: 10px;
            opacity: 1;
            border-radius: 50%; */
          }

          &.slick-active {
            button {
              /* background: var(--color-primary); */
            }
          }
        }
      }
    }
  }
}

/* =====================================================
   service
===================================================== */
.service {
  position: relative;
  padding: 87px 0 60px;

  &.service_bg::before {
    content: "";
    background-color: var(--color-gray);
    height: 100%;
    display: block;
    position: absolute;
    border-radius: 20px 0 0 20px;
    width: 85%;
    min-width: 1600px;
    z-index: -1;
    top: 0px;
    right: 0;
  }

  .service-row_wrap {
    padding-top: 30px;

    .service-row {
      display: grid;
      gap: 30px;
      margin-bottom: 76px;

      &.service-row--two {
        grid-template-columns: repeat(2, 1fr);
      }

      &.service-row--three {
        grid-template-columns: repeat(3, 1fr);
      }
    }

    .service-item {
      position: relative;

      .service-label {
        position: absolute;
        top: -13px;
        left: 15px;
        min-width: 158px;
        text-align: center;
        line-height: 1.2;
        background-color: var(--color-primary);
        color: #fff;
        padding: 10px 20px;
        border-radius: 50px;
        font-size: 2.2rem;
        font-weight: bold;
        z-index: 2;
      }

      img {
        width: 100%;
        object-fit: cover;
        display: block;
        max-height: 223px;
        border-radius: 20px;

        &.top-position {
          object-position: 0 -50px;
        }
      }

      p {
        text-align: center;
        margin: 10px 0 0;
        font-size: 1.8rem;
        font-weight: bold;
        line-height: 1.4;
      }
    }
  }
}

@media (max-width: 1300px) {
  .service {
    .service-row_wrap {
      .service-item {
        .service-label {
          font-size: var(--font-size-22-md);
        }

        p {
          font-size: var(--font-size-22-md);
        }
      }
    }
  }
}

@media (max-width: 900px) {
  .service {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
        padding: 5em 0 1em;
    .service-row_wrap {
            padding-top: 10px;
            width: 80%;
            margin: auto;
      .service-row {
        gap: 60px;
        margin-bottom: 60px;

        &.service-row--two,
        &.service-row--three {
          grid-template-columns: 1fr;
        }
      }

      .service-item {
        .service-label {
          font-size: clamp(14px, 4vw, 18px);
          top: -25px;
          left: 10px;
        }

        img {
          max-height: 170px;

          &.top-position {
            object-position: unset;
          }
        }

        p {
          font-size: var(--font-size-22-sm);
        }
      }
    }
  }
}

/* =====================================================
   record
===================================================== */

.record {
  position: relative;
  margin: 115px auto;
  width: 90%;

  &::after {
    content: "";
    display: block;
    width: 80%;
    height: 660px;
    background-image: url(../img/top/record_bg.webp);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center top;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
  }
  .record_inner {
    display: flex;
    gap: 60px;
    align-items: center;

    img {
      width: 50%;
      border-radius: 16px;
    }

    .record_content {
      width: 50%;

      h2 {
        font-size: 3.2rem;
        margin-bottom: 20px;
      }

      p {
        font-size: 1.6rem;
        margin-bottom: 30px;
      }
    }
  }
}

@media (max-width: 900px) {
  .record {
    margin: 60px auto 0;

    &::after {
      width: 100%;
    }
  }
}

/* =====================================================
   voice
===================================================== */
.voice {
  background-color: var(--color-gray);
  padding: 70px 0 115px;

  .slider-image {
    width: 100%;
    overflow: hidden;

    .slider-image_track {
      display: flex;
      gap: 50px;
      will-change: transform;

      .slider-image_item {
        flex: 0 0 auto;
        width: 360px;

        a {
          display: block;
          text-decoration: none;

          .slider-image_item-image {
            border-radius: 20px;
            overflow: hidden;

            img {
              width: 360px;
              height: 300px;
              object-fit: cover;
              border-radius: 20px;
              transition: transform 0.3s ease;
              display: block;
            }
          }

          .slider-image_item-text {
            width: 93%;
            margin: 0 auto;

            .slider-image_item-title {
              margin: 10px 0;
              line-height: 1.3;
              font-size: 2rem;
              font-weight: bold;
              color: var(--color-primary);
            }

            .slider-image_item-note {
              margin: 0;
              line-height: 1;
              text-align: right;
              font-size: 1.5rem;
              font-weight: bold;
              color: #474747;
            }
          }
        }

        &:hover {
          a {
            opacity: 1;
          }

          img {
            transform: scale(1.1);
          }
        }
      }
    }
  }

  .voice_button {
    display: flex;
    justify-content: center;
    margin: 70px auto 0;

    .c-button {
      width: 400px;
      height: 80px;
      font-size: 2rem;
    }
  }
}

@media (max-width: 900px) {
  .voice {
    .slider-image {
      padding: 0 10px;
      .slider-image_track {
        gap: 0;
        will-change: auto;
        transform: none;

        .slider-image_item {
		width: auto;
		max-width: 360px;
          a {
            .slider-image_item-image {
		width: 100%;
		margin: 0 auto;
		overflow: hidden;
		border-radius: 10px;

              img {
			transform: none;
			aspect-ratio: 4 / 3;
			border-radius: unset;
			height: auto;
              }
            }

            .slider-image_item-text {
                        .slider-image_item-title {
				font-size: clamp(14px, 4vw, 18px);
				line-height: 1.5em;
                        }
                        .slider-image_item-note {
                            font-size: clamp(12px, 3vw, 14px);
                        }
            }
          }

          &:hover {
            img {
              transform: unset;
            }
          }
        }
      }
    }

    .voice_button {
      .c-button {
		width: fit-content;
		height: 3.5em;
		padding: 0 2em;
		font-size: clamp(14px, 4vw, 18px);
      }
    }
  }
}

/* 
=====================================================
   information
===================================================== */
.information {
  margin: 80px auto 140px;

  .information_button {
    .c-button {
            width: fit-content;
            padding: 0 3em;
            height: 3em;
            font-size: 1.5rem;
    }
  }

  .information-card-list {
    display: flex;
    gap: 50px;
    justify-content: center;
    flex-wrap: wrap;
    padding-top: 15px;
    margin: 0;

    .information-card {
      position: relative;
      background-color: #e3f0fb;
      border-radius: 16px;
      box-shadow: none;
      width: 340px;
      padding: 43px 25px 33px;
      list-style: none;
      display: flex;
      flex-direction: column;
      align-items: center;
      transition: box-shadow 0.2s;

      &:hover {
        a {
          opacity: 1;
        }

        img {
          transform: scale(1.1);
        }
      }

      .information-card_label {
        position: absolute;
        top: -18px;
        left: 10px;
        background-color: var(--color-primary);
        color: #fff;
        font-size: 1.4rem;
        font-weight: bold;
        border-radius: 5px;
        padding: 8px 20px;
	p{
		margin:auto;
	}
      }

      .information-card_image {
        width: 100%;
        margin: 0 auto;
        border-radius: 10px;
        overflow: hidden;

        img {
          display: block;
          object-fit: cover;
          width: 100%;
          height: 160px;
          transition: transform 0.3s ease;
        }
      }
      .information-card_body {
        width: 100%;
        text-align: left;

        .information-card_title {
          margin: 20px 0;
          line-height: 1.3;
          font-size: 2rem;
          font-weight: bold;
          color: var(--color-primary);
        }
        .information-card_date {
          margin: 0;
          line-height: 1.2;
          font-size: 1.5rem;
          color: #474747;
        }
      }
    }
  }
}

@media (max-width: 900px) {
  .information {
    margin: 30px auto;

    .information_button {
      width: 100%;

      .c-button {
	width: fit-content;
	height: 3.5em;
	padding: 0 2em;
	font-size: clamp(14px, 4vw, 18px);
      }
    }

    .information-card-list {
      flex-direction: column;
      gap: 50px;
      align-items: center;
      margin-bottom: 50px;

      .information-card {
        width: 95%;
        max-width: 400px;
        padding: 2.5em 1.5em 1.5em 1.5em;
	      .information-card_body {
	        .information-card_title {
			line-height: 1.7;
			font-size: 4vw;
			margin: 1em auto 0.5em auto;
	        }
	        .information-card_date {
	          font-size: 3vw;
	        }
		}
      }
    }
  }
}

/* 
=====================================================
   company
===================================================== */
.company {
  position: relative;
  margin: 100px 0 0;
  padding: 60px 0 160px;

  &.company_bg::before {
    content: "";
    background-color: var(--color-secondary);
    height: 100%;
    display: block;
    position: absolute;
    border-radius: 100px 0 0 0;
    width: 35%;
    z-index: -1;
    top: 0px;
    right: 0;
  }

  .company_top {
    display: flex;
    align-items: flex-start;
    gap: 60px;
    margin-bottom: 80px;

    .company_image {
      width: 50%;
      height: 630px;
      aspect-ratio: 21 / 20;
      border-radius: 20px;
      overflow: hidden;

      img {
	width: 100%;
	height: 100%;
	display: block;
	border-radius: 20px;
	object-fit: cover;
      }
    }
    .company_content {
      width: 50%;
      display: flex;
      flex-direction: column;
      justify-content: center;

      .company_title {
        font-size: 4.2rem;
        font-weight: bold;
        line-height: 1.4;
        margin-bottom: 37px;
      }
      .company_lead {
        font-size: 1.8rem;
        margin-bottom: 50px;
        line-height: 1.4;
      }
      .company_btns {
        display: flex;
        flex-wrap: wrap;
        gap: 16px 24px;
	margin-bottom: 50px;

        .company_btn {
          display: inline-block;
          background-color: var(--color-gray);
          color: var(--color-primary);
          font-weight: 600;
          font-size: 1.8rem;
          border-radius: 10px;
          padding: 0 10px;
          text-align: center;
          min-width: 220px;
          height: 70px;
          line-height: 70px;
          border: none;
          transition: background 0.2s, color 0.2s;
          text-decoration: none;

          &:hover {
            opacity: 1;
            background-color: var(--color-primary);
            color: var(--color-gray);
          }
        }
      }

        .company_btns2 {
		display: flex;
		flex-wrap: wrap;
		gap: 16px 24px;
		a{
			border: 1px solid #ccc;
			display: block;
			max-width: 220px;
			width: 46%;
			border-radius: 10px;
			overflow: hidden;
			img{width: 100%;}
		}
	}


    }
  }

  .company_bottom {
    display: flex;
    gap: 32px;
    background-color: var(--color-gray);
    border-radius: 16px;
    padding: 45px 50px;
    align-items: flex-start;

    .company_info {
      width: 50%;
      font-weight: bold;

      .company_info-title {
        margin-bottom: 12px;
        line-height: 1.3;
        font-size: 3rem;
      }
      .company_info-address {
        margin-bottom: 15px;
        line-height: 2.2;
        font-size: 1.8rem;
      }

      .company_info-rows {
        display: flex;
        flex-direction: column;
        gap: 15px;

        .company_info-row {
          display: flex;
          align-items: center;

          .company_info-label {
            display: inline-block;
            min-width: 95px;
            margin-right: 13px;
            padding: 10px 8px;
            line-height: 1;
            letter-spacing: 1.5px;
            border-radius: 10px;
            text-align: center;
            font-size: 1.7rem;
            background-color: var(--color-primary);
            color: #fff;
          }
          .company_info-value {
            letter-spacing: 1.2px;
            font-size: 1.8rem;
          }
        }
      }
    }
    .company_map {
      width: 50%;

      iframe {
        width: 100%;
        border-radius: 12px;
        border: none;
        display: block;
      }
    }
  }
}

@media (max-width: 1300px) {
  .company {
    .company_top {
	.company_image img{
	width: 65%;
	height: auto;
	aspect-ratio: 3 / 4;
	display: block;
	border-radius: 20px;
	object-fit: cover;
	}

      .company_content {
        .company_title {
          font-size: clamp(3rem, 3.19vw, 4.2rem);
        }
        .company_lead {
          font-size: var(--font-size-18-md);
        }
        .company_btns {
          .company_btn {
            font-size: var(--font-size-18-md);
            min-width: 40%;
            height: 6vw;
            padding: 0;
            line-height: 6vw;
          }
        }
      }
    }
  }
}

@media (max-width: 900px) {
  .company {
    margin: 70px 0 0;
    padding: 60px 0 100px;

    &.company_bg::before {
      height: 18%;
      border-radius: 50px 0 0 50px;
      width: 65%;
    }

    .company_top {
      flex-direction: column;
      gap: 30px;

      .company_image {
        width: 100%;
	height: auto;
      }
      .company_content {
        width: 100%;

        .company_title {
          margin-bottom: 20px;
          font-size: var(--font-size-34-sm);
        }
        .company_lead {
          margin-bottom: 40px;
          font-size: clamp(12px, 3.5vw, 14px);
        }
        .company_btns {
          gap: 10px;
          justify-content: center;

          .company_btn {
            min-width: 48%;
            height: 50px;
            line-height: 50px;
            font-size: clamp(14px, 4vw, 18px);
          }
        }
      }
    }

    .company_bottom {
      flex-direction: column;
      padding: 45px 25px;

      .company_info {
        width: 100%;

        .company_info-title {
          font-size: var(--font-size-30-sm);
        }
        .company_info-address {
          font-size: var(--font-size-18-sm);
        }

        .company_info-rows {
          .company_info-row {
            .company_info-label {
              font-size: var(--font-size-18-sm);
            }
            .company_info-value {
              font-size: var(--font-size-18-sm);
            }
          }
        }
      }
      .company_map {
        width: 100%;
      }
    }
  }
}
