@charset "UTF-8";
/* ----------------------------------------------------------
 media query
---------------------------------------------------------- */
/* max-width */
/* min-width */
/* ----------------------------------------------------------
 color
---------------------------------------------------------- */
/* ==========================================================================
 トップページ専用 / front-page.php
========================================================================== */
/* メインビジュアル
----------------------------------------- */
#mv {
  background: url(../images/mv_bg.png) no-repeat top center/cover;
  padding: 20rem 0 10rem 0;
}
@media screen and (max-width:820px) {
  #mv {
    height: 100%;
    padding-top: 15rem;
  }
}
@media screen and (max-width:767px) {
  #mv {
    padding: 13rem 0 5rem 0;
  }
}
#mv #mv_item {
  gap: 0 !important;
}
@media screen and (max-width:767px) {
  #mv #mv_item {
    gap: 2rem !important;
  }
}
#mv #mv_item .flex-l {
  width: 40%;
}
@media screen and (max-width:1800px) {
  #mv #mv_item .flex-l {
    width: 50%;
  }
}
#mv #mv_item .flex-l h2 span {
  color: #145d3a;
  font-size: 7rem;
  font-weight: 900;
}
@media screen and (max-width:1600px) {
  #mv #mv_item .flex-l h2 span {
    font-size: 6rem;
  }
}
@media print, screen and (max-width:1200px) {
  #mv #mv_item .flex-l h2 span {
    font-size: 5rem;
  }
}
@media screen and (max-width:960px) {
  #mv #mv_item .flex-l h2 span {
    font-size: 4rem;
  }
}
@media screen and (max-width:767px) {
  #mv #mv_item .flex-l h2 span {
    font-size: 3rem;
  }
}
#mv #mv_item .flex-l h2 span::first-line {
  color: #111111;
}
#mv #mv_item .flex-l .sec-text {
  font-size: 2rem;
  margin-top: 1rem;
  margin-bottom: 0;
}
@media print, screen and (max-width:1200px) {
  #mv #mv_item .flex-l .sec-text {
    font-size: 1.6rem;
  }
}
#mv #mv_item .flex-r {
  width: 60%;
}
@media screen and (max-width:1800px) {
  #mv #mv_item .flex-r {
    width: 50%;
  }
}

/* メインビジュアル,サービス一覧
----------------------------------------- */
#mv_item .sec-text,
#services_item .sec-text,
#mv_item .sec-text span,
#services_item .sec-text span {
  font-size: 2rem;
}
@media print, screen and (max-width:1200px) {
  #mv_item .sec-text,
  #services_item .sec-text,
  #mv_item .sec-text span,
  #services_item .sec-text span {
    font-size: 1.6rem;
  }
}
@media screen and (max-width:960px) {
  #mv_item .sec-text,
  #services_item .sec-text,
  #mv_item .sec-text span,
  #services_item .sec-text span {
    font-size: 1.5rem;
  }
}
@media screen and (max-width:767px) {
  #mv_item .sec-text,
  #services_item .sec-text,
  #mv_item .sec-text span,
  #services_item .sec-text span {
    font-size: 1.4rem;
  }
}

/* サービス一覧
----------------------------------------- */
#top_services .title-wrap {
  margin-bottom: 5rem !important;
}
#top_services .services-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
#top_services .services-wrap .services-item {
  background: #F8F8F8;
  padding: 3rem;
  width: calc(50% - 0.5rem);
  transition: all 0.3s;
}
@media screen and (max-width:820px) {
  #top_services .services-wrap .services-item {
    width: 100%;
  }
}
@media screen and (max-width:767px) {
  #top_services .services-wrap .services-item {
    padding: 2rem;
  }
}
#top_services .services-wrap .services-item:hover {
  opacity: 0.6;
}
#top_services .services-wrap .services-item .services-item-inner {
  display: flex;
  gap: 2rem;
  align-items: center !important;
  margin-bottom: 0;
}
@media print, screen and (max-width:1200px) {
  #top_services .services-wrap .services-item .services-item-inner {
    align-items: flex-start !important;
  }
}
#top_services .services-wrap .services-item .services-item-inner .services-l {
  flex-basis: initial !important;
  width: calc(30% - 1rem);
  height: 15rem;
}
@media print, screen and (max-width:1200px) {
  #top_services .services-wrap .services-item .services-item-inner .services-l {
    height: 10rem;
  }
}
@media screen and (max-width:767px) {
  #top_services .services-wrap .services-item .services-item-inner .services-l {
    height: 6rem;
  }
}
#top_services .services-wrap .services-item .services-item-inner .services-l figure {
  height: 100%;
}
#top_services .services-wrap .services-item .services-item-inner .services-r {
  flex-basis: initial !important;
  width: calc(70% - 1rem);
}
#top_services .services-wrap .services-item .services-item-inner .services-r h3 {
  font-size: 2rem;
  margin-bottom: 1rem;
  position: relative;
}
@media screen and (max-width:767px) {
  #top_services .services-wrap .services-item .services-item-inner .services-r h3 {
    font-size: 1.6rem;
  }
}
#top_services .services-wrap .services-item .services-item-inner .services-r h3.tab-link:before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translatey(-50%);
  background: url(../images/tab-link.svg) no-repeat center center/contain;
  width: 16px;
  height: 16px;
}
#top_services .services-wrap .services-item .services-item-inner .services-r p {
  margin: 0;
}

/* Section
----------------------------------------- */
@media screen and (max-width:820px) {
  #top_section01 .l-flex .flex-r,
  #top_section02 .l-flex .flex-r,
  #top_section03 .l-flex .flex-r {
    width: 70% !important;
    margin-left: auto;
  }
}

@media screen and (max-width:820px) {
  #top_section01 .l-flex.reverse .flex-r,
  #top_section02 .l-flex.reverse .flex-r,
  #top_section03 .l-flex.reverse .flex-r {
    margin-left: initial;
    margin-right: auto;
  }
}

#top_section01 p,
#top_section02 p,
#top_section03 p {
  font-size: 1.8rem;
}
@media screen and (max-width:767px) {
  #top_section01 p,
  #top_section02 p,
  #top_section03 p {
    font-size: 14px;
  }
}

/* Reasons
----------------------------------------- */
.reasons-wrap {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap !important;
}
.reasons-wrap .reasons-item {
  width: calc(25% - 1.5rem);
  background: #ffffff;
  padding: 3rem;
}
@media screen and (max-width:960px) {
  .reasons-wrap .reasons-item {
    width: calc(50% - 1rem);
    padding: 2rem;
  }
}
@media screen and (max-width:820px) {
  .reasons-wrap .reasons-item {
    width: calc(50% - 1rem);
  }
}
@media screen and (max-width:767px) {
  .reasons-wrap .reasons-item {
    width: 100%;
  }
}
.reasons-wrap .reasons-item h3 {
  font-size: 2rem;
  margin: 1rem 0;
  text-align: center;
}
@media print, screen and (max-width:1200px) {
  .reasons-wrap .reasons-item h3 {
    font-size: 1.6rem;
  }
}
.reasons-wrap .reasons-item p {
  margin: 0;
}