@media screen and (max-width: 767px) {
  body {
    background-image: url(/assets/img/top/bg_sp.png);
    background-repeat: repeat-y;
    background-position: left 0 top 70px;
    background-size: cover;
  }
}

.site-wrapper {
  background-image: url(/assets/img/top/bg.png);
  background-repeat: no-repeat;
  background-position: left 0 top 100px;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .site-wrapper {
    background-image: none;
  }
}

.top {
  background-image: url(/assets/img/top/bg_circle.png);
  background-repeat: no-repeat;
  background-position: top 420px center;
  background-size: 1440px auto;
}
@media screen and (max-width: 767px) {
  .top {
    background-image: url(/assets/img/top/bg_circle_sp.png);
    background-repeat: no-repeat;
    background-position: top 420px center;
    background-position: top 425px center;
    background-size: 100% auto;
  }
}
.top .mv {
  padding: 60px 0 120px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top .mv {
    padding: 235px 0 255px;
  }
}
@media screen and (max-width: 767px) {
  .top .mv::before {
    content: "";
    display: block;
    width: 170px;
    height: 142px;
    background: url(/assets/img/top/img_illustration02_sp.png) no-repeat;
    background-size: contain;
    position: absolute;
    right: 0;
    top: 100px;
  }
}
.top .mv::after {
  content: "";
  display: block;
  width: 358px;
  height: 137px;
  background: url(/assets/img/top/img_illustration01.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: calc(35px + (100% - 1200px) / 2);
  bottom: 15px;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .top .mv::after {
    width: 246px;
    height: 94px;
    right: 5%;
    bottom: 175px;
  }
}
.top .mv .mv-copy {
  padding: 35px 80px;
  background-color: #F8F6F2;
  background-image: url(/assets/img/top/img_illustration02.png);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: left 0 bottom 0;
  height: calc(100% - 165px);
  position: absolute;
  top: 60px;
  left: calc((100% - 1100px) / 2);
  z-index: 5;
}
@media screen and (max-width: 767px) {
  .top .mv .mv-copy {
    width: 90%;
    padding: 0;
    background-color: transparent;
    background-image: none;
    height: auto;
    top: 115px;
    left: 5%;
  }
}
@media screen and (max-width: 767px) {
  .top .mv .mv-copy img {
    max-width: 255px;
    width: 70%;
  }
}
.top .mv .mv-copy::before {
  content: "";
  display: block;
  width: 127px;
  height: 50px;
  background: url(/assets/img/top/img_cloud01.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 60px;
  right: -60px;
  z-index: 7;
}
@media screen and (max-width: 767px) {
  .top .mv .mv-copy::before {
    width: 116px;
    height: 56px;
    background: url(/assets/img/top/img_cloud01_sp.png) no-repeat;
    background-size: contain;
    top: -60px;
    right: -5%;
  }
}
.top .mv .mv-copy::after {
  content: "";
  display: block;
  width: 116px;
  height: 39px;
  background: url(/assets/img/top/img_cloud02.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 295px;
  left: -30px;
  z-index: 7;
}
@media screen and (max-width: 767px) {
  .top .mv .mv-copy::after {
    width: 82px;
    height: 44px;
    background: url(/assets/img/top/img_cloud02_sp.png) no-repeat;
    background-size: contain;
    top: -80px;
    left: -5%;
  }
}
.top .mv .mv-slide .swiper-wrapper {
  transition-timing-function: linear;
}
.top .mv .mv-slide .swiper-wrapper .swiper-slide {
  border-radius: 10px;
  max-height: 520px;
  overflow: hidden;
}
.top .mv .mv-slide .swiper-wrapper .swiper-slide img {
  width: 100%;
}
.top .intro {
  margin-bottom: 250px;
}
@media screen and (max-width: 767px) {
  .top .intro {
    margin-bottom: 270px;
  }
}
.top .intro .intro-wrap {
  height: 750px;
  background: url(/assets/img/top/bg_circle_line.png) no-repeat;
  background-size: cover;
  background-position: top center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .top .intro .intro-wrap {
    height: auto;
    background: url(/assets/img/top/bg_circle_line_sp.png) no-repeat;
    background-size: cover;
    background-position: top center;
    padding: 185px 0;
  }
}
.top .intro .intro-wrap p {
  font-size: 1.25rem;
  line-height: 3;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top .intro .intro-wrap p {
    font-size: 1.0625rem;
  }
}
.top .intro .intro-wrap .intro-image {
  position: absolute;
}
.top .intro .intro-wrap .intro-image.n01 {
  width: 310px;
  top: 97px;
  left: 0;
}
@media screen and (max-width: 767px) {
  .top .intro .intro-wrap .intro-image.n01 {
    max-width: 150px;
    width: 38%;
    left: 5%;
    top: -115px;
  }
}
.top .intro .intro-wrap .intro-image.n02 {
  width: 195px;
  top: 224px;
  right: 0;
}
@media screen and (max-width: 767px) {
  .top .intro .intro-wrap .intro-image.n02 {
    width: 112px;
    right: 12%;
    top: auto;
    bottom: 18px;
  }
}
.top .intro .intro-wrap .intro-image.n03 {
  width: 255px;
  right: 30px;
  bottom: 110px;
}
@media screen and (max-width: 767px) {
  .top .intro .intro-wrap .intro-image.n03 {
    width: 155px;
    right: auto;
    left: 12%;
    bottom: -108px;
  }
}
.top .intro .intro-wrap .intro-image.n04 {
  width: 196px;
  left: 282px;
  bottom: -12px;
}
@media screen and (max-width: 767px) {
  .top .intro .intro-wrap .intro-image.n04 {
    width: 107px;
    right: 7%;
    top: 6px;
    left: auto;
    bottom: auto;
  }
}
.top .intro .intro-wrap .inro-illustration {
  position: absolute;
}
.top .intro .intro-wrap .inro-illustration.n01 {
  width: 165px;
  top: 80px;
  right: 275px;
}
@media screen and (max-width: 767px) {
  .top .intro .intro-wrap .inro-illustration.n01 {
    width: 90px;
    left: 7.7%;
    right: auto;
    top: auto;
    bottom: 32px;
  }
}
.top .intro .intro-wrap .inro-illustration.n02 {
  width: 113px;
  left: 110px;
  bottom: 38px;
}
@media screen and (max-width: 767px) {
  .top .intro .intro-wrap .inro-illustration.n02 {
    width: 57px;
    left: auto;
    right: 33%;
    bottom: auto;
    top: -87px;
  }
}
.top .intro .intro-wrap .inro-illustration.n03 {
  width: 242px;
  right: 195px;
  bottom: -60px;
}
@media screen and (max-width: 767px) {
  .top .intro .intro-wrap .inro-illustration.n03 {
    width: 145px;
    right: 16%;
    bottom: -160px;
  }
}
.top .strength .strength-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .top .strength .strength-head {
    margin-bottom: 30px;
  }
}
.top .strength .strength-head .strength-ttl {
  width: 570px;
}
@media screen and (max-width: 767px) {
  .top .strength .strength-head .strength-ttl {
    width: 100%;
    margin-bottom: 35px;
  }
}
.top .strength .strength-head .strength-ttl .en {
  color: #EE782B;
  font-size: 1.25rem;
  font-family: "Roboto", sans-serif;
}
@media screen and (max-width: 767px) {
  .top .strength .strength-head .strength-ttl .en {
    font-size: 1rem;
  }
}
.top .strength .strength-head .strength-ttl .point-heading {
  font-size: 4rem;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .top .strength .strength-head .strength-ttl .point-heading {
    font-size: 2.625rem;
  }
}
.top .strength .strength-head .txt {
  width: 630px;
  font-size: 1.25rem;
}
@media screen and (max-width: 767px) {
  .top .strength .strength-head .txt {
    width: 100%;
  }
}
.top .strength .strength-head .txt p {
  font-size: 1.25rem;
}
@media screen and (max-width: 767px) {
  .top .strength .strength-head .txt p {
    font-size: 1rem;
  }
}
.top .strength .flex-col02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.top .strength .flex-col02 .strength-box {
  width: 570px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.05);
  padding: 55px 65px;
}
@media screen and (max-width: 767px) {
  .top .strength .flex-col02 .strength-box {
    width: 100%;
    padding: 25px;
    margin-bottom: 25px;
  }
}
@media screen and (max-width: 767px) {
  .top .strength .flex-col02 .strength-box:last-of-type {
    margin-bottom: 0;
  }
}
.top .strength .flex-col02 .strength-box .strength-image {
  margin-bottom: 20px;
}
.top .strength .flex-col02 .strength-box .point {
  font-size: 1.375rem;
  line-height: 1.45;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .top .strength .flex-col02 .strength-box .point {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .top .strength .flex-col02 .strength-box .attention {
    font-size: 0.75rem;
  }
}
.top .strength .page-btn-list {
  margin-top: 240px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .top .strength .page-btn-list {
    margin-top: 160px;
  }
}
.top .strength .page-btn-list .page-btn {
  width: 570px;
  height: 465px;
}
@media screen and (max-width: 767px) {
  .top .strength .page-btn-list .page-btn {
    width: 100%;
  }
}
.top .strength .page-btn-list .page-btn a {
  display: block;
  color: #fff;
  border-radius: 10px;
  height: 100%;
  padding: 55px 65px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top .strength .page-btn-list .page-btn a {
    padding: 55px 5% 25px;
  }
}
.top .strength .page-btn-list .page-btn a .btn-wrap {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .top .strength .page-btn-list .page-btn a .btn-wrap {
    justify-content: flex-end;
  }
}
.top .strength .page-btn-list .page-btn a .btn-wrap .section-ttl {
  margin-bottom: 45px;
}
@media screen and (max-width: 767px) {
  .top .strength .page-btn-list .page-btn a .btn-wrap .section-ttl {
    margin-bottom: 20px;
  }
}
.top .strength .page-btn-list .page-btn a .btn-wrap .list-flex {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .top .strength .page-btn-list .page-btn a .btn-wrap .list-flex {
    display: block;
  }
}
.top .strength .page-btn-list .page-btn a .btn-wrap .list-flex .indent {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .top .strength .page-btn-list .page-btn a .btn-wrap .list-flex .indent {
    width: 100%;
  }
}
.top .strength .page-btn-list .page-btn a .btn-wrap .btn-box {
  width: 250px;
  font-weight: 500;
  padding: 20px 40px;
  border-radius: 100px;
  border: 1px solid #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top .strength .page-btn-list .page-btn a .btn-wrap .btn-box {
    width: 100%;
    text-align: center;
    padding-left: 15px;
    margin-top: 15px;
  }
}
.top .strength .page-btn-list .page-btn a .btn-wrap .btn-box::after {
  content: "";
  display: block;
  width: 15px;
  height: 13px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 14'><path d='M8.64748 0L7.56861 1.05047L12.1609 5.76341H0V7.2705H12.1609L7.56861 11.9811L8.64748 13.0339L15 6.51577L8.64748 0Z' fill='white'/></svg>") no-repeat center/contain;
  position: absolute;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .top .strength .page-btn-list .page-btn a .btn-wrap .btn-box::after {
    right: 75px;
  }
}
.top .strength .page-btn-list .page-btn a::after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(/assets/img/top/page_btn01.jpg) no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.5s all;
}
@media screen and (max-width: 767px) {
  .top .strength .page-btn-list .page-btn a::after {
    background: url(/assets/img/top/page_btn01_sp.jpg) no-repeat;
    background-size: cover;
  }
}
.top .strength .page-btn-list .page-btn a:hover::after {
  transform: scale(1.05);
}
@media screen and (max-width: 767px) {
  .top .strength .page-btn-list .page-btn.entry {
    margin-top: 25px;
  }
}
.top .strength .page-btn-list .page-btn.entry a .btn-wrap .work-cate {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .top .strength .page-btn-list .page-btn.entry a .btn-wrap .work-cate {
    font-size: 1.25rem;
  }
}
.top .strength .page-btn-list .page-btn.entry a .btn-wrap .btn-box {
  padding: 20px 30px;
}
@media screen and (max-width: 767px) {
  .top .strength .page-btn-list .page-btn.entry a .btn-wrap .btn-box {
    padding-left: 15px;
  }
}
.top .strength .page-btn-list .page-btn.entry a .btn-wrap .btn-box::after {
  right: 20px;
}
@media screen and (max-width: 767px) {
  .top .strength .page-btn-list .page-btn.entry a .btn-wrap .btn-box::after {
    right: 60px;
  }
}
.top .strength .page-btn-list .page-btn.entry a::after {
  background: url(/assets/img/top/page_btn02.jpg) no-repeat;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .top .strength .page-btn-list .page-btn.entry a::after {
    background: url(/assets/img/top/page_btn02_sp.jpg) no-repeat;
    background-size: cover;
  }
}/*# sourceMappingURL=top.css.map */