@charset "UTF-8";
:root {
  /* color */
  --color-white: #ffffff;
  --color-text: #4f4f4f;
  --color-text-blue: #005587;
  --color-bg-light: #eefaff;
  --color-bg-dark: #eaf1f8;
  --color-blue-light: #0bbbef;
  --color-blue-main: #035788;
  --color-blue-medium: #046b9d;
  --color-blue-dark: #032a57;
  --color-green-light: #5083a1;
  --color-orange: #ff8617;
  --color-line: #d9d9d9;
  --color-border: #cfd8e3;
  /* font */
  --font-sans: YuGothic, "Yu Gothic", "游ゴシック体", "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --font-en: Arial, "Helvetica Neue", Helvetica, sans-serif;
}

.p-policy-page {
  background: linear-gradient(180deg, var(--color-bg-light) 0%, var(--color-white) 100%);
}

.p-policy-page__content {
  padding-top: 120rem;
}
@media only screen and (max-width: 1271px) {
  .p-policy-page__content {
    padding-top: 80rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-policy-page__content {
    padding-top: 56rem;
  }
}

.p-policy-page__editor {
  max-width: 1200rem;
  margin-inline: auto;
  color: var(--color-text);
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.64rem;
}
@media only screen and (max-width: 767px) {
  .p-policy-page__editor {
    font-size: 14rem;
    line-height: 1.8;
    letter-spacing: 0.56rem;
  }
}

.p-policy-page__editor p {
  margin: 0;
  font: inherit;
  letter-spacing: inherit;
}

.p-policy-page__editor p + p {
  margin-top: 24rem;
}

.p-policy-page__editor p.is-no-margin {
  margin-top: 0;
}

.p-policy-page__editor ol,
.p-policy-page__editor ul {
  margin: 32rem 0 0;
  padding-left: 0;
  list-style: none;
}

.p-policy-page__editor li {
  position: relative;
  margin-top: 24rem;
}

.p-policy-page__editor li:first-child {
  margin-top: 0;
}

.p-policy-page__editor ol {
  counter-reset: policy-counter;
}

.p-policy-page__editor ol > li {
  display: grid;
  grid-template-columns: 1.6em 1fr;
  -moz-column-gap: 0.4em;
       column-gap: 0.4em;
  padding-left: 0;
  counter-increment: policy-counter;
}

.p-policy-page__editor ol > li::before {
  position: static;
  color: var(--color-text);
  content: counter(policy-counter) ".";
}

.p-policy-page__editor ul > li {
  padding-left: 18rem;
}

.p-policy-page__editor ul > li::before {
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 6rem;
  height: 6rem;
  background-color: var(--color-blue-light);
  content: "";
  transform: translateY(-50%);
}

.p-policy-page__editor ol + p,
.p-policy-page__editor ul + p {
  margin-top: 32rem;
}

.p-policy-page__editor ol + h2,
.p-policy-page__editor ul + h2 {
  margin-top: 80rem;
}

.p-policy-page__editor ol + h3,
.p-policy-page__editor ul + h3 {
  margin-top: 48rem;
}

.p-policy-page__editor h2 {
  position: relative;
  margin: 80rem 0 32rem;
  padding-left: 28rem;
  color: var(--color-blue-main);
  font-size: 32rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1.28rem;
}
@media only screen and (max-width: 767px) {
  .p-policy-page__editor h2 {
    margin: 56rem 0 24rem;
    padding-left: 16rem;
    font-size: 20rem;
    line-height: 1.45;
    letter-spacing: 0.8rem;
  }
}

.p-policy-page__editor h2::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 6rem;
  height: 48rem;
  background-color: var(--color-blue-light);
  content: "";
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .p-policy-page__editor h2::before {
    top: 14.5rem;
    width: 5rem;
    height: 28rem;
  }
}

.p-policy-page__editor h2 + p,
.p-policy-page__editor h2 + ol,
.p-policy-page__editor h2 + ul {
  margin-top: 0;
}

