@charset "utf-8";
/* MV箇所 */
.top_mv {
  height: 800px;
  overflow: hidden;
  padding-top: 80px;
}
.slider1 {
  height: 100%;
  picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.slider1 .swiper-slide {
  position: relative;
}
.mv_left--01 {
  position: absolute;
  top: 6em;
  left: 6%;
  color: #fff;
  p {
    text-shadow: 0px 0px 10px var(--main-color);
    font-weight: bold;
  }
  p:first-child {
    letter-spacing: 2.4px;
    font-size: 4.8rem;
    span {
      font-size: 8rem;
      letter-spacing: 2px;
    }
  }
  p:nth-child(2) {
    font-size: var(--sub-title);
    letter-spacing: 1.9px;
    margin-top: 24px;
  }
}
.mv_right--01 {
  position: absolute;
  top: 0;
  right: 6%;
  bottom: 0;
  margin: auto;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 40px;
  div {
    width: 100%;
    max-width: 660px;
    display: flex;
    flex-wrap: wrap;
    gap: 21px;
    p {
      width: 100%;
      max-width: calc(33.3% - 14px);
      background: var(--main-color);
      padding: 8px 2px;
      display: flex;
      justify-content: center;
      align-items: center;
      font-weight: bold;
      letter-spacing: 1.6px;
      text-align: center;
    }
  }
}
@media screen and (max-width: 1800px) {
  .mv_left--01 {
    left: 4%;
    p:first-child {
      letter-spacing: 2px;
      font-size: 3.6rem;
    }
    p:first-child {
      letter-spacing: 2px;
      font-size: 3.6rem;
      span {
        font-size: 7rem;
        letter-spacing: 1px;
      }
    }
  }
  .mv_right--01 {
    right: 4%;
  }
}
@media screen and (max-width: 1366px) {
  .mv_left--01 {
    p:first-child {
      span {
        font-size: 5rem;
      }
    }
  }
}
@media screen and (max-width: 767px) {
  .mv_left--01 {
    width: 90%;
    top: 3em;
    right: 0;
    left: 0;
    margin: auto;
    p:first-child {
      font-size: min(3.2rem, 3vw);
      letter-spacing: 1px;
      span {
        font-size: min(4rem, 5.4vw);
      }
    }
    p:nth-child(2) {
      font-size: min(3.2rem, 3vw);
      margin-top: 16px;
    }
  }
  .mv_right--01 {
    width: 90%;
    top: auto;
    right: 0;
    bottom: 1.2em;
    left: 0;
    align-items: center;
    gap: 20px;
    figure img {
      width: 181px;
      height: 184px;
    }
    div {
      justify-content: center;
      gap: 10px;
      p {
        max-width: calc(50% - 5px);
        font-size: min(1.4rem, 3vw);
        letter-spacing: 0.8px;
      }
    }
  }
}
.mv_left--02 {
  position: absolute;
  top: 6em;
  left: 10%;
  color: #fff;
  p {
    text-shadow: 0px 0px 10px var(--main-color);
    font-weight: bold;
  }
  p:first-child {
    letter-spacing: 9.6px;
    font-size: 4.8rem;
  }
  p:nth-child(3) {
    font-size: var(--sub-title);
    letter-spacing: 1.9px;
  }
}
@media screen and (max-width: 767px) {
  .mv_left--02 {
    right: 0;
    left: 0;
    margin: auto;
    width: 90%;
    p:first-child {
      font-size: min(4.8rem, 5.6vw);
      letter-spacing: 4px;
    }
  }
}

/* 製品紹介 */
.top_product {
  position: relative;
  padding: 64px 0;
  &::before {
    content: '';
    position: absolute;
    background: url(../img/pro_before.webp)no-repeat center;
    background-size: contain;
    width: 891px;
    height: 394px;
    z-index: -1;
  }
  &::after {
    content: '';
    position: absolute;
    background: #000;
    bottom: 0;
    width: 100%;
    height: 82%;
    z-index: -1;
  }
}
.top_product--flex {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 60px 20px;
  margin-top: 60px;
  a {
    position: relative;
    width: 100%;
    max-width: 502px;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: all 0.2s ease;
    color: #fff;
  }
  a:hover {
    img {
      opacity: 1;
      transform: scale(1.06, 1.06);
      transition: .5s all;
    }
  }
  figure {
    overflow: hidden;
    height: auto;
  }
  h3 {
    text-align: center;
  }
}

/* リケンヒートテクノの強み */
.top_strengths {
  padding-top: 72px;
}
.top_strengths .container {
  max-width: 1152px;
  background: url(/img/st_bg.webp)no-repeat center;
  background-size: cover;
  padding: 56px 5% 40px;
  &::before {
    content: '';
    position: absolute;
    background: url(/img/st_flex_bg.webp)no-repeat center;
    background-size: cover;
    width: 100%;
    height: 310px;
    right: 0;
    bottom: 10em;
    left: 0;
    margin: auto;
  }
}
.top_strengths .more_btn {
  margin-top: 40px;
}

/* 導入事例 */
.top_cases {
  padding: 48px 0 64px;
}
.cases_mv .swiper-slide {
  figure {
    display: flex;
    justify-content: center;
  }
  p {
    font-weight: bold;
    line-height: 1.5;
    width: 100%;
    max-width: 328px;
    margin: 10px auto 0;
  }
}
.cases_mv {
  position: relative;
  /* overflow: hidden; */
  margin: 40px 0;
  .arrow_box {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
    width: 100%;
    max-width: 100%;
    top: 0;
    bottom: 0;
  }
  
  .prev-arrow,
  .next-arrow {
    position:relative;
    display: block;
    width: 50px;
    height: 50px;
    transition: all .3s ease;
    cursor: pointer;
    right: -4em;
    &::before {
      position:absolute;
      content: "";
      width:28px;
      height:28px;
      border-right: 2px solid var(--main-color);
      border-top: 2px solid var(--main-color);
      top:0;
      bottom:0;
      left:0;
      right:0;
      margin:auto;
      transform:rotate(45deg);
    }
  }
  .prev-arrow {
    transform: rotate(180deg);
    left: -4em;
    right: auto;
  }
}
.slider2 {
  overflow: hidden;
  width: 100%;
}
.slider2 .swiper-slide {
  width: auto;
}

/* 企業情報 */
.top_company {
  position: relative;
  background: url(/img/company_bg00.webp)no-repeat center;
  background-size: cover;
  padding: 64px 0 80px;
}
.top_company--list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-top: 40px;
  a {
    position: relative;
    width: 100%;
    max-width: 502px;
    height: 182px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.2s ease;
    opacity: 1;
    font-size: var(--big-txt);
    font-weight: bold;
    letter-spacing: 0.96px;
  }
  a:hover .top_company--bg img {
    opacity: 1;
    transform: scale(1.06,1.06);
    transition: .5s all;
  }
}
.top_company--bg {
  overflow: hidden;
  height: auto;
  & + p {
    position: absolute;
  }
}

