/* common
---------------------------------------------------------------------------- */
.m-child-mv::before {
  background-image: url(../../../assets/images/policy/img_mv_pc.webp);
}

.m-child-mv-ttl-en {
  width: min(42.5854166667vw, 817.64px);
  aspect-ratio: 817.64/86;
}

@media screen and (max-width: 767px) {
  .m-child-mv::before {
    background-image: url(../../../assets/images/policy/img_mv_sp.webp);
  }
  .m-child-mv-ttl-group {
    padding-bottom: 5.3333333333vw;
  }
  .m-child-mv-ttl-en {
    width: 53.72vw;
  }
  .m-child-mv-ttl-en picture {
    display: block;
  }
}
/* p-policy
---------------------------------------------------------------------------- */
.p-policy {
  padding-block: 7.2rem 12.4rem;
}

.p-policy-ttl {
  font-size: 2.8rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-weight: 700;
  margin-bottom: 2.6rem;
  --line-height: 0.3rem;
  display: inline-block;
  padding-bottom: 2.1rem;
  border-bottom: var(--line-height) solid #c9c9c9;
  position: relative;
  width: 100%;
}

.p-policy-ttl::before {
  content: "";
  width: 6rem;
  height: var(--line-height);
  background-color: #002C81;
  position: absolute;
  top: 100%;
  left: 0;
}

.p-policy-txt {
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  font-weight: 400;
  padding-left: 1.2em;
  text-indent: -1.2em;
}

.p-policy-txt + .p-policy-txt {
  margin-top: 2rem;
}

.p-policy-txt > a {
  color: #303030;
}

.p-policy-section-ttl {
  font-size: 2.2rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #002c81;
  position: relative;
  padding-left: 2rem;
  margin-block: 5.4rem 2.4rem;
}

.p-policy-section-ttl::before {
  content: "";
  width: 1.2rem;
  height: 0.2rem;
  background-color: #002C81;
  position: absolute;
  top: 1.5rem;
  left: 0;
}

.p-policy-list {
  margin-block: 1.6rem 2.4rem;
  padding-left: 2rem;
}

.p-policy-list-item {
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  font-weight: 400;
  position: relative;
  padding-left: 1.4rem;
}

.p-policy-list-item::before {
  content: "";
  width: 0.6rem;
  height: 0.6rem;
  background-color: #002C81;
  border-radius: 50%;
  position: absolute;
  top: 1.1rem;
  left: 0;
}

.p-policy-box {
  padding-block: 2.3rem;
  padding-inline: 3rem;
  background-color: #F8F8F8;
  margin-top: 2.8rem;
}

.p-policy-box-item + .p-policy-box-item {
  margin-top: 1.1rem;
}

.p-policy-box-item-ttl {
  font-size: 1.8rem;
  line-height: 1.6;
  letter-spacing: 0.06em;
  font-weight: 400;
  position: relative;
  padding-left: 1.4rem;
}

.p-policy-box-item-ttl::before {
  content: "";
  width: 0.6rem;
  height: 0.6rem;
  background-color: #002C81;
  border-radius: 50%;
  position: absolute;
  top: 1.1rem;
  left: 0;
}

.p-policy-box-item-txt {
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.06em;
  font-weight: 400;
  padding-left: 0.9em;
  margin-top: 0.3rem;
}
.p-policy-box-item-txt a {
  color: #303030;
}

@media screen and (max-width: 767px) {
  .p-policy {
    padding-block: 13.3333333333vw;
  }
  .p-policy-ttl {
    font-size: 6.4vw;
    margin-bottom: 3.4666666667vw;
    --line-height: calc(3 / 375 * 100vw);
    padding-bottom: 2.8vw;
    border-bottom: var(--line-height) solid #c9c9c9;
  }
  .p-policy-ttl::before {
    width: 16vw;
    height: var(--line-height);
  }
  .p-policy-txt {
    font-size: 4.2666666667vw;
  }
  .p-policy-txt + .p-policy-txt {
    margin-top: 2.6666666667vw;
  }
  .p-policy-section-ttl {
    font-size: 5.3333333333vw;
    padding-left: 5.3333333333vw;
    margin-block: 8vw 3.2vw;
  }
  .p-policy-section-ttl::before {
    width: 3.2vw;
    height: 0.5333333333vw;
    top: 4vw;
  }
  .p-policy-list {
    margin-block: 4.2666666667vw 6.4vw;
    padding-left: 5.3333333333vw;
  }
  .p-policy-list-item {
    font-size: 4.2666666667vw;
    padding-left: 3.7333333333vw;
  }
  .p-policy-list-item::before {
    width: 1.6vw;
    height: 1.6vw;
    top: 2.9333333333vw;
  }
  .p-policy-box {
    padding-block: 5.3333333333vw;
    padding-inline: 4.2666666667vw;
    margin-top: 3.7333333333vw;
  }
  .p-policy-box-item + .p-policy-box-item {
    margin-top: 2.9333333333vw;
  }
  .p-policy-box-item-ttl {
    font-size: 4.8vw;
    padding-left: 3.7333333333vw;
  }
  .p-policy-box-item-ttl::before {
    width: 1.6vw;
    height: 1.6vw;
    top: 2.9333333333vw;
  }
  .p-policy-box-item-txt {
    font-size: 4.2666666667vw;
    margin-top: 0.8vw;
  }
}
