.editor-styles-wrapper {
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "YuGothic",
    "游ゴシック",
    "Hiragino Kaku Gothic ProN",
    "Meiryo",
    sans-serif;
}

section.single-post {
  margin-bottom: 8rem;
  word-break: break-all;
}

/* H2
-------------------------*/
h2.wp-block-heading,
.category-read-block h2,
.h2-style,
.post h2 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 3.4375rem;
  margin-bottom: 1rem;
  color: #000;
  font-family: "Zen Maru Gothic";
  font-size: 1.625rem;
  font-style: normal;
  font-weight: 500;
  height: 140%
}

h2.wp-block-heading:first-child,
.category-read-block h2:first-child,
.h2-style:first-child,
.post h2:first-child {
  margin-top: 0;
}

@media screen and (max-width: 540px) {

  h2.wp-block-heading,
  .category-read-block h2,
  .h2-style,
  .post h2 {
    margin-bottom: 0.5rem;
    font-size: 1.25rem;
  }
}

h2.wp-block-heading::before,
.category-read-block h2::before,
.h2-style::before,
.post h2::before {
  left: 0;
  display: block;
  content: "";
  background-image: url(../img/common/deco-title.svg);
  background-repeat: no-repeat;
  background-size: contain;
  min-width: 3.3125rem;
  height: 3.5625rem;
}

@media screen and (max-width: 540px) {

  h2.wp-block-heading::before,
  .category-read-block h2::before,
  .h2-style::before,
  .post h2::before {
    min-width: 2.93744rem;
  }
}

