@charset "UTF-8";
.archive-nav-wrap nav {
  display: flex;
  justify-content: center;
  align-items: center;
}
.archive-nav-wrap nav .wp-block-query-pagination-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
}
.archive-nav-wrap nav .wp-block-query-pagination-numbers span.current {
  display: block;
  padding: 0.1em 0.6em;
  color: white;
  background-color: #31B1B0;
  margin: 0 0.2em;
  border: 1px solid white;
}
.archive-nav-wrap nav .wp-block-query-pagination-numbers a {
  display: block;
  padding: 0.1em 0.6em;
  border: 1px solid #333;
  color: #333;
  background-color: white;
  transition: color 300ms ease, background-color 300ms ease;
  margin: 0 0.2em;
}
.archive-nav-wrap nav .wp-block-query-pagination-numbers a:hover {
  color: white;
  background-color: #31B1B0;
  transition: color 300ms ease, background-color 300ms ease;
}
.archive-nav-wrap nav > a {
  display: inline-block;
}
.archive-nav-wrap nav > a > span.is-arrow-arrow {
  display: inline-block;
  width: 2.1em;
  height: 2.1em;
  border: 1px solid #31B1B0;
  line-height: 2.1;
  padding: 0 0.3em;
  color: #31B1B0;
  background-color: white;
  transition: color 300ms ease, background-color 300ms ease;
  text-align: center;
}
.archive-nav-wrap nav > a:hover > span.is-arrow-arrow {
  color: white;
  background-color: #31B1B0;
  transition: color 300ms ease, background-color 300ms ease;
}

main.column-main {
  padding-top: 0;
}

