img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.sp {
  display: none;
}

@media (max-width: 767px) {
  .sp {
    display: block;
  }
}

@media (max-width: 1199px) {
  .tab {
    display: none;
  }
}

@media (max-width: 767px) {
  .pc {
    display: none;
  }
}

/*approach*/
.approach {
  padding-top: 101px;
}

.approachItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 92px;
}

@media (max-width: 767px) {
  .approachItem {
    display: block;
    margin-bottom: 64px;
  }
}

.approachImg {
  border-radius: 20px;
  width: 46.7%;
}

@media (max-width: 767px) {
  .approachImg {
    width: 100%;
    margin-bottom: 24px;
  }
}

.approachContent {
  padding-top: 30px;
  width: 50%;
}

@media (max-width: 1199px) {
  .approachContent {
    padding-top: 0;
  }
}

@media (max-width: 767px) {
  .approachContent {
    width: 100%;
  }
}

.approachHead {
  font-size: 3.4rem;
  font-weight: 500;
  line-height: 1.66;
  letter-spacing: 0.12em;
  margin-bottom: 18px;
}

@media (max-width: 1199px) {
  .approachHead {
    font-size: 3rem;
  }
}

@media (max-width: 991px) {
  .approachHead {
    font-size: 2.8rem;
    margin-bottom: 10px;
  }
}

@media (max-width: 767px) {
  .approachHead {
    font-size: 2.6rem;
    text-align: center;
  }
}

@media (max-width: 374px) {
  .approachHead {
    font-size: 2.2rem;
  }
}

.approachLead {
  color: #2f33af;
  font-size: 2.6rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  margin-bottom: 16px;
}

@media (max-width: 1199px) {
  .approachLead {
    font-size: 2rem;
  }
}

@media (max-width: 991px) {
  .approachLead {
    margin-bottom: 32px;
  }
}

@media (max-width: 767px) {
  .approachLead {
    text-align: center;
  }
}

@media (max-width: 575px) {
  .approachLead {
    font-size: 1.8rem;
  }
}

@media (max-width: 374px) {
  .approachLead {
    font-size: 1.6rem;
  }
}

.approachText {
  line-height: 2.05;
}

@media (max-width: 991px) {
  .approachText {
    line-height: 1.7;
  }
}

.approachPolicy {
  padding-bottom: 32px;
}

@media (max-width: 767px) {
  .approachPolicy {
    padding-bottom: 64px;
  }
}

.approachPolicy-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 767px) {
  .approachPolicy-contents {
    display: block;
  }
}

.approachPolicy-img {
  position: relative;
  margin-left: 5%;
  width: 53%;
}

@media (max-width: 991px) {
  .approachPolicy-img {
    margin-left: 0;
  }
}

@media (max-width: 767px) {
  .approachPolicy-img {
    margin: 0 auto;
    width: 80%;
  }
}

@media (max-width: 575px) {
  .approachPolicy-img {
    width: 100%;
  }
}

.approachPolicy-content {
  margin-top: 24px;
}

.approachPolicy-text {
  position: relative;
  font-size: 2.8rem;
  font-weight: 500;
  padding-left: 92px;
  letter-spacing: 0.1em;
}

.approachPolicy-text span {
  color: #2F33AF;
}

.approachPolicy-text:not(:last-child) {
  margin-bottom: 64px;
}

@media (max-width: 1199px) {
  .approachPolicy-text:not(:last-child) {
    margin-bottom: 50px;
  }
}

@media (max-width: 991px) {
  .approachPolicy-text:not(:last-child) {
    margin-bottom: 39px;
  }
}

@media (max-width: 767px) {
  .approachPolicy-text:not(:last-child) {
    margin-bottom: 32px;
  }
}

.approachPolicy-text--1::before, .approachPolicy-text--2::before, .approachPolicy-text--3::before, .approachPolicy-text--4::before, .approachPolicy-text--5::before {
  position: absolute;
  background-color: #d8daf6;
  border-radius: 100%;
  color: #FFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: quicksand;
  font-weight: 700;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 70px;
  height: 70px;
}

@media (max-width: 1199px) {
  .approachPolicy-text--1::before, .approachPolicy-text--2::before, .approachPolicy-text--3::before, .approachPolicy-text--4::before, .approachPolicy-text--5::before {
    width: 50px;
    height: 50px;
  }
}

