
@charset "UTF-8";

@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;
  }
}
/* 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 120px; }

.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;
  margin-bottom: 80px; }

.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-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;
  }

}

.p-voice-single {
  padding: 10rem 0 12rem;
  background-color: #ffffff;

}

.p-voice-single-inner {
  width: 120rem;
  margin: 0 auto;
}

.p-voice-single-box {
  background-color: #F5F4F4;
  padding: 4rem 5rem;
  border-radius: 1rem;
display: grid;
  grid-template-columns: 15.6rem auto;
  grid-template-rows: repeat(2, auto);
  grid-column-gap: 3rem;
  grid-row-gap: 0px;
}
.p-voice-single-box + .p-voice-single-box{
  margin-top: 4rem;
}

.p-voice-single-image {
  grid-area: 1 / 1 / 3 / 2;

}
.p-voice-single-school {
font-size: 2rem;
line-height: 1.2;
letter-spacing: 0.08em;
font-weight: 700;
margin-bottom: 2rem;
  grid-area: 1 / 2 / 2 / 3;
}
.p-voice-single-content {
  grid-area: 2 / 2 / 3 / 3;
}
.p-voice-single-block +.p-voice-single-block{
  margin-top: 2rem;
}
.p-voice-single-label {
font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
  font-weight: 700;
  margin-bottom: 1rem;
    color: #d60000;
}

.p-voice-single-text {
font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
}

.p-voice-single-list li {
font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
  position: relative;
  padding-left: 3rem;

}
.p-voice-single-list li + li{
  margin-top: 1rem;
}
.p-voice-single-list li:before{
  position: absolute;
  content: "";
  background: url(../../../images/service/relation/icn_bubble.svg) no-repeat center/contain;
  width: 2rem;
  height: 2rem;
  top: 0.2rem;
  left: 0;
}
@media screen and (max-width: 767px) {

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


  }

  .p-voice-single-inner {
    width: 92%;
    margin: 0 4%;
  }

  .p-voice-single-box {
    padding: 5.333333333vw 5.333333333vw;
    border-radius: 2.666666667vw;
    display: grid;
    grid-template-columns: 18.66666667vw auto;
    grid-template-rows: repeat(2, auto);
    grid-column-gap: 3vw;
    grid-row-gap: 0px;
  }
.p-voice-single-box+.p-voice-single-box {
  margin-top: 8vw;
}
  .p-voice-single-image {
grid-area: 1 / 1 / 2 / 2;

  }

  .p-voice-single-school {
    font-size: 4.8vw;
    line-height: 1.5;
    margin-bottom: 2vw;
grid-area: 1 / 2 / 2 / 3;
  align-self: center;
  }

  .p-voice-single-content {
  grid-area: 2 / 1 / 3 / 3;
  margin-top: 5vw;
  }

  .p-voice-single-block+.p-voice-single-block {
    margin-top: 5vw;
  }

  .p-voice-single-label {
    font-size: 4.266666667vw;
    margin-bottom: 2vw;
  }

  .p-voice-single-text {
    font-size: 4.266666667vw;
  }

  .p-voice-single-list li {
    font-size: 4.266666667vw;
    padding-left: 7vw;

  }
.p-voice-single-list li+li {
  margin-top: 2vw;
}
  .p-voice-single-list li:before {
    position: absolute;
    content: "";
    background: url(../../../images/service/relation/icn_bubble.svg) no-repeat center/contain;
    width: 5.333333333vw;
    height: 5.333333333vw;
    top: 1vw;
    left: 0;
  }



}
