@charset "UTF-8";

.title_area {
  width: fit-content;
}

.job_title_main {
  max-width: 100%;
}

.title_group {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 7px;
}

.title_number {
  width: 100%;
}

.title_icon {
  width: 100%;
  max-width: 16px;
  margin-left: 15px;
}

.title_sub {
  font-size: 24px;
  font-weight: 600;
  margin-left: 18px;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .title_area {
    width: 100%;
  }

  .title_number {
    max-width: 21px;
  }

  .title_icon {
    max-width: 11px;
    margin-left: 10px;
  }

  .title_sub {
    font-size: 17px;
    margin-left: 15px;
  }
}

/* ▼▼▼ トップ
======================================================*/
/* ▼▼▼ メインビジュアル（動画背景）
====================================================== */
.mv {
	position: relative;
}

.mv_container {
  position: relative;
}

.mv_video_area {
}

.mv_video {
  width: 100%;
}

.mv_video video {
  width: 100%;
}

.mv_area {
  position: absolute;
  top: 29vh;
  left: 3.3%;
}

.mv_text_area {
  display: flex;
  flex-direction: column;
  color: #fff;
  font-weight: 600;
  line-height: 1;
  width: fit-content;
}

.mv_contents {
  position: relative;
}

.mv_first_text {
  font-size: 6.3vh;
  letter-spacing: -0.03em;
}

.mv_second_text {
  font-size: 9.6vh;
  line-height: 1.05;
  margin-top: 14px;
  letter-spacing: 0.02em;
}

.mv_en_text {
  position: absolute;
  bottom: -32%;
  right: -43%;
  width: 55vh;
}

.mv_buttons {
  position: absolute;
  top: 143%;
  left: 0.5%;
  display: flex;
  gap: 20px;
}

.mv_buttons_pc {
  display: flex;
}

.mv_buttons_sp {
  display: none;
}

.mv_btn_wrapper {
  position: relative;
  width: 18.3vw;
}

.mv_btn {
  width: 18.3vw;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

.mv_btn:hover {
  opacity: 0.8;
}

.mv_btn img {
  width: 100%;
}

/* ▼▼▼ mv_btnドロップダウン
====================================================== */
.mv_btn_dropdown {
  visibility: hidden;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 1000;
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s 0.3s;
  overflow: hidden;
  margin-top: 5px;
}

.mv_btn_wrapper:hover .mv_btn_dropdown,
.mv_btn_wrapper .mv_btn:hover ~ .mv_btn_dropdown,
.mv_btn_wrapper .mv_btn_dropdown:hover {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s;
}

.mv_btn_dropdown_link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  color: #3fb7d2;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  background: #fff;
  border: 1px solid #3fb7d2;
  transition: opacity 0.3s ease, background 0.3s ease, color 0.3s ease;
}

.mv_btn_dropdown_link:last-child {
  border-top: none;
}

.mv_btn_dropdown_link:hover {
  color: #fff;
  background: #3fb7d2;
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .mv {
    padding-bottom: 70px;
  }

  .mv_area {
    top: 7%;
    left: 6.8%;
  }

  .mv_first_text {
    font-size: 37px;
    letter-spacing: -0.13em;
  }

  .mv_second_text {
    font-size: 51px;
    margin-top: 6px;
  }

  .mv_en_text {
    bottom: -38%;
    right: auto;
    left: 1%;
    max-width: 270px;
  }

  .mv_buttons {
    gap: 13px;
    top: 89%;
    left: 50%;
    transform: translateX(-50%);
  }

  .mv_buttons_pc {
    display: none;
  }

  .mv_buttons_sp {
    display: flex;
  }

  .mv_btn_wrapper {
    max-width: 41.86vw;
    width: 41.86vw;
  }

  .mv_btn {
    width: 41.86vw;
    max-width: 100%;
  }

  .mv_btn_dropdown_link {
    font-size: 11px;
    padding: 10px;
  }

  /* SP版：タップで開閉 */
  .mv_btn_dropdown.is_open {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0s;
  }
}