@media (max-width: 575px) {
  .approachPolicy-text--1::before, .approachPolicy-text--2::before, .approachPolicy-text--3::before, .approachPolicy-text--4::before, .approachPolicy-text--5::before {
    width: 40px;
    height: 40px;
  }
}

@media (max-width: 374px) {
  .approachPolicy-text--1::before, .approachPolicy-text--2::before, .approachPolicy-text--3::before, .approachPolicy-text--4::before, .approachPolicy-text--5::before {
    width: 30px;
    height: 30px;
  }
}

.approachPolicy-text--1 {
  margin-left: -128px;
}

.approachPolicy-text--1::before {
  content: "01";
}

@media (max-width: 1199px) {
  .approachPolicy-text--1 {
    margin-left: -98px;
  }
}

@media (max-width: 991px) {
  .approachPolicy-text--1 {
    margin-left: -72px;
  }
}

@media (max-width: 767px) {
  .approachPolicy-text--1 {
    margin-left: 0;
  }
}

.approachPolicy-text--2 {
  margin-left: -66px;
}

.approachPolicy-text--2::before {
  content: "02";
}

@media (max-width: 1199px) {
  .approachPolicy-text--2 {
    margin-left: -46px;
  }
}

@media (max-width: 767px) {
  .approachPolicy-text--2 {
    margin-left: 0;
  }
}

.approachPolicy-text--3 {
  margin-left: -42px;
}

.approachPolicy-text--3::before {
  content: "03";
}

@media (max-width: 1199px) {
  .approachPolicy-text--3 {
    margin-left: -37px;
  }
}

@media (max-width: 767px) {
  .approachPolicy-text--3 {
    margin-left: 0;
  }
}

.approachPolicy-text--4 {
  margin-left: -66px;
}

.approachPolicy-text--4::before {
  content: "04";
}

@media (max-width: 1199px) {
  .approachPolicy-text--4 {
    margin-left: -48px;
  }
}

@media (max-width: 767px) {
  .approachPolicy-text--4 {
    margin-left: 0;
  }
}

.approachPolicy-text--5 {
  margin-left: -123px;
}

.approachPolicy-text--5::before {
  content: "05";
}

@media (max-width: 1199px) {
  .approachPolicy-text--5 {
    margin-left: -72px;
  }
}

@media (max-width: 767px) {
  .approachPolicy-text--5 {
    margin-left: 0;
  }
}

@media (max-width: 1399px) {
  .approachPolicy-text {
    font-size: 2.5rem;
  }
}

@media (max-width: 1199px) {
  .approachPolicy-text {
    font-size: 2rem;
    padding-left: 72px;
  }
}

@media (max-width: 991px) {
  .approachPolicy-text {
    font-size: 1.8rem;
  }
}

@media (max-width: 575px) {
  .approachPolicy-text {
    padding-left: 50px;
  }
}

@media (max-width: 374px) {
  .approachPolicy-text {
    font-size: 1.6rem;
    padding-left: 41px;
  }
}

/*approachMain*/
.approachMain {
  background-color: #fbfcff;
  margin-bottom: 80px;
  padding-bottom: 130px;
}

@media (max-width: 575px) {
  .approachMain {
    padding-bottom: 80px;
  }
}

.approachMain-top {
  position: relative;
  margin-top: -9.4%;
}

.approachMain-title {
  color: #243a90;
  font-size: 3.2rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  margin-bottom: 27px;
  text-align: center;
}

@media (max-width: 991px) {
  .approachMain-title {
    font-size: 3rem;
    margin-bottom: 10px;
  }
}

@media (max-width: 767px) {
  .approachMain-title {
    font-size: 2.6rem;
  }
}

@media (max-width: 575px) {
  .approachMain-title {
    margin-top: 20px;
  }
}

@media (max-width: 374px) {
  .approachMain-title {
    font-size: 2.2rem;
  }
}

.approachMain-lead {
  margin-bottom: 44px;
  letter-spacing: 0.01em;
  text-align: center;
}

@media (max-width: 991px) {
  .approachMain-lead {
    margin-bottom: 32px;
  }
}

@media (max-width: 767px) {
  .approachMain-lead {
    text-align: left;
  }
}

.approachMain-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}

.approachMain-list:not(:last-child) {
  margin-bottom: 60px;
}

.approachMain-list:first-child {
  padding-top: 28px;
}

@media (max-width: 1399px) {
  .approachMain-list:first-child {
    padding-top: 40px;
  }
}

