#lead {
  padding: 9vw 0 0;
  position: relative;
}
#lead .photo{
  padding: 0 0 0 0; 
}
#lead .inner .gr-txt {
  margin-bottom: 10vw;
}#lead .inner .gr-txt ul{
  margin: -43vw 0 0 -10px;
  position:relative;
  width: 73%;
  z-index: 1;
}
#lead .inner .gr-txt .gr-ttl li {
  font-size: 4.2vw;
  font-weight: 700;
  color: #fff;
  background: #003270;
  text-align: center;
  border-radius: 99px;
  padding: 2vw 5%;
}
#lead .inner .gr-txt .gr-ttl li:not(:last-child) {
  margin-bottom: 2.5vw;
}
#lead .inner .gr-txt .gr-ttl li span {
  letter-spacing: 0.1em;
}
#lead .inner .gr-txt .gr-ttl li .fs26 {
  font-size: 3.2vw;
}
#lead .inner .gr-txt .gr-ttl li .fs36 {
  font-size: 6.5vw;
}
#lead .inner .gr-txt .tit {
  font-size: 5.5vw;
  font-weight: 700;
  text-align: right;
  position: relative;
  margin: 0vw 27vw 0vw 0px;
  z-index: 1;
}
#lead .inner .gr-txt h2 {
  font-size: 11vw;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-bottom: 2vw;
  margin-top: 20vw;
}
#lead .inner .gr-txt h2 span {
  letter-spacing: 0.1em;
}
#lead .inner .gr-txt h2 .fs42 {
  font-size: 8vw;
}
#lead .inner .gr-txt h2 .color {
  color: #0053b9;
}
#lead .catch {
  margin: 4vw 10% 0;
  position: absolute;
  top: 112vw;
  z-index: 0;
}
.service {
  padding: 0vw 0 0;
}
.service .wrap {
  padding: 0 3%;
}
.service h2 {
  text-align: center;
  width: auto;
  margin: 0;
  padding-bottom: 10vw;
  position: relative;
}
.service h2::before {
  content: "";
  background: #e9f2fe;
  position: absolute;
  top: 13vw;
  right: -3vw;
  bottom: 0;
  left: -3vw;
  z-index: -1;
}
.service .group .set {
  padding: 4vw 5% 18vw;
  border-radius: 20px;
  margin-bottom: 13vw;
}
.service .group .set:nth-child(2n) {
  background: #e9f2fe;
}
.service .group .set:nth-child(2n) .btn-popup a {
  border-color: #fff;
}
.service .group .set .service-item {
  font-family: "Oswald";
  /* text-align: right; */
  margin-left: 56vw;
  /* scale: 0.7; */
}
.service .group .set .service-item dt {
  color: #0053b9;
  display: flex;
  justify-content: end;
  align-items: flex-start;
  line-height: 1;
}
.service .group .set .service-item dt .tit {
  font-size: 4vw;
  font-weight: 600;
  letter-spacing: 0.01em;
  white-space: nowrap;
  margin: 2vw 0 0 2.5vw;
}
.service .group .set .service-item dt .num {
  font-size: 21vw;
  font-weight: 400;
  letter-spacing: -0.025em;
}
.service .group .set .service-item dd {
  font-size: 4vw;
  font-weight: 500;
  text-align: right;
  letter-spacing: -0.025em;
  color: #99b6db;
  line-height: 1.2;
  margin-top: 0.5vw;
}
.service .group .set h3 {
  margin: 1vw 0 5vw;
  font-size: 6.2vw;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.7;
}
.service .group .set h3 .color {
  font-size: 4.2vw;
  letter-spacing: 0.05em;
  color: #0053b9;
}
.service .group .set h3 .fs62 {
  font-size: 7.5vw;
}
.service .group .set .box {
  background: #003270;
  color: #fff;
  padding: 13vw 5% 10vw;
  margin: 4vw 0 7vw;
}
.service .group .set .box .tit {
  font-family: "Oswald";
  font-size: 10vw;
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1;
  padding: 0 0 5vw 2%;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.service .group .set .box ul {
  margin: 4vw 0 0 1%;
}
.service .group .set .box ul li {
  font-size: 14px;
  letter-spacing: 0;
  font-weight: 700;
  line-height: 27px;
}
.service .group .set .box ul li:not(:last-child) {
  margin-bottom: 7px;
}
.service .group .set4 .btn-link {
  width: 85%;
  margin: 10vw auto 0;
}
.service .group .set4 .btn-link a {
  font-size: 4vw;
  letter-spacing: 0.1em;
  display: block;
  text-align: center;
  color: #fff;
  background: #3e3e3e;
  padding: 3.5vw 5%;
  border-radius: 99px;
}
#other .box {
  background: #e9f2fe;
  padding: 10vw 5% 10vw;
}
#other .box h2 {
  text-align: center;
  margin-bottom: 9vw;
}
#other .box h2 .ttl-eng {
  font-family: "Oswald";
  font-size: 15vw;
  font-weight: 400;
  letter-spacing: -0.025em;
  color: #fff;
  margin: 0 -2vw;
}
#other .box h2 .ttl-jp {
  font-size: 5.5vw;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #003270;
  margin-top: -14vw;
  display: block;
}
#other .box .gr-popup {
  display: flex;
  justify-content: space-between;
}
#other .box .gr-popup li a {
  position: relative;
  width: 38vw;
  height: 38vw;
  background: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 4vw;
  font-weight: 500;
  letter-spacing: 0.1em;
  position: relative;
}
#other .box .gr-popup li a::before {
  content: "";
  background: url(../img/service/other_icon1.png) no-repeat 0 0/100% auto;
  width: 7vw;
  height: 57px;
  position: absolute;
  top: 5vw;
  left: 50%;
  transform: translateX(-50%);
}
#other .box .gr-popup li a::after {
  content: "";
  background: url(../img/shared/icon_popup2.png) no-repeat 0 0/100% auto;
  width: 5vw;
  height: 5vw;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 5vw;
}
#other .box .gr-popup li:nth-child(2) a::before {
  background: url(../img/service/other_icon2.png) no-repeat 0 0/100% auto;
}
#flow .group .inner .step1 .title .tit {
  font-size: 4.8vw;
  letter-spacing: 0.05em;
}
#flow .group .inner .step1 .contact {
  margin-top: 50px;
}
#flow .group .inner .step1 .contact .wrap {
  padding: 0 5%;
}
#flow .group .inner .step1 .contact .content .col h3 {
  font-size: 4.5vw;
}
#flow .group .inner .step1 .contact .content .col-r h3 {
  margin-bottom: 4vw;
}
#flow .group .inner .step1 .contact .content .col-r .txt {
  font-size: 3vw;
}
#flow .group .inner .step1 .contact .content .col-r .txt span {
  font-size: 5.6vw;
}
#flow .group .inner .step1 .contact .content .col-r .btn-efo {
  margin: 7vw 2% 0;
}
#flow .group .inner .step3 .title .num {
  white-space: nowrap;
}
#flow .group .inner .step3 .title .num dd span {
  font-size: 3.5vw;
  display: inline-block;
  color: #fff;
  text-align: center;
  background: #0053b9;
  padding: 2vw 7%;
  line-height: 2;
  font-weight: 700;
  border-radius: 5px;
  position: relative;
  top: -3vw;
}
#flow .group .inner .step3 .title .tit {
  font-size: 4.5vw;
  letter-spacing: 0.05em;
  margin-left: 8vw;
}
#flow .group .inner .step3 .desc .note {
  font-size: 11px;
  font-weight: 400;
  line-height: 20px;
}
@media screen and (min-width: 768px) {
  #lead {
    padding: 120px 0 0;
  }
  #lead .group {
    max-width: 1348px;
    margin: 0 auto;
  }
  #lead .inner {
    background: url(../img/service/lead_bg.jpg) no-repeat center top/cover;
    padding: 1px 0 135px;
  }
  #lead .inner .wrap {
    max-width: 1174px;
    padding: 0 20px;
  }
  #lead .inner .gr-txt {
    margin: -35px 0 0 auto;
    width: 480px;
  }
  #lead .inner .gr-txt ul{
  margin: 0;
  position:relative;
  width: 100%;
}
  #lead .inner .gr-txt .gr-ttl li {
    font-size: 33px;
    padding: 13px 20px;
  }
  #lead .inner .gr-txt .gr-ttl li:not(:last-child) {
    margin-bottom: 16px;
  }
  #lead .inner .gr-txt .gr-ttl li .fs26 {
    font-size: 26px;
  }
  #lead .inner .gr-txt .gr-ttl li .fs36 {
    font-size: 36px;
  }
  #lead .inner .gr-txt .tit {
    font-size: 30px;
    margin: 21px 9px 18px 0;
  }
  #lead .inner .gr-txt h2 {
    font-size: 62px;
    line-height: 83px;
    margin: 0 0 25px 12px;
  }
  #lead .inner .gr-txt h2 span {
    letter-spacing: 0.1em;
  }
  #lead .inner .gr-txt h2 .fs42 {
    font-size: 42px;
  }
  #lead .inner .gr-txt .txt {
    margin-left: 14px;
    letter-spacing: 0;
  }
  #lead .catch {
    margin: 0 !important;
    position: absolute;
    top: 910px;
    z-index: 0;
    right: calc(50% - 500px);
    width: 979px;
  }
  #lead .catch img {
    width: 100%;
    height: auto;
  }
  .service {
    padding: 351px 0 0;
  }
  .service .wrap {
    max-width: 1312px;
    margin: 0 auto;
    padding: 0;
  }
  .service h2 {
    max-width: 600px;
    margin: 0 auto -24px;
    padding-bottom: 36px;
  }
  .service h2::before {
    top: 34px;
    right: 0;
    left: 0;
  }
  .service .group .set {
    padding: 93px 106px 105px;
    border-radius: 40px;
    position: relative;
  }
  .service .group .set:nth-child(2n + 1) {
    margin-bottom: 24px;
  }
  .service .group .set:nth-child(2n) {
    background: #e9f2fe;
  }
  .service .group .set:nth-child(2n) .btn-popup a {
    border-color: #fff;
  }
  .service .group .set .service-item {
    position: absolute;
    width: -moz-fit-content;
    width: fit-content;
    top: 235px;
    right: 70px;
  }
  .service .group .set .service-item dt {
    line-height: 90px;
  }
  .service .group .set .service-item dt .tit {
    font-size: 40px;
    margin: -29px 0 0 -16px;
  }
  .service .group .set .service-item dt .num {
    font-size: 200px;
  }
  .service .group .set .service-item dd {
    font-size: 26px;
    line-height: 36px;
    margin: 70px 0 0 -1px;
    letter-spacing: 0;
  }
  .service .group .set .content {
    position: relative;
  }
  .service .group .set h3 {
    margin: 0 0 24px;
    font-size: 48px;
    line-height: 65px;
  }
  .service .group .set h3 .color {
    font-size: 30px;
    letter-spacing: 0.1em;
  }
  .service .group .set h3 .fs62 {
    font-size: 62px;
  }
  .service .group .set .photo {
    margin-right: 288px;
    height: 469px;
  }
  .service .group .set .box {
    padding: 52px 45px 53px 45px;
    margin: 0;
    width: 500px;
    position: absolute;
    top: 246px;
    right: -71px;
    z-index: 3;
  }
  .service .group .set .box .tit {
    font-size: 50px;
    line-height: 60px;
    padding: 0 0 22px 10px;
  }
  .service .group .set .box ul {
    margin: 22px 0 0 4px;
  }
  .service .group .set .box ul li {
    font-size: 20px;
    line-height: 30px;
  }
  .service .group .set .box ul li:not(:last-child) {
    margin-bottom: 15px;
  }
  .service .group .set .txt {
    width: 51.3%;
    margin: 46px 0 0 50px;
    letter-spacing: 0.05em;
  }
  .service .group .set1 .service-item {
    top: 235px;
    right: 77px;
  }
  .service .group .set3 .box {
    top: 209px;
  }
  .service .group .set3 .btn-popup {
    margin-top: 33px;
  }
  .service .group .set4 .btn-link {
    width: 303px;
    margin: 60px auto 0;
  }
  .service .group .set4 .btn-link a {
    font-size: 16px;
    padding: 14px 20px;
  }
  .service .group .set5 {
    margin-bottom: 9px !important;
  }
  .service .group .set5 .box {
    top: 210px;
  }
  #other .wrap {
    max-width: 1140px;
    padding: 0 20px;
  }
  #other .box {
    padding: 96px 50px 66px;
  }
  #other .box h2 {
    margin-bottom: 93px;
  }
  #other .box h2 .ttl-eng {
    font-size: 174px;
    margin: 0;
    letter-spacing: -0.01em;
  }
  #other .box h2 .ttl-jp {
    font-size: 48px;
    margin-top: -108px;
  }
  #other .box .gr-popup {
    max-width: 722px;
    margin: 0 auto;
  }
  #other .box .gr-popup li a {
    width: 300px;
    height: 300px;
    font-size: 30px;
  }
  #other .box .gr-popup li a::before {
    width: 57px;
    height: 75px;
    top: 37px;
  }
  #other .box .gr-popup li a::after {
    width: 35px;
    height: 25px;
    bottom: 51px;
  }
  #other .box .gr-popup li a:hover {
    opacity: 0.7;
  }
  #flow .group .inner .step1 {
    padding-bottom: 140px !important;
  }
  #flow .group .inner .step1 .title .tit {
    font-size: 36px;
    letter-spacing: 0.1em;
  }
  #flow .group .inner .step1 .contact {
    padding: 54px 0 38px;
  }
  #flow .group .inner .step1 .contact .wrap {
    padding: 0;
  }
  #flow .group .inner .step1 .contact .content .col h3 {
    font-size: 20px;
    padding-bottom: 5px;
    margin-bottom: 23px;
  }
  #flow .group .inner .step1 .contact .content .col-r h3 {
    margin-bottom: 32px;
  }
  #flow .group .inner .step1 .contact .content .col-r .txt {
    font-size: 14px;
  }
  #flow .group .inner .step1 .contact .content .col-r .txt span {
    font-size: 24px;
  }
  #flow .group .inner .step1 .contact .content .col-r .btn-efo {
    margin: 30px auto 0;
  }
  #flow .group .inner .step3 .title .num {
    margin-bottom: -49px;
  }
  #flow .group .inner .step3 .title .num dd span {
    font-size: 25px;
    padding: 25px 25px;
    line-height: 27px;
    border-radius: 10px;
    top: -30px;
    margin-left: 12px;
  }
  #flow .group .inner .step3 .title .tit {
    font-size: 36px;
    letter-spacing: 0.1em;
    margin: -7px 0 0 54px;
  }
  #flow .group .inner .step3 .desc .note {
    font-size: 16px;
    line-height: 28px;
  }
}
@media screen and (max-width: 1299px) and (min-width: 768px) {
  .service .group .set .box {
    right: calc(-50vw + 50% + 20px);
    width: 470px;
  }
  .service .group .set .box ul li {
    font-size: 17px;
  }
  .service .group .set .txt {
    margin-left: 0;
  }
}
@media screen and (max-width: 1160px) and (min-width: 768px) {
  .service .group .set .box {
    padding: 52px 30px 53px;
  }
  #other .box h2 .ttl-eng {
    font-size: 160px;
  }
  #other .box h2 .ttl-jp {
    margin-top: -100px;
  }
}

