.pageMv {
  padding-bottom: 8.1vw;
  margin-bottom: 2.375rem;
}
.pageMv__bg {  
  .animationLine-svg {
    position: absolute;
  }
  .svg-1 {
    top: 0vw;
    right: 0;
    width: 54%;
  }
  .svg-2 {
    top: 0vw;
    right: 0;
    width: 65%;
  }
  .item-1 {
    width: 4.9vw;
    top: 15vw;
    right: 5.5vw;
    left: auto;
    z-index: var(--indexRingTop);
  }
  .item-2 {
    width: 4.9vw;
    top: 15vw;
    right: 5.5vw;
    left: auto;
    z-index: var(--indexRingBottom);
  }
  .item-3 {
    width: min(15px, 1vw);
    top: 8.5vw;
    left: auto;
    right: 20.5vw;
    z-index: var(--indexRingTop);
  }
  .item-4 {
    width: min(8px, 0.5vw);
    top: 13vw;
    left: auto;
    right: 10.5vw;
    z-index: var(--indexRingTop);
  }
  .item-5 {
    width: 2.2vw;
    top: 16vw;
    left: auto;
    right: 14vw;
    z-index: var(--indexRingTop);
  }
}

@media screen and (max-width: 767px) {
  .pageMv {
    padding-bottom: 1.5rem;
    margin-bottom: 0;
  }
  .pageMv__bg {
    display: none;
  }
}

/* リンク関連 */
a.link-underline,
a.single__tag,
.single__WP-contents a {
  color: var(--linkBlue);
  text-decoration: underline;
}
a.link-underline:hover,
a.single__tag:hover,
.singleArticleHead-last__links a:hover {
  opacity: .7;
}
/* a.link-underline:visited,
.single__WP-contents a:visited {
  color: #800080;
} */

/* 共通コンテンツ */
.container-846 {
  max-width: 846px;
}
.container-1062 {
  max-width: 1062px;
}

.singleMain {
  padding-bottom: 10rem;

  h1 {
    color: var(--colorBlack);
    font-size: clamp(1.375rem, 1.155rem + 0.94vw, 2rem);
    line-height: calc(54 / 32);
    font-weight: 700;
    text-align: left;
  }
}

.single__time {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  display: inline-block;
  width: fit-content;
  color: #A6A6A6;
  font-family: var(--familyPoppins);
}
.single__tag,
a.single__tag {
  color: var(--colorBlack-3);
  display: inline-block;
  width: fit-content;
  margin-left: 0;
  border-radius: 2px;
  background-color: #eee;
  color: #A6A6A6;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: calc(16 / 10);
  padding: 0.4em 1.2em;
  text-decoration: none;
}

.singleArticleHead__times {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  margin-bottom: 0.375rem;
}
.single__WP-contents {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 6rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  .single__time {
    font-size: 0.75rem;
  }
  .single__WP-contents {
    margin-top: 3rem;
  }
}

