/* ============================================ */
/* このファイルは、以下のhtmlファイルで使用されます。 */
/*  - harassment-policy/index.hrml */
/* ============================================ */
@charset "utf-8";

/* -----------------------------------
display
----------------------------------- */

.disp-sp {
  display: block;
}

.disp-pc {
  display: none;
}

@media screen and (min-width: 960px) {
  .disp-sp {
    display: none;
  }

  .disp-pc {
    display: block;
  }
}

/* -----------------------------------
text
----------------------------------- */

.p__text {
  font-size: calc(28 / 750 * 100vw);
  margin-bottom: calc(80 / 750 * 100vw);
  font-weight: 400;
}

.p__text--harf {
  font-size: calc(28 / 750 * 100vw);
  margin-bottom: calc(40 / 750 * 100vw);
  font-weight: 400;
}

.p__text-mb0 {
  margin-bottom: 0 !important;
}

@media screen and (min-width: 960px) {
  .p__text {
    font-size: 18px;
    margin-bottom: 40px;
  }

  .p__text--harf {
    font-size: 18px;
    margin-bottom: 20px;
  }
}

/* -----------------------------------
MV
----------------------------------- */

.mv {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 26.66667vw 0 13.33333vw;
  background: url(../img/top-kv_sp.jpg) no-repeat center top;
  background-size: cover;
}

.mv-harassment {
  background: url(../img/harassment-kv_sp.jpg) no-repeat center top;
  background-size: cover;
}

.mv__title {
  font-size: 6.4vw;
  color: #fff;
  text-align: center;
  font-weight: 500;
}

@media screen and (min-width: 960px) {
  .mv {
    height: 480px;
    padding: 90px 10px 0;
    background: url(../img/top-kv_pc.jpg) no-repeat left top;
    background-size: cover;
  }

  .mv-harassment {
    background: url(../img/harassment-kv_pc.jpg) no-repeat center top;
    background-size: cover;
  }

  .mv__title {
    font-size: 36px;
  }
}

/* -----------------------------------
lead
----------------------------------- */

.harassment_lead-harassment {
  width: 100%;
  margin-inline: auto;
  padding: calc(75 / 750 * 100vw) 5% calc(100 / 750 * 100vw);
  font-size: calc(28 / 750 * 100vw);
  line-height: 1.75;
  font-weight: normal;
}

@media screen and (min-width: 960px) {
  .harassment_lead-harassment {
    width: auto;
    max-width: 1020px;
    padding: 100px 10px 90px;
    font-size: 18px;
  }
}

/* -----------------------------------
section
----------------------------------- */

.harassment__section {
  margin-inline: auto;
  padding: 0 5%;
}

@media screen and (min-width: 960px) {
  .harassment__section {
    max-width: 1020px;
    padding: 10px 10px 35px;
  }

  .harassment__inner {
    margin-bottom: 65px;
  }
}

/* -----------------------------------
heading
----------------------------------- */

.title-h3-harassment {
  color: #5c96fd;
  padding-left: calc(7 / 750 * 100vw);
  border-left: calc(6 / 750 * 100vw) solid #5c96fd;
  font-weight: 500;
  margin-bottom: calc(32 / 750 * 100vw);
  font-size: calc(32 / 750 * 100vw);
}

@media screen and (min-width: 960px) {
  .title-h3-harassment {
    padding-left: 10px;
    border-left: 6px solid #5c96fd;
    margin-bottom: 16px;
    font-size: 22px;
  }
}

.title-h4-harassment {
  color: #5c96fd;
  font-weight: 500;
  margin-bottom: calc(26 / 750 * 100vw);
  font-size: calc(30 / 750 * 100vw);
}

@media screen and (min-width: 960px) {
  .title-h4-harassment {
    margin-bottom: 16px;
    font-size: 20px;
  }
}
/* -----------------------------------
policy table
----------------------------------- */

.harassment__policy-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: calc(80 / 750 * 100vw);
  font-size: calc(28 / 750 * 100vw);
  line-height: 1.75;
}

.harassment__policy-table th,
.harassment__policy-table td {
  text-align: left;
  vertical-align: middle;
}

.harassment__policy-table th {
  width: 38%;
  padding: calc(24 / 750 * 100vw);
  color: #5c96fd;
  background-color: #f2f5fb;
  font-weight: bold;
}

.harassment__policy-table td {
  width: 62%;
  padding: calc(24 / 750 * 100vw);
  font-weight: normal;
  border-bottom: 1px solid #d0daea;
}

@media screen and (min-width: 960px) {
  .harassment__policy-table {
    font-size: 15px;
    margin-bottom: 0;
  }

  .harassment__policy-table th {
    width: 200px;
    padding: 24px;
  }

  .harassment__policy-table td {
    width: auto;
    padding: 18px 26px;
  }
}