/* ▼▼▼ message
====================================================== */
.message {
  position: relative;
  z-index: 1;
  margin-top: -1vh;
  background-color: #fff;
  border-radius: 0 0 120px 120px;
  overflow: hidden;
}

.message_inner {
  width: 100%;
  max-width: 1145px;
  padding: 0 25px;
  margin: 0 auto;
  position: relative;
}

.message_container {
  display: flex;
  justify-content: space-between;
}

.message_text-area {
  margin-top: 100px;
}

.message_title {
  position: relative;
  color: #d16b7a;
  font-family: "Avenir", "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 20px;
  font-weight: 900;
  width: fit-content;
}

.message_title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -107px;
  transform: translateY(-50%);
  width: 93px;
  height: 9px;
  background: url(../img/top/arrow_message_title_01_pc.svg) no-repeat center center / cover;
}

.message_text {
  font-size: 17px;
  font-weight: 600;
  line-height: 3.5em;
  letter-spacing: -0.08em;
  margin-top: 5px;
  white-space: nowrap;
}

.message_btn {
  width: 100%;
  max-width: 400px;
  margin-top: 50px;
}

.message_swiper {
  z-index: -1 !important;
  width: 100%;
  max-width: 350px;
  margin-top: -46px;
  margin-right: 0 !important;
  margin-bottom: -10px;
  margin-left: 0 !important;
}

/* PC版：Swiperのスタイルを打ち消し（SP版のみSwiper有効のため） */
.message_swiper .swiper-wrapper {
  display: block;
}

.message_swiper .swiper-slide {
  width: 100%;
  height: auto;
  margin-top: 40px;
}

.message_swiper .swiper-slide:first-child {
  margin-top: 0;
}

.message_img {
  margin-top: 40px;
}

.message_img:first-of-type {
  margin-top: 0;
}

.message_img img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .message {
    padding: 0 0 100px;
    margin-top: -0.7vh;
    border-radius: 0 0 50px 50px;
  }

  .message_inner {
    padding: 0;
    margin: 0;
    max-width: 100%;
  }

  .message_container {
    flex-direction: column-reverse;
  }

  .message_text-area {
    width: 100%;
    max-width: 660px;
    padding: 0 30px;
    margin: 50px auto 0;
  }

  .message_text {
    font-size: 15px;
    letter-spacing: 0;
    line-height: 2.65;
    margin-top: 14px;
    white-space: normal;
  }

  .message_swiper {
    z-index: 1 !important;
    width: 100%;
    max-width: none;
    margin: 0 !important;
    overflow: hidden;
  }

  /* SP版：Swiperを有効化（一定速度で右→左へ移動） */
  .message_swiper .swiper-wrapper {
    display: flex;
    transition-timing-function: linear;
  }

  .message_swiper .swiper-slide {
    margin-top: 0;
    flex-shrink: 0;
    width: 300px !important;
    max-width: 300px !important;
    box-sizing: border-box;
  }

  .message_img {
    margin: 0;
    width: 300px !important;
    max-width: 300px !important;
  }

  .message_btn {
    display: block;
    max-width: 300px;
    margin: 28px auto 0;
  }
}

/* 社員インタビュー動画ポップアップ */
.message_popup_overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.message_popup_overlay.is_open {
  opacity: 1;
  visibility: visible;
}

.message_popup {
  position: relative;
  width: 100%;
  max-width: 900px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
  overflow: hidden;
}

.message_popup_inner {
  position: relative;
  padding: 24px 24px 24px;
}

.message_popup_title {
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 16px;
  padding: 0;
}

.message_popup_video-wrap {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
  background: #000;
}

.message_popup_video-wrap {
  width: 100%;
  height: 100%;
  border: none;
}