/* 採用情報 */
.top_rec {
  position: relative;
  background: url(/img/rec_bg.webp)no-repeat center;
  background-size: cover;
  padding: 64px 0;

  /* 作成することになったら、「display: none;」削除 */
  display: none;
}
.top_rec .container {
  max-width: 502px;
  padding: 32px;
  background: #fff;
}

/* お知らせ */
.top_news {
  background: #fff;
  padding: 64px 0;
}
.top_news .container {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 20px 56px;
}
.top_news .more_btn {
  margin-top: 32px;
}
.top_news .more_btn.sp_block {display: none;}
@media screen and (max-width: 767px) {
  .top_news .more_btn.pc_block {display: none;}
  .top_news .more_btn.sp_block {display: flex;margin-top: 0;}
}
.top_news--list {
  width: 100%;
  max-width: 760px;
  article {
    position: relative;
    width: 100%;
    border-top: 1px solid #ddd;
    &:last-child {border-bottom: 1px solid #ddd;}
  }
  time {
    color: var(--main-color);
    letter-spacing: 0.8px;
    font-weight: bold;
  }
  a {
    padding: 20px 0;
    padding-left: 40px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px 40px;
    font-size: var(--base-txt);
    font-weight: 500;
    color: #000;
    &:hover {opacity: 0.6;}
    h3 {
      font-size: 1.6rem;
    }
  }
  @media screen and (max-width: 767px) {
    a {
      padding: 12px 0;
    }
  }
}


/* iPad調整用 */
@media screen and (orientation: portrait) and (min-width: 768px){}

@media screen and (max-width: 767px) {
  /* MV箇所 */
  .top_mv {
    height: 700px;
    padding-top: 56px;
  }

  /* 製品紹介 */
  .top_product {
    &::before {
      background: url(/img/pro_before_sp.webp)no-repeat center;
      background-size: cover;
      width: 100%;
      height: 336px;
      top: 0;
      z-index: -1;
    }
  }
  .top_product--flex {
    gap: 32px 12px;
    a {
      max-width: calc(50% - 6px);
      p {
        font-size: 1.4rem;
        line-height: 1.5;
      }
    }
    a:nth-child(1) h3,
    a:nth-child(2) h3,
    a:nth-child(3) h3,
    a:nth-child(4) h3 {
      min-height: 60px;
      display: flex;
      align-items: center;
    }
    a:nth-child(2) h3 {
      font-size: 1.5rem;
    }
  }

  /* 企業情報 */
  .top_company--list {
    a {
      height: auto;
    }
  }

  /* 導入事例 */
  .slider2 {
    width: 80%;
    margin: 0 auto;
  }


  /* リケンヒートテクノの強み */
  .top_strengths .cmn_heading {
    padding: 0 5%;
    & + p {padding: 0 5%;}
  }
  .top_strengths .container {
    padding: 56px 0 40px;
    &::before {
      display: none;
    }
  }
  .top_strengths .more_btn {width: 90%;}

  /* 導入事例 */
  .cases_mv {
    .prev-arrow {
      left: -1em;
    }
    .next-arrow {
      right: -1em;
    }
  }

  /* お知らせ */
  .top_news .container {
    flex-direction: column;
  }
}


@media print {
  .top_mv {
    background: url(../img/mv_print.png) no-repeat center;
    width: 1280px;
    /* height: 715px; */
    .slider1 {display: none;}
  }
}