/* ======================= */
/* ブロックエディタ内部 */
/* ======================= */
.single__WP-contents {
  h2,
  h3,
  h4,
  h5,
  h6 {
    color: var(--colorBlack);
  }
  
  
  h2 {
    font-size: 22px;
    font-weight: 700;
    line-height: calc(40 / 22);
    background-color: #EEEEEE;
    border-radius: 6px;
    width: 100%;
    padding: 0.545em 0.727em 0.545em 1.64em;
    position: relative;
  }
  h2::after {
    content: "";
    background: url(../../images/common/icon-h2.png) no-repeat center center / contain;
    width: 0.25rem;
    height: 1.25rem;
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
  }
  
  h3 {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: calc(36 / 20);
    padding-left: 1.375rem;
    position: relative;
  }
  h3::after {
    content: "";
    background: url(../../images/common/icon-h3.png) no-repeat center center / contain;
    width: 1.125rem;
    height: 1.125rem;
    position: absolute;
    left: 0;
    top: 0.5rem;
  }
  
  h4 {
    font-size: 1.125rem;
    font-weight: 600;
    line-height: calc(34 / 18);
    padding-left: 0.956875rem;
    position: relative;
  }
  h4::after {
    content: "";
    background: url(../../images/common/icon-h4.png) no-repeat center center / contain;
    width: 0.706875rem;
    height: 0.706875rem;
    position: absolute;
    left: 0;
    top: 0.8rem;
  }

  h5 {
    font-size: 1.125rem;
    font-weight: 600;
    line-height: calc(34 / 18);
  }

  h6 {
    font-size: 1rem;
    font-weight: 600;
    line-height: 2;
  }
  
  p,
  ol.wp-block-list li,
  ul.wp-block-list li {
    font-size: 1rem;
    font-weight: 400;
    line-height: 2;
  }

  ol.wp-block-list {
    list-style: decimal;
    padding-left: 1.25em;
  }

  ul.wp-block-list {
    list-style: disc;
    padding-left: 1.25em;
  }
  /* リスト丸reset */
  ul.wp-block-list.list-style__none {
    list-style: none;
    padding-left: 0;
  }
  ul.wp-block-list.list-style__none li::marker {
    content: "";
  }
  ul.wp-block-list.list-style__none li {
    padding-left: 1.3125rem;
    position: relative;
  }

  /* リスト：丸チェックアイコン */
  ul.wp-block-list.list-style__check li::after {
    content: "";
    display: inline-block;
    background: url(../../images/common/icon-liststyle-check.svg) no-repeat center center / contain;
    width: 0.875rem;
    height: 0.875rem;
    aspect-ratio: 1 / 1;
    position: absolute;
    top: 0.6rem;
    left: 0;
  }
  ul.wp-block-list.list-style__check li::after {
    content: "";
    display: inline-block;
    background: url(../../images/common/icon-liststyle-check.svg) no-repeat center center / contain;
    width: 0.875rem;
    height: 0.875rem;
    aspect-ratio: 1 / 1;
    position: absolute;
    top: 0.6rem;
    left: 0;
  }

  /* リスト：丸グレー */
  ul.wp-block-list.list-style__round--gray li::after {
    content: "";
    display: inline-block;
    background-color: #A6A6A6;
    width: 0.75rem;
    height: 0.75rem;
    aspect-ratio: 1 / 1;
    position: absolute;
    top: 0.7rem;
    left: 0;
    border-radius: 50%;
  }

  /* リスト：四角グレー */
  ul.wp-block-list.list-style__square--gray li::after {
    content: "";
    display: inline-block;
    background-color: #A6A6A6;
    width: 0.75rem;
    height: 0.75rem;
    aspect-ratio: 1 / 1;
    position: absolute;
    top: 0.7rem;
    left: 0;
    border-radius: 2px;
  }

  /* テーブル */
  .wp-block-table {
    overflow-x: auto;
    padding-bottom: 0.5rem;

    table {
      border-collapse: collapse;
      width: 100%;
      min-width: 900px;
    }

    thead {
      border: none;
      overflow: hidden;

      th {
        background-color: #ECECEC;
        color: var(--colorBlack);
        font-weight: 500;
        line-height: calc(24 / 14);
        font-size: 0.875rem;
        padding: 0.57143em 1em;
        border: none;
        text-align: center;
        border: 1px solid #D8D8D8;
        border-bottom: none;
      }
      th:first-child {
        width: 30%;
      }
    }

    tbody {
      td {
        background-color: #ffffff;
        border: 1px solid #D8D8D8;
        border-right: 1px solid #D8D8D8;
        font-size: 0.875rem;
        text-align: center;
        padding: 0.57143em 1em;
        -webkit-text-size-adjust: 100%;
        line-height: calc(24 / 14);
        font-weight: 400;
      }
    }
  }
  .table--blue {
    thead th {
      background-color: #E7EFF6;
      border-color: #C4D5EF;
    }
    tbody td {
      border-color: #C4D5EF;
    }
  }
  .table--pink {
    thead th {
      background-color: #FDF4F4;
      border-color: #EFD9D9;
    }
    tbody td {
      border-color: #EFD9D9;
    }
  }

  /* グループ：横並び */
  /* 2カラム用画像（画像：直接左右配置変え） */
  .wp-block-group.is-nowrap.groupFlex-2-column_group {
    gap: 3.5rem;
    align-items: flex-start;

    .groupFlex-2-column_img {
      width: 100%;
      flex: 0 1 45%;
    }
    .groupFlex-2-column_texts {
      flex: 1;
    }
  }

  @media screen and (max-width: 768px) {
    .wp-block-group.is-nowrap.groupFlex-2-column_group {
      display: block;
    }
    .groupFlex-2-column_texts--right {
      margin-top: 1rem;
    }
    .groupFlex-2-column_texts--left {
      margin-bottom: 1rem;
    }

    /* スペーサーSPのみクラス付与 */
    .wp-block-spacer.spacer-sp--s {
      height: 0 !important;
      margin-top: -0.5rem;
    }
    .wp-block-spacer.spacer-sp--m {
      height: 0.5rem !important;
    }
    .wp-block-spacer.spacer-sp--lg {
      height: 3rem !important;
    }
  }

  /* プロフィール */
  .profile {
    gap: 2.5rem;
  }
  .profile__details {
    gap: 0;
    flex: 1;
  }
  .profile__position {
    font-size: 0.75rem;
    line-height: calc(20 / 12);
    font-weight: 400;
    color: var(--colorBlack-2);
  }
  .profile__name {
    font-size: 1.125rem;
    font-weight: 500;
    line-height: calc(34 / 18);
  }
  .profile__text {
    font-size: 1rem;
    font-weight: 400;
    line-height: 2;
    color: var(--colorBlack-2);
    margin-top: 0.375rem;
  }

  /* 枠囲み */
  .group-frame {
    padding: 2.5rem!important;
  }
  @media screen and (max-width: 768px) {
    .group-frame {
      padding: 1rem!important;
    }
  }

  .wp-block-image :where(figcaption) {
    color: var(--colorBlack-2);
    font-size: 0.75rem;
    font-weight: 400;
    line-height: calc(20 / 12);
  }

  /* ======================== */
  /* ボタン */
  /* ======================== */
  /* パターン１：装飾なし青ボタン */
  .custom-wp-button .wp-block-button__link {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: fit-content;
    padding: 1.1em 2em;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    color: var(--colorWhite);
    border: 1px solid var(--linkBlue);
    background-color: var(--linkBlue);
    border-radius: 4px;
    transition: 
      background-color 0.3s,
      color 0.3s,
      transform 0.2s;
    cursor: pointer;
    position: relative;
    z-index: 2;
    overflow: hidden;
  }

  /* ホバー用 white */
  .custom-wp-button .wp-block-button__link::before {
    background: #fff;
    content: "";
    pointer-events: none;
    position: absolute;
    right: 0%;
    bottom: 0%;
    width: 500%;
    height: 500%;
    z-index: -1;
    transform: rotate(-45deg) translate(30%, 110%);
    transform-origin: right bottom;
    transition: transform .5s ease;
  }
  .custom-wp-button.en .wp-block-button__link {
    font-family: var(--familyPoppins);
    font-weight: 600;
  }

  /* パターン２：右にドットあり */
  .custom-wp-button.dot .wp-block-button__link {
    padding-right: 3.5em;
    border-radius: 100px;
    
    &:after {
      content: "";
      background-color: #fff;
      width: 0.25rem;
      height: 0.25rem;
      border-radius: 50%;
      position: absolute;
      right: 1.6875rem;
      top: 50%;
      transform: translateY(-50%) scale(1);
      transition: opacity .6s ease, transform .4s ease;
    }
    @media screen and (max-width: 768px) {
      padding: 1em 2.5em;
      
      &:after {
        right: 1.6875rem;
      }
    }
  }
  /* パターン3：外部リンクの場合 */
  .custom-wp-button.target-blank .wp-block-button__link {
    padding-right: 3.5em;
    border-radius: 100px;

    &:after {
      content: "";
      background: url(../../images/common/icon-link--white.svg) no-repeat center center / contain;
      width: 1.5rem;
      height: 1.5rem;
      aspect-ratio: 1 / 1;
      display: inline-block;
      position: absolute;
      right: 1.375rem;
      top: 50%;
      transform: translateY(-50%);
    }
  }

  /* ボタン：リンク風 */
  .button-link-noBg .wp-block-button__link {
    background-color: inherit;
    color: var(--linkBlue);
    text-decoration: underline;
    padding: 0;
    line-height: 2rem;
  }
  .button-link-noBg.target-blank .wp-block-button__link {
    position: relative;
    &::after {
      content: "";
      background: url(../../images/common/icon-link--blue.svg) no-repeat center center / contain;
      width: 1.5rem;
      height: 1.5rem;
      position: absolute;
      right: calc(-1.5rem - 0.25rem);
      top: 50%;
      transform: translateY(-50%);
    }
  }

  @media (hover: hover) {
    /* ボタン：リンク風 */
    .button-link-noBg:hover {
      opacity: 0.7;
    }

    .custom-wp-button .wp-block-button__link:hover {
      color: var(--linkBlue);
    }
    .custom-wp-button.dot .wp-block-button__link:hover::after {
      border: 1px solid var(--linkBlue);
      transform: translateY(-50%) scale(2.5);
      opacity: 0;
    }
    /* ホバー用 white */
    .custom-wp-button .wp-block-button__link:hover::before {
      transform: rotate(-45deg) translate(50%, 10%);
    }
  }
  .custom-wp-button .wp-block-button__link:focus-visible {
    background-color: #fff;
    color: var(--linkBlue);
  }
}