.message_popup_video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.message_popup_close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  padding: 0;
  font-size: 28px;
  line-height: 1;
  color: #333;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
  padding: 0 0 6px 2px;
}

.message_popup_close:hover {
  background: #f5f5f5;
  color: #000;
}

@media screen and (max-width: 767px) {
  .message_popup_overlay {
    padding: 16px;
    padding-top: 40px;
  }

  .message_popup_inner {
    padding: 16px 16px 24px;
  }

  .message_popup_title {
    font-size: 16px;
    margin-bottom: 12px;
    padding-right: 44px;
  }

  .message_popup_close {
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    font-size: 24px;
  }
}

.city_image {
  position: relative;
  z-index: -1;
  margin-top: -135px;
}

.city_image img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .city_image {
    margin-top: -78px;
  }
}

/* ▼▼▼ middle_area
====================================================== */
.middle_area{
  position: relative;
  z-index: 1;
  margin-top: -115px;
  position: relative;
  overflow: hidden;
  border-radius: 120px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .middle_area {
    margin-top: -100px;
    border-radius: 65px;
  }
}
/* ▼▼▼ about
====================================================== */
.about {
  position: relative;
  z-index: 1;
  padding-top: 103px;
  background-color: #fff;
}

.about_inner {
  width: 100%;
  max-width: 1250px;
  padding: 0 25px;
  margin: 0 auto;
}

.about_title {
  margin: 0 auto;
}

.about_title_number {
  max-width: 30px;
}

.about_container {
  display: flex;
  gap: 18px;
  margin-top: -18px;
  position: relative;
}

.about_container.swiper .swiper-wrapper {
  display: flex;
  gap: 18px;
  width: 100%;
}

/* ネクスト・プレビューボタン（PCでは非表示） */
.about_container_prev,
.about_container_next {
  display: none !important;
}

.about_wrapper {
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  max-width: 388px;
  padding: 43px 20px 23px 42px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 388 / 532;
  height: 100%;
}

.about_wrapper_message {
  background-image: url(../img/top/bg_about_01_pc.webp);
}

.about_wrapper_company {
  margin-top: 58px;
  background-image: url(../img/top/bg_about_02_pc.webp);
}
.about_wrapper_numbers {
  padding-left: 27px;
  background-image: url(../img/top/bg_about_03_pc.webp);
}

.about_area {
  width: fit-content;
}

.about_icon {
  width: 100%;
  max-width: 30px;
  margin: 0 auto;
}

.about_group {
  position: relative;
  display: flex;
  padding-top: 20px;
  margin-top: 10px;
}

.about_group::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 1px;
  background-color: #fff;
}

.about_ja {
  color: #fff;
  font-size: 26px;
  font-weight: 300;
  line-height: 1;
  writing-mode: vertical-rl;
  text-orientation: mixed;
}

.about_en {
  width: 100%;
  max-width: 14px;
  margin-left: 12px;
}

.about_en_numbers {
  margin-left: 22px;
}

.about_btn {
  width: 100%;
  max-width: 211px;
  height: 60px;
  margin-left: auto;
  background-image: url(../img/top/btn_about_default_pc.webp);
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
  transition: background-image 0.3s ease;
}

.about_btn:hover {
  opacity: 1;
  background-image: url(../img/top/btn_about_active_pc.webp);
}

