@charset "utf-8";

@media screen and (min-width: 1440px) {
  article > .container {
    max-width: 920px;
  }
}

article h1 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.66;
  letter-spacing: 0.16em;
  margin-bottom: 0.5rem;
}
article .post_date > time {
  font-family: "Oswald", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.42;
  letter-spacing: 0.16em;
}
article .project_team_name {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.16em;
}
article .post_date,
article .project_team_name {
  margin-bottom: 3.5rem;
}

/* table_of_contents */
article .table_of_contents {
  background-color: #F1F2EC;
  padding: 1rem 1.5rem;
  margin-bottom: 2.5rem;
}
article .table_of_contents h2 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.16;
  margin-bottom: 0.5rem;
}
article .table_of_contents ul {
  padding: 0 1rem;
}
article .table_of_contents ul li {
  margin-top: 0.5rem;
}
article .table_of_contents > ul > li > a {
  font-size: 1rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.16em;
}
article .table_of_contents > ul > li > ul > li > a {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.16em;
}
article .table_of_contents > ul > li > a:hover,
article .table_of_contents > ul > li > ul > li > a:hover {
  text-decoration: underline;
}

/* post_thumbnail */
/*
.post_thumbnail {
  position: relative;
  margin-bottom: 2.5rem;
  overflow: hidden;
}
.post_thumbnail > img {
  max-width: none;
  display: block;
  position: relative;
  width: 100%;
  width: calc(100% / 480* 1016);
  left: 0;
  left: calc(100% / 480* -320);
}
@media screen and (min-width: 1024px) {
  .post_thumbnail > img {
    width: 920px;
    left: 0;
    left: calc((100% - 920px) / 2);
  }
}
@media print, screen and (min-width: 1440px) {
  .post_thumbnail > img {
    width: 100%;
    left: 0;
  }
}
*/

.post_thumbnail {
  position: relative;
  width: 100%;
  height: 100%;
  max-height: 320px;
  overflow: hidden;
  margin-bottom: 2.5rem;
}
.post_thumbnail .img_wrap {
  padding-top: 110.3448%
}
@media screen and (min-width: 435px) {
  .post_thumbnail {
    max-height: 480px;
  }
  .post_thumbnail .img_wrap {
    padding-top: 73.5632%;
  }
}
@media screen and (min-width: 1024px) {
  .post_thumbnail .img_wrap {
    padding-top: 65.934%;
  }
}
@media screen and (min-width: 1440px) {
  .post_thumbnail .img_wrap {
    padding-top: 52.1739%;
  }
}
.post_thumbnail .img_wrap > img {
  width: auto;
  max-width: none;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0;
}

/* lower_btn_area */
.lower_btn_area {
  margin-bottom: 7.5rem;
}
@media screen and (min-width: 1024px) {
  .lower_btn_area {
    margin-bottom: 12.5rem;
  }
}

/* btn */
.btn_prev_list .btn_base {
  color: #fff;
  background-color: #000;
}
.btn_prev_list .btn_base::after {
  background: linear-gradient(52.85deg, #EEC66F 10.61%, #FF9D00 89.71%);
}
.btn_prev_list .btn_base:hover {
  color: #000;
}
.btn_prev_list {
  max-width: 18.125rem;
  margin: 0 auto;
}
/* prev_next_nav */
.prev_next_nav .visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: auto;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}
.prev_next_nav {
  display: flex;
  justify-content: center;
  margin-top: 1em;
  padding-top: 0.5em;
  margin-bottom: 1.625rem;
}
.prev_next_nav .pagination_list {
  display: flex;
}
.prev_next_nav .pagination_list li {
  margin: 0 5px;
  font-family: "Oswald", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.16em;
  color: #6D6D6C;
}
.prev_next_nav .pagination_list a {
  display: block;
  width: 2.8125rem;
  height: 2.8125rem;
  font-family: "Oswald", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.16em;
  color: #6D6D6C;
  text-decoration: none;
  text-align: center;
  padding-top: 0.8em;
}
.prev_next_nav .pagination_list a:not(:has(.prev[aria-hidden="true"])):hover {
  color: #000;
  background-color: #f1f1f1;
}
.prev_next_nav .pagination_list a[aria-current="page"] {
  color: #000;
}
.prev_next_nav .pagination_list .btn_prev a > .prev,
.prev_next_nav .pagination_list .btn_next a > .next {
  display: inline-block;
  width: 0.875rem;
  height: 0.875rem;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
.prev_next_nav .pagination_list .btn_prev a > .prev[aria-hidden="true"] {
  background-image: url(./assets/images/pagination_arrow_gray_left.svg);
}
.prev_next_nav .pagination_list .btn_prev a > .prev[aria-hidden="false"] {
  background-image: url(./assets/images/pagination_arrow_black_right.svg);
  transform: rotate(180deg);
}
.prev_next_nav .pagination_list .btn_next a > .next[aria-hidden="true"] {
  background-image: url(./assets/images/pagination_arrow_black_right.svg);
}
.prev_next_nav .pagination_list .btn_next a > .next[aria-hidden="false"] {
  background-image: url(./assets/images/pagination_arrow_gray_left.svg);
  transform: rotate(180deg);
}

/* margin */
.editor-styles-wrapper {
  padding-bottom: 3rem;
}
.editor-styles-wrapper * {
  /* margin: 0 1rem; */
}
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4,
.editor-styles-wrapper h5,
.editor-styles-wrapper h6,
.editor-styles-wrapper ul,
.editor-styles-wrapper ol,
.editor-styles-wrapper li,
.editor-styles-wrapper figure,
.editor-styles-wrapper table,
.editor-styles-wrapper thead,
.editor-styles-wrapper tbody,
.editor-styles-wrapper tr,
.editor-styles-wrapper th,
.editor-styles-wrapper td,
.editor-styles-wrapper div,
.editor-styles-wrapper a {
  margin-left: 0;
  margin-right: 0;
}
.editor-styles-wrapper strong,
.editor-styles-wrapper em,
.editor-styles-wrapper mark,
.editor-styles-wrapper s,
.editor-styles-wrapper p > a {
  margin-left: 0.25em;
  margin-right: 0.25em;
}

/* heading */
.wp-block-post-title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.66;
  letter-spacing: 0.16em;
  margin: 0.5em 0 2.5rem;
}

