@charset "UTF-8";
/* 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-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  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: 1.6rem;
  line-height: 1.6875;
  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;
    margin-bottom: 5.33333vw; }
    .p-service-mh::before {
      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: 4.26667vw;
    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; } }
