@charset "utf-8";
/*********************************
* ブロックエディタ（News / ポリシーページ）CSS
**********************************/
.newsPageDetails-contents,
.singlePage-contents,
.wp-block-post-content {
  font-size: 4.07vw;
  font-weight: var(--font-light-weight);
  line-height: 2;
  letter-spacing: 0.05em;
}
.newsPageDetails-contents {
  letter-spacing: 0.08em;
}
main._en .newsPageDetails-contents {
  letter-spacing: 0.05em;
}
@media screen and (width > 768px) {
  .newsPageDetails-contents,
  .singlePage-contents,
  .wp-block-post-content {
    font-size: clamp(12px, 7.013px + 0.649vw, 20px);
  }
}

/***************
* 見出し
****************/
h1.wp-block-heading {
  margin: 0.6em 0 0;
  padding: 0;
  font-size: 6.1vw;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (width > 768px) {
  h1.wp-block-heading {
    font-size: clamp(29px, 10.922px + 2.354vw, 58px);
  }
}

h2.wp-block-heading {
  margin: 2em 0 0;
  padding: 0;
  font-size: 5.6vw;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (width > 768px) {
  h2.wp-block-heading {
    font-size: clamp(30px, 18.779px + 1.461vw, 48px);
  }
}

h3.wp-block-heading {
  margin: 2em 0 0;
  padding: 0;
  font-size: 5.2vw;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (width > 768px) {
  h3.wp-block-heading {
    font-size: clamp(24px, 13.403px + 1.38vw, 41px);
  }
}

h4.wp-block-heading {
  margin: 2em 0 0;
  padding: 0;
  font-size: 4.9vw;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (width > 768px) {
  h4.wp-block-heading {
    font-size: clamp(20px, 11.273px + 1.136vw, 34px);
  }
}

h5.wp-block-heading {
  margin: 2em 0 0;
  padding: 0;
  font-size: 4.5vw;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (width > 768px) {
  h5.wp-block-heading {
    font-size: clamp(17px, 10.143px + 0.893vw, 28px);
  }
}

h6.wp-block-heading {
  margin: 2em 0 0;
  padding: 0;
  font-size: 4.2vw;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (width > 768px) {
  h6.wp-block-heading {
    font-size: clamp(14px, 7.766px + 0.812vw, 24px);
  }
}


/***************
* 段落
*  - 管理画面用も併記
****************/
.newsPageDetails-contents,
.singlePage-contents,
.wp-block-post-content {
  & p {
    margin: 1em 0 0;
    font-size: 4.07vw;
    font-weight: var(--font-light-weight);
    line-height: 2;
  }
  & p + p {
    margin-top: 2em;
  }
  > *:first-child {
    margin-top: 0;
  }
}
@media screen and (width > 768px) {
  .newsPageDetails-contents,
  .singlePage-contents,
  .wp-block-post-content {
    & p {
      font-size: clamp(12px, 7.013px + 0.649vw, 20px);
    }
  }
}

/***************
* 装飾
*  - 管理画面用も併記
****************/
.newsPageDetails-contents,
.singlePage-contents,
.wp-block-post-content {
  & strong {
    font-weight: 700;
  }
  & em {
    font-style: italic;
  }
  & code {
    font-family: 'Courier New', Courier, monospace;
    background-color: #333;
    color: #fff;
    padding: .5em .5em .3em .5em;
    border-radius: 2px;
  }
  & sup {
    vertical-align: super;
    font-size: smaller;
  }
  & sub {
    vertical-align: sub;
    font-size: smaller;
  }
  & s {
    text-decoration: line-through;
  }
}


/***************
* リスト
****************/
/* リスト */
ul.wp-block-list {
  margin: 2em 0 0 0;
  padding: 0;
  list-style: none;
  & li {
    position: relative;
    margin-top: .5em;
    padding-left: 1em;
    line-height: 1.5;
    &::before {
      content: "";
      position: absolute;
      top: calc(((1em * 1.5) / 2) - 3px);
      left: 0;
      width: 8px;
      aspect-ratio: 1 / 1;
      background-color: var(--color-main);
      border-radius: 50%;
    }
    & ul {
      margin: .2em 0 .2em;
    }
    > ol {
      margin: .2em 0 .2em;
      counter-reset: child;
      > li {
        margin-top: 0.5em;
        padding-left: 0;
        counter-increment:child;
        &::before {
          position: relative;
          top: 0;
          left: 0;
          background: none;
          content: counter(child)".";
        }
        & div.rich-text { /*入力画面用*/
          display: inline-block;
        }
      }
    }
  }
}

ol.wp-block-list {
  margin: 2em 0 0 0;
  padding: 0;
  list-style: none;
  > li {
    position: relative;
    margin-top: .5em;
    padding-left: 1.5em;
    line-height: 1.5;
    counter-increment:first;
    &::before {
      position: absolute;
      left: 0;
      margin-right: .3em;
      content: counter(first)".";
      font-weight: 600;
      color: var(--color-main);
    }
    & ul {
      margin: .2em 0 .2em;
    }
    > ol {
      margin: .2em 0 .2em;
      counter-reset: child;
      > li {
        margin-top: .5em;
        padding-left: 0;
        counter-increment:child;
        &::before {
          position: relative;
          top: 0;
          left: 0;
          content: "("counter(child)")";
        }
        & div.rich-text { /*入力画面用*/
          display: inline-block;
        }
      }
    }
  }
}


/***************
* リンク
*  - 管理画面用も併記
****************/
.newsPageDetails-contents,
.singlePage-contents,
.wp-block-post-content {
  & a {
    color: var(--color-link);
    text-decoration: underline;
    transition: all .3s;
    &:hover {
      color: var(--color-link-hover);
      text-decoration: none;
    }
  }
}

/* .newsPageDetails-contents,
.singlePage-contents,
.wp-block-post-content {
  & a[href$=".pdf"]::after {
    width: 1em;
    aspect-ratio: 9 / 11;
    margin-bottom: -.2em;
    background-image: url('../img/parts/part_link_pdf.svg');
  }
  & a[target="_blank"]::after {
    width: .9em;
    aspect-ratio: 1 / 1;
    background-image: url('../img/parts/part_link_blank.svg');
  }
} */


/***************
* 画像
*  - 管理画面用も併記
****************/
.wp-block-image {
  margin-top: 2em;
}

.wp-block-image .aligncenter,
.wp-block[data-align=center]>.wp-block-image {
  float: none;
  display: table;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.wp-block[data-align=right]:has(.wp-block-image),
.wp-block[data-align=left]:has(.wp-block-image) {
  height: auto;
}

.wp-block-image .alignright,
.wp-block[data-align=right]>.wp-block-image {
  float: none;
  margin: 2em 0 0 auto;
  text-align: right;
}

.wp-block-image .alignleft,
.wp-block[data-align=left]>.wp-block-image {
  float: none;
  margin: 2em auto 0 0;
  text-align: left;
}

.wp-block-image a::after {
  content: none;
}






