@charset "UTF-8";
/* blog content common */
body {
  --preset--color--black: #000000;
  --preset--color--cyan-bluish-gray: #abb8c3;
  --preset--color--white: #ffffff;
  --preset--color--pale-pink: #f78da7;
  --preset--color--vivid-red: #cf2e2e;
  --preset--color--luminous-vivid-orange: #ff6900;
  --preset--color--luminous-vivid-amber: #fcb900;
  --preset--color--light-green-cyan: #7bdcb5;
  --preset--color--vivid-green-cyan: #00d084;
  --preset--color--pale-cyan-blue: #8ed1fc;
  --preset--color--vivid-cyan-blue: #0693e3;
  --preset--color--vivid-purple: #9b51e0;
}
.has-black-color { color: var(--preset--color--black) !important; }
.has-cyan-bluish-gray-color { color: var(--preset--color--cyan-bluish-gray) !important; }
.has-white-color { color: var(--preset--color--white) !important; }
.has-pale-pink-color { color: var(--preset--color--pale-pink) !important; }
.has-vivid-red-color { color: var(--preset--color--vivid-red) !important; }
.has-luminous-vivid-orange-color { color: var(--preset--color--luminous-vivid-orange) !important; }
.has-luminous-vivid-amber-color { color: var(--preset--color--luminous-vivid-amber) !important; }
.has-light-green-cyan-color { color: var(--preset--color--light-green-cyan) !important; }
.has-vivid-green-cyan-color { color: var(--preset--color--vivid-green-cyan) !important; }
.has-pale-cyan-blue-color { color: var(--preset--color--pale-cyan-blue) !important; }
.has-vivid-cyan-blue-color { color: var(--preset--color--vivid-cyan-blue) !important; }
.has-vivid-purple-color { color: var(--preset--color--vivid-purple) !important; }

.has-small-font-size { font-size: 13px!important; }
.has-medium-font-size { font-size: 20px!important; }
.has-large-font-size { font-size: 36px!important; }
.has-x-large-font-size { font-size: 42px!important; }

.has-text-align-left { text-align: left; }
.has-text-align-right { text-align: right; }
.has-text-align-center { text-align: center; }

.wp-block-image { font-size: 0; }
.wp-block-image.size-full,
.wp-block-image .size-full { max-width: 100%!important; height: auto; }
.wp-block-image.size-large,
.wp-block-image .size-large { max-width: 100%!important; height: auto; }
.wp-block-image.size-medium,
.wp-block-image .size-medium { max-width: 80%!important; height: auto; }
.wp-block-image.alignleft { text-align: left; }
.wp-block-image.alignright { text-align: right; }
.wp-block-image.aligncenter { text-align: center; }
.wp-block-image .alignleft { display: table; margin-right: auto; }
.wp-block-image .alignright { display: table; margin-left: auto; }
.wp-block-image .aligncenter { display: table; margin-right: auto; margin-left: auto; }
.wp-block-image img { height: auto; }
.wp-block-image figcaption { width: 100%; caption-side: bottom; }
.wp-block-image .alignleft figcaption { display: table-caption; text-align: center; }
.wp-block-image .aligncenter figcaption { display: table-caption; text-align: center; }
.wp-block-image .alignright figcaption { display: table-caption; text-align: right; }
.wp-block-table.alignleft figcaption { text-align: left; }
.wp-block-table.alignright figcaption { text-align: right; }
.wp-block-table.aligncenter figcaption { text-align: center; }
.wp-block-embed iframe { width: 100%; display: block; margin: 0 auto; }
.wp-block-embed iframe[src^="https://www.youtube.com/"] { aspect-ratio: 16 / 9; height: auto; }
.wp-block-gallery { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; align-items: flex-start; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.wp-block-gallery .wp-block-image { display: flex; flex-grow: 1; justify-content: center; position: relative; flex-direction: column; max-width: 100%!important; }
.wp-block-gallery .blocks-gallery-caption { width: 100%; }
.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { width: 50%; -webkit-flex-basis: 50%; -ms-flex-preferred-size: 50%; flex-basis: 50%; }
.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { width: 33.333%; -webkit-flex-basis: 33.333%; -ms-flex-preferred-size: 33.333%; flex-basis: 33.333%; }
@media screen and (max-width: 768px) {
  .wp-block-image.size-large,
  .wp-block-image .size-large { max-width: 100%!important; }
  .wp-block-image.size-medium,
  .wp-block-image .size-medium { max-width: 100%!important; }
  .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { width: 100%; -webkit-flex-basis: 100%; -ms-flex-preferred-size: 100%; flex-basis: 100%; }
  .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) img { width: 100%; }
}


