@charset "UTF-8";
:root {
  --key-color: #1374b4;
  --linear: cubic-bezier(0.250, 0.250, 0.750, 0.750);
  --ease: cubic-bezier(0.250, 0.100, 0.250, 1.000);
  --ease-in: cubic-bezier(0.420, 0.000, 1.000, 1.000);
  --ease-out: cubic-bezier(0.000, 0.000, 0.580, 1.000);
  --ease-in-out: cubic-bezier(0.420, 0.000, 0.580, 1.000);
  --easeInQuad: cubic-bezier(0.550, 0.085, 0.680, 0.530);
  --easeInCubic: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  --easeInQuart: cubic-bezier(0.895, 0.030, 0.685, 0.220);
  --easeInQuint: cubic-bezier(0.755, 0.050, 0.855, 0.060);
  --easeInSine: cubic-bezier(0.470, 0.000, 0.745, 0.715);
  --easeInExpo: cubic-bezier(0.950, 0.050, 0.795, 0.035);
  --easeInCirc: cubic-bezier(0.600, 0.040, 0.980, 0.335);
  --easeInBack: cubic-bezier(0.600, -0.280, 0.735, 0.045);
  --easeOutQuad: cubic-bezier(0.250, 0.460, 0.450, 0.940);
  --easeOutCubic: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  --easeOutQuart: cubic-bezier(0.165, 0.840, 0.440, 1.000);
  --easeOutQuint: cubic-bezier(0.230, 1.000, 0.320, 1.000);
  --easeOutSine: cubic-bezier(0.390, 0.575, 0.565, 1.000);
  --easeOutExpo: cubic-bezier(0.190, 1.000, 0.220, 1.000);
  --easeOutCirc: cubic-bezier(0.075, 0.820, 0.165, 1.000);
  --easeOutBack: cubic-bezier(0.175, 0.885, 0.320, 1.275);
  --easeInOutQuad: cubic-bezier(0.455, 0.030, 0.515, 0.955);
  --easeInOutCubic: cubic-bezier(0.645, 0.045, 0.355, 1.000);
  --easeInOutQuart: cubic-bezier(0.770, 0.000, 0.275, 1.000);
  --easeInOutQuint: cubic-bezier(0.860, 0.000, 0.070, 1.000);
  --easeInOutSine: cubic-bezier(0.445, 0.050, 0.550, 0.950);
  --easeInOutExpo: cubic-bezier(1.000, 0.000, 0.000, 1.000);
  --easeInOutCirc: cubic-bezier(0.785, 0.135, 0.150, 0.860);
  --easeInOutBack: cubic-bezier(0.680, -0.550, 0.265, 1.550);
  --easeBuruBuru: cubic-bezier(0.42, 0, 0.58, 1);
}

/* ============================================================================

　page_service_top

=============================================================================== */
/* ----------------------------------------------------------------------------
　page_ttl
---------------------------------------------------------------------------- */
main.page_service_top section.page_ttl {
  background: url("/img/service/page_ttl_bg.jpg") center center no-repeat;
  background-size: auto 100%;
}
@media screen and (max-width: 743px) {
  main.page_service_top section.page_ttl {
    background: url("/img/service/page_ttl_bg_sp.jpg") center center no-repeat;
    background-size: 100% auto;
  }
}
main.page_service_top section.page_ttl .page_ttl__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 743px) {
  main.page_service_top section.page_ttl .page_ttl__inner {
    display: block;
  }
}
main.page_service_top section.page_ttl .page_ttl__inner .copy {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 743px) {
  main.page_service_top section.page_ttl .page_ttl__inner .copy {
    margin-bottom: 2rem;
  }
}
main.page_service_top section.page_ttl .page_ttl__inner .chart {
  width: 28%;
}
@media screen and (max-width: 743px) {
  main.page_service_top section.page_ttl .page_ttl__inner .chart {
    width: 70%;
    margin: 0 auto;
  }
}
main.page_service_top section.page_ttl #check_item_list {
  width: 270px;
}
@media screen and (max-width: 743px) {
  main.page_service_top section.page_ttl #check_item_list {
    width: 100%;
  }
}
main.page_service_top section.page_ttl #check_item_list li:not(:last-child) {
  margin-bottom: 2rem;
}
@media screen and (max-width: 743px) {
  main.page_service_top section.page_ttl #check_item_list li:not(:last-child) {
    margin-bottom: 1rem;
  }
}
main.page_service_top section.page_ttl #check_item_list li a {
  text-decoration: none;
  color: #fff;
  font-size: 2rem;
  display: block;
  border: 1px solid #fff;
  background-color: rgba(17, 115, 179, 0.4);
  padding: 1.5rem;
}
@media screen and (max-width: 743px) {
  main.page_service_top section.page_ttl #check_item_list li a {
    font-size: 1.6rem;
    padding: 1.2rem;
  }
}

