@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: 0 0 30px; }
.wp-block-gallery { margin: 30px -10px 30px!important; }
.wp-block-gallery .wp-block-image { margin: 0; padding: 10px;}
.wp-block-gallery .blocks-gallery-caption { margin-top: 5px; padding: 0 10px; }
.wp-block-embed { margin: 0 0 30px; }
.wp-block-table { margin: 0 0 30px; }
.wp-element-caption { font-size: 1.2rem; margin-top: 7px; }
.wp-block-columns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0 30px;
  margin: 40px 0;
}
.wp-block-columns .wp-block-image {
  margin-bottom: 0;
  margin-top: 0;
}
.wp-block-quote {
  background-color: #fff;
  padding: 30px 40px 35px 40px;
  margin: 30px 0 30px;
}
.wp-block-quote a {
  text-decoration: none;
  color: inherit;
  display: block;
  margin-top: 20px;
  font-weight: 400;
}
.wp-block-quote a:hover {
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .wp-block-image { margin: 0 0 25px; }
  .wp-block-gallery { margin: 25px 0 25px!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 25px; }
  .wp-block-table { margin: 0 0 25px; }
  .wp-element-caption { font-size: 1.2rem; margin-top: 7px; }
  .wp-block-columns {
    margin: 25px 0;
    gap: 0 15px;
  }
  .wp-block-columns .wp-block-image {
    margin-bottom: 0;
    margin-top: 0;
  }
  .wp-block-quote {
    margin: 25px 0;
    padding: 20px 25px;
  }
  .wp-block-quote a {
    margin-top: 15px;
  }
}


.postContent {
  width: 100%;
  margin: 0; }
  .postContent > *:first-child {
    margin-top: 0!important;
  }
  .postContent > *:last-child {
    margin-bottom: 0!important;
  }
  .postContent h2 {
    background-color: #282828;
    font-size: 2.2rem;
    font-weight: bold;
    color: #fff;
    padding: 4px 10px 6px;
    margin-top: 50px;
    margin-bottom: 30px;
  }
  .postContent h2 span {
    font-weight: inherit;
    font-size: inherit;
  }
  .postContent h3 {
    font-size: 2rem;
    font-weight: bold;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-top: 50px;
    margin-bottom: 30px;
  }
  .postContent h3::before {
    content: "-";
    margin-right: 0.5em;
  }
  .postContent p {
    line-height: 1.875;
    margin-bottom: 1.5em;
  }
  .postContent ul,
  .postContent ol {
    list-style: none;
  }
  .postContent > ul,
  .postContent > ol {
    margin: 30px 0;
  }
  .postContent ul li,
  .postContent ol li {
    line-height: 1.875;
    position: relative;
  }
  .postContent ul li {
    padding-left: 15px;
  }
  .postContent ul li::before {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: #282828;
    position: absolute;
    top: 11px;
    left: 0;
  }
  .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 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 {
    margin-bottom: 15px;
    font-size: 2rem;
    line-height: 1.5;
  }
  .postContent h3 {
    margin-top: 50px;
    margin-bottom: 20px;
    font-size: 2rem;
    line-height: 1.5;
  }
  .postContent > ul,
  .postContent > ol {
    margin: 25px 0;
  }
  .postContent ul li,
  .postContent ol li {
    font-size: 1.4rem;
  }
  .postContent ul li::before {
    top: 9px;
  }
  .postContent blockquote {
    padding: 20px;
    margin: 25px 0;
  }
}

.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: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; }


.blogCard {
  margin: 50px 0;
}
@media screen and (max-width: 768px) {
  .blogCard {
    margin: 30px 0;
  }
}
.blogCard__inner {
  display: block;
  padding-left: 240px;
  background-color: #fff;
  text-decoration: none;
  color: inherit;
  position: relative;
}
@media screen and (max-width: 768px) {
  .blogCard__inner {
    padding-left: 120px;
  }
}
.blogCard__inner:hover .blogCard__fig {
  opacity: 0.75;
}
.blogCard__fig {
  width: 240px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .blogCard__fig {
    width: 120px;
  }
}
.blogCard__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.blogCard__body {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 20px 20px 15px 20px;
  background-color: #fff;
  min-height: 160px;
}
@media screen and (max-width: 768px) {
  .blogCard__body {
    padding: 15px 15px 10px 15px;
    min-height: 90px;
  }
}
.blogCard__body ul {
  margin: 0;
}
.blogCard__body li:before {
  display: none;
}
.blogCard__info {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 0 10px;
  margin-bottom: 10px !important;
}
@media screen and (max-width: 768px) {
  .blogCard__info {
    gap: 0 5px;
    margin-bottom: 5px !important;
  }
}
.blogCard__infoItemDate {
  font-size: 1.2rem;
}
.blogCard__infoItemCat {
  background-color: #fff;
  padding: 4px 10px;
  min-width: 109px;
  line-height: 1 !important;
  font-size: 1.2rem;
  letter-spacing: -0.1em;
  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;
  border: 1px solid #000000;
  border-radius: 100px;
  font-weight: bold;
}
.blogCard__ttl {
  font-weight: bold;
  line-height: 1.5 !important;
  margin-bottom: 10px !important;
}
@media screen and (max-width: 768px) {
  .blogCard__ttl {
    font-size: 1.2rem;
    line-height: 1.25 !important;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: break-all;
    text-overflow: ellipsis;
  }
}
.blogCard__desc {
  font-size: 1.2rem !important;
  line-height: 1.666 !important;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  word-break: break-all;
  text-overflow: ellipsis;
}
@media screen and (max-width: 768px) {
  .blogCard__desc {
    display: none;
  }
}