section.ttl {
  border-bottom: 3px solid #31B1B0;
}
section.ttl > div {
  max-width: 1240px;
  padding: 40px 30px;
  margin: 0 auto;
}
section.ttl > div h1 {
  font-size: 200%;
}
section.post01 {
  padding-bottom: 6em;
}
section.post01 .container ul {
  margin-bottom: 4em;
}
section.post01 .container ul > li {
  border-top: 1px solid #bababa;
}
section.post01 .container ul > li a {
  display: grid;
  grid-template-columns: 9em 10em auto;
  justify-content: flex-start;
  align-items: center;
  grid-template-rows: auto;
  padding: 16px 2em 24px 10px;
  color: #333;
  background-color: white;
  transition: color 300ms ease, background-color 300ms ease;
  text-decoration: none;
  position: relative;
}
section.post01 .container ul > li a > span.date, section.post01 .container ul > li a .wp-block-post-date {
  grid-row: 1/2;
  grid-column: 1/2;
}
section.post01 .container ul > li a > span.cat {
  grid-row: 1/2;
  grid-column: 2/3;
  color: white;
  line-height: 2;
  text-align: center;
  margin-right: 1em;
  height: 2em;
}
section.post01 .container ul > li a > span.cat.news {
  background-color: #C3CC00;
}
section.post01 .container ul > li a > span.cat.product {
  background-color: #31B1B0;
}
section.post01 .container ul > li a > span.cat.exhibition {
  background-color: #1D52B9;
}
section.post01 .container ul > li a > h3 {
  grid-row: 1/2;
  grid-column: 3/4;
  font-weight: 400;
  line-height: 1.4;
  font-size: 100%;
}
section.post01 .container ul > li a::after {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  position: absolute;
  right: 1em;
  top: calc(50% - 0.5em);
  background-color: #333;
  transition: background-color 300ms ease;
  -webkit-mask: url(../svgs/arrow04.svg) no-repeat center center;
  mask: url(../svgs/arrow04.svg) no-repeat center center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
section.post01 .container ul > li a:hover {
  color: #31B1B0;
  background-color: #efefef;
  transition: color 300ms ease, background-color 300ms ease;
}
section.post01 .container ul > li a:hover::after {
  background-color: #31B1B0;
  transition: background-color 300ms ease;
}
section.post01 .container ul > li:last-child {
  border-bottom: 1px solid #bababa;
}
section.post01 .container nav {
  display: flex;
  justify-content: space-between;
}
section.post01 .container nav .wp-block-query-pagination-numbers {
  margin: 0 auto;
}
section.case01 {
  padding-bottom: 6em;
}
section.case01 .container > ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 横3列固定 */
  gap: 2em;
  justify-content: start; /* 左寄せ */
  margin-bottom: 3em;
}
section.case01 .container > ul li {
  display: flex;
  flex-direction: column;
}
section.case01 .container > ul li img {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-color: white;
  margin-bottom: 1em;
  border: 1px solid #f0f0f0;
  border-radius: 0.5em;
}
section.case01 .container > ul li h4 {
  font-size: 150%;
  font-weight: 700;
  color: #31B1B0;
  padding-bottom: 0.2em;
}
section.case01 .container > ul li .wp-block-post-terms {
  margin-bottom: 0.3em;
}
section.case01 .container > ul li .wp-block-post-terms span {
  display: none;
}
section.case01 .container > ul li .wp-block-post-terms a {
  display: inline-block;
  border: 1px solid #333;
  padding: 0.2em 0.5em;
  pointer-events: none;
}
section.case01 .container > ul li .wp-block-post-terms a:not(:last-child) {
  margin-right: 0.5em;
}
section.case01 .container > ul li .custom-field {
  font-weight: 700;
  padding-bottom: 0.5em;
}
section.case01 .container > ul li .wp-block-post-date {
  margin-bottom: 1em;
}
section.case01 .container > ul li a.btn01 {
  margin-top: auto;
}
section.column-lead {
  background-color: #31B1B0;
  padding: 4em 0 0 0;
  color: white;
}
section.column01 {
  background-color: #31B1B0;
  padding: 4em 0 6em 0;
}
section.column01 .container {
  display: flex;
  justify-content: space-between;
}
section.column01 .container .main {
  width: calc(100% - 350px);
}
section.column01 .container .main ul {
  background-color: white;
  border-radius: 0.5em;
  padding: 20px;
  margin-bottom: 2em;
}
section.column01 .container .main ul li a {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 4em;
  color: #333;
  background-color: white;
  transition: color 300ms ease, background-color 300ms ease;
  padding: 1em;
  position: relative;
}
section.column01 .container .main ul li a > img {
  width: 30%;
  min-width: 300px;
  height: auto;
  aspect-ratio: 64/48;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  margin-right: 5%;
  border: 1px solid #f0f0f0;
  border-radius: 0.3em;
}
section.column01 .container .main ul li a div h4 {
  font-size: 150%;
  font-weight: 700;
  color: #31B1B0;
  padding-bottom: 0.5em;
}
section.column01 .container .main ul li a div span.cat {
  display: inline-block;
  border: 1px solid #333;
  padding: 0.2em 0.8em;
  margin-bottom: 0.5em;
  background-color: white;
}
section.column01 .container .main ul li a > span.new-flag {
  position: absolute;
  display: block;
  width: 5em;
  height: 2em;
  color: #31B1B0;
  background-color: #EDEE00;
  position: absolute;
  left: 1em;
  top: 1em;
  z-index: 10;
  line-height: 2em;
  text-align: center;
  font-weight: 700;
  border-radius: 0.3em 0 0 0;
}
section.column01 .container .main ul li a:hover {
  color: #31B1B0;
  background-color: #f5ffff;
  transition: color 300ms ease, background-color 300ms ease;
}
section.column01 .container .main .archive-nav-wrap nav > a {
  display: inline-block;
}
section.column01 .container .main .archive-nav-wrap nav > a > span.is-arrow-arrow {
  border: 1px solid white;
}
section.column01 .container .main .archive-nav-wrap nav .wp-block-query-pagination-numbers > span.dots {
  color: white;
}
section.column01 .container .sidebar {
  width: 280px;
}
section.column01 .container .sidebar h2 {
  font-size: 150%;
  font-weight: 700;
  color: white;
  padding-bottom: 0.3em;
}
section.column01 .container .sidebar ul.column-category-list {
  margin-bottom: 3em;
}
section.column01 .container .sidebar ul.column-category-list > a {
  display: none;
}
section.column01 .container .sidebar ul.column-category-list > a + li {
  display: none;
}
section.column01 .container .sidebar ul.column-category-list li {
  margin-bottom: 0.8em;
}
section.column01 .container .sidebar ul.column-category-list li a {
  display: inline-block;
  background-color: white;
  font-weight: 700;
  padding: 0.6em 0.8em;
  border-radius: 0.3em;
}
section.column01 .container .sidebar ul.column-category-list li a::before {
  content: "";
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  margin-right: 0.5em;
  background-color: #31B1B0;
  border-radius: 50%;
}
section.column01 .container .sidebar ul.featured-column-list li a {
  color: white;
  display: block;
  margin-bottom: 2em;
}
section.column01 .container .sidebar ul.featured-column-list li a img {
  width: 100%;
  height: auto;
  aspect-ratio: 2/1;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  margin-bottom: 0.3em;
}
section.column01 .container .sidebar ul.featured-column-list li a h3 {
  font-size: 100%;
  font-weight: 700;
}
section.column01 .container .sidebar ul.featured-column-list li a p.featured-date {
  font-size: 85%;
}
section.column01 .container .sidebar ul.featured-column-list li a:hover {
  color: #EDEE00;
}

