@charset "UTF-8";
.anchor {
  justify-content: center;
  padding: 30px 0
}

.anchor li {
  font-size: 16px;
  font-size: 1.6rem;
  padding: 0 25px
}

.anchor li:not(:first-child) {
  border-left: 1px solid var(--txt-color)
}

.anchor a {
  text-decoration: underline
}

.ttl {
  color: var(--main-color);
  line-height: 1.4
}

.software {
  padding: 20px 0 40px
}

.software p {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.6;
  text-align: justify
}

.software .copy, .software h4 {
  margin: 40px 0;
  text-align: center
}

.software h4 {
  font-size: 30px;
  font-size: 3rem;
  margin-bottom: 20px
}

.support {
  align-items: stretch;
  flex-wrap: wrap;
  justify-content: space-between
}

.support li {
  align-items: center;
  border: 1px solid #87a5af;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 20px;
  padding: 25px 0;
  text-align: center;
  width: calc((100% - 30px)/ 3)
}

.support p {
  color: var(--main-color);
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center
}

.analysis .inner, .marketing .inner, .contentsc .inner {
  max-width: 1100px;
  padding: 30px 0
}

.analysis .ttl, .marketing .ttl, .contentsc .ttl {
  margin: 30px 0
}

.analysis p, .marketing p, .contentsc p {
  font-size: 20px;
  line-height: 1.6;
  margin: 40px 0 60px;
  text-align: center
}

.analysis .copy, .marketing .copy, .contentsc .copy {
  margin: 0
}

.analysis .f-box {
  align-items: stretch;
  justify-content: space-between;
  margin: 20px 0 130px;
  position: relative
}