.editor-styles-wrapper h2 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.16em;
  margin: 2.5rem 0;
  width: 100%;
}

.editor-styles-wrapper h3 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.16em;
  margin: 2.5rem 0;
}

.editor-styles-wrapper h4 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.16em;
  margin: 2.5rem 0;
}

.editor-styles-wrapper h5,
.editor-styles-wrapper h6 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.16em;
  margin: 2.5rem 0;
}

/* paragraph */
.editor-styles-wrapper p {
  margin-top: 2.5rem;
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.16em;
  clear: both;
  overflow: hidden;
}
.editor-styles-wrapper p > strong {
  font-weight: bold;
}
.editor-styles-wrapper p > em {
  font-style: italic;
}

/* text alignment */
.editor-styles-wrapper .has-text-align-left {
  text-align: left;
}
.editor-styles-wrapper .has-text-align-center {
  text-align: center;
}
.editor-styles-wrapper .has-text-align-right {
  text-align: right;
}

/* list */
.editor-styles-wrapper ol, .editor-styles-wrapper ul {
  list-style-type: none;
  padding-left: 0;
  margin: 2rem 1em 0;
}
.editor-styles-wrapper ol > li > ol, .editor-styles-wrapper ul > li > ul {
  margin: 0;
}
.editor-styles-wrapper li {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.16em;
  margin-top: 0.5em;
}

.editor-styles-wrapper ol > li div.rich-text,
.editor-styles-wrapper ul > li div.rich-text {
  position: absolute;
  top: 0;
  padding-left: 1rem;
}

/* unordered list */
.editor-styles-wrapper ul li,
.editor-styles-wrapper ul > li > ul > li,
.editor-styles-wrapper ul > li > ul > li > ul > li,
.editor-styles-wrapper ul > li > ul > li > ul > li > ul > li {
  padding-left: 1em;
  text-indent: -1em;
}

.editor-styles-wrapper ul li::before {
  content: "";
  display: inline-block;
  background-color: #000;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  margin-right: 0.5em;
  vertical-align: middle;
}

.editor-styles-wrapper ul > li > ul > li::before {
  content: "";
  display: inline-block;
  background-color: transparent;
  width: 0.5em;
  height: 0.5em;
  border: 2px solid #000;
  border-radius: 50%;
  margin-right: 0.5em;
  vertical-align: middle;
}
.editor-styles-wrapper ul > li > ul > li > ul > li::before {
  content: "";
  display: inline-block;
  background-color: #000;
  width: 0.4em;
  height: 0.4em;
  border-radius: 0;
  margin-right: 0.5em;
  vertical-align: middle;
} 
.editor-styles-wrapper ul > li > ul > li > ul > li > ul > li::before {
  content: "";
  display: inline-block;
  background-color: transparent;
  width: 0.4em;
  height: 0.4em;
  border: 2px solid #000;
  margin-right: 0.5em;
  vertical-align: middle;
  /* width: 140px; */
}