/* スマホ版のみ about_container で Swiper 有効（1枚表示） */
@media screen and (max-width: 767px) {
  .about {
    padding-top: 81px;
    margin-top: 20px;
    border-radius: 60px 60px 0 0;
    background-color: transparent;
  }

  .about_svg {
    top: -15%;
  }

  .about_inner {
    padding: 0;
    max-width: 600px;
  }

  .about_title {
    max-width: 350px;
  }

  .about_swiper {
    position: relative;
    margin-top: 21px;
  }

  .about_container {
    width: 85.4%;
    margin: 0 auto;
  }
  .about_container.swiper .swiper-wrapper {
    display: flex;
    gap: 0;
  }

  /* 1枚のみ表示（隣のスライドが見えないように） */
  .about_container.swiper .swiper-slide {
    width: 100% !important;
    max-width: 100%;
    flex-shrink: 0;
  }

  .about_container.swiper .swiper-slide .about_wrapper {
    width: 100%;
    max-width: 100%;
  }

  .about_wrapper_message {
    background-image: url(../img/top/bg_about_01_sp.webp);
  }

  .about_wrapper_company {
    margin-top: 0;
    background-image: url(../img/top/bg_about_02_sp.webp);
  }

  .about_wrapper_numbers {
    background-image: url(../img/top/bg_about_03_sp.webp);
  }

  /* ネクスト・プレビューボタン（SPのみ表示・添付画像使用） */
  .about_container_prev,
  .about_container_next {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 55% !important;
    transform: translateY(-50%);
    width: 34px !important;
    height: 34px !important;
    margin-top: 0;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    z-index: 10;
    transition: opacity 0.2s;
  }

  .about_container_prev::after,
  .about_container_next::after {
    content: none !important;
  }

  .about_container_prev img,
  .about_container_next img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .about_container_prev:hover img,
  .about_container_next:hover img {
    opacity: 0.8;
  }

  .about_container_prev {
    left: 0 !important;
  }

  .about_container_next {
    right: 0 !important;
  }

  .about_container_prev.swiper-button-disabled,
  .about_container_next.swiper-button-disabled {
    opacity: 0.35;
    cursor: not-allowed;
  }

  .about_wrapper {
    padding: 36px 5% 18px 34px;
  }

  .about_group {
    padding-top: 15px;
    margin-top: 8px;
  }

  .about_icon {
    max-width: 25px;
  }

  .about_ja {
    font-size: 21px;
  }

  .about_en_numbers {
    max-width: 16px;
  }
  
  .about_btn {
    max-width: 175px;
  }
}

/* ▼▼▼ job
====================================================== */
.job {
  position: relative;
  z-index: 1;
  padding-top: 146px;
}

.job_inner {
  width: 100%;
  max-width: 1160px;
  padding: 0 25px;
  margin: 0 auto;
}

.job_title {
  margin: 0 auto;
  max-width: 437px;
}

.job_title_number {
  max-width: 34px;
}

.job_sub-title {
  font-size: 20px;
  font-weight: 300;
  letter-spacing: -0.04em;
  text-align: center;
  margin-top: 21px;
}

.job_container {
  display: flex;
  gap: 50px;
  margin-top: 57px;
}

.job_wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  max-width: 530px;
  height: 100%;
  aspect-ratio: 530 / 300;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.job_wrapper_business {
  background-image: url(../img/top/bg_job_01_pc.webp);
}

.job_wrapper_job {
  background-image: url(../img/top/bg_job_02_pc.webp);
}

.job_icon {
  display: flex;
  justify-content: end;
}

.job_icon img {
  width: 100%;
  max-width: 8.5%;
}

.job_area {
}

.job_en {
  width: 100%;
}

.job_en_business {
  max-width: 26%;
  aspect-ratio: 136 / 11;
}

.job_en_job {
  max-width: 20%;
  aspect-ratio: 106 / 11;
}

.job_en img {
  width: 100%;
}

.job_ja {
  color: #231815;
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
  margin-top: 12px;
}