.wp-block-image { margin: 30px 0; }
.wp-block-gallery { margin: 30px -15px 30px!important; }
.wp-block-gallery .wp-block-image { margin: 0; padding: 15px;}
.wp-block-gallery .blocks-gallery-caption { margin-top: 15px; padding: 0 15px; }
.wp-block-embed { margin: 30px 0; }
.wp-block-table { margin: 30px 0; }
.wp-element-caption {
  font-size: 1.2rem;
  margin-top: 15px;
  line-height: 1.6666666667;
}
.wp-block-columns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0 32px;
  margin: 30px 0 40px;
}
.wp-block-columns .wp-block-image {
  margin-bottom: 0;
  margin-top: 0;
}
.wp-block-quote {
  font-weight: 400;
  padding: 23px 27px 25px 27px;
  background-color: #efefef;
  margin: 30px 0;
  border-radius: 4px;
}
.wp-block-quote cite {
  font-size: 1.2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-style: normal;
  margin-top: 12px;
  text-decoration: none;
}
.wp-block-quote cite a {
  display: block;
  color: #232323;
  text-decoration: none;
  font-size: 1.2rem;
}
.wp-block-quote cite a:hover {
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .wp-block-image { margin: 0 0 15px; }
  .wp-block-gallery { margin: 15px 0 15px!important; }
  .wp-block-gallery .wp-block-image { margin-bottom: 15px; padding: 0; }
  .wp-block-gallery .wp-block-image:last-of-type { margin-bottom: 0; }
  .wp-block-gallery .blocks-gallery-caption { padding: 0; }
  .wp-block-embed { margin: 0 0 15px; }
  .wp-block-table { margin: 0 0 15px; }
  .wp-element-caption {
    font-size: 1rem;
    margin-top: 7px;
    line-height: 1.5;
  }
  .wp-block-columns {
    gap: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .wp-block-columns .wp-block-image {
    margin-bottom: 0;
    margin-top: 0;
  }
  .wp-block-column {
    margin: 15px 0;
  }
  .wp-block-column:first-of-type {
    margin-top: -15px;
  }
  .wp-block-column:last-of-type {
    margin-top: 0;
    margin-bottom: -15px;
  }
  .wp-block-quote {
    padding: 15px 20px 18px 20px;
    border-radius: 2px;
    margin: 13px 0;
  }
  .wp-block-quote cite {
    font-size: 1.2rem;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 6px;
  }
  .wp-block-quote cite a {
    font-size: 1rem;
    margin-top: 0;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}


.postContent {
  width: 100%;
  margin: 0; }
  .postContent > *:first-child {
    margin-top: 0!important;
  }
  .postContent > *:last-child {
    margin-bottom: 0!important;
  }
  .postContent h2 {
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.6666666667;
    margin-bottom: 32px;
    border-bottom: 1px solid #e2e2e2;
    padding-bottom: 10px;
    margin-top: 52px;
  }
  .postContent h2 span {
    font-weight: inherit;
    font-size: inherit;
  }
  .postContent h3 {
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 25px;
    margin-top: 45px;
    line-height: 1.6666666667;
  }
  .postContent p {
    line-height: 2;
    margin-bottom: 1.6em;
  }
  .postContent ul,
  .postContent ol {
    list-style: none;
  }
  .postContent > ul,
  .postContent > ol {
    margin: 30px 0 33px;
  }
  .postContent ul li,
  .postContent ol li {
    line-height: 2;
    position: relative;
  }
  .postContent ul li {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .postContent ul li::before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 6px;
    background-color: #0e0e0e;
    margin-right: 13px;
    min-width: 6px;
    position: relative;
    top: 14px;
  }
  .postContent ol {
    counter-reset: olnum 0;
  }
  .postContent ol li {
    padding-left: 2rem;
  }
  .postContent ol li::before {
    counter-increment: olnum 1;
    content: counter(olnum) ". ";
    color: #282828;
    position: absolute;
    top: 0;
    left: 0;
  }
  .postContent img {
    border-radius: 4px;
  }
  .postContent blockquote {
    line-height: 1.875;
    padding: 30px 40px;
    background: #efefef;
    margin: 30px 0;
  }
  .postContent table th,
  .postContent table td {
    padding: 15px;
    border: 1px solid #272727;
  }
@media screen and (max-width: 768px) {
  .postContent h2 {
    font-size: 1.8rem;
    line-height: 1.6666666667;
    margin-top: 30px;
    margin-bottom: 12px;
    padding-bottom: 7px;
  }
  .postContent h3 {
    font-size: 1.6rem;
    margin-top: 20px;
    margin-bottom: 10px;
    line-height: 1.875;
  }
  .postContent p {
    line-height: 1.5625;
    margin-top: 0px;
    margin-bottom: 13px;
  }
  .postContent > ul,
  .postContent > ol {
    margin: 20px 0;
  }
  .postContent ul li,
  .postContent ol li {
    line-height: 1.5625;
  }
  .postContent ul li::before {
    width: 6px;
    height: 6px;
    min-width: 6px;
    top: 8px;
    margin-right: 15px;
  }
  .postContent img {
    border-radius: 2px;
  }
  .postContent blockquote {
    padding: 20px;
    margin: 25px 0;
  }
}

.postContent b,
.postContent strong { font-weight: 700; }
.postContent mark { font-style: normal; font-weight: inherit; }
.postContent em { font-style: italic; }
.postContent sup { top: -0.5em; }
.postContent sup { top: -0.5em; }
.postContent sub,
.postContent sup { font-size: 75%; line-height: 0; position: relative; }
.postContent s,
.postContent strike,
.postContent del { text-decoration: line-through; }
.postContent blockquote { font-style: normal; }
.postContent blockquote > *:first-child { margin-top: 0; }
.postContent blockquote > *:last-child { margin-bottom: 0; }
.postContent blockquote p {
  margin-top: 0;
  position: relative;
  line-height: 1.875;
}
.postContent blockquote p:last-of-type { margin-bottom: 0; }
.postContent blockquote cite { margin-top: 1.2em; font-size: .8em; display: block; font-style: normal; }
.postContent table { width: 100%; table-layout: fixed; }
@media screen and (max-width: 768px) {
  .postContent blockquote p {
    line-height: 1.5625;
  }
}


.singleCard {
  border: 1px solid #e2e2e2;
  background-color: #fff;
  border-radius: 4px;
  margin: 50px 0;
}
@media screen and (max-width: 768px) {
  .singleCard {
    margin: 20px 0 30px !important;
  }
}
.singleCard__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: inherit;
  text-decoration: none;
  padding: 20px;
}
@media screen and (max-width: 768px) {
  .singleCard__inner {
    padding: 10px;
  }
}
.singleCard__inner:hover .singleCard__ttl {
  text-decoration: underline;
}
.singleCard__fig {
  width: 200px;
  height: auto;
  aspect-ratio: 220/150;
}
@media screen and (max-width: 768px) {
  .singleCard__fig {
    width: 92px;
  }
}
.singleCard__figImg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.singleCard__text {
  padding-left: 20px;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .singleCard__text {
    padding-left: 10px;
  }
}
.singleCard__info {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .singleCard__info {
    gap: 0px 8px;
    margin-bottom: 7px;
  }
}
.singleCard__date {
  font-size: 1.2rem;
  font-family: "Figtree", sans-serif;
}
@media screen and (max-width: 768px) {
  .singleCard__date {
    font-size: 1rem;
  }
}
.singleCard__new {
  font-size: 1rem;
  background-color: #0e0e0e;
  color: #fff;
  padding: 0 7px 1px 7px;
  border-radius: 20px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: bold;
  height: 19px;
  width: 43px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  .singleCard__new {
    font-size: 1rem;
    height: 17px;
    padding: 0px 7px 1px 7px;
  }
}
.singleCard__category {
  font-size: 1rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 7px 1px 7px;
  border: 1px solid #0e0e0e;
  height: 19px;
  border-radius: 20px;
  color: #0e0e0e;
  font-family: "Zen Kaku Gothic New", "Figtree", sans-serif;
}
@media screen and (max-width: 768px) {
  .singleCard__category {
    font-size: 1rem;
    height: 17px;
  }
}
.singleCard__ttl {
  line-height: 2;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-bottom: 0px !important;
}
@media screen and (max-width: 768px) {
  .singleCard__ttl {
    font-size: 1.2rem;
    line-height: 1.4166666667;
  }
}