/* -----------------------------------
contact
----------------------------------- */

.harassment__contact {
  width: 100%;
  margin-inline: auto;
  border: 1px solid #427ee1;
  text-align: center;
  margin: calc(80 / 750 * 100vw) 0;
}

.harassment__contact-title {
  margin: 0;
  padding: calc(20 / 750 * 100vw) calc(30 / 750 * 100vw);
  color: #fff;
  background-color: #427ee1;
  font-size: calc(28 / 750 * 100vw);
  font-weight: bold;
}

.harassment__contact-mail {
  margin: 0;
  padding: calc(30 / 750 * 100vw);
  font-size: calc(36 / 750 * 100vw);
  font-weight: normal;
  line-height: 1.75;
}

.harassment__contact-mail span {
  display: block;
  font-size: calc(28 / 750 * 100vw);
  margin-top: calc(30 / 750 * 100vw);
}

.harassment__contact-notes {
  list-style: none;
  padding: 0;
  margin: calc(20 / 750 * 100vw) 0 calc(80 / 750 * 100vw);
}

.harassment__contact-notes li {
  padding-left: 1em;
  text-indent: -1em;
  font-size: calc(28 / 750 * 100vw);
  line-height: 1.75;
  font-weight: normal;
}

@media screen and (min-width: 960px) {
  .harassment__contact {
    max-width: 700px;
    margin: 65px auto;
  }

  .harassment__contact-title {
    padding: 12px 20px;
    font-size: 14px;
  }

  .harassment__contact-mail {
    padding: 20px;
    font-size: 18px;
  }
  .harassment__contact-mail span {
    font-size: 14px;
    margin-top: 15px;
  }

  .harassment__contact-notes {
    margin-top: 10px;
    margin-bottom: 0;
  }

  .harassment__contact-notes li {
    font-size: 14px;
  }
}

/* -----------------------------------
action list
----------------------------------- */

.harassment__action-lead {
  margin: 0 0 calc(16 / 750 * 100vw);
  font-size: calc(26 / 750 * 100vw);
  line-height: 1.75;
  font-weight: normal;
}

.harassment__annotation-list {
  list-style: none;
  padding: 0;
  margin: 0 0 calc(40 / 750 * 100vw);
}

.harassment__annotation-list li {
  padding-left: 1em;
  text-indent: -1em;
  font-size: calc(24 / 750 * 100vw);
  line-height: 1.75;
  font-weight: normal;
}

.harassment__action-list {
  list-style: none;
  display: grid;
  gap: calc(24 / 750 * 100vw);
  counter-reset: action;
  margin: 0 0 calc(80 / 750 * 100vw);
  padding-left: calc(20 / 750 * 100vw);
}

.harassment__action-item {
  counter-increment: action;
  display: grid;
  grid-template-columns: calc(36 / 750 * 100vw) 1fr;
  gap: calc(12 / 750 * 100vw);
  align-items: start;
  font-size: calc(30 / 750 * 100vw);
  line-height: 1.75;
  font-weight: normal;
}

.harassment__action-item::before {
  content: counter(action);
  display: grid;
  place-items: center;
  width: calc(36 / 750 * 100vw);
  height: calc(36 / 750 * 100vw);
  border-radius: 50%;
  background-color: #4a8ce2;
  color: #fff;
  font-size: calc(22 / 750 * 100vw);
  font-weight: bold;
  line-height: 1;
  transform: translateY(calc(8 / 750 * 100vw));
}

.harassment__action-body {
  min-width: 0;
}

.harassment__action-title,
.harassment__action-note,
.harassment__action-choice {
  margin: 0;
}

.harassment__action-note,
.harassment__action-choice {
  margin-top: calc(8 / 750 * 100vw);
  font-size: calc(26 / 750 * 100vw);
}

.harassment__action-note--mark {
  padding-left: 1em;
  text-indent: -1em;
}

@media screen and (min-width: 960px) {
  .harassment__action-lead {
    margin-bottom: 8px;
    font-size: 15px;
  }

  .harassment__annotation-list {
    margin-bottom: 20px;
  }

  .harassment__annotation-list li {
    font-size: 12px;
  }

  .harassment__action-list {
    gap: 14px;
    padding-left: 20px;
    margin-bottom: 0;
  }

  .harassment__action-item {
    grid-template-columns: 22px 1fr;
    gap: 8px;
    font-size: 15px;
  }

  .harassment__action-item::before {
    width: 22px;
    height: 22px;
    font-size: 12px;
    transform: translateY(2px);
  }

  .harassment__action-note,
  .harassment__action-choice {
    margin-top: 4px;
    font-size: 13px;
  }
}