@media (max-width: 575px) {
  .approachMain-list:first-child {
    padding-top: 0;
  }
}

.approachMain-list:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

@media (max-width: 767px) {
  .approachMain-list {
    display: block;
  }
}

.approachMain-img {
  display: inherit;
  width: 50%;
  height: inherit;
}

.approachMain-img img {
  height: 100%;
}

@media (max-width: 767px) {
  .approachMain-img img {
    border-radius: 20px 20px 0 0;
    width: 100%;
    height: 300px;
    -o-object-fit: cover;
       object-fit: cover;
    vertical-align: bottom;
  }
}

@media (max-width: 991px) {
  .approachMain-img {
    width: 30%;
  }
}

@media (max-width: 767px) {
  .approachMain-img {
    width: 100%;
  }
}

.approachBox {
  background-color: #fff;
  border-radius: 0 20px 20px 0;
  padding-top: 68px;
  padding-right: 50px;
  padding-left: 50px;
  width: 50%;
}

.approachBox:nth-child(even) {
  border-radius: 0 0 20px 20px;
}

@media (max-width: 1399px) {
  .approachBox {
    padding-top: 40px;
    padding-right: 40px;
    padding-left: 40px;
  }
}

@media (max-width: 1199px) {
  .approachBox {
    padding-top: 24px;
    padding-right: 24px;
    padding-left: 24px;
  }
}

@media (max-width: 991px) {
  .approachBox {
    width: 70%;
    padding-bottom: 24px;
  }
}

@media (max-width: 767px) {
  .approachBox {
    border-radius: 0 0 20px 20px;
    padding: 32px 24px;
    width: 100%;
  }
}

.approachBox-number {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 16px;
  width: 53px;
}

@media (max-width: 1199px) {
  .approachBox-number {
    width: 46px;
  }
}

.approachBox-head {
  margin-bottom: 15px;
  text-align: center;
}

@media (max-width: 1199px) {
  .approachBox-head {
    margin-bottom: 10px;
  }
}

@media (max-width: 575px) {
  .approachBox-head {
    margin-bottom: 16px;
  }
}

.approachBox-title {
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

@media (max-width: 1399px) {
  .approachBox-title {
    font-size: 2.8rem;
    white-space: nowrap;
  }
}

@media (max-width: 575px) {
  .approachBox-title {
    font-size: 2rem;
    white-space: normal;
  }
}

.approachBox-lead {
  color: #2f33af;
  font-size: 2.1rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}

@media (max-width: 1399px) {
  .approachBox-lead {
    font-size: 1.8rem;
  }
}

@media (max-width: 767px) {
  .approachBox-lead {
    letter-spacing: 0.03em;
  }
}

@media (max-width: 575px) {
  .approachBox-lead {
    font-size: 1.6rem;
  }
}

.approachBox-text {
  line-height: 2.05;
  margin-bottom: 17px;
}

.approachBox-text--3, .approachBox-text--5 {
  margin-bottom: 29px;
}

@media (max-width: 1399px) {
  .approachBox-text {
    line-height: 1.7;
  }
}

@media (max-width: 1199px) {
  .approachBox-text {
    font-size: 1.5rem;
    margin-bottom: 12px;
  }
}

@media (max-width: 575px) {
  .approachBox-text {
    font-size: 1.4rem;
    margin-bottom: 24px;
  }
}

.approachBottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.approachBottom--3:not(:last-child) {
  margin-bottom: 10px;
}

@media (max-width: 1199px) {
  .approachBottom--3:not(:last-child) {
    margin-bottom: 8px;
  }
}

.approachBottom-label {
  background-color: #f2f4fa;
  border-radius: 20px;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.3;
  padding: 8px 18px;
}

.approachBottom-label:not(:last-child) {
  margin-right: 10px;
}

@media (max-width: 575px) {
  .approachBottom-label:not(:last-child) {
    margin-right: 4px;
  }
}

@media (max-width: 1399px) {
  .approachBottom-label {
    padding: 8px 13px;
  }
}

@media (max-width: 1199px) {
  .approachBottom-label {
    font-size: 1.4rem;
    padding: 6px 8px;
  }
}

@media (max-width: 575px) {
  .approachBottom-label {
    font-size: 1.4rem;
    padding: 6px 4px;
  }
}

@media (max-width: 374px) {
  .approachBottom-label {
    font-size: 1.2rem;
    padding: 6px 3px;
  }
}