/* 見出し */
#ez-toc-container {
  margin-block: 1.5rem;

  .ez-toc-title {
    font-size: clamp(1.375rem, 1.155rem + 0.94vw, 2rem);
    line-height: calc(54 / 32);
    font-weight: 700;
  }
  .ez-toc-list {
    padding: 2rem;
    background-color: #EEEEEE;
    counter-reset: item;
    border-radius: 6px;
    margin-top: 1.5rem;

    & > li {
      counter-increment: item;
    }
    .ez-toc-link {
      color: var(--colorBlack);
      text-decoration: none;
      line-height: 2;
      font-weight: 400;
      padding-left: 1.375rem;
      position: relative;
    }
    .ez-toc-link + .ez-toc-link {
      margin-top: 0.5rem;
    }
    .ez-toc-link::before {
      content: counter(item);
      font-size: 0.75rem;
      font-weight: 600;
      font-family: var(--familyPoppins);
      position: absolute;
      left: 0.1rem;
      top: 0;
      z-index: 2;
    }
    .ez-toc-link::after {
      content: "";
      background-color: #fff;
      border-radius: 50%;
      width: 1.5rem;
      height: 1.5rem;
      aspect-ratio: 1 / 1;
      position: absolute;
      left: -0.5rem;
      top: 0rem;
    }
  }
}