@media screen and (max-width: 767px) {
  .job {
    padding-top: 153px;
  }

  .job_title {
    max-width: 306px;
  }

  .job_title_number {
    max-width: 23px;
  }

  .job_inner {
    max-width: 655px;
    padding: 0 27.5px;
  }

  .job_sub-title {
    font-size: 17px;
    letter-spacing: -0.05em;
    margin-top: 20px;
  }

  .job_container {
    display: block;
    margin-top: 55px;
  }

  .job_wrapper {
    max-width: 100%;
    aspect-ratio: 320 / 439;
  }

  .job_wrapper_business {
    background-image: url(../img/top/bg_job_01_sp.webp);
  }
  
  .job_wrapper_job {
    margin-top: 59px;
    background-image: url(../img/top/bg_job_02_sp.webp);
  }

  .job_icon img {
    max-width: 14%;
  }

  .job_en_business {
    max-width: 43%;
  }

  .job_en_job {
    max-width: 32.6%;
  }
}

/* ▼▼▼ interview
====================================================== */
.interview {
  position: relative;
  padding: 204px 0 269px;
}

.interview_inner {
  margin-left: 13.5%;
}

.interview_title {
  position: relative;
  margin: 0 auto;
}

.interview_title_main {
  width: 100%;
  max-width: 535px;
  margin: 0 auto;
}

.interview_title_number {
  max-width: 34px;
}

.interview_btn {
  position: absolute;
  top: 17px;
  right: -68.5%;
}

.interview_wrapper {
  transition: opacity 0.3s ease;
}

.interview_wrapper:hover {
  opacity: 1;
}

.interview_wrapper:hover .interview_img::before {
  background-image: url(../img/top/bg_interview_active_01_pc.svg);
}

.interview_wrapper_7 {
  margin-left: 40px;
}

.interview_img {
  position: relative;
  width: 100%;
  max-width: 226px;
}

.interview_img img {
  width: 100%;
  aspect-ratio: 226 / 275;
  object-fit: cover;
}

.interview_img::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 56%;
  transform: translateX(-50%);
  width: 226px;
  height: 226px;
  background-image: url(../img/top/bg_interview_01_pc.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: background-image 0.3s ease;
}

.interview_img_7 {
  max-width: 152px;
}

.interview_img_7 img {
  aspect-ratio: 152 / 265;
}

.interview_img_7::before {
  left: 47%;
}

.interview_area {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 11px;
  margin-left: 13px;
}

.interview_area_7 {
  margin-left: -25px;
}

.interview_group {
  color: #231815;
  font-weight: 600;
  line-height: 1;
}

.interview_joining {
  font-size: 13px;
}

.interview_affiliation {
  font-size: 14px;
  margin-top: 7px;
}

.interview_icon {
  width: 100%;
  max-width: 45px;
  margin-right: -15px;
}

.interview_icon img {
  width: 100%;
}

.interview_icon_7 {
  margin-left: 15px;
}

.interview_swiper_area {
  position: relative;
  margin-top: 80px;
}

.interview_swiper {
  margin-left: -25px;
  overflow: visible;
}

.interview_swiper .swiper-wrapper {
  display: flex;
}

.interview_swiper .swiper-slide {
  width: 276px;
  flex-shrink: 0;
}

.swiper-scrollbar {
  max-width: 1050px;
  height: 10px !important;
  background-color: #dcd7da !important;
  bottom: -84px !important;
  left: 22px !important;
  border-radius: 0 !important;
}

.swiper-scrollbar-drag {
  background-image: url(../img/top/bg_interview_scrollbar_pc.webp) !important;
  height: 100%;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border-radius: 0 !important;
}