.analysis .f-box::after {
  background: -webkit-linear-gradient(top, #fff, #d3d2d2);
  background: linear-gradient(to bottom, #fff, #d3d2d2);
  bottom: -100px;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  display: block;
  height: 60px;
  left: 50%;
  margin-left: -250px;
  position: absolute;
  width: 500px
}

.analysis li {
  align-items: center;
  border-radius: 20px;
  color: #fff;
  display: flex;
  font-size: 20px;
  font-size: 2rem;
  font-weight: 700;
  height: 255px;
  justify-content: center;
  line-height: 1.8;
  text-align: center;
  width: 355px
}

.analysis li:nth-of-type(1) {
  background-image: url(/img/service/analysis/img-worry01.jpg)
}

.analysis li:nth-of-type(2) {
  background-image: url(/img/service/analysis/img-worry02.jpg)
}

.analysis li:nth-of-type(3) {
  background-image: url(/img/service/analysis/img-worry03.jpg)
}

.marketing p {
  max-width: 1000px;
  margin: 40px auto;
  text-align: left
}

.marketing .copy {
  margin: 0 auto
}

.marketing img {
  margin-top: 40px
}

.marketing p:last-of-type {
  font-size: 20px;
  font-weight: 700;
  line-height: 2.4;
  margin: 0 auto 30px;
  text-align: center
}

.contentsc p {
  max-width: 1000px;
  margin: 40px auto;
  text-align: left
}

.contentsc .copy {
  margin: 0 auto
}

.contentsc img {
  margin-top: 40px
}

.result {
  background: url(/img/service/bg-result.jpg) center center;
  background-size: cover;
  padding: 50px 0;
  text-align: center
}

.result h3 {
  display: inline-block;
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.2;
  margin-bottom: 50px;
  position: relative
}

.result h3::after, .result h3::before {
  background: var(--bdr-color);
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  margin-top: -1px;
  top: 50%;
  width: 150px
}

.result h3::before {
  left: -170px
}

.result h3::after {
  right: -170px
}

.result .inner {
  align-items: stretch;
  flex-wrap: wrap;
  justify-content: flex-start
}

.result-detail {
  background: #fff;
  border-radius: 20px;
  box-shadow: var(--shadow-btm);
  margin-bottom: 20px;
  overflow: hidden;
  width: 320px
}

.result-detail:nth-of-type(3n-1) {
  margin: 0 20px 20px
}

.f-box .result-detail {
  cursor: pointer
}

.remodal .txt, .result-detail .txt {
  padding: 20px
}

.remodal h4, .result-detail h4 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.4;
  margin-bottom: 20px
}

.remodal p, .result-detail p {
  line-height: 1.4;
  margin: 10px 0;
  overflow: hidden;
  text-align: left
}

.result-detail p {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  font-size: 18px;
  font-size: 1.8rem;
  -webkit-line-clamp: 2
}

.result-detail .more {
  margin: 0;
  text-align: right;
  text-decoration: underline
}

.remodal:not(.privacy) {
  max-width: 640px;
  padding: 0
}

.remodal:not(.privacy) h4 {
  font-size: 24px;
  font-size: 2.4rem
}

.remodal:not(.privacy) p {
  font-size: 20px;
  font-size: 2rem
}

.btn-c-close {
  background: var(--txt-color);
  border-radius: 50px;
  color: #fff;
  font-size: 18px;
  font-size: 1.8rem;
  height: 50px;
  margin: 20px auto 0;
  position: relative;
  width: 270px
}

@media screen and (max-width:1024px) {
  .analysis .inner, .marketing .inner {
    padding: 30px 20px
  }
  .analysis .ttl, .marketing .ttl {
    margin: 20px 0
  }
  .analysis li {
    font-size: 1.8rem;
    height: 200px;
    width: calc((100% - 40px)/ 3)
  }
  .analysis li:nth-of-type(2) {
    margin: 0 20px
  }
  .result h3 {
    font-size: 2.6rem
  }
  .result h3::after, .result h3::before {
    width: 100px
  }
  .result h3::before {
    left: -120px
  }
  .result h3::after {
    right: -120px
  }
  .result-detail {
    width: calc((100% - 40px)/ 3)
  }
  .remodal:not(.privacy) .txt, .result-detail .txt {
    padding: 10px
  }
  .remodal:not(.privacy) h4, .result-detail h4 {
    font-size: 1.6rem;
    margin-bottom: 10px
  }
  .remodal:not(.privacy) p, .result-detail p {
    font-size: 1.4rem;
    line-height: 1.4
  }
}

@media screen and (max-width:599px) {
  .anchor li {
    font-size: 1.2rem;
    line-height: 1.2;
    padding: 0 10px;
    text-align: center
  }
  .software {
    padding: 20px 0
  }
  .software p {
    font-size: 1.6rem
  }
  .software .copy, .software h4 {
    margin: 20px 0;
    text-align: center
  }
  .software h4 {
    font-size: 1.8rem
  }
  .support li {
    padding: 15px 0;
    width: calc((100% - 10px)/ 2)
  }
  .support img {
    height: 70px;
    width: auto
  }
  .support p {
    font-size: 1.4rem;
    margin-top: 10px
  }
  .analysis .inner, .marketing .inner {
    padding: 30px 10px
  }
  .analysis .ttl, .marketing .ttl {
    margin: 10px 0
  }
  .analysis p, .marketing p {
    font-size: 1.4rem;
    margin: 20px 0 30px
  }
  .analysis .copy, .marketing .copy {
    font-size: 2rem;
    margin: 0
  }
  .analysis .f-box {
    flex-direction: column;
    justify-content: center;
    margin: 10px 0 90px;
    position: relative
  }
  .analysis .f-box::after {
    background: -webkit-linear-gradient(top, #fff, #d3d2d2);
    background: linear-gradient(to bottom, #fff, #d3d2d2);
    bottom: -70px;
    -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: "";
    display: block;
    height: 40px;
    left: 50%;
    margin-left: -150px;
    position: absolute;
    width: 300px
  }
  .analysis li {
    height: 155px;
    margin-top: 10px;
    width: 100%
  }
  .analysis li:nth-of-type(1) {
    background-position: center bottom
  }
  .analysis li:nth-of-type(2) {
    margin: 10px 0 0
  }
  .analysis img {
    margin: 20px auto;
    width: 120px
  }
  .marketing p {
    margin: 10px auto 30px;
    text-align: left
  }
  .marketing .copy {
    margin: 0 auto
  }
  .marketing img {
    margin: 20px auto;
    width: 280px
  }
  .marketing p:last-of-type {
    line-height: 1.6;
    margin: 0 auto 10px
  }
  .result {
    padding: 20px 0;
    text-align: center
  }
  .result h3 {
    font-size: 2rem;
    line-height: 1.2;
    margin-bottom: 20px;
    position: relative
  }
  .result h3 .sp {
    display: inline
  }
  .result h3::after, .result h3::before {
    display: none
  }
  .result-detail {
    width: 100%
  }
  .result-detail:nth-of-type(3n-1) {
    margin: 0 0 20px
  }
  .result-detail img {
    width: 100%
  }
}