@charset "UTF-8";
@media screen and (min-width:1024px) {

  .visible-md,
  .visible-sm {
    display: none
  }

  .visible-lg {
    display: inherit
  }
}

@media screen and (min-width:897px) and (max-width:1023px) {

  .visible-lg,
  .visible-sm {
    display: none
  }

  .visible-md {
    display: inherit
  }
}

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

  .visible-lg,
  .visible-md {
    display: none
  }

  .visible-sm {
    display: inherit
  }
}

.c-blue {
  color: #97eff1
}

.c-blue02 {
  color: #0a97b0
}

@media screen and (min-width:897px) {
  .l-inner {
    width: 95%;
    max-width: 1080px;
    margin: 0 auto
  }
}

@media screen and (max-width:896px) {
  .l-inner {
    padding: 0 15px
  }
}

.no-link {
  pointer-events: none
}

@media screen and (min-width:897px) {
  .mbpc-1 {
    margin-bottom: 1px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-1 {
    margin-bottom: 1px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-2 {
    margin-bottom: 2px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-2 {
    margin-bottom: 2px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-3 {
    margin-bottom: 3px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-3 {
    margin-bottom: 3px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-4 {
    margin-bottom: 4px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-4 {
    margin-bottom: 4px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-5 {
    margin-bottom: 5px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-5 {
    margin-bottom: 5px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-6 {
    margin-bottom: 6px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-6 {
    margin-bottom: 6px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-7 {
    margin-bottom: 7px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-7 {
    margin-bottom: 7px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-8 {
    margin-bottom: 8px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-8 {
    margin-bottom: 8px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-9 {
    margin-bottom: 9px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-9 {
    margin-bottom: 9px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-10 {
    margin-bottom: 10px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-10 {
    margin-bottom: 10px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-11 {
    margin-bottom: 11px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-11 {
    margin-bottom: 11px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-12 {
    margin-bottom: 12px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-12 {
    margin-bottom: 12px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-13 {
    margin-bottom: 13px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-13 {
    margin-bottom: 13px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-14 {
    margin-bottom: 14px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-14 {
    margin-bottom: 14px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-15 {
    margin-bottom: 15px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-15 {
    margin-bottom: 15px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-16 {
    margin-bottom: 16px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-16 {
    margin-bottom: 16px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-17 {
    margin-bottom: 17px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-17 {
    margin-bottom: 17px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-18 {
    margin-bottom: 18px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-18 {
    margin-bottom: 18px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-19 {
    margin-bottom: 19px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-19 {
    margin-bottom: 19px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-20 {
    margin-bottom: 20px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-20 {
    margin-bottom: 20px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-21 {
    margin-bottom: 21px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-21 {
    margin-bottom: 21px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-22 {
    margin-bottom: 22px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-22 {
    margin-bottom: 22px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-23 {
    margin-bottom: 23px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-23 {
    margin-bottom: 23px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-24 {
    margin-bottom: 24px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-24 {
    margin-bottom: 24px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-25 {
    margin-bottom: 25px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-25 {
    margin-bottom: 25px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-26 {
    margin-bottom: 26px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-26 {
    margin-bottom: 26px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-27 {
    margin-bottom: 27px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-27 {
    margin-bottom: 27px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-28 {
    margin-bottom: 28px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-28 {
    margin-bottom: 28px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-29 {
    margin-bottom: 29px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-29 {
    margin-bottom: 29px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-30 {
    margin-bottom: 30px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-30 {
    margin-bottom: 30px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-31 {
    margin-bottom: 31px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-31 {
    margin-bottom: 31px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-32 {
    margin-bottom: 32px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-32 {
    margin-bottom: 32px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-33 {
    margin-bottom: 33px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-33 {
    margin-bottom: 33px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-34 {
    margin-bottom: 34px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-34 {
    margin-bottom: 34px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-35 {
    margin-bottom: 35px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-35 {
    margin-bottom: 35px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-36 {
    margin-bottom: 36px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-36 {
    margin-bottom: 36px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-37 {
    margin-bottom: 37px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-37 {
    margin-bottom: 37px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-38 {
    margin-bottom: 38px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-38 {
    margin-bottom: 38px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-39 {
    margin-bottom: 39px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-39 {
    margin-bottom: 39px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-40 {
    margin-bottom: 40px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-40 {
    margin-bottom: 40px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-41 {
    margin-bottom: 41px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-41 {
    margin-bottom: 41px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-42 {
    margin-bottom: 42px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-42 {
    margin-bottom: 42px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-43 {
    margin-bottom: 43px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-43 {
    margin-bottom: 43px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-44 {
    margin-bottom: 44px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-44 {
    margin-bottom: 44px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-45 {
    margin-bottom: 45px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-45 {
    margin-bottom: 45px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-46 {
    margin-bottom: 46px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-46 {
    margin-bottom: 46px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-47 {
    margin-bottom: 47px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-47 {
    margin-bottom: 47px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-48 {
    margin-bottom: 48px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-48 {
    margin-bottom: 48px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-49 {
    margin-bottom: 49px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-49 {
    margin-bottom: 49px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-50 {
    margin-bottom: 50px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-50 {
    margin-bottom: 50px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-51 {
    margin-bottom: 51px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-51 {
    margin-bottom: 51px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-52 {
    margin-bottom: 52px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-52 {
    margin-bottom: 52px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-53 {
    margin-bottom: 53px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-53 {
    margin-bottom: 53px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-54 {
    margin-bottom: 54px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-54 {
    margin-bottom: 54px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-55 {
    margin-bottom: 55px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-55 {
    margin-bottom: 55px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-56 {
    margin-bottom: 56px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-56 {
    margin-bottom: 56px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-57 {
    margin-bottom: 57px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-57 {
    margin-bottom: 57px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-58 {
    margin-bottom: 58px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-58 {
    margin-bottom: 58px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-59 {
    margin-bottom: 59px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-59 {
    margin-bottom: 59px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-60 {
    margin-bottom: 60px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-60 {
    margin-bottom: 60px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-61 {
    margin-bottom: 61px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-61 {
    margin-bottom: 61px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-62 {
    margin-bottom: 62px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-62 {
    margin-bottom: 62px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-63 {
    margin-bottom: 63px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-63 {
    margin-bottom: 63px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-64 {
    margin-bottom: 64px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-64 {
    margin-bottom: 64px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-65 {
    margin-bottom: 65px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-65 {
    margin-bottom: 65px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-66 {
    margin-bottom: 66px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-66 {
    margin-bottom: 66px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-67 {
    margin-bottom: 67px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-67 {
    margin-bottom: 67px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-68 {
    margin-bottom: 68px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-68 {
    margin-bottom: 68px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-69 {
    margin-bottom: 69px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-69 {
    margin-bottom: 69px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-70 {
    margin-bottom: 70px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-70 {
    margin-bottom: 70px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-71 {
    margin-bottom: 71px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-71 {
    margin-bottom: 71px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-72 {
    margin-bottom: 72px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-72 {
    margin-bottom: 72px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-73 {
    margin-bottom: 73px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-73 {
    margin-bottom: 73px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-74 {
    margin-bottom: 74px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-74 {
    margin-bottom: 74px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-75 {
    margin-bottom: 75px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-75 {
    margin-bottom: 75px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-76 {
    margin-bottom: 76px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-76 {
    margin-bottom: 76px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-77 {
    margin-bottom: 77px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-77 {
    margin-bottom: 77px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-78 {
    margin-bottom: 78px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-78 {
    margin-bottom: 78px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-79 {
    margin-bottom: 79px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-79 {
    margin-bottom: 79px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-80 {
    margin-bottom: 80px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-80 {
    margin-bottom: 80px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-81 {
    margin-bottom: 81px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-81 {
    margin-bottom: 81px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-82 {
    margin-bottom: 82px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-82 {
    margin-bottom: 82px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-83 {
    margin-bottom: 83px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-83 {
    margin-bottom: 83px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-84 {
    margin-bottom: 84px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-84 {
    margin-bottom: 84px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-85 {
    margin-bottom: 85px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-85 {
    margin-bottom: 85px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-86 {
    margin-bottom: 86px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-86 {
    margin-bottom: 86px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-87 {
    margin-bottom: 87px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-87 {
    margin-bottom: 87px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-88 {
    margin-bottom: 88px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-88 {
    margin-bottom: 88px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-89 {
    margin-bottom: 89px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-89 {
    margin-bottom: 89px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-90 {
    margin-bottom: 90px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-90 {
    margin-bottom: 90px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-91 {
    margin-bottom: 91px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-91 {
    margin-bottom: 91px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-92 {
    margin-bottom: 92px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-92 {
    margin-bottom: 92px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-93 {
    margin-bottom: 93px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-93 {
    margin-bottom: 93px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-94 {
    margin-bottom: 94px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-94 {
    margin-bottom: 94px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-95 {
    margin-bottom: 95px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-95 {
    margin-bottom: 95px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-96 {
    margin-bottom: 96px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-96 {
    margin-bottom: 96px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-97 {
    margin-bottom: 97px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-97 {
    margin-bottom: 97px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-98 {
    margin-bottom: 98px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-98 {
    margin-bottom: 98px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-99 {
    margin-bottom: 99px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-99 {
    margin-bottom: 99px !important
  }
}

@media screen and (min-width:897px) {
  .mbpc-100 {
    margin-bottom: 100px !important
  }
}

@media screen and (max-width:896px) {
  .mbsp-100 {
    margin-bottom: 100px !important
  }
}

.mb0 {
  margin-bottom: 0 !important
}

.intro--quality {
  background: url(../img/quality/bg-01.jpg) center no-repeat;
  background-size: cover;
  padding: 137px 0 93px
}

@media screen and (max-width:896px) {
  .intro--quality {
    padding: 39px 0 53px;
    background: url(../img/quality/bg-01-sp.jpg) center no-repeat;
    background-size: cover
  }

  .intro--quality .l-inner {
    padding: 0 24px
  }
}

.intro--quality .intro__area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

@media screen and (max-width:1399px) {
  .intro--quality .intro__area {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
  }
}

.intro--quality .intro__area .intro__box {
  width: 50%;
  margin-top: -75px
}

@media screen and (max-width:1399px) {
  .intro--quality .intro__area .intro__box {
    margin-top: 0
  }
}

@media screen and (max-width:896px) {
  .intro--quality .intro__area .intro__box {
    margin-bottom: 110px;
    width: 100%;
    margin-top: 0
  }
}

.intro--quality .intro__area .intro__title {
  font-weight: 700;
  font-size: clamp(1.8rem, .497rem + 3.474vw, 5.5rem);
  margin-right: -50%;
  position: relative;
  z-index: 2;
  margin-bottom: 44px
}

@media screen and (max-width:896px) {
  .intro--quality .intro__area .intro__title {
    line-height: 1.722;
    margin-right: 0;
    margin-bottom: 17px
  }
}

.intro--quality .intro__area .intro__text {
  font-weight: 500;
  font-size: 16px;
  line-height: 2 !important
}

@media screen and (max-width:1399px) {
  .intro--quality .intro__area .intro__text {
    font-size: 15px
  }
}

@media screen and (max-width:1023px) {
  .intro--quality .intro__area .intro__text {
    font-size: 14px
  }
}

@media screen and (max-width:896px) {
  .intro--quality .intro__area .intro__text {
    -webkit-font-feature-settings: "palt" 1;
    font-feature-settings: "palt" 1;
    font-size: 12.5px
  }
}

.intro--quality .intro__area .intro__img {
  width: 46%;
  position: static;
  margin-right: -108px
}

@media screen and (max-width:1399px) {
  .intro--quality .intro__area .intro__img {
    margin-right: 0;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
  }
}

@media screen and (max-width:896px) {
  .intro--quality .intro__area .intro__img {
    width: 85%;
    margin: 0 auto
  }
}

.intro--quality .intro__area .intro__img img {
  width: 100%
}

.strong--quality {
  background: url(../img/quality/bg-quality.jpg) top center no-repeat;
  background-size: cover;
  padding: 75px 0 32px
}

@media screen and (max-width:896px) {
  .strong--quality {
    padding: 145px 0 11px;
    background: url(../img/quality/bg-quality-sp.jpg) top right no-repeat;
    background-size: cover
  }

  .strong--quality .l-inner {
    padding: 0 22px
  }
}

.strong--quality .headLine03 {
  margin-bottom: 30px;
  font-size: clamp(1.8rem, .955rem + 2.254vw, 4.2rem)
}

.strong--quality .headLine03 .en {
  font-size: clamp(3.7rem, 1.482rem + 5.915vw, 10rem)
}

@media screen and (max-width:1399px) and (max-width:896px) {
  .strong--quality .headLine03 {
    margin-bottom: 17px;
    font-size: 18px
  }
}

@media screen and (max-width:1399px) and (max-width:896px) {
  .strong--quality .headLine03 .en {
    margin-bottom: 5px
  }
}

.strong--quality .sec__lead {
  margin-bottom: 47px
}

@media screen and (max-width:896px) {
  .strong--quality .sec__lead {
    margin-bottom: 24px;
    -webkit-font-feature-settings: "palt" 1;
    font-feature-settings: "palt" 1
  }
}

.strong--quality .strong__box .strong__list {
  margin-bottom: 24px;
  gap: 0;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

@media screen and (max-width:896px) {
  .strong--quality .strong__box .strong__list {
    margin-bottom: 17px
  }
}

.strong--quality .strong__box .strong__item {
  padding: 26px 5px 30px;
  width: 23.3%
}

@media screen and (max-width:896px) {
  .strong--quality .strong__box .strong__item {
    width: 100%;
    padding: 26px 4px 16px 25px
  }

  .strong--quality .strong__box .strong__item .strong__item__inner {
    width: 57.556%
  }
}

.strong--quality .strong__box .strong__title {
  display: block;
  margin-bottom: .4em;
  text-align: center
}

@media screen and (max-width:896px) {
  .strong--quality .strong__box .strong__title {
    text-align: left
  }
}

.strong--quality .strong__box .strong__title .num {
  margin-right: 0;
  margin-bottom: .23em
}

.strong--quality .strong__box .strong__title .en {
  font-size: 14px
}

@media screen and (max-width:896px) {
  .strong--quality .strong__box .strong__title .en {
    margin-right: -20px;
    font-size: 12px
  }
}

.strong--quality .strong__box .strong__title .main {
  font-weight: 700;
  font-size: clamp(18px, 1.825vw, 26px)
}

@media screen and (max-width:896px) {
  .strong--quality .strong__box .strong__title .main {
    font-size: 16px
  }
}

.quality {
  background: -webkit-gradient(linear, left top, left bottom, from(#002850), to(#002882));
  background: linear-gradient(#002850 0, #002882 100%);
  color: #fff;
  padding: 83px 0 91px
}

@media screen and (max-width:896px) {
  .quality {
    position: relative;
    padding: 37px 0 39px
  }

  .quality::before {
    content: "";
    position: absolute;
    display: block;
    opacity: .41;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/quality/bg-dot-top.png) no-repeat left top/100%
  }

  .quality::after {
    content: "";
    position: absolute;
    display: block;
    opacity: .41;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: url(../img/quality/bg-dot-bottom.png) no-repeat right bottom/100%
  }

  .quality .l-inner {
    padding: 0 22px;
    position: relative;
    z-index: 10
  }
}

.quality-block {
  margin-bottom: 51px
}

@media screen and (max-width:896px) {
  .quality-block {
    margin-bottom: 39px
  }
}

.quality-block__heading {
  margin-bottom: 28px;
  font-weight: 700;
  font-size: clamp(4rem, 2.592rem + 3.756vw, 8rem);
  line-height: 1.125
}

@media screen and (max-width:896px) {
  .quality-block__heading {
    margin-bottom: 16px;
    font-size: max(3rem, 6.696vw);
    line-height: 1.125
  }
}

.quality-block__heading>span {
  line-height: 1;
  font-size: clamp(2.75rem, 1.254rem + 3.991vw, 7rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 400;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 30px
}

@media screen and (max-width:896px) {
  .quality-block__heading>span {
    -ms-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse;
    gap: 17px 0;
    margin-bottom: 7px;
    font-size: max(2.2rem, 4.464vw)
  }
}

.quality-block__heading>span span {
  margin-right: 24px;
  padding: 15px 21px;
  border: 1px solid #fff;
  color: #fff;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  background: linear-gradient(45deg, #002e87, #006dbd);
  font-size: clamp(1.6rem, 1.318rem + .751vw, 2.4rem)
}

@media screen and (max-width:1023px) {
  .quality-block__heading>span span {
    margin-right: 12px;
    padding: 10px
  }
}

@media screen and (max-width:896px) {
  .quality-block__heading>span span {
    padding: 6px 16px
  }
}

.quality-block__ttl {
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 20px;
  font-size: clamp(1.6rem, .685rem + 2.441vw, 4.2rem)
}

@media screen and (max-width:896px) {
  .quality-block__ttl {
    margin-bottom: 12px;
    line-height: 1.625
  }
}

.quality-step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  z-index: 2;
  counter-reset: item;
  margin-bottom: 81px
}

@media screen and (max-width:896px) {
  .quality-step {
    margin: 0 -7px 32px
  }
}

.quality-step::after {
  content: "";
  width: 90%;
  height: 11px;
  top: 79px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  background: #fff;
  position: absolute;
  z-index: -1
}

@media screen and (max-width:1399px) {
  .quality-step::after {
    height: 7px;
    top: 30%
  }
}

.quality-step__item {
  width: 15.5%;
  counter-increment: item;
  position: relative
}

.quality-step__item:not(:last-child)::before {
  content: "";
  width: 34px;
  height: 20px;
  background: url(../img/quality/arrow.png) center no-repeat;
  background-size: contain;
  right: -27%;
  bottom: 33px;
  position: absolute
}

@media screen and (max-width:1399px) {
  .quality-step__item:not(:last-child)::before {
    width: 28px;
    height: 17px
  }
}

@media screen and (max-width:896px) {
  .quality-step__item:not(:last-child)::before {
    width: 11px;
    height: 10px;
    bottom: 11px;
    right: -25%
  }
}

.quality-step__item a {
  display: block
}

.quality-step__img {
  margin-bottom: 5px
}

@media screen and (max-width:896px) {
  .quality-step__img {
    margin-bottom: 1px
  }
}

.quality-step__img img {
  width: 100%
}

.quality-step__ttl {
  padding-top: 32px;
  position: relative;
  text-align: center;
  color: #fff;
  font-weight: 700;
  font-size: 30px;
  margin: 0 -20px
}

@media screen and (max-width:1399px) {
  .quality-step__ttl {
    font-size: 24px
  }
}

@media screen and (max-width:1023px) {
  .quality-step__ttl {
    font-size: 20px
  }
}

@media screen and (max-width:896px) {
  .quality-step__ttl {
    padding-top: 11px;
    font-size: 10px
  }
}

.quality-step__ttl::before {
  content: "STEP " counter(item);
  position: absolute;
  top: 0;
  width: 100%;
  left: 0;
  font-family: Oswald, sans-serif;
  text-align: center;
  color: #97eff1;
  font-size: 26px;
  font-weight: 400;
  letter-spacing: 2px
}

@media screen and (max-width:1399px) {
  .quality-step__ttl::before {
    font-size: 20px
  }
}

@media screen and (max-width:896px) {
  .quality-step__ttl::before {
    letter-spacing: 0;
    font-size: 9px
  }
}

.txt-basic {
  font-weight: 500;
  line-height: 2;
  font-size: 16px
}

@media screen and (max-width:1399px) {
  .txt-basic {
    font-size: 15px
  }
}

@media screen and (max-width:896px) {
  .txt-basic {
    font-size: 12.5px
  }
}

.txt-basic span {
  color: #97eff1
}

@media screen and (max-width:896px) {
  .txt-basic small {
    display: block;
    text-align: right;
    /* color: #000; */
    margin-top: 9px;
    font-size: 10px
  }
}

.txt-basic02 {
  font-weight: 500;
  line-height: 1.778 !important;
  font-size: 18px;
  margin-bottom: 47px
}

@media screen and (max-width:1399px) {
  .txt-basic02 {
    font-size: 16px
  }
}

@media screen and (max-width:896px) {
  .txt-basic02 {
    font-size: 12.5px
  }
}

.step-list__item:not(:last-child) {
  margin-bottom: 67px
}

@media screen and (max-width:896px) {
  .step-list__item:not(:last-child) {
    margin-bottom: 20px
  }
}

@media screen and (min-width:897px) {
  .step-list__item:nth-child(2n) .step-list__box-img {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
  }

  .step-list__item:nth-child(2n) .step-list__box-ct {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
  }
}

.step-list__item:nth-child(2n) .step-list__heading {
  text-align: left
}

.step-list__heading {
  text-align: right;
  color: #97eff1;
  font-family: Oswald, sans-serif;
  line-height: 1;
  font-size: 71px;
  margin-bottom: -4px;
  font-weight: 400;
  letter-spacing: 5px;
  margin-right: -12px
}

@media screen and (max-width:1399px) {
  .step-list__heading {
    font-size: 60px;
    margin-bottom: -3px;
    letter-spacing: 3px;
    margin-right: -8px
  }
}

@media screen and (max-width:896px) {
  .step-list__heading {
    letter-spacing: 4px;
    font-size: 45px
  }
}

.step-list__ct {
  background: #fff;
  padding: 57px 56px;
  color: #012851
}

@media screen and (max-width:1399px) {
  .step-list__ct {
    padding: 30px 20px
  }
}

@media screen and (max-width:896px) {
  .step-list__ct {
    padding: 0
  }
}

.step-list__ct--viewmore {
  height: 1600px;
  overflow: hidden;
  position: relative
}

.step-list__ct--viewmore:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 20%;
  background: #002858;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(25%, #002858), to(rgba(0, 212, 255, 0)));
  background: linear-gradient(0deg, #002858 25%, rgba(0, 212, 255, 0) 100%);
  bottom: 0;
  left: 0;
  z-index: 2
}

.step-list__ct--viewmore.hide {
  height: auto
}

.step-list__ct--viewmore.hide:after {
  display: none
}

@media screen and (max-width:896px) {
  .step-list__ct .txt-basic02 {
    padding: 0 15px;
    margin-bottom: 30px
  }
  #step03 .step3img {
    width: 110%;
    margin-left: -5%;
  }
}

.step-list__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 44px
}

@media screen and (max-width:896px) {
  .step-list__box {
    margin-bottom: 0
  }
}

.step-list__box-img {
  width: 41.25%
}

@media screen and (max-width:896px) {
  .step-list__box-img {
    width: 100%;
    position: relative;
    overflow: hidden
  }

  .step-list__box-img:before {
    display: block;
    content: "";
    padding-top: 64.5454545455%
  }

  .step-list__box-img img,
  .step-list__box-img>:first-child {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
  }
}

.step-list__box-img img {
  width: 100%
}

.step-list__box-ct {
  width: 56%
}

@media screen and (max-width:896px) {
  .step-list__box-ct {
    width: 100%;
    padding: 24px 20px 26px
  }
}

.step-list__box-ttl {
  color: #012851;
  font-weight: 700;
  margin-bottom: 22px;
  font-size: 30px;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1
}

@media screen and (max-width:1399px) {
  .step-list__box-ttl {
    font-size: 22px
  }
}

@media screen and (max-width:896px) {
  .step-list__box-ttl {
    margin-bottom: 12px;
    font-size: 17.5px
  }
}

.step-list__box-desc {
  line-height: 1.75 !important;
  font-weight: 500;
  font-size: 20px
}

@media screen and (max-width:1399px) {
  .step-list__box-desc {
    font-size: 16px
  }
}

@media screen and (max-width:896px) {
  .step-list__box-desc {
    line-height: 2 !important;
    font-size: 12.5px
  }
}

.step-list__box-desc span {
  color: #0a97b0
}

.step-list__user {
  margin-bottom: 45px
}

@media screen and (min-width:897px) {
  .step-list__user {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}

@media screen and (max-width:896px) {
  .step-list__user {
    padding: 0 17px
  }
}

.step-list__user-main {
  text-align: center;
  width: 42%;
  padding-left: 3.3px;
  padding-top: 5px
}

@media screen and (max-width:896px) {
  .step-list__user-main {
    width: 100%;
    padding-left: 0;
    padding-top: 0;
    margin-bottom: 20px
  }
}

.step-list__user-img {
  text-align: center;
  max-width: 271px;
  border-radius: 50%;
  width: 100%;
  margin: 0 auto;
  position: relative;
  overflow: hidden
}

.step-list__user-img:before {
  display: block;
  content: "";
  padding-top: 100%
}

.step-list__user-img img,
.step-list__user-img>:first-child {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

@media screen and (max-width:896px) {
  .step-list__user-img {
    max-width: 350px;
    width: 47%
  }
}

.step-list__user-name {
  color: #012851;
  line-height: 1.57142 !important;
  text-align: left;
  padding-left: 34px;
  border-left: 10px solid #e8e7ed;
  font-size: 14px;
  margin-top: 50px
}

@media screen and (max-width:1399px) {
  .step-list__user-name {
    margin-top: 30px;
    padding-left: 20px;
    border-width: 5px;
    font-size: 12px
  }
}

.step-list__user-ct {
  width: 56.5%
}

@media screen and (max-width:896px) {
  .step-list__user-ct {
    width: 100%
  }
}

.step-list__user-ttl {
  color: #012851;
  font-size: 15px;
  margin-bottom: 20px
}

@media screen and (max-width:1399px) {
  .step-list__user-ttl {
    font-size: 14px
  }
}

@media screen and (max-width:896px) {
  .step-list__user-ttl {
    font-size: 12px
  }
}

.step-list__user-ttl small {
  background: #012851;
  display: inline-block;
  color: #fff;
  padding: 4px 10px;
  font-size: 14px;
  margin-bottom: 10px
}

@media screen and (max-width:896px) {
  .step-list__user-ttl small {
    padding: 4px 10px;
    font-size: 12px
  }
}

.step-list__user-ttl>span {
  letter-spacing: 1px;
  font-weight: 500;
  font-size: 25px;
  display: block
}

@media screen and (max-width:896px) {
  .step-list__user-ttl>span {
    font-size: 20px
  }
}

.step-list__user-ttl>span span {
  font-family: Oswald, sans-serif;
  font-size: 17px;
  margin-left: 15px;
  letter-spacing: .5px
}

@media screen and (max-width:896px) {
  .step-list__user-ttl>span span {
    margin-left: 2px;
    font-size: 13px
  }
}

.step-list__user-desc {
  line-height: 1.875 !important;
  font-weight: 400;
  font-size: 16px
}

@media screen and (max-width:896px) {
  .step-list__user-desc {
    font-size: 12.5px
  }
}

.step-list__internal {
  background: #e4e8eb;
  padding: 50px 60px 63px
}

@media screen and (max-width:1399px) {
  .step-list__internal {
    padding: 50px 20px
  }
}

.step-list__internal .txt-basic02 {
  color: #002850
}

.step-list__internal-box {
  background: #fff;
  padding: 34px 29px 42px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  justify-content: space-between;
  margin-top: -17px
}

@media screen and (max-width:896px) {
  .step-list__internal-box {
    padding: 20px 15px
  }
}

.step-list__internal-heading {
  width: 100%;
  background: #012851;
  background: -webkit-gradient(linear, left top, right top, from(#012851), to(#005c76));
  background: linear-gradient(90deg, #012851 0, #005c76 100%);
  text-align: center;
  margin-bottom: 10px;
  padding: .55em;
  font-size: 18px;
  line-height: 1.5 !important
}

.step-list__internal-img {
  width: 43%
}

@media screen and (max-width:896px) {
  .step-list__internal-img {
    display: none
  }
}

.step-list__internal-img img {
  width: 100%
}

.step-list__internal-list {
  width: 51%;
  counter-reset: item03
}

@media screen and (max-width:1399px) {
  .step-list__internal-list {
    width: 55%
  }
}

@media screen and (max-width:896px) {
  .step-list__internal-list {
    width: 100%;
    padding: 15px;
    background: #e4e8eb
  }
}

.step-list__internal-list-img {
  display: none
}

@media screen and (max-width:896px) {
  .step-list__internal-list-img {
    display: block;
    width: 60px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0
  }
}

@media screen and (max-width:896px) {
  .step-list__internal-list-wp {
    padding: 15px 10px;
    background: #fff;
    -webkit-box-shadow: 4px 7px 13px rgba(41, 41, 41, .17);
    box-shadow: 4px 7px 13px rgba(41, 41, 41, .17)
  }
}

.step-list__internal-list-item {
  counter-increment: item03;
  padding: 29px 30px 24px 101px;
  position: relative;
  -webkit-box-shadow: 4px 7px 13px rgba(41, 41, 41, .17);
  box-shadow: 4px 7px 13px rgba(41, 41, 41, .17)
}

@media screen and (max-width:1399px) {
  .step-list__internal-list-item {
    padding: 20px 20px 20px 70px
  }
}

@media screen and (max-width:896px) {
  .step-list__internal-list-item {
    -webkit-box-shadow: none;
    box-shadow: none;
    padding: 0 0 0 70px
  }

  .step-list__internal-list-item:after {
    content: "";
    display: inline-block;
    position: absolute;
    width: 20px;
    height: 13px;
    background: url(../img/quality/arrow-border-wt.png) no-repeat center/100%;
    bottom: 0;
    left: 25px;
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%)
  }

  .step-list__internal-list-item:last-of-type:after {
    display: none
  }
}

.step-list__internal-list-item:not(:last-child) {
  margin-bottom: 4px
}

@media screen and (max-width:896px) {
  .step-list__internal-list-item:not(:last-child) {
    margin-bottom: 20px
  }
}

.step-list__internal-list-item p {
  line-height: 1.7333;
  color: #012851;
  font-size: 15px
}

@media screen and (max-width:1399px) {
  .step-list__internal-list-item p {
    font-size: 12.5px
  }
}

.step-list__internal-list-item::before {
  content: "0" counter(item03);
  position: absolute;
  top: 53%;
  left: 25px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  color: #417489;
  font-family: Oswald, sans-serif;
  line-height: 1;
  font-size: 52.5px;
  font-weight: 400
}

@media screen and (max-width:1399px) {
  .step-list__internal-list-item::before {
    font-size: 40px;
    top: 50%;
    left: 15px
  }
}

@media screen and (max-width:896px) {
  .step-list__internal-list-item::before {
    display: none
  }
}

.step-list__internal-list-ttl {
  color: #012851;
  font-weight: 500;
  margin-bottom: 7px;
  font-size: 18px;
  position: relative
}

@media screen and (max-width:896px) {
  .step-list__internal-list-ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0 10px;
    font-size: 12.5px
  }
}

.step-list__internal-list-ttl::before {
  content: "0" counter(item03);
  color: #417489;
  font-family: Oswald, sans-serif;
  line-height: 1;
  font-size: 30.5px;
  font-weight: 400;
  display: none;
  font-size: 217%
}

@media screen and (max-width:896px) {
  .step-list__internal-list-ttl::before {
    display: block
  }
}

.step-list__jiaa {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0 6px
}

@media screen and (max-width:896px) {
  .step-list__jiaa {
    padding: 0 15px
  }
}

.step-list__jiaa-img {
  width: 224px
}

@media screen and (max-width:896px) {
  .step-list__jiaa-img {
    width: 150px;
    margin: 0 auto 30px
  }
}

.step-list__jiaa-img img {
  width: 100%
}

.step-list__jiaa-ct {
  width: calc(100% - 266px)
}

@media screen and (max-width:896px) {
  .step-list__jiaa-ct {
    width: 100%
  }
}

.step-list__jiaa-ct p {
  line-height: 1.778;
  font-weight: 500;
  font-size: 18px
}

@media screen and (max-width:1399px) {
  .step-list__jiaa-ct p {
    font-size: 16px
  }
}

@media screen and (max-width:896px) {
  .step-list__jiaa-ct p {
    font-size: 12.5px;
    padding: 0
  }
}

.step-list__jiaa-ct p.txt-basic02 {
  padding: 0
}

.step-list__jiaa-ttl {
  line-height: 1.57142;
  font-weight: 700;
  margin-bottom: 12px;
  font-size: 23px
}

@media screen and (max-width:1399px) {
  .step-list__jiaa-ttl {
    font-size: 20px
  }
}

@media screen and (max-width:896px) {
  .step-list__jiaa-ttl {
    font-size: 17.5px
  }
}

.ttl-module {
  background: #012851;
  background: -webkit-gradient(linear, left top, right top, from(#012851), to(#005c76));
  background: linear-gradient(90deg, #012851 0, #005c76 100%);
  padding: 21px;
  color: #fff;
  text-align: center;
  font-weight: 700;
  margin-bottom: 28px;
  font-size: 24px
}

@media screen and (max-width:1399px) {
  .ttl-module {
    font-size: 20px
  }
}

@media screen and (max-width:896px) {
  .ttl-module {
    padding: 7px 4px;
    margin-bottom: 15px;
    font-size: 15px;
    margin-inline: 15px
  }
}

.ttl-module02 {
  text-align: center;
  margin-bottom: 29px;
  font-weight: 700;
  color: #012851;
  font-size: 24px
}

@media screen and (max-width:1399px) {
  .ttl-module02 {
    font-size: 20px
  }
}

@media screen and (max-width:896px) {
  .ttl-module02 {
    font-size: 17.5px;
    margin-bottom: 16px
  }
}

.ttl-module03 {
  border: 1px solid #012851;
  text-align: center;
  background: #fff;
  padding: .55rem .277em;
  font-weight: 500;
  color: #012851;
  font-size: 18px;
  line-height: 1.4 !important;
  margin-bottom: 10px
}

@media screen and (max-width:1399px) {
  .ttl-module03 {
    font-size: 16px
  }
}

@media screen and (max-width:896px) {
  .ttl-module03 {
    font-size: 14px
  }
}

.ttl-module--17 {
  margin-bottom: 17px
}

.quality-table {
  width: 968px
}

@media screen and (max-width:896px) {
  .quality-table {
    width: 760px
  }
}

.quality-table__ct {
  margin-bottom: 4px
}

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

.quality-table__th-item {
  border: 1px solid #012851;
  padding: 7px;
  font-weight: 500;
  text-align: center;
  font-size: 20px
}

@media screen and (max-width:1399px) {
  .quality-table__th-item {
    font-size: 16px;
    padding: 5px 1px 9px
  }
}

@media screen and (max-width:1023px) {
  .quality-table__th-item {
    font-size: 12.5px
  }
}

.quality-table__th-item:nth-child(1) {
  width: 10%
}

@media screen and (max-width:896px) {
  .quality-table__th-item:nth-child(1) {
    width: 8%
  }
}

.quality-table__th-item:nth-child(2) {
  width: 16.5%
}

.quality-table__th-item:nth-child(3) {
  width: 40.5%
}

.quality-table__th-item:nth-child(4) {
  width: 29%
}

.quality-table__td {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.quality-table__td-ttl {
  width: 10%;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  font-weight: 700;
  font-size: 23px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #012851;
  background: -webkit-gradient(linear, left top, right top, from(#012851), to(#005c76));
  background: linear-gradient(90deg, #012851 0, #005c76 100%);
  color: #fff;
  clip-path: polygon(0 0, 100% 0, 100% 89%, 50% 100%, 0 89%);
  padding: 45px 0;
  letter-spacing: 1px
}

@media screen and (max-width:1399px) {
  .quality-table__td-ttl {
    font-size: 20px;
    letter-spacing: 0
  }
}

@media screen and (max-width:1023px) {
  .quality-table__td-ttl {
    font-size: 14px;
    width: 8%
  }
}

.quality-table__td-ttl--02 {
  background: #012851;
  background: -webkit-gradient(linear, left top, right top, from(rgba(1, 40, 81, .6)), to(rgba(0, 92, 118, .6)));
  background: linear-gradient(90deg, rgba(1, 40, 81, .6) 0, rgba(0, 92, 118, .6) 100%)
}

.quality-table__td-ttl--03 {
  background: #012851;
  background: -webkit-gradient(linear, left top, right top, from(rgba(1, 40, 81, .4)), to(rgba(0, 92, 118, .4)));
  background: linear-gradient(90deg, rgba(1, 40, 81, .4) 0, rgba(0, 92, 118, .4) 100%)
}

.quality-table__td-ct {
  width: calc(90% - 14px)
}

.quality-table__td-item {
  border-bottom: 1px solid rgba(1, 40, 81, .3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  padding: 0 0 14px;
  margin-bottom: 18px
}

@media screen and (max-width:896px) {
  .quality-table__td-item {
    padding-bottom: 10px
  }
}

.quality-table__td-item>li {
  color: #012851;
  font-size: 18px;
  height: 100%;
  padding: 0 10px
}

@media screen and (max-width:1399px) {
  .quality-table__td-item>li {
    font-size: 15px
  }
}

@media screen and (max-width:1023px) {
  .quality-table__td-item>li {
    font-size: 12.5px
  }
}

.quality-table__td-item>li:nth-child(1) {
  width: 19%
}

.quality-table__td-item>li:nth-child(2) {
  width: 47%;
  padding-left: 35px
}

.quality-table__td-item>li:nth-child(3) {
  width: 33%
}

.quality-table__td-item>li a {
  position: absolute;
  bottom: 12px;
  left: 17px;
  display: inline-block;
  border: 1px solid #012851;
  border-radius: 30px;
  padding: 3px 8px;
  font-size: 16px
}

@media screen and (max-width:1399px) {
  .quality-table__td-item>li a {
    font-size: 14px
  }
}

@media screen and (max-width:1023px) {
  .quality-table__td-item>li a {
    font-size: 13px
  }
}

.quality-table__td-item ol li {
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  position: relative;
  padding-left: 13px
}

.quality-table__td-item ol li:not(:last-child) {
  margin-bottom: 3px
}

.quality-table__td-item ol li::before {
  content: "";
  position: absolute;
  width: 6px;
  background: #012851;
  height: 6px;
  border-radius: 50%;
  left: 4px;
  top: 10px
}

.quality-table__note {
  color: #000;
  font-size: 14px
}

@media screen and (max-width:896px) {
  .quality-table__note {
    font-size: 12.5px;
    line-height: 1.6 !important;
    margin-top: .5em;
    margin-bottom: 2em;
    letter-spacing: 0 !important
  }
}

@media screen and (max-width:896px) {
  .quality-criteria {
    padding: 0 15px 30px
  }
}

.quality-criteria__ct {
  border: 1px solid #012851;
  padding: 30px 31px 34px;
  margin-bottom: 11px
}

@media screen and (max-width:1399px) {
  .quality-criteria__ct {
    padding: 30px 20px
  }
}

@media screen and (max-width:896px) {
  .quality-criteria__ct {
    padding: 15px 12px
  }
}

.quality-criteria__ct--02 {
  padding: 74px 65px 58px;
  margin-bottom: 8px
}

@media screen and (max-width:1399px) {
  .quality-criteria__ct--02 {
    padding: 40px 20px
  }
}

.quality-criteria__ct--03 {
  padding: 37px 31px 34px
}

@media screen and (max-width:896px) {
  .quality-criteria__ct--03 {
    padding: 25px 15px
  }
}

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

@media screen and (max-width:896px) {
  .quality-criteria__th {
    display: none
  }
}

.quality-criteria__th-item {
  border: 1px solid #012851;
  padding: 9px 3px;
  font-weight: 500;
  text-align: center;
  font-size: 18px
}

@media screen and (max-width:1399px) {
  .quality-criteria__th-item {
    font-size: 16px
  }
}

.quality-criteria__th-item:nth-child(1) {
  width: 17.3%
}

.quality-criteria__th-item:nth-child(2) {
  width: 20.1%
}

.quality-criteria__th-item:nth-child(3) {
  width: 57.6%
}

@media screen and (min-width:897px) {
  .quality-criteria__list-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}

.quality-criteria__list-item:not(:last-child) {
  padding-bottom: 24px;
  margin-bottom: 17px;
  border-bottom: 1px solid rgba(1, 40, 81, .3)
}

.quality-criteria__box {
  text-align: center;
  margin-bottom: 20px
}

@media screen and (min-width:897px) {
  .quality-criteria__box {
    width: 17.3%;
    padding-top: 38px;
    margin-bottom: 0
  }
}

@media screen and (max-width:896px) {
  .quality-criteria__box {
    margin-bottom: 12px
  }
}

.quality-criteria__box-icon {
  text-align: center;
  margin-bottom: 17px
}

.quality-criteria__box-icon img {
  max-width: 100%
}

@media screen and (max-width:896px) {
  .quality-criteria__box-icon img {
    width: 90px
  }
}

.quality-criteria__box-ttl {
  font-weight: 700;
  color: #012851;
  font-size: 16px
}

@media screen and (max-width:896px) {
  .quality-criteria__box-ttl {
    font-size: 14px
  }
}

.quality-criteria__tags {
  width: 20.1%
}

@media screen and (max-width:896px) {
  .quality-criteria__tags {
    display: none
  }
}

.quality-criteria__tags-item {
  background: #012851;
  background: -webkit-gradient(linear, left top, right top, from(rgba(1, 40, 81, .8)), to(rgba(0, 92, 118, .8)));
  background: linear-gradient(90deg, rgba(1, 40, 81, .8) 0, rgba(0, 92, 118, .8) 100%);
  clip-path: polygon(95% 0, 0 0, 0 100%, 95% 100%, 100% 50%);
  color: #fff;
  padding: 4px 6px
}

@media screen and (max-width:1399px) {
  .quality-criteria__tags-item {
    padding: 3px 5px 5px
  }
}

.quality-criteria__tags-item:not(:last-child) {
  margin-bottom: 6px
}

@media screen and (min-width:897px) {
  .quality-criteria__link {
    width: 57.6%;
    padding-top: 5px
  }
}

.quality-criteria__link-tags {
  display: none
}

@media screen and (max-width:896px) {
  .quality-criteria__link-tags {
    display: inline-block;
    background: #012851;
    background: -webkit-gradient(linear, left top, right top, from(rgba(1, 40, 81, .8)), to(rgba(0, 92, 118, .8)));
    background: linear-gradient(90deg, rgba(1, 40, 81, .8) 0, rgba(0, 92, 118, .8) 100%);
    clip-path: polygon(95% 0, 0 0, 0 100%, 95% 100%, 100% 50%);
    color: #fff;
    padding: 3px 5px 5px;
    font-size: 12.5px;
    font-weight: 700;
    margin-bottom: 6px;
    max-width: 180px;
    width: 100%
  }
}

.quality-criteria__link-item:not(:last-child) {
  margin-bottom: 25px
}

.quality-criteria__link-item span:not(.quality-criteria__link-tags) {
  display: block;
  position: relative;
  font-weight: 500;
  color: #012851;
  font-size: 15px;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  padding-left: 19px
}

@media screen and (max-width:1399px) {
  .quality-criteria__link-item span:not(.quality-criteria__link-tags) {
    font-size: 14px
  }
}

@media screen and (max-width:896px) {
  .quality-criteria__link-item span:not(.quality-criteria__link-tags) {
    line-height: 1.8;
    font-size: 12.5px
  }
}

.quality-criteria__link-item span:not(.quality-criteria__link-tags)::before {
  content: "> ";
  left: 5px;
  top: 0;
  position: absolute
}

.quality-criteria__note span {
  display: block;
  font-weight: 500;
  color: #002850;
  font-size: 15px;
  padding-left: 20px;
  position: relative
}

@media screen and (max-width:896px) {
  .quality-criteria__note span {
    font-size: 12.5px;
    line-height: 1.5
  }
}

.quality-criteria__note span::before {
  content: "▲";
  position: absolute;
  left: 0;
  top: -1px;
  -webkit-transform: rotate(-30deg);
  -ms-transform: rotate(-30deg);
  transform: rotate(-30deg)
}

.quality-criteria__flow {
  margin-bottom: 20px
}

@media screen and (min-width:897px) {
  .quality-criteria__flow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 38px
  }
}

.quality-criteria__flow-item {
  position: relative
}

@media screen and (max-width:896px) {
  .quality-criteria__flow-item {
    padding-left: 45px;
    min-height: 120px;
    margin-bottom: 15px
  }

  .quality-criteria__flow-item:last-of-type {
    margin-bottom: 0
  }
}

@media screen and (min-width:897px) {
  .quality-criteria__flow-item {
    width: 32%
  }

  .quality-criteria__flow-item:nth-child(2) .quality-criteria__flow-ttl {
    background: #012851;
    background: -webkit-gradient(linear, left top, right top, from(rgba(1, 40, 81, .8)), to(rgba(0, 92, 118, .8)));
    background: linear-gradient(90deg, rgba(1, 40, 81, .8) 0, rgba(0, 92, 118, .8) 100%)
  }

  .quality-criteria__flow-item:nth-child(3) .quality-criteria__flow-ttl {
    background: #012851;
    background: -webkit-gradient(linear, left top, right top, from(rgba(1, 40, 81, .6)), to(rgba(0, 92, 118, .6)));
    background: linear-gradient(90deg, rgba(1, 40, 81, .6) 0, rgba(0, 92, 118, .6) 100%)
  }

  .quality-criteria__flow-item .ttl-module03 {
    margin-right: 25px
  }
}

@media screen and (min-width:897px) and (max-width:1399px) {
  .quality-criteria__flow-item .ttl-module03 {
    margin-right: 0
  }
}

@media screen and (min-width:897px) and (max-width:1023px) {
  .quality-criteria__flow-item .ttl-module03 {
    font-size: 14px
  }
}

@media screen and (min-width:897px) and (max-width:896px) {
  .quality-criteria__flow-item .ttl-module03 {
    margin-right: 0;
    font-size: 15px
  }
}

.quality-criteria__flow-item .quality-criteria__flow-ttl {
  background: #012851;
  background: -webkit-gradient(linear, left top, right top, from(#012851), to(#005c76));
  background: linear-gradient(90deg, #012851 0, #005c76 100%)
}

.quality-criteria__flow-ttl {
  margin-right: -4px;
  text-align: center;
  padding: 13px;
  font-weight: 700;
  margin-bottom: 16px;
  font-size: 20px;
  background: #012851;
  background: -webkit-gradient(linear, left top, right top, from(#012851), to(#005c76));
  background: linear-gradient(90deg, #012851 0, #005c76 100%);
  color: #fff;
  clip-path: polygon(89% 0, 0 0, 0 100%, 89% 100%, 100% 50%)
}

@media screen and (max-width:896px) {
  .quality-criteria__flow-ttl {
    line-height: 1;
    padding: 16px 2px 10px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    clip-path: polygon(30% 0, 70% 0, 100% 0, 100% 90%, 50% 100%, 50% 100%, 0 90%, 0 0);
    position: absolute;
    width: 40px;
    height: 130px;
    top: 0;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: left;
    font-size: 15px;
    margin-bottom: 0
  }
}

.quality-criteria__flow-txt {
  line-height: 1.875;
  color: #012851;
  font-size: 16px
}

@media screen and (max-width:896px) {
  .quality-criteria__flow-txt {
    font-size: 12.5px;
    line-height: 1.8 !important
  }
}

.quality-criteria__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

@media screen and (max-width:896px) {
  .quality-criteria__flex {
    display: block
  }
}

.quality-criteria__flex-item img {
  width: 100%
}

@media screen and (min-width:897px) {
  .quality-criteria__flex-item {
    width: 38.5%
  }

  .quality-criteria__flex-item:nth-child(2) {
    width: calc(61% + 35px);
    margin: -40px -28px 0
  }
}

@media screen and (min-width:1024px) {
  .quality-criteria__proportion {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative
  }

  .quality-criteria__proportion::before {
    content: "";
    position: absolute;
    background: #012851;
    width: 1px;
    height: 83%;
    top: 42%;
    right: 45.5%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
  }
}

@media screen and (min-width:1024px) and (max-width:1023px) {
  .quality-criteria__proportion::before {
    right: 42.5%
  }
}

.quality-criteria__proportion-item {
  width: 45%
}

@media screen and (max-width:1023px) {
  .quality-criteria__proportion-item {
    width: 100%
  }
}

.quality-criteria__proportion-item:nth-child(2) {
  width: 36%
}

@media screen and (max-width:1023px) {
  .quality-criteria__proportion-item:nth-child(2) {
    width: 100%
  }

  .quality-criteria__proportion-item:nth-child(2) .quality-criteria__proportion-ttl {
    margin-bottom: 50px
  }
}

.quality-criteria__proportion-ttl {
  border: 1px solid #012851;
  padding: 7px;
  text-align: center;
  color: #012851;
  font-weight: 700;
  margin-bottom: 23px;
  font-size: 20px
}

@media screen and (max-width:896px) {
  .quality-criteria__proportion-ttl {
    font-size: 14px
  }
}

.quality-criteria__proportion-ttl span {
  font-size: 14px
}

@media screen and (max-width:896px) {
  .quality-criteria__proportion-ttl span {
    font-size: 12px
  }
}

.quality-criteria__proportion-option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 15px 0
}

@media screen and (max-width:1023px) {
  .quality-criteria__proportion-option {
    margin-bottom: 30px
  }
}

.quality-criteria__proportion-option li {
  width: 47.5%;
  background: #fff;
  border-radius: 22px;
  -webkit-box-shadow: 2px 3px 14px rgba(1, 40, 81, .3), 2px 3px 14px rgba(1, 40, 81, .3);
  box-shadow: 2px 3px 14px rgba(1, 40, 81, .3), 2px 3px 14px rgba(1, 40, 81, .3);
  font-weight: 500;
  color: #012851;
  line-height: 1.28;
  padding: 21px 5px;
  text-align: center;
  font-size: 18px
}

@media screen and (max-width:1399px) {
  .quality-criteria__proportion-option li {
    font-size: 16px
  }
}

@media screen and (max-width:896px) {
  .quality-criteria__proportion-option li {
    font-size: 12.5px
  }
}

.quality-criteria__proportion-img {
  text-align: center
}

.quality-criteria__proportion-img img {
  width: 94%
}

.quality-criteria__table {
  margin-bottom: 16px;
  width: 968px
}

@media screen and (max-width:896px) {
  .quality-criteria__table {
    width: 770px
  }
}

.quality-criteria__table table tbody tr:nth-child(2n) {
  background: rgba(1, 40, 81, .1)
}

.quality-criteria__table table td:nth-child(1),
.quality-criteria__table table th:nth-child(1) {
  width: 8.5%
}

.quality-criteria__table table td:nth-child(2),
.quality-criteria__table table th:nth-child(2) {
  width: 19.5%
}

.quality-criteria__table table td:nth-child(3),
.quality-criteria__table table th:nth-child(3) {
  width: 42%
}

.quality-criteria__table table td:nth-child(4),
.quality-criteria__table table th:nth-child(4) {
  width: 12%
}

.quality-criteria__table table th span {
  padding: 9px 7px;
  border-radius: 10px 10px 0 0;
  background: #417489;
  color: #fff;
  text-align: center;
  font-weight: 500;
  font-size: 17px;
  margin: 0 5px;
  display: block
}

@media screen and (max-width:1399px) {
  .quality-criteria__table table th span {
    font-size: 14px;
    margin: 0 1px;
    padding: 3px
  }
}

@media screen and (max-width:896px) {
  .quality-criteria__table table th span {
    font-size: 12.5px
  }
}

.quality-criteria__table table td {
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  font-size: 15px;
  padding: 8px 8px 8px 10px
}

@media screen and (max-width:1399px) {
  .quality-criteria__table table td {
    padding: 8px 5px
  }
}

@media screen and (max-width:896px) {
  .quality-criteria__table table td {
    font-size: 12.5px
  }
}

.quality-criteria__badges {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 40px 30px;
  margin-top: 45px
}

@media screen and (max-width:896px) {
  .quality-criteria__badges {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 30px 15px;
    margin-top: 20px
  }
}

.quality-criteria__badges-item {
  width: 29.5%
}

@media screen and (max-width:896px) {
  .quality-criteria__badges-item {
    width: calc(50% - 7.5px)
  }
}

.quality-criteria__badges-item .ttl-module03 {
  margin-bottom: 18px
}

.quality-criteria__badges-item--full {
  width: 100%
}

/* 3番目の子要素への個別padding調整は不要（統一された高さ設定で対応） */



.quality-criteria__badges-img {
  margin-bottom: 19px;
  text-align: center;
  /* 高さ統一と縦中央配置は下部で定義 */
  display: flex;
  align-items: center;
  justify-content: center
}

@media screen and (min-width:897px) {
  .quality-criteria__badges-img {
    height: 140px
  }
}

@media screen and (max-width:896px) {
  .quality-criteria__badges-img {
    height: 110px
  }
}

.quality-criteria__badges-img img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain
}

.quality-criteria__badges-ttl {
  background: rgba(1, 40, 81, .15);
  padding: 3px;
  border-radius: 30px;
  text-align: center;
  font-size: 18px;
  margin-bottom: 7px;
  line-height: 1.4 !important
}

@media screen and (max-width:1399px) {
  .quality-criteria__badges-ttl {
    font-size: 16px
  }
}

@media screen and (max-width:896px) {
  .quality-criteria__badges-ttl {
    font-size: 14px
  }
}

.quality-criteria__badges-desc {
  line-height: 1.9 !important;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1
}

@media screen and (max-width:896px) {
  .quality-criteria__badges-desc {
    font-size: 12.5px;
    line-height: 1.6 !important
  }
}

.quality-criteria__shared {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.quality-criteria__shared-item {
  width: 20%;
  text-align: center
}

@media screen and (max-width:1399px) {
  .quality-criteria__shared-item {
    width: 23%
  }
}

@media screen and (max-width:896px) {
  .quality-criteria__shared-item {
    width: 50%;
    margin-bottom: 30px
  }
}

.quality-criteria__shared-item p {
  line-height: 1.5625;
  font-size: 16px
}

@media screen and (max-width:1399px) {
  .quality-criteria__shared-item p {
    font-size: 14px
  }
}

@media screen and (max-width:1023px) {
  .quality-criteria__shared-item p {
    font-size: 12.5px
  }
}

.quality-criteria__shared-img {
  margin-bottom: 17px;
  min-height: 98px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.quality-criteria__shared-img img {
  max-width: 100%
}

.quality-criteria__member {
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 35px 22px;
  display: grid;
  margin-top: 24px;
  padding: 0 18.9px
}

@media screen and (max-width:1399px) {
  .quality-criteria__member {
    padding: 0;
    grid-template-columns: 1fr 1fr
  }
}

.quality-criteria__member-point {
  margin-bottom: 17px;
  background: #fff;
  background: linear-gradient(297deg, rgba(255, 255, 255, .16) 0, rgba(8, 101, 118, .16) 100%);
  border-radius: 50%;
  text-align: center;
  min-height: 194px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-line-pack: center;
  align-content: center
}

@media screen and (max-width:1399px) {
  .quality-criteria__member-point {
    max-width: 194px;
    margin: 0 auto 15px
  }
}

@media screen and (max-width:896px) {
  .quality-criteria__member-point {
    aspect-ratio: 1/1;
    min-height: 0
  }
}

.quality-criteria__member-point>span {
  font-family: Oswald, sans-serif;
  font-size: 15px;
  margin-bottom: 14px;
  font-weight: 400;
  display: inline-block;
  color: #417489;
  border-bottom: 2px solid #417489;
  line-height: 1 !important;
  letter-spacing: 2px;
  padding-bottom: 12px
}

@media screen and (max-width:1399px) {
  .quality-criteria__member-point>span {
    font-size: 12.5px
  }
}

.quality-criteria__member-point>span span {
  font-size: 30px
}

@media screen and (max-width:1399px) {
  .quality-criteria__member-point>span span {
    font-size: 22px
  }
}

.quality-criteria__member-ttl {
  line-height: 1.3889 !important;
  font-weight: 500;
  font-size: 18px;
  width: 100%
}

@media screen and (max-width:1399px) {
  .quality-criteria__member-ttl {
    font-size: 16px
  }
}

@media screen and (max-width:896px) {
  .quality-criteria__member-ttl {
    font-size: 12.5px;
    padding: 0 10px
  }
}

.quality-criteria__member-desc {
  line-height: 1.6889 !important;
  color: #012851;
  text-align: center;
  font-size: 15px;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1
}

@media screen and (max-width:1399px) {
  .quality-criteria__member-desc {
    font-size: 12px
  }
}

@media screen and (max-width:896px) {
  .quality-criteria__member-desc {
    text-align: left
  }
}

.product {
  padding: 81px 0 89px;
  background: url(../img/quality/bg-02.jpg) top center no-repeat;
  background-size: cover
}

@media screen and (max-width:896px) {
  .product {
    background: url(../img/quality/bg-02-sp.jpg) top center no-repeat;
    background-size: cover;
    padding: 37px 0 41px
  }

  .product .l-inner {
    padding: 0 22px
  }

  .product .quality-block {
    margin-bottom: 26px
  }

  .product .quality-block__heading {
    letter-spacing: -3.4px
  }

  .product .quality-block__heading>span {
    letter-spacing: -1px
  }
}

.product-list {
  counter-reset: item02
}

.product-list__item {
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  counter-increment: item;
  max-height: 80%
}

.product-list__item:not(:last-child) {
  margin-bottom: 40px
}

@media screen and (max-width:896px) {
  .product-list__item:not(:last-child) {
    margin-bottom: 24px
  }
}

@media screen and (min-width:897px) {
  .product-list__item:nth-child(2n) .product-list__ct {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
  }

  .product-list__item:nth-child(2n) .product-list__img {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
  }
}

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

  .product-list__item:nth-child(4) .product-list__img img,
  .product-list__item:nth-child(5) .product-list__img img,
  .product-list__item:nth-child(6) .product-list__img img {
    max-height: 80%
  }
}

.product-list__ct {
  width: 65.5%;
  background: #1463c8;
  background: linear-gradient(260deg, #1463c8 0, #00a1a0 100%);
  color: #fff;
  position: relative;
  padding: 55px 30px 42px 104px
}

@media screen and (max-width:1399px) {
  .product-list__ct {
    padding: 40px 20px 40px 60px
  }
}

@media screen and (max-width:896px) {
  .product-list__ct {
    padding: 22px 19px 19px;
    width: 100%
  }
}

.product-list__ct::before {
  content: counter(item);
  position: absolute;
  top: 30px;
  left: 46px;
  color: #fff;
  font-family: Oswald, sans-serif;
  font-size: 80px;
  font-weight: 400;
  line-height: 1
}

@media screen and (max-width:1399px) {
  .product-list__ct::before {
    font-size: 60px;
    top: 15px;
    left: 20px
  }
}

@media screen and (max-width:896px) {
  .product-list__ct::before {
    top: 16px;
    left: 18px;
    font-size: 50px
  }
}

.product-list__ttl {
  font-weight: 700;
  font-size: 25px;
  margin-bottom: 21px;
  padding-bottom: 29px;
  position: relative
}

@media screen and (max-width:1399px) {
  .product-list__ttl {
    font-size: 22px;
    margin-bottom: 16px;
    padding-bottom: 16px
  }
}

@media screen and (max-width:896px) {
  .product-list__ttl {
    padding-left: 30px;
    font-size: 16px
  }
}

.product-list__ttl::before {
  content: "";
  width: 70px;
  height: 3px;
  background: #fff;
  position: absolute;
  left: 0;
  bottom: 0
}

@media screen and (max-width:896px) {
  .product-list__ttl::before {
    left: 30px;
    width: 54px;
    height: 1px
  }
}

.product-list__desc {
  line-height: 2;
  font-weight: 500;
  font-size: 16px
}

@media screen and (max-width:1399px) {
  .product-list__desc {
    font-size: 13px
  }
}

@media screen and (max-width:896px) {
  .product-list__desc {
    -webkit-font-feature-settings: "palt" 1;
    font-feature-settings: "palt" 1;
    font-size: 12.5px
  }
}

.product-list__img {
  width: 34.5%;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media screen and (max-width:896px) {
  .product-list__img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0 40px;
    width: 100%;
    height: 50vw
  }
}

.product-list__img img {
  max-width: 100%
}

@media screen and (max-width:1399px) {
  .product-list__img img {
    max-width: 220px
  }
}

@media screen and (max-width:896px) {
  .product-list__img img {
    max-width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain
  }
}

.process {
  position: relative;
  padding: 85px 0 36px
}

@media screen and (max-width:896px) {
  .process {
    padding: 37px 0 46px;
    background: #012851;
    background: -webkit-gradient(linear, left top, right top, from(#012851), to(#084889));
    background: linear-gradient(90deg, #012851 0, #084889 100%)
  }

  .process .l-inner {
    padding: 0 22px
  }

  .process .quality-block {
    margin-bottom: 45px
  }

  .process .quality-block__heading {
    letter-spacing: -2px;
    margin-right: -20px
  }

  .process .quality-block__heading>span {
    letter-spacing: 0
  }
}

.process:after {
  content: "";
  width: 60vw;
  height: 50vw;
  background: url(../img/quality/bg-03.png) left top no-repeat;
  background-size: contain;
  right: -50%;
  top: 10%;
  position: absolute
}

.process .quality-block {
  color: #fff
}

.process-box {
  background: #fff;
  padding: 66px 54px 66px 61px
}

@media screen and (max-width:1399px) {
  .process-box {
    padding: 50px 20px
  }
}

@media screen and (max-width:896px) {
  .process-box {
    padding: 18px 12px
  }
}

.process-box__map {
  max-width: 906px;
  margin: 0 auto 42px;
  width: 100%
}

@media screen and (max-width:896px) {
  .process-box__map {
    margin: 0 -7px 27px;
    width: calc(100% + 14px);
    max-width: calc(100% + 14px)
  }
}

.process-box__map img {
  width: 100%
}

@media screen and (max-width:896px) {
  .process-box__main {
    padding: 0 13px
  }
}

.process-box__main:not(:last-child) {
  margin-bottom: 60px
}

@media screen and (max-width:896px) {
  .process-box__main:not(:last-child) {
    margin-bottom: 24px
  }
}

.process-box__team {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.process-box__team-ttl {
  width: 32.2%;
  background: #1463c8;
  background: linear-gradient(150deg, #1463c8 0, #00a1a0 100%);
  color: #fff;
  font-weight: 700;
  font-size: 26px
}

@media screen and (max-width:1399px) {
  .process-box__team-ttl {
    font-size: 20px
  }
}

@media screen and (max-width:896px) {
  .process-box__team-ttl {
    background: #d8e0e5;
    width: 100%;
    font-size: 15px;
    margin-bottom: 10px;
    text-align: center;
    color: #072b42
  }
}

.process-box__team-ttl span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%;
  padding: 10px
}

@media screen and (max-width:896px) {
  .process-box__team-ttl span {
    padding: 3px 3px 5px
  }
}

.process-box__team-img {
  width: 67.8%;
  position: relative;
  overflow: hidden
}

.process-box__team-img:before {
  display: block;
  content: "";
  padding-top: 35.5182926829%
}

.process-box__team-img img,
.process-box__team-img>:first-child {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

@media screen and (max-width:896px) {
  .process-box__team-img {
    display: none
  }
}

.process-box__team-img img {
  width: 100%
}

@media screen and (min-width:897px) {
  .process-box__step {
    padding: 34px 30px;
    background: #002e87;
    background: linear-gradient(229deg, rgba(0, 46, 135, .4) 0, rgba(0, 69, 155, .43) 40%, rgba(0, 71, 156, .39) 44%, rgba(0, 109, 189, .41) 100%)
  }
}

.process-box__step-item {
  background: #fff;
  position: relative;
  -webkit-box-shadow: 2px 3px 14px rgba(1, 40, 81, .1), 2px 3px 14px rgba(1, 40, 81, .1);
  box-shadow: 2px 3px 14px rgba(1, 40, 81, .1), 2px 3px 14px rgba(1, 40, 81, .1)
}

.process-box__step-item:not(:last-child) {
  margin-bottom: 29px
}

@media screen and (max-width:896px) {
  .process-box__step-item:not(:last-child) {
    margin-bottom: 14px
  }
}

.process-box__step-item:not(:last-child)::after {
  content: "";
  position: absolute;
  width: 38px;
  height: 28px;
  background: url(../img/quality/arrow-bottom.png) center no-repeat;
  background-size: contain;
  left: 49.8%;
  bottom: -23px;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%)
}

@media screen and (max-width:896px) {
  .process-box__step-item:not(:last-child)::after {
    display: none
  }
}

.process-box__step-ct {
  padding: 35px 50px 32px 166px;
  position: relative
}

@media screen and (max-width:1399px) {
  .process-box__step-ct {
    padding: 30px 20px 30px 90px
  }
}

@media screen and (max-width:896px) {
  .process-box__step-ct {
    padding: 22px 20px 25px
  }
}

.process-box__step-number {
  position: absolute;
  left: 60px;
  top: 50%;
  background: #88d0cf;
  background: -webkit-gradient(linear, left bottom, left top, from(#88d0cf), to(#2727d5));
  background: linear-gradient(0deg, #88d0cf 0, #2727d5 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: Oswald, sans-serif;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 83.5px;
  font-weight: 400
}

@media screen and (max-width:1399px) {
  .process-box__step-number {
    font-size: 70px;
    left: 20px
  }
}

@media screen and (max-width:896px) {
  .process-box__step-number {
    left: 3px;
    font-size: 42px;
    line-height: 1
  }
}

@media screen and (max-width:896px) {
  .process-box__step-title {
    position: relative;
    padding-left: 55px
  }
}

.process-box__step-ttl {
  color: #002850;
  font-weight: 700;
  font-size: 20px;
  margin-bottom: 14px
}

@media screen and (max-width:896px) {
  .process-box__step-ttl {
    letter-spacing: -.7px;
    line-height: 1.5;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-bottom: 19px;
    font-size: 14px
  }
}

.process-box__step p {
  color: #002850;
  font-weight: 500;
  line-height: 1.667;
  font-size: 15px
}

@media screen and (max-width:896px) {
  .process-box__step p {
    line-height: 1.6;
    -webkit-font-feature-settings: "palt" 1;
    font-feature-settings: "palt" 1;
    font-size: 12.5px
  }
}

.process-box__pd {
  padding: 14px 55px 54px
}

@media screen and (max-width:1399px) {
  .process-box__pd {
    padding: 10px 20px 40px
  }
}

.process-box__heading {
  margin-bottom: 46px;
  border: 1px solid #012851;
  padding: 10px;
  text-align: center;
  font-weight: 500;
  font-size: 18px
}

.process-box__slider {
  margin-bottom: 15px;
  padding: 0 25px
}

@media screen and (max-width:1399px) {
  .process-box__slider {
    padding: 0
  }
}

.process-box__slider .slick-list {
  padding-bottom: 53px !important
}

.process-box__slider-item {
  padding: 0 40px;
  color: #012851
}

@media screen and (max-width:1399px) {
  .process-box__slider-item {
    padding: 0 15px
  }
}

.process-box__slider-img {
  position: relative;
  overflow: hidden;
  border-radius: 50%;
  overflow: hidden;
  max-width: 271px;
  width: 100%;
  margin: 0 auto 28px
}

.process-box__slider-img:before {
  display: block;
  content: "";
  padding-top: 100%
}

.process-box__slider-img img,
.process-box__slider-img>:first-child {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.process-box__slider-ttl {
  margin-bottom: 22px;
  line-height: 1.333;
  font-size: 15px
}

.process-box__slider-ttl small {
  display: inline-block;
  color: #fff;
  padding: 4px 12px;
  margin-bottom: 14px;
  background: #012851;
  font-size: 14px
}

@media screen and (max-width:1399px) {
  .process-box__slider-ttl small {
    font-size: 13px;
    padding: 4px 5px 6px
  }
}

.process-box__slider-ttl>span {
  font-weight: 500;
  font-size: 25px;
  display: block
}

.process-box__slider-ttl>span span {
  margin-left: 10px;
  font-weight: 400;
  font-size: 17px
}

.process-box__slider-desc {
  line-height: 2 !important;
  font-size: 16px
}

@media screen and (max-width:1399px) {
  .process-box__slider-desc {
    font-size: 14px
  }
}

.process-box .slick-dots {
  position: relative;
  height: 9px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 110%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%)
}

@media screen and (max-width:1399px) {
  .process-box .slick-dots {
    width: 100%
  }
}

.process-box .slick-dots::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background: #012851;
  bottom: 5px;
  left: 0
}

.process-box .slick-dots li {
  height: 9px;
  width: 16.6666666667%;
  z-index: 2;
  position: relative
}

.process-box .slick-dots li.slick-active {
  background: #61a7d6
}

.process-box .slick-dots li button {
  display: none
}

.process-box__step02 {
  margin-top: 78px;
  counter-reset: item04;
  margin-bottom: 28px
}

@media screen and (max-width:896px) {
  .process-box__step02 {
    margin-top: 30px
  }
}

.process-box__step02-item {
  margin-left: 210px;
  position: relative;
  counter-increment: item04;
  z-index: 2
}

@media screen and (max-width:1023px) {
  .process-box__step02-item {
    padding-left: 60px;
    margin-left: 0
  }
}

.process-box__step02-item:not(:last-child) {
  margin-bottom: 48px
}

@media screen and (max-width:896px) {
  .process-box__step02-item:not(:last-child) {
    margin-bottom: 30px
  }
}

.process-box__step02-item::before {
  content: "";
  width: 250px;
  height: 129%;
  top: -18px;
  left: -210px;
  z-index: -1;
  position: absolute;
  clip-path: polygon(100% 0, 100% 87%, 50% 100%, 0 87%, 0 0, 51% 13%)
}

@media screen and (max-width:1023px) {
  .process-box__step02-item::before {
    left: 0;
    width: 78px;
    height: 117%
  }
}

@media screen and (max-width:896px) {
  .process-box__step02-item:nth-child(1) .process-box__step02-number {
    top: 0
  }
}

.process-box__step02-item:nth-child(1)::before {
  top: -16px;
  clip-path: polygon(0 0, 100% 0, 100% 87%, 51% 100%, 0 87%);
  background: #012851;
  background: -webkit-gradient(linear, left top, right top, from(rgba(1, 40, 81, .4)), to(rgba(0, 92, 118, .4)));
  background: linear-gradient(90deg, rgba(1, 40, 81, .4) 0, rgba(0, 92, 118, .4) 100%)
}

.process-box__step02-item:nth-child(2)::before {
  background: #012851;
  background: -webkit-gradient(linear, left top, right top, from(rgba(1, 40, 81, .5)), to(rgba(0, 92, 118, .5)));
  background: linear-gradient(90deg, rgba(1, 40, 81, .5) 0, rgba(0, 92, 118, .5) 100%)
}

.process-box__step02-item:nth-child(3)::before {
  background: #012851;
  background: -webkit-gradient(linear, left top, right top, from(rgba(1, 40, 81, .6)), to(rgba(0, 92, 118, .6)));
  background: linear-gradient(90deg, rgba(1, 40, 81, .6) 0, rgba(0, 92, 118, .6) 100%)
}

.process-box__step02-item:nth-child(4)::before {
  background: #012851;
  background: -webkit-gradient(linear, left top, right top, from(rgba(1, 40, 81, .7)), to(rgba(0, 92, 118, .7)));
  background: linear-gradient(90deg, rgba(1, 40, 81, .7) 0, rgba(0, 92, 118, .7) 100%)
}

.process-box__step02-item:nth-child(5)::before {
  background: #012851;
  background: -webkit-gradient(linear, left top, right top, from(rgba(1, 40, 81, .8)), to(rgba(0, 92, 118, .8)));
  background: linear-gradient(90deg, rgba(1, 40, 81, .8) 0, rgba(0, 92, 118, .8) 100%)
}

.process-box__step02-item:nth-child(6)::before {
  background: #012851;
  background: -webkit-gradient(linear, left top, right top, from(rgba(1, 40, 81, .9)), to(rgba(0, 92, 118, .9)));
  background: linear-gradient(90deg, rgba(1, 40, 81, .9) 0, rgba(0, 92, 118, .9) 100%)
}

.process-box__step02-item:nth-child(7)::before {
  background: #012851;
  background: -webkit-gradient(linear, left top, right top, from(#012851), to(#005c76));
  background: linear-gradient(90deg, #012851 0, #005c76 100%)
}

.process-box__step02-number {
  position: absolute;
  left: -181px;
  top: 17px;
  font-family: Oswald, sans-serif;
  color: #fff;
  padding-bottom: 60px;
  font-size: 25.5px;
  font-weight: 400;
  z-index: 2
}

@media screen and (max-width:1023px) {
  .process-box__step02-number {
    left: 13px;
    font-size: 18px;
    padding-bottom: 35px;
    top: 50px
  }
}

.process-box__step02-number::before {
  content: "0" counter(item04);
  font-size: 52.5px;
  bottom: 0;
  left: 0;
  position: absolute
}

@media screen and (max-width:1023px) {
  .process-box__step02-number::before {
    font-size: 30px
  }
}

.process-box__step02-box {
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: relative;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  background: #fff;
  z-index: 3;
  padding: 33px 23px 28px;
  -webkit-box-shadow: 1px 1px 11px rgba(1, 40, 81, .3);
  box-shadow: 1px 1px 11px rgba(1, 40, 81, .3)
}

@media screen and (max-width:1399px) {
  .process-box__step02-box {
    min-height: 218px
  }
}

@media screen and (max-width:896px) {
  .process-box__step02-box {
    display: block;
    padding: 20px 15px
  }
}

.process-box__step02-img {
  width: 53%;
  position: relative;
  overflow: hidden
}

.process-box__step02-img:before {
  display: block;
  content: "";
  padding-top: 52.2666666667%
}

.process-box__step02-img img,
.process-box__step02-img>:first-child {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

@media screen and (max-width:1023px) {
  .process-box__step02-img {
    width: 100%;
    margin-bottom: 15px
  }
}

.process-box__step02-ct {
  color: #012851;
  width: 43.7%
}

@media screen and (max-width:1023px) {
  .process-box__step02-ct {
    width: 100%
  }
}

.process-box__step02-ct p {
  line-height: 1.667;
  font-size: 18px
}

@media screen and (max-width:1399px) {
  .process-box__step02-ct p {
    font-size: 14px
  }
}

@media screen and (max-width:1023px) {
  .process-box__step02-ct p {
    font-size: 12.5px
  }
}

.process-box__step02-ttl {
  margin-bottom: 15px;
  font-weight: 500;
  font-size: 22px
}

@media screen and (max-width:1023px) {
  .process-box__step02-ttl {
    font-size: 16px;
    margin-bottom: 10px
  }
}

.structure {
  padding: 69px 0 99px;
  background: #d6dce1;
  background: -webkit-gradient(linear, left top, right top, from(#d6dce1), to(#bdccd1));
  background: linear-gradient(90deg, #d6dce1 0, #bdccd1 100%)
}

@media screen and (max-width:896px) {
  .structure {
    margin-top: 0;
    padding: 37px 0 40px
  }

  .structure .l-inner {
    padding: 0 22px
  }

  .structure .quality-block {
    margin-bottom: 24px
  }
}

.structure-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 25px 0;
  margin-bottom: 86px;
  counter-reset: item05
}

@media screen and (max-width:1023px) {
  .structure-list {
    gap: 18px
  }
}

@media screen and (max-width:896px) {
  .structure-list {
    margin-bottom: 30px
  }
}

.structure-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  counter-increment: item05;
  width: calc(50% - 14px);
  padding: 49px 40px 70px 52px;
  background: #012851;
  background: -webkit-gradient(linear, left top, right top, from(rgba(1, 40, 81, .9)), to(rgba(8, 72, 137, .9)));
  background: linear-gradient(90deg, rgba(1, 40, 81, .9) 0, rgba(8, 72, 137, .9) 100%)
}

@media screen and (max-width:1399px) {
  .structure-list__item {
    padding: 30px 20px
  }
}

@media screen and (max-width:1023px) {
  .structure-list__item {
    width: calc(50% - 9px)
  }
}

@media screen and (max-width:896px) {
  .structure-list__item {
    padding: 13px 18px;
    width: 100%
  }
}

.structure-list__item:nth-child(1),
.structure-list__item:nth-child(2) {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.structure-list__item:nth-child(1) .structure-list__ct,
.structure-list__item:nth-child(2) .structure-list__ct {
  width: 64%
}

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

  .structure-list__item:nth-child(1) .structure-list__ct,
  .structure-list__item:nth-child(2) .structure-list__ct {
    width: 100%
  }
}

.structure-list__item:nth-child(1) .structure-list__img,
.structure-list__item:nth-child(2) .structure-list__img {
  width: 35%;
  padding-top: 16px
}

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

  .structure-list__item:nth-child(1) .structure-list__img,
  .structure-list__item:nth-child(2) .structure-list__img {
    width: 100%;
    padding: 0 27px
  }
}

.structure-list__item:nth-child(2) {
  min-height: 387px;
  padding-top: 39px;
  padding-bottom: 41px
}

@media screen and (max-width:896px) {
  .structure-list__item:nth-child(2) {
    padding-top: 16px
  }
}

.structure-list__ct {
  color: #fff
}

@media screen and (max-width:896px) {
  .structure-list__ct {
    margin-bottom: 22px;
    width: 100%
  }
}

.structure-list__ct p {
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  line-height: 2;
  font-weight: 500;
  font-size: 16px
}

@media screen and (max-width:1023px) {
  .structure-list__ct p {
    font-size: 14px
  }
}

@media screen and (max-width:896px) {
  .structure-list__ct p {
    font-size: 12.5px;
    line-height: 1.81
  }
}

.structure-list__ttl {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 26px;
  padding-left: 124px;
  position: relative;
  font-size: 23px;
  min-height: 69px;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1
}

@media screen and (max-width:1023px) {
  .structure-list__ttl {
    font-size: 20px;
    padding-left: 80px
  }
}

@media screen and (max-width:896px) {
  .structure-list__ttl {
    font-size: 16px;
    margin-bottom: 4px;
    padding-left: 83px
  }
}

.structure-list__ttl::before {
  content: "0" counter(item05);
  font-weight: 400;
  font-family: Oswald, sans-serif;
  position: absolute;
  top: 50%;
  line-height: 1;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  font-size: 60px
}

@media screen and (max-width:1023px) {
  .structure-list__ttl::before {
    font-size: 40px
  }
}

.structure-list__ttl::after {
  content: "";
  width: 33px;
  height: 50px;
  background: url(../img/quality/icon-arrow-right.png) center no-repeat;
  background-size: contain;
  top: 54%;
  left: 74px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute
}

@media screen and (max-width:1023px) {
  .structure-list__ttl::after {
    width: 26px;
    height: 40px;
    left: 47px
  }
}

@media screen and (max-width:896px) {
  .structure-list__ttl::after {
    width: 22px;
    height: 35px;
    left: 50px
  }
}

.structure-list__img img {
  width: 100%
}

@media screen and (max-width:896px) {
  .structure-list__img img {
    max-width: 300px;
    margin: 0 auto;
    display: block
  }
}

.structure-list__icon {
  width: 100%;
  margin: 0 auto 22px;
  max-width: 108px
}

@media screen and (max-width:896px) {
  .structure-list__icon {
    margin: 14px auto 0;
    max-width: 86px
  }
}

.structure-list__icon img {
  width: 100%
}

@media screen and (max-width:896px) {
  .message--02 .l-inner {
    padding: 0 23px
  }
}

.message--02 .message__bg {
  height: auto
}

.message--02 .message__bg img {
  min-height: 140px
}

.message--02 .message__main {
  background: url(../img/quality/bg-message.jpg) top center no-repeat;
  background-size: cover;
  padding-bottom: 128px
}

@media screen and (max-width:896px) {
  .message--02 .message__main {
    padding-bottom: 35px;
    background: url(../img/quality/bg-message-sp.jpg) top center no-repeat;
    background-size: cover
  }
}

.message--02 .message__title {
  margin-top: -157px;
  margin-bottom: 90px
}

@media screen and (max-width:1399px) {
  .message--02 .message__title {
    margin-top: -131px;
    margin-bottom: 39px
  }
}

@media screen and (max-width:896px) {
  .message--02 .message__title {
    margin-bottom: 46px;
    margin-top: -50px
  }
}

.message--02 .message__ttl {
  line-height: 1.4285;
  font-weight: 700;
  margin-bottom: 40px;
  color: #fff;
  font-size: 42px
}

@media screen and (max-width:1399px) {
  .message--02 .message__ttl {
    font-size: 36px
  }
}

@media screen and (max-width:896px) {
  .message--02 .message__ttl {
    line-height: 1.45;
    margin-bottom: 19px;
    font-size: 16px
  }
}

.message--02 .message__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 103px
}

@media screen and (max-width:896px) {
  .message--02 .message__box {
    margin-bottom: 44px
  }
}

.message--02 .message__box .message__text {
  width: 57%
}

@media screen and (max-width:896px) {
  .message--02 .message__box .message__text {
    width: 100%;
    line-height: 1.92;
    margin-bottom: 33px;
    -webkit-font-feature-settings: "palt" 1;
    font-feature-settings: "palt" 1
  }
}

.message--02 .message__box .message__img {
  width: calc(41% + 187px);
  margin-right: -125px;
  margin-left: -95px;
  margin-top: -121px
}

.message--02 .message__box .message__img img {
  width: 100%
}

@media screen and (max-width:896px) {
  .message--02 .message__box .message__img img {
    max-width: 400px;
    margin: 0 auto;
    display: block
  }
}

@media screen and (max-width:1399px) {
  .message--02 .message__box .message__img {
    margin-right: 0;
    margin-left: 0;
    width: 40%
  }
}

@media screen and (max-width:896px) {
  .message--02 .message__box .message__img {
    width: 100%;
    margin: 0 6px
  }
}

.message--02 .message__btn {
  font-weight: 700;
  color: #fff;
  font-size: 28px;
  text-align: center;
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  height: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 60px;
  background: #009aff;
  background: -webkit-gradient(linear, left top, right top, from(#009aff), to(#39c7eb));
  background: linear-gradient(90deg, #009aff 0, #39c7eb 100%);
  -webkit-transition: .3s all;
  transition: .3s all
}

.message--02 .message__btn:hover {
  opacity: .7
}

@media screen and (max-width:1399px) {
  .message--02 .message__btn {
    max-width: 600px;
    height: 80px;
    font-size: 22px
  }
}

@media screen and (max-width:896px) {
  .message--02 .message__btn {
    max-width: 330px;
    height: 60px;
    font-size: 14px
  }
}

.message--02 .message__btn span {
  display: inline-block;
  padding-left: 128px;
  position: relative
}

@media screen and (max-width:896px) {
  .message--02 .message__btn span {
    padding-left: 41px
  }
}

.message--02 .message__btn span::before {
  content: "";
  width: 54px;
  height: 54px;
  position: absolute;
  left: 47px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../img/quality/icon-btn.png) center no-repeat;
  background-size: contain
}

@media screen and (max-width:896px) {
  .message--02 .message__btn span::before {
    width: 30px;
    height: 26px;
    left: -4px
  }
}

.nav-slider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 30px;
  padding-right: 78px
}

@media screen and (max-width:1399px) {
  .nav-slider {
    padding-right: 0
  }
}

.nav-slider .pagingInfo {
  font-size: 20px;
  font-family: Oswald, sans-serif;
  color: #012851
}

.nav-slider__np {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100px;
  cursor: pointer
}

.nav-slider__np .next,
.nav-slider__np .prev {
  width: 44px;
  height: 44px;
  background: url(../img/quality/prev.png) center no-repeat;
  background-size: contain
}

.nav-slider__np .next {
  background: url(../img/quality/next.png) center no-repeat;
  background-size: contain
}

.footer_service_area .service_box {
  -webkit-transition: .3s all;
  transition: .3s all
}

.footer_service_area .service_box:hover {
  opacity: .7
}

.scroll-content {
  padding: 0 17px
}

.scroll-content .scroll-hint-icon {
  top: 25%
}

.view-more {
  max-width: 550px;
  width: 100%;
  height: min(6.6vw, 104px);
  font-size: 26px;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: #fff;
  border-radius: 50px;
  -webkit-box-shadow: 6px 6px 2px #012851;
  box-shadow: 6px 6px 2px #012851;
  margin: 0 auto;
  position: absolute;
  bottom: 50px;
  left: 0;
  right: 0;
  z-index: 3;
  outline: 0;
  border: none;
  cursor: pointer;
  color: #012851;
  -webkit-transition: .3s ease all;
  transition: .3s ease all
}

@media screen and (max-width:896px) {
  .view-more {
    height: 50px;
    font-size: 17px;
    width: 85%
  }
}

.view-more:hover {
  opacity: .7
}

.view-more:after {
  content: "";
  position: relative;
  display: inline-block;
  background: url(../img/quality/arrow-btn@2x.png) no-repeat center/100%;
  width: 23px;
  height: 23px;
  top: 2px;
  margin-left: 10px
}

@media screen and (max-width:896px) {
  .view-more:after {
    width: 18px;
    height: 18px
  }
}

#step02 .step-list__ct--viewmore:not(.hide) {
  height: 1200px
}

#step03 .step-list__ct--viewmore:not(.hide),
#step04 .step-list__ct--viewmore:not(.hide),
#step05 .step-list__ct--viewmore:not(.hide),
#step06 .step-list__ct--viewmore:not(.hide),
#step07 .step-list__ct--viewmore:not(.hide),
#step08 .step-list__ct--viewmore:not(.hide) {
  height: 1000px
}

.pageTitle--02 #pagePath {
  margin: 0 auto;
  max-width: 1394px;
  position: static
}

.pageTitle--02 #pagePath ul {
  -webkit-transform: rotate(0);
  -ms-transform: rotate(0);
  transform: rotate(0)
}

.pageTitle--02 #pagePath a,
.pageTitle--02 #pagePath ul {
  color: #fff
}

.pageTitle--02 #pagePath a::after {
  background-color: #fff
}

@media screen and (min-width:897px) {
  .headLine03 {
    padding-bottom: 25px !important;
    border-bottom: 1px solid transparent !important;
    margin-bottom: 10px !important
  }
}

@media screen and (min-width:897px) {
  .headLine03.on {
    border-bottom: 1px solid rgba(255, 255, 255, .3) !important
  }
}

/* 認定バッジ画像のスタイルは上部で定義済み */

/*# sourceMappingURL=maps/quality.css.map */