
@charset "UTF-8";
.l-content-hd-sub{
  font-size: 5rem;
}
@media screen and (max-width: 767px) {
  .l-content-hd{
            background: linear-gradient(180deg, #F5F4F4 0%, #F5F4F4 64.53333vw, #fff 44.53333vw, #fff 100%);
            padding-top: 5vw;
  }
.l-content-hd-sub {
font-size: 8vw;
  }
    .l-content-hd-bh{
      margin-bottom: 3vw;

    }
}
/* lead
---------------------------------------------------------------------------- */
.p-lead {
  width: 1200px;
  margin: 0 auto 120px; }

.p-lead-txt {
  font-size: 1.8rem;
  line-height: 1.77778;
  letter-spacing: 0.06em;
  font-weight: 700;
  padding-left: 25px;
  border-left: 4px solid #D50B17; }

/* service
---------------------------------------------------------------------------- */
.p-service {
  width: 1200px;
  margin: 0 auto 5rem; }

.p-service-mh {
  margin-bottom: 66px;
  font-size: 4.2rem;
  line-height: 0.71429;
  letter-spacing: 0.08em;
  font-weight: 700; }
  .p-service-mh::before {
    content: "";
    display: inline-block;
    width: 2px;
    height: 42px;
    background-color: #fff;
    margin-right: 16px;
    vertical-align: -4px;
    border-left: 2px solid #D50B17;
    border-right: 2px solid #D50B17; }

.p-service-block {
  width: 100%;
  display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    gap: 8rem;
}

.p-service-txtblock {
  width: 600px; }

.p-service-sh {
  margin: 0 auto 24px;
  font-size: 3rem;
  line-height: 1;
  letter-spacing: 0.08em;
  font-weight: 700; }
  .p-service-sh::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: #D50B17;
    margin-right: 10px;
    vertical-align: 8px; }
  .p-service-sh small {
    font-size: 2rem; }

.p-service-txt {
  font-size: 3rem;
  line-height: 1.6875;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-bottom: 30px; }

.p-service-btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 66px;
  width: 212px;
  height: 52px;
  border-radius: 26px;
  background-color: #D50B17;
  font-size: 1.8rem;
  line-height: 1.66667;
  letter-spacing: 0.08em;
  font-weight: 500;
  color: #fff;
  position: relative; }
  .p-service-btn a:hover {
    opacity: 1; }
  .p-service-btn a::before {
    display: block;
    content: "";
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 2px solid #fff;
    position: absolute;
    left: 6px;
    top: 6px;
    background: url(../../../images/common/bg_arrow_white.png) no-repeat 7px center #D50B17;
    background-size: 19px;
    -webkit-transition: 0.2s;
    transition: 0.2s; }
  .p-service-btn a:hover::before {
    background-color: #fff;
    background-image: url(../../../images/common/bg_arrow_red.png);
    background-position: 11px center; }

@media screen and (max-width: 767px) {
  /* lead
---------------------------------------------------------------------------- */
  .p-lead {
    width: 89.33333vw;
    margin: 0 auto 16vw; }
  .p-lead-txt {
    font-size: 4.8vw;
    padding-left: 6.66667vw;
    border-left: 1.06667vw solid #D50B17; }
  /* service
---------------------------------------------------------------------------- */
  .p-service {
    width: 89.33333vw;
    margin: 0 auto 16vw; }
  .p-service-mh {
    font-size: 8vw;
    line-height: 1.5;
    padding-left: 5vw;
    position: relative;
    margin-bottom: 5.33333vw; }
    .p-service-mh::before {
      position: absolute;
      content: "";
      top:2.3vw;
      left: 0;
      width: 0.8vw;
      height: 7.46667vw;
      margin-right: 2.13333vw;
      vertical-align: -0.8vw; }
  .p-service-block {
    display: block;
    margin-bottom: 16vw; }
  .p-service-img {
    margin-bottom: 6.93333vw; }
  .p-service-txtblock {
    width: 100%; }
  .p-service-sh {
    margin: 0 auto 5.6vw;
    font-size: 6.4vw;
    line-height: 1.25; }
    .p-service-sh::before {
      width: 1.6vw;
      height: 1.6vw;
      margin-right: 2.13333vw;
      vertical-align: 1.6vw; }
    .p-service-sh small {
      font-size: 5.33333vw; }
  .p-service-txt {
    font-size: 5.333333333vw;
    margin-bottom: 5.33333vw; }
  .p-service-btn a {
    padding-left: 17.6vw;
    width: 56.53333vw;
    height: 13.86667vw;
    border-radius: 6.93333vw;
    font-size: 4.8vw;
    margin: 0 auto; }
    .p-service-btn a::before {
      width: 9.6vw;
      height: 9.6vw;
      left: 1.6vw;
      top: 1.6vw;
      background: url(../../../images/common/bg_arrow_white.png) no-repeat 1.86667vw center #D50B17;
      background-size: 5.06667vw; }
    .p-service-btn a:hover::before {
      background-position: 2.93333vw center; } }

/* 特徴 */
  .p-feature {
    padding:10rem 0 12rem;
    background: #F5F4F4;

  }

  .p-feature-inner {
    width:120rem;
    margin: 0 auto;

  }


  .p-feature-item {
  display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: center;
    align-items: center;
    gap: 3rem;
  }
  .p-feature-item + .p-feature-item{
    margin-top: 4rem;
  }

  .p-feature-icon {
    width: 9rem;
    height: 9rem;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;


  }

  .p-feature-text {
    font-size: 3rem;
    line-height: 1.66667;
    letter-spacing: 0.08em;
    font-weight: 700;
    flex: 1;
  }

  .is-accent {
    color: #D50B17;
  }

    @media screen and (max-width: 767px) {

  .p-feature {
      padding: 16vw 0;


    }

    .p-feature-inner {
      width: 92%;
      margin: 0 4%;

    }


    .p-feature-item {
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: flex-start;
      justify-content: flex-start;
      -webkit-align-items: center;
      align-items: center;
      gap: 3.2vw;
    }

    .p-feature-item+.p-feature-item {
      margin-top: 5.333333333vw;
    }

    .p-feature-icon {
      width: 17.06666667vw;
      height: 17.06666667vw;
    }
.p-feature-icon img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
    .p-feature-text {

      font-size: 5.333333333vw;
      line-height: 1.66667;
      letter-spacing: 0.08em;
      font-weight: 700;
    }

    .is-accent {
      color: #D50B17;
    }

    }
.p-recommend {
  width: 120rem;
    margin: 0 auto 12rem;
    background-color: #F9F9F9;
    padding: 5rem 6rem;
}
.p-recommend-title {
  font-size: 3rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  font-weight: 700;
  display: flex;
  align-items: center;
  margin-bottom: 3rem;
}

.p-recommend-title-icon {
  position: relative;
  margin-right: 2rem;
}
.p-recommend-title-icon::before{
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 1rem;
  height: 1rem;
  background-color: #D50B17;
}

.p-recommend-list{
  margin-left: 2rem;
}
.p-recommend-item{
  position: relative;
  padding-left: 5.5rem;
  &::after{
    position: absolute;
    background: url(../../../images/service/b-active/icn_recommend.svg) no-repeat center center / contain;
    content: "";
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 4rem;
    height: 4rem;

  }
}

 .p-recommend-item + .p-recommend-item{
  margin-top: 3rem;
}


.p-recommend-text {
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.06em;
  font-weight: 500;


}
@media screen and (max-width: 767px) {

.p-recommend {
    width: 100%;
    margin: 0 auto 16vw;
    padding: 8vw 5.333333333vw;
  }

  .p-recommend-title {
    font-size: 5.333333333vw;
    margin-bottom: 5vw;
  }

.p-recommend-title-icon {

  margin-right: 4vw;
}

.p-recommend-title-icon::before {

  top: -4.5vw;
  transform: translateY(0);
  left: 0;
  width: 2.133333333vw;
  height: 2.133333333vw;

}

  .p-recommend-list {
    margin-left: 0;
  }

  .p-recommend-item {
    padding-left: 12vw;

    &::after {
      position: absolute;
      background: url(../../../images/service/b-active/icn_recommend.svg) no-repeat center center / contain;
      content: "";
      top: 0;
      transform: translateY(0);
      left: 0;
      width: 9.6vw;
      height: 9.6vw;

    }
  }

  .p-recommend-item+.p-recommend-item {
    margin-top: 3vw;
  }


  .p-recommend-text {
    font-size: 4.8vw;
    line-height: 1.4;
    letter-spacing: 0.06em;
    font-weight: 500;


  }


}

.p-voice {
  padding: 10rem 0 12rem;
  background-color: #fff;
}
.p-voice-inner {
  width: 120rem;
  margin: 0 auto;
}

.p-voice-list {
  display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    gap: 2rem;
}

.p-voice-item {
display: grid;
  grid-template-columns: repeat(2, auto);
  grid-template-rows: repeat(2, auto);
  grid-column-gap: 2.5rem;
  grid-row-gap: 0px;
  background-color: #F5F4F4;
  border-radius: 1rem;
  padding: 4rem 5rem;

}

.p-voice-img {
  width: 15.6rem;
  height: 15.6rem;
  object-fit: cover;
  grid-area: 1 / 1 / 3 / 2;
}

.p-voice-content {
grid-area: 1 / 2 / 2 / 3;
}

.p-voice-position {
  font-size: 1.8rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  font-weight: 700;
  margin-bottom: 1rem;
}
.p-voice-position-sub{
    font-size: 1.6rem;
      line-height: 1.6;
      letter-spacing: 0.08em;
      font-weight: 400;
      margin-bottom: 2rem;
}
.p-voice-position-sub-name{
  font-weight: 700;
      font-size: 1.8rem;
}
.p-voice-position-sub-name02{

  font-weight: 700
}

.p-voice-text {
      font-size: 1.6rem;
      letter-spacing: 0.08em;
      line-height: 1.6;
      grid-area: 2 / 2 / 3 / 3;
}
@media screen and (max-width: 767px) {

.p-voice {
    padding: 16vw 0;
  }

  .p-voice-inner {
    width: 92%;
    margin: 0 4%;
  }
.p-voice-list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  gap: 5.333333333vw;
}

.p-voice-item {
  grid-template-columns: 17.33333333vw 56vw;
    grid-template-rows: repeat(2, auto);
  grid-column-gap: 3vw;
  grid-row-gap: 0;
  padding: 5.333333333vw 5.333333333vw;

}

.p-voice-img {
  width: 17.33333333vw;
  height: 17.33333333vw;
  grid-area: 1 / 1 / 2 / 2;
}

.p-voice-content {
  grid-area: 1 / 2 / 2 / 3;
  width: 100%;
}

.p-voice-position {
  font-size: 4.266666667vw;
  margin-bottom: 1vw;
}

.p-voice-position-sub {
  font-size: 3.2vw;
  margin-bottom: 2vw;
}
.p-voice-position-sub-name{
  font-size: 4vw;
}




.p-voice-text {
  font-size: 4.266666667vw;
  letter-spacing: 0.08em;
  line-height: 1.6;
grid-area: 2 / 1 / 3 / 3;
}


}
.p-relation-feature {
  padding: 10rem 0 12rem;
  background-color: #F5F4F4;

}

.p-relation-feature-inner {
  width: 120rem;
  margin: 0 auto;

}


.p-relation-feature-list {
  padding-top: 6rem;
}


.p-relation-feature-item {

  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  position: relative;
}

.is-reverse {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.p-relation-feature-item+.p-relation-feature-item {
  margin-top: 12rem;
}

.p-relation-feature-img {
  position: absolute;
  top: -6rem;
  left: 0;
  width: 40rem;
  z-index: 5;
}

.is-reverse .p-relation-feature-img {
  position: absolute;
  top: -6rem;
  left: auto;
  right: 0;
  width: 40rem;
  z-index: 5;
}

.p-relation-feature-textblock {
  background-color: #fff;
  padding: 6rem 10rem 9rem 15rem;
  width: 90rem;
  position: relative;
}

.is-reverse .p-relation-feature-textblock {

  padding: 6rem 15rem 9rem 10rem;

}

.p-relation-feature-icn01::after {
  position: absolute;
  content: "";
  background: url(../../../images/service/relation/icn_01.svg) no-repeat center/contain;
  top: -2rem;
  left: 15rem;
  width: 5.4rem;
  height: 3.6rem;
}

.p-relation-feature-icn02::after {
  position: absolute;
  content: "";
  background: url(../../../images/service/relation/icn_02.svg) no-repeat center/contain;
  top: -2rem;
  left: 10rem;
  width: 6.2rem;
  height: 3.6rem;
}

.p-relation-feature-icn03::after {
  position: absolute;
  content: "";
  background: url(../../../images/service/relation/icn_03.svg) no-repeat center/contain;
  top: -2rem;
  left: 15rem;
  width: 6.3rem;
  height: 3.6rem;
}

.p-relation-feature-heading {
  font-size: 3rem;
  line-height: 1.2;
  letter-spacing: 0.08em;
  font-weight: 700;
  margin-bottom: 2rem;
}

.p-relation-feature-text {
  font-size: 1.6rem;
  letter-spacing: 0.06em;
  font-weight: 400;
  line-height: 1.8;
}

.p-relation-feature-note {
  text-align: center;
  margin-top: 12rem;
  position: relative;
}

.p-relation-feature-note::before {
  position: absolute;
  content: "";
  background: url(../../../images/service/relation/icn_arrow.svg) no-repeat center/contain;
  width: 5.6rem;
  height: 4.6rem;
  top: -8rem;
  left: 50%;
  transform: translateX(-50%);
}


.p-relation-feature-note-text {
  font-size: 3rem;
  line-height: 1.2;
  letter-spacing: 0.08em;
  font-weight: 700;
  background: linear-gradient(transparent 60%, #FFFA9F 40%);
  display: inline-block;

}

.is-emphasis {
  font-size: 3.5rem;
  color: #D50B17;
}

@media screen and (max-width: 767px) {
  .p-relation-feature {
    padding: 16vw 0;


  }

  .p-relation-feature-inner {
    width: 92%;
    margin: 0 4%;

  }


  .p-relation-feature-list {
    padding-top: 15vw;
  }


  .p-relation-feature-item {
    flex-direction: column;
    position: relative;
  }

  .is-reverse {
    flex-direction: column;
  }

  .p-relation-feature-item+.p-relation-feature-item {
    margin-top: 10vw;
  }

  .p-relation-feature-img {
    position: static;
    top: 0;
    left: 0;
    width: 100%;

  }

  .is-reverse .p-relation-feature-img {
    position: static;
    top: 0;
    left: 0;
    width: 100%;

  }

  .p-relation-feature-textblock {
    padding: 2.666666667vw 5.333333333vw 5.333333333vw 5.333333333vw;
    width: 100%;
    position: relative;
  }

  .is-reverse .p-relation-feature-textblock {

    padding: 2.666666667vw 5.333333333vw 5.333333333vw 5.333333333vw;

  }

  .p-relation-feature-icn01::after {
    position: absolute;
    content: "";
    background: url(../../../images/service/relation/icn_01.svg) no-repeat center/contain;
    top: 2vw;
    left: 5.333333333vw;
    width: 13.33333333vw;
    height: 12.53333333vw;
  }

  .p-relation-feature-icn02::after {
    position: absolute;
    content: "";
    background: url(../../../images/service/relation/icn_02.svg) no-repeat center/contain;
    top: 2vw;
    left: 5.333333333vw;
    width: 14.93333333vw;
    height: 12.53333333vw;
  }

  .p-relation-feature-icn03::after {
    position: absolute;
    content: "";
    background: url(../../../images/service/relation/icn_03.svg) no-repeat center/contain;
    top: 1.5vw;
    left: 5.333333333vw;
    width: 15.2vw;
    height: 12.53333333vw;
  }

  .p-relation-feature-heading {
    font-size: 6vw;
    line-height: 1.5;
    padding-left: 20vw;
    margin-bottom: 3vw;
  }

  .p-relation-feature-text {
    font-size: 4.266666667vw;
  }

  .p-relation-feature-note {

    margin-top: 22vw;

  }

  .p-relation-feature-note::before {
    position: absolute;
    content: "";
    background: url(../../../images/service/relation/icn_arrow.svg) no-repeat center/contain;
    width: 10.66666667vw;
    height: 8.8vw;
    top: -15vw;
    left: 50%;
    transform: translateX(-50%);
  }


  .p-relation-feature-note-text {
    font-size: 5.333333333vw;
    line-height: 1.5;
    letter-spacing: 0.08em;
    font-weight: 700;
    background: linear-gradient(transparent 60%, #FFFA9F 40%);
    display: inline;

  }

  .is-emphasis {
    font-size: 6.666666667vw;
    color: #D50B17;
  }

}