/* H3
-------------------------*/
h3.wp-block-heading,
.h3-style,
.post h3 {
  position: relative;
  margin-top: 2rem;
  margin-bottom: 1.5rem;
  color: var(--green-600, #5EA321);
  font-family: "Zen Maru Gothic";
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 500;
  line-height: 180%;
  /* 2.7rem */
}

h3.wp-block-heading:before,
.h3-style:before,
.post h3::before {
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 11%;
  height: 3px;
  content: '';
  background: var(--green-600, #5EA321);
  z-index: 1;
}

h3.wp-block-heading::after,
.h3-style::after,
.post h3::after {
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 100%;
  height: 3px;
  content: '';
  background: var(--green-100, #F2F9E5);
}

@media screen and (max-width: 540px) {

  h3.wp-block-heading,
  .h3-style,
  .post h3 {
    margin-bottom: 0.8rem;
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
    /* 2.025rem */
  }
}

/* H4
-------------------------*/
h4.wp-block-heading,
.h4-style,
.post h4 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-top: 2rem;
  margin-bottom: 1.5rem;
  padding-left: 0.9rem;
  color: var(--black-700, #333);
  font-family: "Zen Maru Gothic";
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
  /* 1.575rem */
}

h4.wp-block-heading::before,
.h4-style::before,
.post h4::before {
  content: "";
  width: 0.3125rem;
  height: 1.5625rem;
  background: #5EA321;

  position: absolute;
  left: 0%;
  top: 50%;
  transform: translateY(-50%);
  height: 100%;
}

@media screen and (max-width: 540px) {

  h4.wp-block-heading,
  .h4-style,
  .post h4 {
    margin-bottom: 0.8rem;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    /* 1.4rem */
  }
}

/* H5
-------------------------*/
h5.wp-block-heading,
.single-post h5,
.h5-style,
.post h5 {
  margin-top: 1.3125rem;
  margin-bottom: 0.3rem;
  color: var(--green-600, #5EA321);
  font-family: "Zen Maru Gothic";
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 500;
  line-height: 180%;
  /* 2.25rem */
}


@media screen and (max-width: 540px) {

  h5.wp-block-heading,
  .single-post h5,
  .h5-style,
  .post h5 {
    margin-bottom: 0.8rem;
    font-size: 1.0625rem;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
    /* 1.9125rem */
  }
}

/* H6
-------------------------*/
h6.wp-block-heading,
.single-post h6,
.h6-style,
.post h6 {
  margin-top: 1.3125rem;
  margin-bottom: 1.5rem;
  color: var(--black-700, #333);
  font-family: "Zen Maru Gothic";
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 500;
  line-height: 180%;
  /* 2.025rem */
}


@media screen and (max-width: 540px) {

  h6.wp-block-heading,
  .single-post h6,
  .h6-style,
  .post h6 {
    margin-bottom: 0.8rem;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
    /* 1.8rem */
  }
}

/* P
-------------------------*/
.editor-styles-wrapper p,
section.single-post p {
  /* margin-top: 1.3125rem; */
  margin-bottom: 1rem;
  color: #000;
  font-size: 1rem;
  font-style: normal;
  font-weight: 350;
  line-height: 180%;
  letter-spacing: 0.6px;


  /* 1.8rem */
  &.has-small-font-size {
    font-size: 0.685rem;
  }

  &.has-medium-font-size {
    font-size: 1rem;
  }

  &.has-large-font-size {
    font-size: 1.325rem;
  }
}

@media screen and (max-width: 540px) {

  .editor-styles-wrapper p,
  section.single-post p {
    font-size: 0.875rem;
  }

  .has-medium-font-size {
    font-size: 1.0625rem !important;
  }

  .has-large-font-size {
    font-size: 1.25rem !important;
  }

}



/*画像
-------------------------*/
section.single-post img {
  display: flex;
  width: 400px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 540px) {

  section.single-post img,
  .wp-block-image figure {
    width: 100%;
  }
}

.wp-block-image {
  margin-top: 1.3rem;
  margin-bottom: 1.3rem;
}

.wp-block-image img,
section.single-post .wp-block-image img {
  width: 100%;
  max-width: 100%;
  height: auto;
}

.wp-block-image .aligncenter {
  text-align: center;
}

.wp-block-image .wp-element-caption {
  color: #A7A7A7;

  font-size: 0.75rem;
  font-style: normal;
  font-weight: 350;
  line-height: 180%;
  /* 1.35rem */
}

/*リスト
-------------------------*/
.wp-block-list {
  border-left: 0.1875rem solid #bfbfbf;
  padding-left: 1.5rem;
  list-style: none;
  margin: 0 auto;

  @media screen and (max-width: 540px) {
    padding-left: 1rem;
    font-size: 0.875rem;
  }
}

ul.wp-block-list {
  li {
    &:before {
      content: "";
      width: 0.5rem;
      height: 0.5rem;
      background-color: #90B023;
      border-radius: 50%;
      display: inline-block;
      margin-right: 0.38rem;
    }
  }

}

ol.wp-block-list {
  list-style: none;

  li {
    counter-increment: list-item;

    &::before {
      content: counter(list-item) ".";
      display: inline-block;
      text-align: left;
      color: #444;
      font-family: Roboto;
      font-style: normal;
      font-weight: 500;
      line-height: 180%;
      /* 1.8rem */
    }

    a {
      text-decoration: underline;
    }
  }
}

.wp-block-heading:has(+ .wp-block-list) {
  margin-bottom: 0.5rem;
}

/* ボタン
-------------------------*/
.wp-block-heading:has(+ .wp-block-buttons) {
  margin-bottom: 1rem;
}

.wp-block-buttons {
  margin: 2.25rem 0;

  &.is-layout-flex {
    display: flex;
    flex-wrap: wrap;
    gap: 0.69rem;
  }

  &.is-vertical {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.69rem;
  }

  &.is-content-justification-center {
    justify-content: center;
  }
}

/* .wp-block-button { */

.wp-block-button .wp-block-button__link,
.wp-block-button .wp-element-button {
  position: relative;
  display: flex;
  min-width: 16.625rem;
  padding: 1.25rem 2.5rem;
  justify-content: center;
  align-items: center;
  gap: 1.875rem;
  color: var(--green-900, #006E09);
  font-family: "Zen Maru Gothic";
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 500;
  line-height: 160%;
  /* 1.8rem */
  border-radius: 3.125rem;
  border: 1px solid var(--green-900, #006E09);
  background: #FFF;
  text-decoration: none;

}

.wp-block-button .wp-block-button__link::after,
.wp-block-button .wp-element-button::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 6%;
  width: 0.75rem;
  height: 0.65rem;
  background-image: url(../img/icons/icon-link-arrow.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

/* } */


@media screen and (max-width: 540px) {

  .wp-block-button .wp-block-button__link,
  .wp-element-button {
    min-width: 312px;
    padding: 1.013rem 1rem;
    font-size: 0.9375rem;
    border-radius: 2.53244rem;
    border: 0.81px solid var(--green-900, #006E09);
  }
}

.c-button__icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 6%;
  width: 0.75rem;
}

.c-button:hover .c-button__icon path,
.c-button:hover .c-button__icon line {
  stroke: #fff;
}


/* メディアとテキストブロックの画像幅スライダーを非表示 */
.wp-block[data-type="core/media-text"] .components-range-control {
  display: none !important;
}

.wp-block[data-type="core/media-text"] .components-base-control:has(.components-range-control) {
  display: none !important;
}

/*引用
-------------------------*/
.wp-block-quote {
  border-left: 3px solid #bfbfbf;
  border-right: 3px solid #bfbfbf;
  padding: 0 calc(2.44rem - 3px);
  margin: 2.25rem auto;
  position: relative;
  box-sizing: border-box;

  @media screen and (max-width: 540px) {
    padding: 0 calc(1rem - 3px);
    margin: 0.6rem auto;
  }

  &::before {
    content: "";
    display: block;
    width: calc(100% + 6px);
    height: 0.6875rem;
    background-image: url(../img/common/quote-top-left.svg), url(../img/common/quote-top-right.svg);
    background-size: 0.6875rem 0.6875rem, 0.6875rem 0.6875rem;
    background-position: 0 0, right top;
    background-repeat: no-repeat;
    position: absolute;
    top: -9px;
    left: -3px;
    bottom: 0;

    @media screen and (max-width: 540px) {
      width: calc(100% + 0.36rem);
      top: -0.56rem;
      left: -0.16rem;
    }
  }

  &::after {
    content: "";
    display: block;
    width: calc(100% + 6px);
    height: 0.6875rem;
    background-image: url(../img/common/quote-bottom-left.svg), url(../img/common/quote-bottom-right.svg);
    background-size: 0.6875rem 0.6875rem, 0.6875rem 0.6875rem;
    background-position: 0 0, right top;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -9px;
    left: -3px;

    @media screen and (max-width: 540px) {
      width: calc(100% + 0.36rem);
      bottom: -0.58rem;
      left: -0.16rem;
    }
  }
}

.wp-block-quote ul.wp-block-list {
  border-left: none;
  padding-left: 0;
}

/* カラム
-------------------------*/
.wp-block-columns {
  display: flex;
  flex-wrap: wrap;
  gap: 1.12rem;

  &.graph_circle {
    img {
      height: 280px;
      width: auto;
    }

    @media screen and (max-width: 540px) {
      align-items: center;
      flex-direction: column;
    }
  }

  &.are-vertically-aligned-center {
    align-items: center;
  }

  .wp-block-column {
    &:has(.flex-fit) {
      flex: 1;
    }

    &.flex-fit {
      flex: 1;
    }
  }
}

/* 注釈
-------------------------*/
.single-post .chushaku {
  font-size: 0.8rem;
  line-height: 120%;
}

.single-post .chushaku ul {
  list-style-type: none;
}

/* 本文中のaタグ
-------------------------*/
.single-post p a {
  color: #006E09;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;

}


/* メディアとブロック
-------------------------*/
@media screen and (max-width: 540px) {
  .wp-block-media-text__content {
    padding: 0;
  }
}

/* テーブル
-------------------------*/

.single-post .table-style-green th,
.single-post .table-style-green td {
  border-collapse: collapse;
  border: 1px solid #90b023;
  font-size: 14px;
  padding: 8px;
  vertical-align: middle;
}

.single-post .table-style-green th {
  background: none;
  color: #90b023;
  text-align: center;
}

.single-post .table-style-green .table-style01_tit {
  color: #90b023;
  min-width: 84px;
  text-align: center;
}

/* カスタムcss */
.table-style-green {
  margin-bottom: 8px;
  border-collapse: collapse;
  /* セル同士の境界をくっつける */
  border-spacing: 0;
}

@media only screen and (max-width: 480px) {
  table {
    width: 100%;
  }

  .insertion_table {
    overflow-x: scroll;
    white-space: nowrap;
  }

  .insertion_table::-webkit-scrollbar {
    height: 5px;
  }

  .insertion_table::-webkit-scrollbar-track {
    background: #F1F1F1;
  }

  .insertion_table::-webkit-scrollbar-thumb {
    background: #BCBCBC;
  }
}

.single-post .table-style-green th,
.post .table-style-green td {
  max-width: 200px;
}

@media only screen and (max-width: 480px) {

  .single-post .table-style-green th,
  .single-post .table-style-green td {
    max-width: inherit;
  }
}


.table-style01_tit {
  font-weight: bold;
}

/* @media only screen and (max-width: 480px) {
  tr {
    display: flex;
    flex-direction: column;
    margin-bottom: 8px;
  }
} */

/*  */



/* 動画
-------------------------*/

iframe,
p iframe {
  max-width: 100%;
}

.wp-block-media-text__media img,
section.single-post .wp-block-media-text__media img,
section.single-post .wp-block-media-text__media a img {
  width: 100%;
}


/* リスト
-------------------------*/
.p-org-single-report-list {
  display: flex;
  flex-direction: column;
  gap: 1.3rem;
}

@media screen and (max-width: 540px) {
  .p-org-single-report-list {
    gap: 0.8rem;
  }
}


.p-org-single-report-list__item {
  display: flex;
  align-items: center;
  border-radius: 0.625rem;
  border: 2px solid var(--graygreen-500, #c5cfc6);
  background: var(--white, #fff);
  /* カード */
  box-shadow: 0 0 8px 4px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

@media screen and (max-width: 540px) {
  .p-org-single-report-list__item {
    padding: 0.9rem;
    gap: 0.75rem;
  }
}

.p-org-single-report-list__inner {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0.5rem;
}

@media screen and (max-width: 540px) {
  .p-org-single-report-list__inner {
    gap: 0.3rem;
  }
}

.p-org-single-report-list__figure {
  width: 25.2%;
  margin: 0;
}

@media screen and (max-width: 540px) {
  .p-org-single-report-list__figure {
    width: 7.5rem;
  }
}

.p-org-single-report-list .p-org-single-report-list__figure img {
  aspect-ratio: 3/2;
  object-fit: cover;
  width: 100%;
}

.p-org-single-report-list__body {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1;
  gap: 1.7rem;
  padding: 0 1.6rem 0 2.3rem;
}

@media screen and (max-width: 540px) {
  .p-org-single-report-list__body {
    padding: 0;
  }
}

p.p-org-single-report-list__data,
.single-post p.p-org-single-report-list__data {
  margin: 0;
  color: var(--gray-600, #a7a7a7);
  font-family: Roboto;
  font-size: 0.94331rem;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  /* 1.32063rem */
}

@media screen and (max-width: 540px) {

  p.p-org-single-report-list__data,
  .single-post p.p-org-single-report-list__data {
    font-size: 0.75rem;
  }
}

p.p-org-single-report-list__title,
.single-post p.p-org-single-report-list__title {
  margin: 0;
  color: var(--black-700, #333);
  font-family: "Zen Maru Gothic";
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
  /* 1.575rem */
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media screen and (max-width: 540px) {

  p.p-org-single-report-list__title,
  .single-post p.p-org-single-report-list__title {
    font-size: 1rem;
  }
}

@media screen and (max-width: 540px) {
  .p-org-single-report-list__icon {
    display: none;
  }
}

.p-org__more {
  color: var(--black-700, #333);
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
  text-align: right;
  background-color: transparent;
  display: block;
  margin-left: auto;
  border: none;
}

.p-org__more span {
  color: var(--darkorange-600, #e37a2c);
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}

.p-org-single-report-list__item.is-hidden {
  display: none;
}

/* 注意 nested cssだとgutenbergには反映されません */