@charset "UTF-8";

/*---------- header ----------*/
.front_page_header .header_box {
  color: #fff;
  background-color: inherit;
}
.front_page_header .tel_inner a,
.front_page_header .tel_inner p {
  color: #fff;
}
/*---------- main ----------*/
h1.copy {
  color: #fff;
}
.fl_main_visual {
  width: 100%;
  height: 82rem;
  background-image: url(../images/top-mv_PC.jpg);
  background-size: cover;
  background-position: center;
  position: relative;
  margin-bottom: 7rem;
}
.fl_main_visual::after {
  content: '';
  display: block;
  width: 100%;
  height: 82rem;
  background-color: hsl(216.89deg 48.36% 47.84% / 40%);
}
.md_visual_word {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
}
.fl_main_visual .message {
  position: absolute;
  right: 10rem;
  bottom: 5rem;
}
.fl_main_visual .message img {
  position: relative;
  top: -2rem;
  left: 0rem;
  width: 15rem;
  height: auto;
}
.fl_main_visual .message .message_bk {
  background-image: url(../images/top-recruit.jpg);
  background-size: cover;
  background-position: center;
  border-radius: 7.5rem;
  width: 15rem;
  height: 15rem;
}
.fl_main_visual .message a:hover {
  opacity: 0.8;
}
.fl_top_formwork {
  padding: 10rem 0;
  background: linear-gradient(0deg, #7ba8f8, #f0f5fe);
}
.formwork_images {
  position: relative;
  margin: 15rem 0 0 0;
  overflow: hidden;
  padding: 30% 0 0;
}
.formwork_images_img.img_01 {
  background-image: url(../images/top_kaitai_01_PC.jpg);
  background-size: cover;
  background-position: center;
}
.formwork_images_img.img_02 {
  background-image: url(../images/top_kaitai_02_PC.jpg);
  background-size: cover;
  background-position: center;
}
.formwork_images_img.img_03 {
  background-image: url(../images/top_kaitai_03_PC.jpg);
  background-size: cover;
  background-position: center;
}
.formwork_images_img.img_04 {
  background-image: url(../images/top_kaitai_04_PC.jpg);
  background-size: cover;
  background-position: center;
}
.fl_top_formwork .normal_btn,
.fl_top_performance .normal_btn {
  margin-top: 7rem;
}
.fl_top_performance {
  padding: 10rem 0 30rem;
  position: relative;
}
.performance_heading {
  border-bottom: solid 3px #4e8cf9;
  padding: 0 0 2rem;
}
.performance_heading p {
  font-size: 1.6rem;
  margin-bottom: 1rem;
}
.col3 {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  padding: 0 5vw;
  margin-top: 5rem;
}
.md_col3 {
  width: 32%;
  line-height: 1;
  letter-spacing: normal;
  margin: 2rem 0;
}
.col3::after {
  display: block;
  content: '';
  width: 28%;
}
.performance_img {
  aspect-ratio: 3 / 2;
  overflow: hidden;
}
.performance_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.performance_box {
  background-color: #f0f0f0;
  padding: 2rem;
}
.performance_cat p {
  font-size: 1.2rem;
  background-color: #fff;
  padding: 0.5rem 1rem;
  border-radius: 1.2rem;
  width: fit-content;
  margin: 0 3px 3px;
}
.performance_cat {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.performance_title h3 {
  font-weight: normal;
}
.performance_title p {
  font-size: 1.6rem;
  margin-bottom: 1rem;
}

/* .fl_top_aboutus {
  padding: 20rem 0 10rem;
} */
.fl_top_aboutus .title_box {
  display: flex;
  justify-content: space-around;
}
.fl_top_aboutus .main_title {
  font-size: 7rem;
  font-weight: bold;
  color: #4e8cf9;
}
.fl_top_aboutus .md_left {
  position: relative;
}
.fl_top_aboutus .md_right {
  width: 30rem;
}
.fl_top_aboutus .sub_title {
  position: absolute;
  width: 25rem;
  bottom: 5rem;
  right: -4rem;
}
.circle_arrow {
  display: block;
  vertical-align: middle;
  color: #4e8cf9;
  line-height: 1;
  position: relative;
  width: 2rem;
  height: 2rem;
  border: 1rem solid currentColor;
  background: currentColor;
  border-radius: 50%;
  box-sizing: content-box;
  position: relative;
}
.circle_arrow::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: '';
  vertical-align: middle;
  left: 3px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.fl_top_aboutus .top_aboutus_list a {
  display: flex;
  justify-content: space-between;
  padding: 0 0 1rem 0;
  border-bottom: solid 1px #333;
}
.fl_top_aboutus .top_aboutus_list li {
  margin: 1rem 0;
}

/*---------- footer ----------*/

/*==========================================================================
■ PC版のみ
==========================================================================*/
@media screen and (min-width: 769px) {
  /*---------- header ----------*/
  .front_page_header .globalnav-wrap {
    position: relative;
    top: 820px;
    z-index: 2;
    width: 100%;
    background-color: #f0f5fe;
    height: 7rem;
  }
  .front_page_header .header_tel img,
  .front_page_header .header_mail {
    filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(70deg) brightness(104%) contrast(105%);
  }
  .front_page_header .scrolled .header_tel img,
  .front_page_header .scrolled .header_mail {
    filter: invert(51%) sepia(15%) saturate(6835%) hue-rotate(199deg) brightness(100%) contrast(96%);
  }
  .front_page_header .globalnav .nav_list {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
  }
  .front_page_header .header_box.scrolled {
    color: #333;
    background-color: #fff;
  }
  .front_page_header .header_box.scrolled .tel_inner a,
  .front_page_header .header_box.scrolled .tel_inner p {
    color: #4e8cf9;
  }
  /*---------- main ----------*/
  main {
    margin-top: -7rem;
  }
  .fl_top_formwork .frame {
    padding: 0;
  }
  .formwork_text {
    width: 50%;
    min-width: 90rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
  }
  .md_left {
    width: fit-content;
    margin-right: 10rem;
  }
  .md_right {
    width: calc(100% - 43rem);
    text-align: justify;
  }

  .formwork_images_img {
    width: 32vw;
    height: 18vw;
  }
  .formwork_images_img.img_01 {
    position: absolute;
    left: -20%;
    top: 35%;
  }
  .formwork_images_img.img_02 {
    position: absolute;
    left: 15%;
    top: 10%;
  }
  .formwork_images_img.img_03 {
    position: absolute;
    right: 18%;
    top: 35%;
  }
  .formwork_images_img.img_04 {
    position: absolute;
    right: -17%;
    top: 10%;
  }

  /*---------- footer ----------*/
}
/*==========================================================================
■ Tab版
==========================================================================*/
@media screen and (min-width: 769px) and (max-width: 1024px) {
  /*---------- header ----------*/

  /*---------- main ----------*/

  /*---------- footer ----------*/
}
/*==========================================================================
■ SP版
==========================================================================*/
@media screen and (max-width: 768.98px) {
  /*---------- header ----------*/
  .front_page_header .header_box {
    background-color: #fff;
  }
  .front_page_header .globalnav-wrap {
    position: fixed;
    top: 0px !important;
    width: 5rem;
    height: 5rem;
    z-index: 2;
    right: 0;
  }
  .front_page_header .tel_inner a,
  .front_page_header .tel_inner p {
    color: #4e8cf9;
  }
  /*---------- main ----------*/
  .fl_top_formwork .frame {
    padding: 0;
  }
  .formwork_images_img {
    width: 45vw;
    height: 30vw;
  }
  .formwork_images {
    padding: 80% 0 0;
  }
  .formwork_images_img.img_01 {
    background-image: url(../images/top_kaitai_01_SP.jpg);
    position: absolute;
    left: 0%;
    top: 6%;
  }
  .formwork_images_img.img_02 {
    background-image: url(../images/top_kaitai_02_SP.jpg);
    position: absolute;
    right: 4%;
    top: 14%;
  }
  .formwork_images_img.img_03 {
    background-image: url(../images/top_kaitai_03_SP.jpg);
    position: absolute;
    left: 4%;
    bottom: 6%;
  }
  .formwork_images_img.img_04 {
    background-image: url(../images/top_kaitai_04_SP.jpg);
    position: absolute;
    right: -1%;
    bottom: 0;
  }
  .formwork_images {
    margin: 5rem 1rem;
  }
  .fl_main_visual {
    background-image: url(../images/top-mv_SP.jpg);
    margin-bottom: 0;
  }
  .fl_top_performance {
    padding: 10rem 0 20rem;
  }
  .fl_top_aboutus {
    padding: 15rem 0 10rem;
  }
  .fl_top_aboutus .title_box {
    display: block;
  }
  .fl_top_aboutus .md_left {
    margin-bottom: 5rem;
  }
  .fl_top_aboutus .md_right {
    width: 100%;
  }
  .fl_top_aboutus .main_title {
    text-align: center;
    font-size: 5rem;
  }
  .fl_top_aboutus .sub_title {
    width: 20rem;
    top: inherit;
    bottom: inherit;
    right: inherit;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
  }
  .fl_top_recruit .col3 {
    justify-content: start;
  }

  /*---------- footer ----------*/
}

/*---------- レイアウト微調整 ----------*/
@media (max-width: 1000px) {
  .formwork_text {
    width: 100%;
    min-width: inherit;
    padding: 0 1rem;
  }
  .formwork_text .md_left {
    width: 100%;
    margin-right: 0;
    margin-bottom: 3rem;
  }
  .formwork_text .md_right {
    width: 100%;
  }
}
@media (max-width: 599px) {
  .md_visual_word {
    top: 36%;
  }
  .fl_main_visual,
  .fl_main_visual::after {
    height: 50rem;
  }
  .fl_main_visual .message .message_bk {
    width: 10rem;
    height: 10rem;
  }
  .fl_main_visual .message img {
    top: -1rem;
    left: -1rem;
    width: 12rem;
  }
  .fl_main_visual .message {
    right: 3rem;
    bottom: 2rem;
  }
  .col3 {
    justify-content: center;
    margin-top: 2rem;
  }
  .md_col3 {
    width: 80%;
    margin: 1rem 0;
  }
}