/* ordered list */
.editor-styles-wrapper ol {
  counter-reset: item 0;
}
.editor-styles-wrapper ol li,
.editor-styles-wrapper ol > li > ol > li,
.editor-styles-wrapper ol > li > ol > li > ol > li,
.editor-styles-wrapper ol > li > ol > li > ol > li > ol > li {
  padding-left: 1em;
  text-indent: -0.5em;
}
.editor-styles-wrapper ol li::before {
  counter-increment: item 1;
  content: counter(item) '.';
  display: inline-block;
  font-size: 1rem;
}

.editor-styles-wrapper ol > li > ol > li {
  margin-left: 1em;
}

/* link */
.editor-styles-wrapper a {
  color: #000;
}
.editor-styles-wrapper a:hover {
  text-decoration: underline;
}
/* link icon */


/* table */
.editor-styles-wrapper table {
  width: 100%;
  border-width: 1px 0 0 1px;
  border-style: solid;
  border-color: #ddd;
  border-spacing: 0;
}

.editor-styles-wrapper table th {
  padding: 1em 0.6em;
  font-weight: 700;
  border-width: 0 1px 1px 0;
  border-style: solid;
  border-color: #ddd;
  background-color: #fff;
  width: 140px;;
  font-size: 0.875rem;
}

.editor-styles-wrapper table td {
  padding: 0.5em;
  border-width: 0 1px 1px 0;
  border-style: solid;
  border-color: #ddd;
  font-size: 0.875rem;
}
@media screen and (min-width: 1024px) {
  .editor-styles-wrapper table th {
    font-size: 1rem;
  }
  .editor-styles-wrapper table td {
    font-size: 1rem;
  }
}

.wp-block-table {
  margin: 20px 0;
  overflow-x: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
}

.wp-block-table::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}

/* table responsive */

.wp-block-table table td, .wp-block-table table th {
  white-space: nowrap;
}

/* table stripe */

.wp-block-table.is-style-stripes td, .wp-block-table.is-style-stripes th {
  border-color: #ddd;
}

.editor-styles-wrapper .is-style-stripes table tr:nth-child(2n-1) {
  background-color: #f9f9f9;
}

.editor-styles-wrapper .is-style-stripes-with-th table tr:nth-child(2n-1) {
  background-color: #f9f9f9;
}

.editor-styles-wrapper .is-style-stripes-with-th table tr th {
  background-color: transparent;
}

/* image */
.editor-styles-wrapper img {
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 5px 0;
  display: block;
}
@media screen and (min-width: 1024px) {
  .editor-styles-wrapper img {
    width: auto;
    margin: 10px 0;
  }
  .editor-styles-wrapper figure.alignleft img {
    float: left;
  }
  .editor-styles-wrapper figure.aligncenter img {
    text-align: center;
    margin: 0 auto;
  }
  .edtor-styles-wrapper figure.alignright img {
    float: right;
  }
}

/* column */
/* .wp-block-columns {
    border: 1px solid #ddd;
}

@media (min-width: 782px) {
  .wp-block-column:not(:last-child) {
    border-right: 1px solid #ddd;
  }
} */
.wp-block-column {
  flex-grow: 1;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}

.wp-block-columns {
  display: flex;
  margin-bottom: 1.75em;
  flex-wrap: wrap;
}

.wp-block-columns p {
  height: 100%;
  padding-left: 1em;
  padding-right: 1em;
  display: flex;
  align-items: center;
  margin: 0;
}

@media screen and (min-width: 1024px) {
  .wp-block-columns {
    flex-wrap: nowrap;
  }
  .wp-block-column {
    flex-basis: 0;
    flex-grow: 1;
  }
}

/* blockquote */
.wp-block-quote {
  border-left: 2px solid #999;
  overflow-wrap: break-word;
  background-color: #f9f9f9;
  padding: 1em;
  margin-top: 2.5rem;
  position: relative;
}
/*
.wp-block-quote::after {
  content: '\0201c';
  position: absolute;
  top: 4px;
  left: 12px;
  font-size: 1.25rem;
  color: #999;
}
*/
.wp-block-quote p {
  margin-top: 0;
}
.wp-block-quote cite {
  display: block;
  margin-top: 0.8em;
  text-align: right;
}

/* gallery */
/*
.wp-block-group.gallery > * {
  float: left;
  max-width: 100%;
  margin-bottom: 20px;
  margin-right: 20px;
}
@media (min-width:600px) {
  .wp-block-group.gallery > * {
    
  }
}
*/

/* button */
.wp-block-button {
}

.wp-block-button .wp-block-button__link {
  color: #fff;
}