@media screen and (max-width: 1200px) {
  section.column01 .container .main {
    width: calc(100% - 320px);
  }
  section.column01 .container .main ul li a > img {
    width: 26%;
    min-width: 260px;
    margin-right: 3%;
  }
}
@media screen and (max-width: 1000px) {
  section.case01 .container > ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 横2列固定 */
  }
  section.column01 .container {
    display: block;
  }
  section.column01 .container .main {
    width: 100%;
    padding-bottom: 6em;
  }
  section.column01 .container .sidebar {
    width: 100%;
    display: flex;
    justify-content: space-around;
  }
  section.column01 .container .sidebar > div {
    width: 280px;
  }
}
@media screen and (max-width: 900px) {
  section.post01 .container ul > li a {
    display: grid;
    grid-template-columns: 9em auto;
    grid-template-rows: auto auto;
    row-gap: 0.6em;
  }
  section.post01 .container ul > li a > span.date, section.post01 .container ul > li a .wp-block-post-date {
    grid-row: 1/2;
    grid-column: 1/2;
  }
  section.post01 .container ul > li a > span.cat {
    grid-row: 1/2;
    grid-column: 2/3;
    width: 10em;
  }
  section.post01 .container ul > li a > h3 {
    grid-row: 2/3;
    grid-column: 1/3;
  }
  section.post01 .container ul > li a::after {
    right: 0.3em;
  }
}
@media screen and (max-width: 768px) {
  section.case01 .container > ul {
    display: block;
  }
  section.case01 .container > ul li:not(:last-child) {
    margin-bottom: 2em;
  }
  section.column01 .container {
    display: block;
  }
  section.column01 .container .main {
    width: 100%;
    padding-bottom: 6em;
  }
  section.column01 .container .main ul li a {
    display: block;
  }
  section.column01 .container .main ul li a > img {
    width: 100%;
    min-width: initial;
    margin-right: 0;
    margin-bottom: 0.5em;
  }
}
@media screen and (max-width: 640px) {
  section.column01 .container {
    padding: 0 4%;
  }
  section.column01 .container .main ul {
    padding: 20px 2%;
  }
  section.column01 .container .main ul li {
    padding: 1em 2%;
  }
  section.column01 .container .sidebar {
    display: block;
  }
  section.column01 .container .sidebar > div {
    width: 100%;
  }
}
@media screen and (max-width: 580px) {
  section.post01 .container ul > li a > span.date, section.post01 .container ul > li a .wp-block-post-date {
    display: inline-block;
    width: auto;
  }
  section.post01 .container ul > li a > span.cat {
    display: inline-block;
  }
  section.post01 .container ul > li a > span.cat.news {
    width: 6em;
  }
  section.post01 .container ul > li a > span.cat.product {
    width: 8em;
  }
  section.post01 .container ul > li a > span.cat.exhibition {
    width: 7em;
  }
  section.post01 .container ul > li a::after {
    right: 0;
  }
}