@media screen and (max-width: 767px) {
  .interview {
    padding-top: 79px;
    padding-bottom: 58px;
  }

  .interview_inner {
    max-width: 600px;
    margin: 0 auto;
  }

  .interview_area {
    margin-top: 10px;
    margin-left: 9px;
  }

  .interview_area_7 {
    margin-left: -37px;
  }

  .interview_icon {
    margin-right: -12px;
  }

  .interview_swiper_area {
    margin-top: 17px;
  }

  .interview_title {
    margin: 0;
  }

  .interview_title_main {
    max-width: 365px;
  }
  
  .interview_title_number {
    max-width: 24px;
  }

  .interview_btn {
    position: static;
    max-width: 175px;
    margin: 89px auto 0;
  }

  .interview_swiper {
    margin-top: 0;
    margin-left: 0;
  }

  .interview_swiper .swiper-slide {
    width: 60%;
  }

  .interview_img {
    max-width: 100%;
  }

  .interview_img_7 {
    max-width: 84%;
  }

  .swiper-scrollbar {
    width: 320px !important;
    height: 8px !important;
    bottom: -37px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}

/* ▼▼▼ challenge
====================================================== */
.challenge {
  position: relative;
  padding: 218px 0 278px;
  margin: -102px 0 -106px;
  background-image: url(../img/top/bg_challenge_01_pc.webp);
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

.challenge_container {
  display: flex;
  align-items: center;
}

.challenge_area {
  position: relative;
  color: #fff;
  font-weight: 600;
  width: fit-content;
  margin: 0 auto;
}

.challenge_top {
  font-size: 53px;
  letter-spacing: -0.05em;
}

.challenge_bottom {
  font-size: 81px;
  line-height: 1;
}

.challenge_en {
  position: absolute;
  bottom: -31%;
  right: -52%;
  width: 468px;
  max-width: 468px;
}

.challenge_scroll {
  position: absolute;
  top: 50%;
  right: 33px;
  transform: translateY(-50%);
  width: 100%;
  max-width: 25px;
}

@media screen and (max-width: 767px) {
  .challenge {
    padding-top: 213px;
  }

  .challenge_inner {
    max-width: 655px;
    padding: 0 27.5px;
    margin: 0 auto;
  }
  .challenge_area {
    width: auto;
    margin: 0;
  }

  .challenge_top {
    font-size: 31px;
  }

  .challenge_bottom {
    font-size: 47px;
  }
  
  .challenge_en {
    max-width: 273px;
    bottom: -50%;
    right: auto;
    left: 0;
  }

  .challenge_scroll {
    right: 19px;
  }
}

/* ▼▼▼ environment
====================================================== */
.environment {
  position: relative;
  overflow: hidden;
  border-radius: 120px 120px 0 0;
  background-color: #fff;
  padding-top: 100px;
  padding-bottom: 100px;
}

.environment_inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1250px;
  padding: 0 25px;
  margin: 0 auto;
}

.environment_top {
  width: fit-content;
  margin-left: auto;
}

.environment_title {
  display: flex;
  align-items: end;
  margin-left: auto;
}

.environment_title_group {
  width: 100%;
  max-width: 243px;
  height: 22px;
  margin: 0 0 20px -130px;
}

.environment_title_number {
  width: fit-content;
}

.environment_text {
  font-size: 20px;
  font-weight: 300;
  margin-top: 30px;
}

.environment_area {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-top: 80px;
}

.environment_container {
  color: #231815;
  width: 100%;
  max-width: 388px;
}

.environment_wrapper {
  display: flex;
  justify-content: end;
  margin-top: 20px;
  gap: 20px;
}

.environment_summary {
  font-size: 20px;
}

@media screen and (max-width: 767px) {
  .environment {
    border-radius: 60px 60px 0 0;
    padding-bottom: 79px;
  }

  .environment_inner {
    max-width: 655px;
    padding: 0 27.5px;
  }

  .environment_top {
    width: auto;
  }

  .environment_title {
    display: block;
    max-width: 315px;
    margin-right: auto;
  }

  .environment_title_group {
    justify-content: start;
    margin: 10px 0 0;
  }

  .environment_text {
    font-size: 17px;
    text-align: center;
    margin-top: 24px;
  }

  .environment_area {
    display: block;
    margin-top: 30px;
  }

  .environment_container {
    max-width: 100%;
    margin-top: 38px;
  }

  .environment_container:first-of-type {
    margin-top: 0;
  }

  .environment_wrapper {
    margin-top: 17px;
    gap: 14px;
    letter-spacing: -0.1em;
  }
}