main.page_service_top .common_container {
  /* ----------------------------------------------------------------------------
  　service_list
  ---------------------------------------------------------------------------- */
}
main.page_service_top .common_container section.service_list {
  margin-bottom: 10rem;
}
@media screen and (max-width: 743px) {
  main.page_service_top .common_container section.service_list {
    margin-bottom: 5rem;
  }
}
main.page_service_top .common_container section.service_list .service_list__ul {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1rem 1fr 1rem 1fr 1rem 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
@media screen and (max-width: 999px) {
  main.page_service_top .common_container section.service_list .service_list__ul {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 743px) {
  main.page_service_top .common_container section.service_list .service_list__ul {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
main.page_service_top .common_container section.service_list .service_list__ul li {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  -ms-grid-row-span: 2;
  grid-row: span 2;
  gap: 0px;
}
main.page_service_top .common_container section.service_list .service_list__ul li a {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  -ms-grid-row-span: 2;
  grid-row: span 2;
  gap: 0px;
  border: 1px solid var(--key-color);
  text-decoration: none;
  padding: 1rem;
  height: 100%;
}
main.page_service_top .common_container section.service_list .service_list__ul li a .ttl {
  background-color: #efefef;
  padding: 1.5rem 0;
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 743px) {
  main.page_service_top .common_container section.service_list .service_list__ul li a .ttl {
    padding: 0.5rem;
  }
}
main.page_service_top .common_container section.service_list .service_list__ul li a .ttl h3 {
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 1.5rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
main.page_service_top .common_container section.service_list .service_list__ul li a .ttl h3._small {
  font-size: 1.4rem;
}
@media screen and (max-width: 743px) {
  main.page_service_top .common_container section.service_list .service_list__ul li a .ttl h3 {
    font-size: 1.4rem;
  }
  main.page_service_top .common_container section.service_list .service_list__ul li a .ttl h3._small {
    font-size: 1.2rem;
  }
}
main.page_service_top .common_container section.service_list .service_list__ul li a .ttl img {
  display: block;
  width: 39.1836734694%;
  margin: 0 auto;
  position: relative;
  left: 1rem;
}
@media screen and (max-width: 743px) {
  main.page_service_top .common_container section.service_list .service_list__ul li a .ttl img {
    left: 0.5rem;
  }
}
main.page_service_top .common_container section.service_list .service_list__ul li a p {
  font-size: 1.4rem;
  line-height: 150%;
}
main.page_service_top .common_container {
  /* ----------------------------------------------------------------------------
  　purpose
  ---------------------------------------------------------------------------- */
}
main.page_service_top .common_container section.purpose #ser_nav {
  width: 80%;
  background-color: rgba(18, 116, 180, 0.12);
  padding: 2rem;
  margin: 0 auto 5rem;
}
@media screen and (max-width: 743px) {
  main.page_service_top .common_container section.purpose #ser_nav {
    width: 100%;
    padding: 1rem;
  }
}
main.page_service_top .common_container section.purpose #ser_nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2rem 2.3%;
}
@media screen and (max-width: 743px) {
  main.page_service_top .common_container section.purpose #ser_nav ul {
    gap: 1.1rem 3%;
  }
}
main.page_service_top .common_container section.purpose #ser_nav li {
  width: 31.7857142857%;
}
@media screen and (max-width: 743px) {
  main.page_service_top .common_container section.purpose #ser_nav li {
    width: 48.5%;
  }
}
main.page_service_top .common_container section.purpose .ser_cont {
  width: 80%;
  margin: 0 auto;
}
@media screen and (max-width: 743px) {
  main.page_service_top .common_container section.purpose .ser_cont {
    width: 100%;
  }
}
main.page_service_top .common_container section.purpose .ser_cont:not(:last-child) {
  margin-bottom: 8.5rem;
}
@media screen and (max-width: 743px) {
  main.page_service_top .common_container section.purpose .ser_cont:not(:last-child) {
    margin-bottom: 5rem;
  }
}
main.page_service_top .common_container section.purpose .ser_cont .ser_h3 {
  border: 1px solid var(--key-color);
  font-size: 2.2rem;
  font-weight: 400;
  padding: 2rem;
  margin-bottom: 2rem;
}
main.page_service_top .common_container section.purpose .ser_cont .ser_h3 span.blue {
  font-size: 3rem;
  font-weight: 700;
}
@media screen and (max-width: 743px) {
  main.page_service_top .common_container section.purpose .ser_cont .ser_h3 {
    font-size: 1.6rem;
    padding: 1rem;
  }
  main.page_service_top .common_container section.purpose .ser_cont .ser_h3 span.blue {
    font-size: 2rem;
  }
}
main.page_service_top .common_container section.purpose .ser_cont .ser_acord li.active .ser_acord_cont {
  display: block;
  -webkit-animation: serAcordContAnime 0.2s var(--easeOutSine) 0s forwards;
          animation: serAcordContAnime 0.2s var(--easeOutSine) 0s forwards;
}
@-webkit-keyframes serAcordContAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
@keyframes serAcordContAnime {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
main.page_service_top .common_container section.purpose .ser_cont .ser_acord li p {
  position: relative;
  padding: 1.5rem 4rem 1.5rem 7rem;
  border-top: 1px solid var(--key-color);
  border-bottom: 1px solid var(--key-color);
  cursor: pointer;
}
@media screen and (max-width: 743px) {
  main.page_service_top .common_container section.purpose .ser_cont .ser_acord li p {
    font-size: 1.5rem;
    padding: 1.5rem 4rem 1.5rem 6rem;
  }
}
main.page_service_top .common_container section.purpose .ser_cont .ser_acord li p:hover {
  opacity: 0.8;
}
main.page_service_top .common_container section.purpose .ser_cont .ser_acord li p::before {
  content: "";
  width: 62px;
  height: 100%;
  position: absolute;
  top: 0rem;
  left: 0rem;
  background: url("/img/service/ser_li.svg") 0 0 no-repeat;
  background-size: 100% auto;
}
@media screen and (max-width: 743px) {
  main.page_service_top .common_container section.purpose .ser_cont .ser_acord li p::before {
    width: 50px;
  }
}
main.page_service_top .common_container section.purpose .ser_cont .ser_acord li p::after {
  content: "";
  width: 18px;
  aspect-ratio: 1/0.45;
  position: absolute;
  top: 2.3rem;
  right: 2rem;
  background: url("/img/service/allow_under.svg") 0 0 no-repeat;
  background-size: 100% auto;
  -webkit-transition: 0.2s var(--easeOutQuad);
  transition: 0.2s var(--easeOutQuad);
}
@media screen and (max-width: 743px) {
  main.page_service_top .common_container section.purpose .ser_cont .ser_acord li p::after {
    width: 15px;
    right: 1rem;
  }
}
main.page_service_top .common_container section.purpose .ser_cont .ser_acord li.active p::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
main.page_service_top .common_container section.purpose .ser_cont .ser_acord li:nth-child(odd) p {
  background-color: #f2f7fa;
}
main.page_service_top .common_container section.purpose .ser_cont .ser_acord li .ser_acord_cont {
  padding-left: 51px;
  position: relative;
  display: none;
}
@media screen and (max-width: 743px) {
  main.page_service_top .common_container section.purpose .ser_cont .ser_acord li .ser_acord_cont {
    padding-left: 42px;
  }
}
main.page_service_top .common_container section.purpose .ser_cont .ser_acord li .ser_acord_cont::before {
  content: "";
  width: 51px;
  height: 100%;
  background-color: #1173b3;
  position: absolute;
  top: 0rem;
  left: 0rem;
}
@media screen and (max-width: 743px) {
  main.page_service_top .common_container section.purpose .ser_cont .ser_acord li .ser_acord_cont::before {
    width: 42px;
  }
}
main.page_service_top .common_container section.purpose .ser_cont .ser_acord li .ser_acord_cont ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 743px) {
  main.page_service_top .common_container section.purpose .ser_cont .ser_acord li .ser_acord_cont ul {
    display: block;
  }
}
main.page_service_top .common_container section.purpose .ser_cont .ser_acord li .ser_acord_cont ul li {
  width: 50%;
}
@media screen and (max-width: 743px) {
  main.page_service_top .common_container section.purpose .ser_cont .ser_acord li .ser_acord_cont ul li {
    width: 100%;
  }
}
main.page_service_top .common_container section.purpose .ser_cont .ser_acord li .ser_acord_cont ul li a {
  display: block;
  padding: 2rem 2rem 2rem 3.5rem;
  text-decoration: none;
  border: 1px solid var(--key-color);
  position: relative;
}
@media screen and (max-width: 743px) {
  main.page_service_top .common_container section.purpose .ser_cont .ser_acord li .ser_acord_cont ul li a {
    font-size: 1.4rem;
  }
}
main.page_service_top .common_container section.purpose .ser_cont .ser_acord li .ser_acord_cont ul li a::before {
  content: "";
  width: 10px;
  aspect-ratio: 1/1.5;
  background-color: var(--key-color);
  position: absolute;
  top: 2.5rem;
  left: 2rem;
  clip-path: polygon(100% 50%, 0 0, 0 100%);
}
@media screen and (max-width: 743px) {
  main.page_service_top .common_container section.purpose .ser_cont .ser_acord li .ser_acord_cont ul li a::before {
    width: 8px;
  }
}