/* ===============================
news
=============================== */

/* SP調整 ------------------ */
@media screen and (max-width:768px) {
  .md_title_page .en img {
    height: 32px;
  }
}

/* ===============================
pg_category_filter
=============================== */
.pg_category_filter {
  max-width: 900px;
  margin: 0 auto 1em;
}
.pg_category_filter_inner {
  position: relative;
  width: fit-content;
  margin: 0 0 0 auto;
}
.pg_category_filter_inner::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0 11px 0 auto;
  width: 12px;
  height: 10px;
  margin: auto;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background-color: #000;
  z-index: 2;
  pointer-events: none;
}
.pg_category_filter_select {
  display: block;
  min-width: 150px;
  border: 1px solid #b2b6b7;
  padding: 2px 30px 2px 15px;
  background-color: transparent;
}

/* SP調整 ------------------ */
@media screen and (max-width:768px) {
  .pg_category_filter {
    margin-bottom: 1.8em;
    padding: 0 var(--sp_side_gap);
  }
}

/* ===============================
pg_post
=============================== */
.pg_post {
  padding-bottom: 100px;
}
.pg_post_inner {
  max-width: 876px;
  margin: 0 auto;
  padding-top: 10px;
}
.pg_post_header {
  margin-bottom: 3.4em;
}
.pg_post_meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 0.2em;
}
.pg_post_meta > * + * {
  margin-left: 1em;
}
.pg_post_data {
  color: var(--color_green);
  letter-spacing: 0.2em;
}
.pg_post_cat_label {
  display: block;
  min-width: 90px;
  padding: 1px 0.5em 1px 0.6em;
  text-align: center;
  font-size: calc(13 / 16 * 1rem);
  color: #fff;
  line-height: 1.3;
  background-color: var(--color_green);
  letter-spacing: 0.1em;
}
.pg_post_new {
  font-size: calc(14 / 16 * 1rem);
  color: var(--color_red);
  letter-spacing: 0;
}
.pg_post_title {
  padding-bottom: 0.3em;
  font-size: calc(23 / 16 * 1rem);
  letter-spacing: 0.1em;
  border-bottom: 1px solid var(--color_green);
}

/* SP調整 ------------------ */
@media screen and (max-width:768px) {
  .pg_post {
    padding-bottom: 50px;
  }
  .pg_post_inner {
    padding: 0 var(--sp_side_gap) 10px;
  }
  .pg_post_header {
    margin-bottom: 2em;
  }
  .pg_post_meta {
    margin-bottom: 0.5em;
  }
  .pg_post_data {
    width: 100%;
    margin-bottom: 0.45em;
  }
  .pg_post_cat_label,
  .pg_post_cats {
    margin-left: 0;
  }
  .pg_post_title {
    padding-bottom: 0.8em;
    font-size: calc(20 / 16 * 1rem);
    line-height: 1.48;
  }
}

/* ===============================
pg_post_body
=============================== */
.pg_post_body {
  --post_gap: 2em;
  --post_gap_sm: 1em;
  --post_gap_lg: 3em;
  --post_line: 2;
  line-height: var(--post_line);
}

/* リンク ------------------ */
.pg_post_body a {
  color: var(--color_orange);
  text-decoration: none;
}

/* 見出し ------------------ */
.pg_post_body :where(h2, h3, h4) {
  line-height: 1.35;
  margin-block: var(--post_gap_lg) var(--post_gap_sm);
}
.pg_post_body :where(h2) { font-size: calc(20 / 16 * 1rem); }
.pg_post_body :where(h3) { font-size: calc(20 / 16 * 1rem); }
.pg_post_body :where(h4) { font-size: calc(18 / 16 * 1rem); }

/* 段落・基本ブロック ------------------ */
.pg_post_body :where(p, ul, ol, dl, pre, blockquote, figure, table) {
  margin-block: 0 var(--post_gap);
}
.pg_post_body :where(li) > :where(ul, ol) {
  margin-block: 0;
}

/* リスト（リセットで消えているので復元） ------------------ */
.pg_post_body :where(ul, ol) {
  padding-inline-start: 21px;
}
.pg_post_body :where(ul) { list-style: disc; }
.pg_post_body :where(ol) { list-style: decimal; }

/* リンク（本文だけ下線を戻す） ------------------ */
.pg_post_body :where(a) {
  text-decoration: underline;
  text-decoration-thickness: from-font;
  text-underline-offset: 3px;
}

/* figure / figcaption ------------------ */
.pg_post_body :where(figure) {
  margin-block: var(--post_gap_sm);
}
.pg_post_body :where(figcaption) {
  font-size: calc(13 / 16 * 1rem);
  opacity: 0.85;
  margin-block-start: 12px;
}

/* 引用 ------------------ */
.pg_post_body :where(blockquote) {
  padding: 14px 16px;
  border-inline-start: 4px solid var(--color_green);
  background: color-mix(in srgb, var(--color_green_100) 65%, transparent);
}
.pg_post_body :where(blockquote p) {
  margin-block: 16px;
}

/* コード ------------------ */
.pg_post_body :where(code) {
  font-size: calc(14 / 16 * 1rem);
  padding: 2px 6px;
  border-radius: 4px;
  background: color-mix(in srgb, #000 6%, transparent);
}
.pg_post_body :where(pre) {
  padding: 16px;
  overflow: auto;
  border-radius: 8px;
  background: color-mix(in srgb, #000 6%, transparent);
}
.pg_post_body :where(pre code) {
  padding: 0;
  background: transparent;
  line-height: 1.6;
}

/* 区切り線 ------------------ */
.pg_post_body :where(hr) {
  border: 0;
  border-top: 1px solid color-mix(in srgb, currentColor 20%, transparent);
  margin-block: var(--post_gap_lg);
}

/* テーブル ------------------ */
.pg_post_body :where(table) {
  width: 100%;
  border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
}
.pg_post_body :where(th, td) {
  padding: 10px 11px;
  border: 1px solid color-mix(in srgb, currentColor 12%, transparent);
  vertical-align: top;
}
.pg_post_body :where(th) {
  background: color-mix(in srgb, #000 4%, transparent);
  text-align: left;
}
.pg_post_body :where(.table_wrap) {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.pg_post_body :where(.table_wrap table) {
  margin-block: 0;
  min-width: 576px;
}

/* SP調整 ------------------ */
@media screen and (max-width: 768px) {
  :where(.pg_post_body img) {
    width: auto;
    height: auto;
    max-width: 100%;
  }
}

/* ===============================
page-numbers
=============================== */
ul.page-numbers {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: -30px auto 35px;
}
ul.page-numbers a,
ul.page-numbers span {
  display: grid;
  place-content: center;
  position: relative;
  width: 2.2em;
  height: 2.6em;
  border-radius: 6px;
  letter-spacing: 0;
}
ul.page-numbers .dots {
  width: 1.4em;
}
ul.page-numbers .current::after {
  content: "";
  display: block;
  position: absolute;
  width: calc(100% - 4px);
  position: absolute;
  inset: auto 0 0 0;
  margin: auto;
  border-top: 2px solid var(--color_green);
}

/* hoverデバイス ----------- */
@media (any-hover: hover) {
  ul.page-numbers a:hover {
    opacity: 1;
    background-color: var(--color_green_200);
  }
}

/* SP調整 ------------------ */
@media screen and (max-width:768px) {
  ul.page-numbers {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: -30px auto 35px;
  }
}

/*トキワ追加*/
.pg_post_title{
	padding-top: 60px;
	margin-top: -60px;
}