.p-policy-page__editor h3 {
  position: relative;
  margin: 48rem 0 16rem;
  padding-left: 16rem;
  color: var(--color-blue-main);
  font-size: 24rem;
  font-weight: 700;
  line-height: 1.6666666667;
  letter-spacing: 0.96rem;
}
@media only screen and (max-width: 767px) {
  .p-policy-page__editor h3 {
    margin: 40rem 0 16rem;
    padding-left: 14rem;
    font-size: 18rem;
    line-height: 1.5;
    letter-spacing: 0.72rem;
  }
}

.p-policy-page__editor h3::before {
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 7rem;
  height: 7rem;
  background-color: var(--color-blue-light);
  content: "";
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .p-policy-page__editor h3::before {
    top: 13.5rem;
    width: 6rem;
    height: 6rem;
  }
}

.p-policy-page__editor h3 + p,
.p-policy-page__editor h3 + ol,
.p-policy-page__editor h3 + ul {
  margin-top: 0;
}

.p-policy-page__editor a {
  color: var(--color-blue-main);
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: opacity 0.3s ease;
}

.p-policy-page__editor strong {
  font-weight: 700;
}

.p-policy-page__editor .wp-block-spacer {
  margin-top: 0;
  margin-bottom: 0;
}

.p-policy-page__sns {
  padding-top: 120rem;
  padding-bottom: 120rem;
}
@media only screen and (max-width: 1271px) {
  .p-policy-page__sns {
    padding-top: 88rem;
    padding-bottom: 88rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-policy-page__sns {
    padding-top: 64rem;
    padding-bottom: 64rem;
  }
}

@media only screen and (min-width: 1272px) and (hover: hover) and (pointer: fine) {
  .p-policy-page__editor a:hover {
    opacity: 0.7;
  }
}
/* table */
.p-policy-page__editor figure.wp-block-table {
  margin: 64rem 0 0;
}

.p-policy-page__editor figure.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
}

.p-policy-page__editor figure.wp-block-table td {
  padding: 24rem 0 26rem;
  border: 0;
  border-top: 1rem solid #d9dfe3;
  color: var(--color-text);
  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  vertical-align: top;
}

.p-policy-page__editor figure.wp-block-table tr:last-child td {
  border-bottom: 1rem solid #d9dfe3;
}

.p-policy-page__editor figure.wp-block-table td:first-child {
  position: relative;
  width: 200rem;
  padding-right: 24rem;
  font-weight: 700;
}

.p-policy-page__editor figure.wp-block-table td:first-child::after {
  position: absolute;
  left: 0;
  bottom: -1rem;
  width: 200rem;
  height: 1rem;
  background-color: var(--color-blue-main);
  content: "";
}

.p-policy-page__editor figure.wp-block-table td:nth-child(2) {
  padding-left: 24rem;
}

.p-policy-page__editor figure.wp-block-table td p {
  margin: 0;
}

.p-policy-page__editor figure.wp-block-table td p + p {
  margin-top: 24rem;
}

.p-policy-page__editor figure.wp-block-table tr:first-child td {
  border-top: 0;
}

@media only screen and (max-width: 767px) {
  .p-policy-page__editor figure.wp-block-table {
    margin-top: 40rem;
  }
  .p-policy-page__editor figure.wp-block-table table,
  .p-policy-page__editor figure.wp-block-table tbody,
  .p-policy-page__editor figure.wp-block-table tr,
  .p-policy-page__editor figure.wp-block-table td {
    display: block;
    width: 100%;
  }
  .p-policy-page__editor figure.wp-block-table td {
    padding: 16rem 0;
  }
  .p-policy-page__editor figure.wp-block-table td:first-child {
    width: 100%;
    padding-right: 0;
    padding-bottom: 12rem;
  }
  .p-policy-page__editor figure.wp-block-table td:first-child::after {
    width: 100%;
  }
  .p-policy-page__editor figure.wp-block-table td:nth-child(2) {
    padding-top: 16rem;
    padding-left: 0;
  }
  .p-policy-page__editor figure.wp-block-table td p + p {
    margin-top: 16rem;
  }
  .p-policy-page__editor ul > li {
    padding-left: 18rem;
  }
  .p-policy-page__editor ul > li::before {
    position: absolute;
    top: 0.85em;
    left: 0;
    width: 5rem;
    height: 5rem;
    transform: translateY(-50%);
  }
}