@charset "UTF-8";
@font-face {
  font-family: "MyNotoSansJP";
  src: url("../fonts/noto-sans-jp/NotoSansJP-Regular.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "MyNotoSansJP";
  src: url("../fonts/noto-sans-jp/NotoSansJP-Bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}
body {
  font-family: MyNotoSansJP, -apple-system, "Segoe UI", "Helvetica Neue", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
}

main article {
  /* gradient */
  /* responsive iframe with a 16:9 aspect ratio
    thanks https://css-tricks.com/responsive-iframes/
  */
  /* play button */
  /* Post-click styles */
}
main article span.termpreview {
  border-bottom: 1px solid green;
}
main article span.termpreview a {
  text-decoration: none;
  color: #4aac00;
  border-bottom: 0;
}
main article span.termpreview a:hover {
  color: #681da8;
}
main article span.termpreview:hover {
  border-color: #681da8;
}
main article span.internal-link {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  padding: 17px 22px 17px 12px;
  border-radius: 5px;
  background-color: #fafafa;
}
main article span.internal-link::before {
  display: inline-block;
  font-family: "Material Symbols Outlined";
  content: "\e157";
  font-size: 25px;
  color: #c2c2c2;
}
main article span.internal-link a {
  display: inline-block;
  color: #4682b4;
  text-decoration: underline;
  margin-left: 10px;
  padding-left: 10px;
  border-left: 1px solid #c2c2c2;
  line-height: 1.5;
}
main article #table_of_content {
  max-width: 800px;
  margin: 60px auto 90px;
}
main article #table_of_content .mokuji {
  position: relative;
  background: linear-gradient(-45deg, transparent 25%, rgba(199, 199, 199, 0.1490196078) 25%, rgba(199, 199, 199, 0.1490196078) 50%, transparent 50%, transparent 75%, rgba(199, 199, 199, 0.1490196078) 75%, rgba(199, 199, 199, 0.1490196078));
  background-clip: padding-box;
  background-size: 4px 4px;
  border-bottom: 4px double rgba(199, 199, 199, 0.5019607843);
  border-top: 4px double rgba(199, 199, 199, 0.5019607843);
}
main article #table_of_content .mokuji .mokuji_fog {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 70%, rgba(255, 255, 255, 0.3) 80%, rgba(255, 255, 255, 0.6) 90%, rgb(255, 255, 255) 100%);
  background-repeat: no-repeat;
  pointer-events: none;
}
main article #table_of_content .mokuji .mokuji_header {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px 0 10px;
  font-size: 18px;
  color: rgba(51, 51, 51, 0.7803921569);
}
main article #table_of_content .mokuji .mokuji_header .mokuji_icon {
  display: inline-block;
  font-size: 30px;
  margin-right: 5px;
}
main article #table_of_content .mokuji .mokuji_container {
  max-height: 300px;
  overflow: hidden;
}
main article #table_of_content .mokuji .mokuji_container ol.mokuji_ol {
  margin: 0px 40px 0px;
  padding-left: 0;
}
main article #table_of_content .mokuji .mokuji_container ol.mokuji_ol li {
  list-style: none;
  margin-bottom: 0.5rem;
  line-height: 1.7;
  font-size: 15px;
  color: rgba(51, 51, 51, 0.7803921569);
}
main article #table_of_content .mokuji .mokuji_container ol.mokuji_ol li.contents1 {
  margin-left: 1rem;
  list-style-type: "■ ";
}
main article #table_of_content .mokuji .mokuji_container ol.mokuji_ol li.contents1::marker {
  color: lightblue;
  font-size: 1.6rem;
}
main article #table_of_content .mokuji .mokuji_container ol.mokuji_ol li.contents2 {
  margin-left: 1rem;
  list-style-type: disc;
}
main article #table_of_content .mokuji .mokuji_container ol.mokuji_ol li.contents2::marker {
  font-size: 1.6rem;
}
main article #table_of_content .mokuji .mokuji_container ol.mokuji_ol li.contents3 {
  margin-left: 3rem;
  list-style-type: disc;
}
main article #table_of_content .mokuji .mokuji_container ol.mokuji_ol li.contents3::marker {
  font-size: 1.6rem;
}
main article #table_of_content .mokuji .mokuji_container ol.mokuji_ol li.contents4 {
  margin-left: 5rem;
  list-style-type: circle;
}
main article #table_of_content .mokuji .mokuji_container ol.mokuji_ol li.contents4::marker {
  font-weight: bold;
  font-size: 1.6rem;
}
main article #table_of_content .mokuji .mokuji_container ol.mokuji_ol li.contents5 {
  margin-left: 7rem;
}
main article #table_of_content .mokuji .mokuji_container ol.mokuji_ol li.contents6 {
  margin-left: 9rem;
}
main article #table_of_content .mokuji .mokuji_container ol.mokuji_ol li a {
  text-decoration: none;
  border-bottom: 0;
  color: rgba(51, 51, 51, 0.7803921569);
  letter-spacing: 0.025em;
}
main article #table_of_content .mokuji .mokuji_toggle_btn {
  display: none;
  width: 200px;
  margin: 10px auto 10px;
  padding: 10px 40px;
  text-align: center;
  color: rgba(51, 51, 51, 0.7803921569);
  border: 1px solid #ecc5c5;
  border-radius: 30px;
  background-color: #fff;
  cursor: pointer;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
main article blockquote {
  position: relative;
  padding: 40px 40px 32px 48px;
  color: var(--main-font-color);
  margin-left: 0;
  margin-right: 0;
}
main article blockquote::before, main article blockquote::after {
  display: inline-block;
  position: absolute;
  width: 64px;
  height: 64px;
  content: "";
}
main article blockquote::before {
  top: 0;
  left: 0;
  border-top: 3px solid #2589d0;
  border-left: 3px solid #2589d0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.58341 17.3211C3.55316 16.2274 3 15 3 13.0103C3 9.51086 5.45651 6.37366 9.03059 4.82318L9.92328 6.20079C6.58804 8.00539 5.93618 10.346 5.67564 11.822C6.21263 11.5443 6.91558 11.4466 7.60471 11.5105C9.40908 11.6778 10.8312 13.159 10.8312 15C10.8312 16.933 9.26416 18.5 7.33116 18.5C6.2581 18.5 5.23196 18.0095 4.58341 17.3211ZM14.5834 17.3211C13.5532 16.2274 13 15 13 13.0103C13 9.51086 15.4565 6.37366 19.0306 4.82318L19.9233 6.20079C16.588 8.00539 15.9362 10.346 15.6756 11.822C16.2126 11.5443 16.9156 11.4466 17.6047 11.5105C19.4091 11.6778 20.8312 13.159 20.8312 15C20.8312 16.933 19.2642 18.5 17.3312 18.5C16.2581 18.5 15.232 18.0095 14.5834 17.3211Z' fill='%232589d0'%3E%3C/path%3E%3C/svg%3E");
  background-position: top 35% left 35%;
  background-size: 32px;
  background-repeat: no-repeat;
}
main article blockquote::after {
  bottom: 0;
  right: 0;
  border-bottom: 3px solid #2589d0;
  border-right: 3px solid #2589d0;
}
main article blockquote p {
  margin-top: 0;
}
main article blockquote p:last-of-type {
  margin-bottom: 0;
}
main article blockquote cite {
  font-style: normal;
  margin-top: 16px;
}
main article .wp-block-satsuma-seoblocks-step-large-outer {
  counter-reset: step;
}
main article .wp-block-satsuma-seoblocks-step-large-outer .wp-block-satsuma-seoblocks-step-large-item {
  position: relative;
  margin-bottom: 0 !important;
  padding: 0 0 3em 64px;
}
main article .wp-block-satsuma-seoblocks-step-large-outer .wp-block-satsuma-seoblocks-step-large-item:not(:last-child)::before {
  display: block;
  position: absolute;
  top: 0;
  left: 23px;
  content: "";
  border-left: 1px dashed #cac5c5;
  opacity: 0.8;
  width: 0;
  height: 100%;
}
main article .wp-block-satsuma-seoblocks-step-large-outer .wp-block-satsuma-seoblocks-step-large-item .satsuma-block-step_number {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 48px;
  height: 48px;
  line-height: 1;
  border-radius: 50%;
  color: #fff;
  text-align: center;
  background-color: #278a71;
}
main article .wp-block-satsuma-seoblocks-step-large-outer .wp-block-satsuma-seoblocks-step-large-item .satsuma-block-step_number .step_label {
  display: block;
  font-size: 10px;
  padding-bottom: 1px;
}
main article .wp-block-satsuma-seoblocks-step-large-outer .wp-block-satsuma-seoblocks-step-large-item .satsuma-block-step_number::after {
  display: block;
  content: counter(step);
  counter-increment: step;
  font-size: 20px;
}
main article .wp-block-satsuma-seoblocks-step-large-outer .wp-block-satsuma-seoblocks-step-large-item .satsuma-block-step_title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-weight: bold;
  letter-spacing: 0.03em;
  line-height: 1.3;
  min-height: 48px;
  margin: 0;
  padding: 0;
  font-size: 18px;
}
main article .wp-block-satsuma-seoblocks-step-large-outer .wp-block-satsuma-seoblocks-step-large-item .satsuma-block-step_body {
  margin-top: 1em;
}
main article .wp-block-satsuma-seoblocks-step-large-outer .wp-block-satsuma-seoblocks-step-large-item .satsuma-block-step_body .wp-block-image {
  text-align: center;
}
main article .wp-block-satsuma-seoblocks-step-small-outer {
  counter-reset: step;
  margin: 10px;
}
main article .wp-block-satsuma-seoblocks-step-small-outer .wp-block-satsuma-seoblocks-step-small-item {
  position: relative;
  margin-bottom: 0 !important;
  padding: 0 0 26px 24px;
}
main article .wp-block-satsuma-seoblocks-step-small-outer .wp-block-satsuma-seoblocks-step-small-item:not(:last-child)::before {
  display: block;
  position: absolute;
  content: "";
  width: 0;
  border-left: 2px solid #cac5c5;
  opacity: 0.8;
  height: calc(100% - 20px);
  top: 18px;
  left: 7px;
}
main article .wp-block-satsuma-seoblocks-step-small-outer .satsuma-block-step_number {
  display: flex;
  top: 0;
  left: 0;
  line-height: 1;
  color: #fff;
  text-align: center;
  align-items: center;
  flex-direction: row;
  height: auto;
  justify-content: flex-start;
  margin-left: -24px;
  position: relative;
  width: auto;
  border-radius: 0;
  background-color: #fff;
}
main article .wp-block-satsuma-seoblocks-step-small-outer .satsuma-block-step_number .step_small_circle {
  border-radius: 50%;
  border: 2px solid;
  height: 16px;
  width: 16px;
  margin-right: 8px;
  color: #063636;
}
main article .wp-block-satsuma-seoblocks-step-small-outer .satsuma-block-step_number .step_label {
  display: block;
  font-size: 12px;
  opacity: 0.8;
  padding: 0 2px 0 0;
  color: var(--main-font-color);
  position: relative;
}
main article .wp-block-satsuma-seoblocks-step-small-outer .satsuma-block-step_number::after {
  display: block;
  content: counter(step);
  counter-increment: step;
  font-size: 14px;
  opacity: 0.8;
  color: var(--main-font-color);
}
main article .wp-block-satsuma-seoblocks-step-small-outer .satsuma-block-step_title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-weight: bold;
  letter-spacing: 0.06em;
  min-height: 48px;
  margin: 0;
  padding: 0;
}
main article .wp-block-satsuma-seoblocks-step-small-outer .satsuma-block-step_body {
  margin-top: 0.5em;
}
main article .wp-block-satsuma-seoblocks-step-small-outer .satsuma-block-step_body .wp-block-image {
  text-align: center;
}
@media screen and (max-width: 599px) {
  main article .wp-block-satsuma-seoblocks-step-large-item:not(:last-child)::before {
    display: none !important;
  }
  main article .wp-block-satsuma-seoblocks-step-large-item .satsuma-block-step_body {
    margin-left: -48px;
  }
}
main article .s_accord_body {
  position: relative;
  width: 100%;
  overflow: hidden;
  border: 1px solid #ccc;
}
main article .s_accord_body h2 {
  margin-top: 0px;
}
main article .s_accord_body h3,
main article .s_accord_body h4 {
  margin-top: 10px;
}
main article .s_accord_body .hcb_wrap {
  margin: 0;
}
main article .s_accord_body p {
  padding: 0 20px;
  margin: 10px 0 32px;
}
main article .s_accord_fog {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 70%, rgba(255, 255, 255, 0.3) 80%, rgba(255, 255, 255, 0.6) 90%, rgb(255, 255, 255) 100%);
  background-repeat: no-repeat;
  pointer-events: none;
}
main article .s_accord_more {
  width: 100%;
  text-align: center;
  font-size: 15px;
  bottom: 0px;
  color: #fff;
  background: #4d9bc1;
  padding: 10px;
  cursor: pointer;
}
main article .s_accord_more.is-open {
  max-height: none !important;
}
main article figure.wp-block-table {
  margin-bottom: 0;
  position: relative;
  overflow: auto;
  overscroll-behavior: none;
}
main article figure.wp-block-table + .table-scroll-notice {
  visibility: hidden;
  text-align: center;
  font-size: 13px;
  color: #666;
  margin-top: 6px;
  margin-bottom: 32px;
}
main article figure.wp-block-table table {
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid rgb(109, 223, 179) !important;
}
main article figure.wp-block-table table th,
main article figure.wp-block-table table td {
  white-space: nowrap;
  letter-spacing: 0.06em;
  border-top: 0 !important;
  border-right: 1px solid rgb(109, 223, 179) !important;
  border-bottom: 0 !important;
  border-left: 1px solid rgb(109, 223, 179) !important;
}
main article figure.wp-block-table table th {
  background-color: #a6f5f5 !important;
  font-weight: normal;
  text-align: left;
}
main article figure.wp-block-table table thead tr th:first-child {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
}
main article figure.wp-block-table table tr td:first-child {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
}
main article figure.wp-block-table table tr:nth-child(even) {
  background-color: rgb(235, 248, 248);
}
main article figure.wp-block-table table tr:nth-child(even) td:first-child {
  background-color: rgb(235, 248, 248);
}
main article figure.wp-block-table table tr:nth-child(odd) {
  background-color: white;
}
main article figure.wp-block-table table tr:nth-child(odd) td:first-child {
  background-color: white;
}
main article figure.wp-block-table figcaption {
  font-size: 1.5rem;
  margin-top: 0.7rem;
}
main article .blog_card {
  display: flex;
  align-items: center;
  position: relative;
  height: auto;
  border: 1px solid #dddddd;
  border-radius: 3px;
  word-wrap: break-word;
}
main article .blog_card a.cover_all_blogcard {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
main article .blog_card a.cover_all_blogcard:hover {
  opacity: 0.1;
  background-color: #000000;
}
main article .blog_card .blog_card-thumbnail {
  width: 35%;
  padding: 2px;
}
main article .blog_card .blog_card-thumbnail img {
  display: block;
  max-width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 3px;
  aspect-ratio: 16/9;
}
main article .blog_card .blog_card-content {
  width: 65%;
}
main article .blog_card .blog_card-content .blog_card-title {
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.06em;
  margin: 10px;
  margin-bottom: 6px;
}
main article .blog_card .blog_card-content .blog_card-title a {
  text-decoration: none;
  color: var(--main-font-color);
}
main article .blog_card .blog_card-content .blog_card-excerpt {
  color: rgba(51, 51, 51, 0.7411764706);
  font-size: 14px;
  line-height: 1.5;
  margin: 6px 20px;
}
main article .blog_card .blog_card-content .blogcard_date_outer {
  display: flex;
  justify-content: right;
  margin: 6px 20px 0 0;
}
main article .blog_card .blog_card-content .blogcard_date_outer .blogcard_publish_date,
main article .blog_card .blog_card-content .blogcard_date_outer .blogcard_modified_date {
  display: flex;
  align-items: center;
  margin-left: 6px;
}
main article .blog_card .blog_card-content .blogcard_date_outer img {
  width: 12px;
  height: auto;
  margin-right: 2px;
  opacity: 0.5;
}
main article .blog_card .blog_card-content .blogcard_date_outer time {
  font-size: 12px;
  color: #bfbfbf;
}
main article .wp-block-satsuma-seoblocks-call2action.color_orange .cta_box {
  border: 1px solid #f89a5b;
}
main article .wp-block-satsuma-seoblocks-call2action.color_orange .cta_subbox {
  color: #f89a5b;
}
main article .wp-block-satsuma-seoblocks-call2action.color_black .cta_box {
  border: 1px solid #333;
}
main article .wp-block-satsuma-seoblocks-call2action.color_black .cta_subbox {
  color: #333;
}
main article .wp-block-satsuma-seoblocks-call2action .cta_box {
  position: relative;
  margin-bottom: 32px;
  padding: 24px;
  border: 1px solid;
}
main article .wp-block-satsuma-seoblocks-call2action .cta_box .cta_subbox {
  position: absolute;
  padding-left: 5px;
  padding-right: 5px;
  top: -12px;
  font-size: 14px;
  background-color: #fff;
}
main article .wp-block-satsuma-seoblocks-call2action .cta_box .cta_content p {
  margin-top: 0;
}
main article .wp-block-satsuma-seoblocks-call2action .cta_box .cta_content .blog_card {
  border: 0px;
}
@media screen and (max-width: 599px) {
  main article .wp-block-satsuma-seoblocks-call2action .cta_box {
    padding: 12px;
  }
}
main article .p_blue {
  color: #42b0cf;
}
main article lite-youtube {
  background-color: #000;
  position: relative;
  display: block;
  contain: content;
  background-position: center center;
  background-size: cover;
  cursor: pointer;
  margin-bottom: 0;
}
main article .lite_youtube_under {
  display: block;
  text-decoration: none;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 10px;
  background-color: rgb(7, 31, 39);
  color: #fff;
  margin-left: auto;
  margin-right: 0px;
  margin-top: 2px;
  border-radius: 5px;
}
main article lite-youtube::before {
  content: attr(data-title);
  display: block;
  position: absolute;
  top: 0;
  /* Pixel-perfect port of YT's gradient PNG, using https://github.com/bluesmoon/pngtocss plus optimizations */
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.67) 0%, rgba(0, 0, 0, 0.54) 14%, rgba(0, 0, 0, 0.15) 54%, rgba(0, 0, 0, 0.05) 72%, rgba(0, 0, 0, 0) 94%);
  height: 99px;
  width: 100%;
  font-family: "YouTube Noto", Roboto, Arial, Helvetica, sans-serif;
  color: hsl(0deg, 0%, 93.33%);
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
  font-size: 18px;
  padding: 25px 20px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  box-sizing: border-box;
}
main article lite-youtube:hover::before {
  color: white;
}
main article lite-youtube::after {
  content: "";
  display: block;
  padding-bottom: 56.25%;
}
main article lite-youtube > iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: 0;
}
main article lite-youtube > .lyt-playbtn {
  display: block;
  /* Make the button element cover the whole area for a large hover/click target… */
  width: 100%;
  height: 100%;
  /* …but visually it's still the same size */
  background: no-repeat center/68px 48px;
  /* YT's actual play button svg */
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 48"><path d="M66.52 7.74c-.78-2.93-2.49-5.41-5.42-6.19C55.79.13 34 0 34 0S12.21.13 6.9 1.55c-2.93.78-4.63 3.26-5.42 6.19C.06 13.05 0 24 0 24s.06 10.95 1.48 16.26c.78 2.93 2.49 5.41 5.42 6.19C12.21 47.87 34 48 34 48s21.79-.13 27.1-1.55c2.93-.78 4.64-3.26 5.42-6.19C67.94 34.95 68 24 68 24s-.06-10.95-1.48-16.26z" fill="red"/><path d="M45 24 27 14v20" fill="white"/></svg>');
  position: absolute;
  cursor: pointer;
  z-index: 1;
  filter: grayscale(100%);
  transition: filter 0.1s cubic-bezier(0, 0, 0.2, 1);
  border: 0;
}
main article lite-youtube:hover > .lyt-playbtn,
main article lite-youtube .lyt-playbtn:focus {
  filter: none;
}
main article lite-youtube.lyt-activated {
  cursor: unset;
}
main article lite-youtube.lyt-activated::before,
main article lite-youtube.lyt-activated > .lyt-playbtn {
  opacity: 0;
  pointer-events: none;
}
main article .lyt-visually-hidden {
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
main article .wp-block-satsuma-seoblocks-balloon-right,
main article .wp-block-satsuma-seoblocks-balloon-left {
  display: flex;
  width: 100%;
}
main article .wp-block-satsuma-seoblocks-balloon-right .faceicon img,
main article .wp-block-satsuma-seoblocks-balloon-left .faceicon img {
  display: inline-block;
  width: 80px;
  max-width: unset;
  height: auto;
  border: 3px solid #d7ebfe;
  border-radius: 50%;
}
main article .wp-block-satsuma-seoblocks-balloon-right .faceicon .balloon_icon_name,
main article .wp-block-satsuma-seoblocks-balloon-left .faceicon .balloon_icon_name {
  font-size: 10px;
  text-align: center;
}
main article .wp-block-satsuma-seoblocks-balloon-right .chatting .says,
main article .wp-block-satsuma-seoblocks-balloon-left .chatting .says {
  position: relative;
  margin: 5px 100px 0 20px;
  padding: 17px 13px;
  border-radius: 12px;
  background: #f9f7d5;
  font-size: 15px;
}
main article .wp-block-satsuma-seoblocks-balloon-right .chatting .says::before,
main article .wp-block-satsuma-seoblocks-balloon-left .chatting .says::before {
  position: absolute;
  content: "";
  top: 18px;
  left: -24px;
  border: 12px solid transparent;
  border-right: 12px solid #f9f7d5;
}
main article .wp-block-satsuma-seoblocks-balloon-right .chatting .says p,
main article .wp-block-satsuma-seoblocks-balloon-left .chatting .says p {
  margin: 0;
  padding: 0;
}
main article .wp-block-satsuma-seoblocks-balloon-right.balloon__right,
main article .wp-block-satsuma-seoblocks-balloon-left.balloon__right {
  flex-direction: row-reverse;
}
main article .wp-block-satsuma-seoblocks-balloon-right.balloon__right .chatting .says,
main article .wp-block-satsuma-seoblocks-balloon-left.balloon__right .chatting .says {
  margin: 5px 20px 0 100px;
  background: #deecf2;
}
main article .wp-block-satsuma-seoblocks-balloon-right.balloon__right .chatting .says::before,
main article .wp-block-satsuma-seoblocks-balloon-left.balloon__right .chatting .says::before {
  top: 18px;
  right: -24px;
  left: unset;
  border: 12px solid transparent;
  border-left: 12px solid #deecf2;
}
@media screen and (max-width: 599px) {
  main article .wp-block-satsuma-seoblocks-balloon-right,
main article .wp-block-satsuma-seoblocks-balloon-left {
    width: 95%;
    font-size: 14px;
  }
  main article .wp-block-satsuma-seoblocks-balloon-right .faceicon img,
main article .wp-block-satsuma-seoblocks-balloon-left .faceicon img {
    width: 60px;
  }
  main article .wp-block-satsuma-seoblocks-balloon-right .chatting .says,
main article .wp-block-satsuma-seoblocks-balloon-left .chatting .says {
    margin: 5px 10px 0 20px;
  }
  main article .wp-block-satsuma-seoblocks-balloon-right.balloon__right,
main article .wp-block-satsuma-seoblocks-balloon-left.balloon__right {
    flex-direction: row-reverse;
  }
  main article .wp-block-satsuma-seoblocks-balloon-right.balloon__right .chatting .says,
main article .wp-block-satsuma-seoblocks-balloon-left.balloon__right .chatting .says {
    margin: 5px 20px 0 10px;
  }
}
main article .h4_like_div {
  max-width: 580px;
  font-size: 18px;
  border-left: solid 2px #278a71;
  padding: 0 0 0 16px !important;
  margin: 20px auto;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
main article .profile_card {
  max-width: 580px;
  margin: 0 auto 60px;
  border: 5px solid #cddddd;
  border-radius: 5px;
}
main article .profile_card .profile_card_bg {
  width: 100%;
  height: 160px;
  margin: 0;
  overflow: hidden;
}
main article .profile_card .profile_card_bg img {
  width: 100%;
  height: 160px;
  -o-object-fit: cover;
     object-fit: cover;
}
main article .profile_card .profile_card_icon {
  text-align: center;
}
main article .profile_card .profile_card_icon img {
  width: 120px;
  height: 120px;
  border: 4px solid #fff;
  border-radius: 50%;
}
main article .profile_card .profile_card_bg + .profile_card_icon {
  margin-top: -60px;
}
main article .profile_card .profile_card_author_name {
  font-size: 20px;
  padding-top: 5px;
  text-align: center;
}
main article .profile_card .profile_card_author_job {
  padding-top: 12px;
  text-align: center;
}
main article .profile_card .profile_card_message {
  padding: 10px;
  font-size: 15px;
}
main article mark {
  color: var(--main-font-color);
  padding-bottom: 2px;
}
main article mark.linemaker-orange {
  background: linear-gradient(transparent 60%, #ffddbc 60%);
}
main article mark.linemaker-yellow {
  background: linear-gradient(transparent 60%, #fcf69f 60%);
}
main article mark.linemaker-green {
  background: linear-gradient(transparent 60%, #bdf9c3 60%);
}
main article mark.linemaker-blue {
  background: linear-gradient(transparent 60%, #b7e3ff 60%);
}
main article .wp-block-group.is-style-bg-grid {
  border: 4px solid rgba(199, 199, 199, 0.1490196078);
  background-image: linear-gradient(transparent calc(100% - 1px), rgba(199, 199, 199, 0.1490196078) 50%, rgba(199, 199, 199, 0.1490196078)), linear-gradient(90deg, transparent calc(100% - 1px), rgba(199, 199, 199, 0.1490196078) 50%, rgba(199, 199, 199, 0.1490196078));
  background-repeat: repeat;
  background-size: 16px 16px;
  padding: 16px;
}
main article .wp-block-group[class*=is-style-group-] {
  position: relative;
  padding: 20px 20px;
  border: 1px solid;
  border-color: #fcb900;
}
main article .wp-block-group[class*=is-style-group-]::before {
  position: absolute;
  font-family: "Material Symbols Outlined";
  content: "\e0f0";
  left: 20px;
  top: -20px;
  padding: 0px 3px;
  color: white;
  background-color: #fcb900;
  font-size: 28px;
  border: 2px solid #fff;
  border-radius: 50%;
}
main article .wp-block-group.is-style-group-lightbulb::before {
  content: "\e0f0";
}
main article .wp-block-group.is-style-group-warning::before {
  content: "\e002";
  padding: 1px 6px 3px;
}
main article .wp-block-group.is-style-group-check::before {
  content: "\e5ca";
}
main article .wp-block-group.is-style-group-question::before {
  content: "\eb8b";
}
main article .wp-block-group.is-style-group-memo::before {
  content: "\f88d";
}
main article .wp-block-group.is-style-group-close {
  border-color: #f44336;
}
main article .wp-block-group.is-style-group-close::before {
  content: "\e5cd";
  background-color: #f44336;
}
main .pagination ul {
  width: 100%;
  list-style: none;
  padding: 0;
  display: flex;
  justify-content: center;
}
main .pagination li {
  margin: 0.5rem;
}
main .pagination .page-numbers {
  border: 0.1rem solid;
  padding: 0.5rem 1rem;
  text-decoration: none;
  color: var(--main-font-color);
}
main .pagination .page-numbers:hover {
  background-color: #fcc;
}
main .pagination .page-numbers.current {
  background-color: #fcc;
}
main .pagination_total {
  text-align: center;
}
main .stema_message {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: linear-gradient(-45deg, transparent 25%, rgba(199, 199, 199, 0.1490196078) 25%, rgba(199, 199, 199, 0.1490196078) 50%, transparent 50%, transparent 75%, rgba(199, 199, 199, 0.1490196078) 75%, rgba(199, 199, 199, 0.1490196078));
  background-size: 6px 6px;
  padding: 24px;
  margin: 0 auto;
  line-height: 1.5;
  color: rgba(51, 51, 51, 0.7254901961);
}
main .stema_message_img {
  margin-top: 60px;
  margin-bottom: 60px;
  text-align: center;
}
main .sns_share {
  margin-top: 10rem;
  margin-bottom: 32px;
  text-align: center;
}
main .sns_share span {
  vertical-align: middle;
  font-size: clamp(1.2rem, 0.961rem + 0.714vw, 1.5rem);
}
main .sns_share .sns_inner {
  display: flex;
}
main .sns_share .sns_inner a {
  width: 100%;
  text-align: center;
  color: #fff;
  padding: 0.7rem 0;
  margin: 1rem 0.3rem;
  text-decoration: none;
}
main .sns_share .sns_inner a:hover {
  opacity: 0.6;
}
main .sns_share .sns_inner .sns_twitter {
  background: #272c30;
}
main .sns_share .sns_inner .sns_facebook {
  background: #3b5998;
}
main .sns_share .sns_inner .sns_pocket {
  background: #ef3f56;
}
main .sns_share .sns_inner .sns_line {
  background: #1dcd00;
}
main .sns_share .sns_inner .sns_hatena {
  background: #00a5de;
}
main .main_footer {
  margin: 0 auto;
  max-width: 600px;
  width: 90%;
  margin-bottom: 32px;
}
main .main_footer .searchbox_heading {
  width: 100%;
  height: 5rem;
  line-height: 5rem;
  margin: 0 auto;
  padding-left: 2rem;
  background-color: #278a71;
  color: white;
}
main .main_footer .searchbox {
  width: 100%;
  height: 8rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
main .main_footer .searchbox .searchform {
  width: 20rem;
  margin: 0 auto;
  padding: 0;
}
main .main_footer .new_article_list .new_article_heading {
  width: 100%;
  height: 5rem;
  line-height: 5rem;
  margin: 4rem auto 0 auto;
  padding-left: 2rem;
  background-color: #278a71;
  color: white;
}
main .main_footer .new_article_list .new_article_item {
  display: flex;
  align-items: center;
  position: relative;
  border: 1px solid #1da8a8;
  border-radius: 3px;
  margin: 1rem auto;
}
main .main_footer .new_article_list .new_article_item a.wrap_box_a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
main .main_footer .new_article_list .new_article_item a.wrap_box_a:hover {
  opacity: 0.1;
  background-color: #000000;
}
main .main_footer .new_article_list .new_article_item .new_article_thumbnail_wrap {
  width: 35%;
  padding: 2px;
}
main .main_footer .new_article_list .new_article_item .new_article_thumbnail_wrap img {
  max-width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 3px;
  aspect-ratio: 16/9;
}
main .main_footer .new_article_list .new_article_item .new_article_textdata_wrap {
  width: 65%;
}
main .main_footer .new_article_list .new_article_item .new_article_textdata_wrap .new_article_title {
  display: block;
  line-height: 1.4;
  letter-spacing: 0.5px;
  font-size: 1.4rem;
  margin: 0.3rem 0.3rem;
}
main .main_footer .new_article_list .new_article_item .new_article_textdata_wrap .new_article_title a {
  text-decoration: none;
  color: var(--main-font-color);
}
main .main_footer .new_article_list .new_article_item .new_article_textdata_wrap .newarticle_date_outer {
  display: flex;
  justify-content: right;
  margin: 12px 0 0 0;
}
main .main_footer .new_article_list .new_article_item .new_article_textdata_wrap .newarticle_date_outer .newarticle_publish_date {
  display: flex;
  align-items: center;
}
main .main_footer .new_article_list .new_article_item .new_article_textdata_wrap .newarticle_date_outer img {
  width: 12px;
  height: auto;
  margin-right: 2px;
  opacity: 0.5;
}
main .main_footer .new_article_list .new_article_item .new_article_textdata_wrap .newarticle_date_outer time {
  font-size: 12px;
  color: #bfbfbf;
  margin-right: 3px;
}
main .main_footer .new_article_list .newarticle_publish_date {
  margin: 0 !important;
}

footer {
  width: 100%;
  max-width: 134.4rem;
  margin: 0 auto;
  padding: 1rem 1rem 0.5rem;
  color: #c0cad4;
  font-size: 1.4rem;
  background-color: #1e3143;
}
footer .footer_column_wrap {
  display: flex;
  justify-content: center;
}
footer .footer_column_wrap .footer_column_box {
  padding-right: 3rem;
  line-height: 2rem;
  margin: 1rem 3rem 1rem 1rem;
}
footer .footer_column_wrap .footer_column_box h3 {
  color: white;
  font-size: 1.3rem;
  margin-bottom: 0.5rem;
}
footer .footer_column_wrap .footer_column_box ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
footer .footer_column_wrap .footer_column_box ul li {
  padding-left: 1rem;
}
footer .footer_column_wrap .footer_column_box ul li a {
  color: #c0cad4;
  text-decoration: none;
  line-height: 1.6;
}
footer .footer_column_wrap .footer_column_box ul li a:hover {
  text-decoration: underline;
}
footer .footer_copy {
  text-align: center;
  margin-bottom: 0rem;
}
footer .footer_copy a {
  color: #c0cad4;
  text-decoration: none;
}
footer #footer_bottom_space {
  width: 100%;
  height: 7rem;
}

#hamburger_menu_area {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: white;
  z-index: 2000;
  color: var(--main-font-color);
}
#hamburger_menu_area #hamburger_menu_container .hamburger_close_wrap {
  text-align: right;
}
#hamburger_menu_area #hamburger_menu_container .hamburger_close_wrap #hamburger_close {
  width: clamp(2rem, 0.824rem + 3.642vw, 3rem);
  margin: 1rem;
  z-index: 2000;
}
#hamburger_menu_area #hamburger_menu_container .searchbox {
  width: 100%;
  height: 4rem;
  display: flex;
  justify-content: center;
}
#hamburger_menu_area #hamburger_menu_container .searchbox .searchform {
  width: 20rem;
  margin: 0 auto;
  padding: 0;
}
#hamburger_menu_area #hamburger_menu_container #hamburger_side_items {
  width: 40rem;
  height: calc(100vh - 4rem);
  overflow: scroll;
  overscroll-behavior-y: contain;
}
#hamburger_menu_area #hamburger_menu_container #hamburger_side_items li > ul {
  margin-top: 10px;
}
#hamburger_menu_area #hamburger_menu_container #hamburger_side_items ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#hamburger_menu_area #hamburger_menu_container #hamburger_side_items ul li {
  padding-left: 10px;
  margin-bottom: 10px;
}
#hamburger_menu_area #hamburger_menu_container #hamburger_side_items ul li a {
  color: #1176d4;
  text-decoration: none;
  line-height: 1.6;
}
#hamburger_menu_area #hamburger_menu_container #hamburger_side_items ul li a:hover {
  text-decoration: underline;
}
#hamburger_menu_area #hamburger_menu_container #hamburger_side_items::-webkit-scrollbar {
  display: none;
}
#hamburger_menu_area #hamburger_menu_container #hamburger_side_items .side_itembox {
  display: flex;
  flex-direction: column;
}
#hamburger_menu_area #hamburger_menu_container #hamburger_side_items .side_itembox p {
  margin: 1rem 2rem;
}
#hamburger_menu_area #hamburger_menu_container #hamburger_side_items .side_itembox .sideroll_bottom_space {
  width: 100%;
  height: 3rem;
}
#hamburger_menu_area #hamburger_menu_container #hamburger_side_items .hamburger_bottmmost_space {
  width: 100%;
  height: 40rem;
}
#hamburger_menu_area #hamburger_menu_outside {
  flex-grow: 1;
  background-color: #1e3143;
  overflow: scroll;
  overscroll-behavior-y: contain;
}
#hamburger_menu_area #hamburger_menu_outside::-webkit-scrollbar {
  display: none;
}
#hamburger_menu_area #hamburger_menu_outside #hamburger_menu_outside_scroller {
  width: 100%;
  height: calc(100vh + 1px);
}

.searchfield_wrap {
  display: inline-block;
  position: relative;
}
.searchfield_wrap::before {
  position: absolute;
  display: inline-block;
  content: "";
  background: url("../icons/search_icon.png") no-repeat center center/auto 100%;
  width: 2rem;
  height: 2rem;
  top: 0.7rem;
  left: 0.9rem;
}
.searchfield_wrap input {
  width: 20rem;
  padding: 0.3rem 0 0.5rem 3.5rem;
  font-size: 1.5rem;
  line-height: 2rem;
  color: rgb(65, 53, 53);
  border: 3px solid #1da8a8;
  border-radius: 2rem;
}
.searchfield_wrap input::-moz-placeholder {
  font-size: 1.4rem;
  letter-spacing: 0.1rem;
  color: #796c6c;
  opacity: 0.7;
}
.searchfield_wrap input::placeholder {
  font-size: 1.4rem;
  letter-spacing: 0.1rem;
  color: #796c6c;
  opacity: 0.7;
}
.searchfield_wrap input:focus {
  outline: none;
}
.searchfield_wrap input[type=search]::-webkit-search-cancel-button {
  margin-right: 1rem;
  cursor: pointer;
}

#search_result_count {
  margin-left: 20px;
}

#loading_gif {
  display: none;
  opacity: 0.5;
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
}
#loading_gif img {
  width: 20rem;
  height: 20rem;
}

#term_modal {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  overflow: auto;
  z-index: 100;
  display: none;
}
#term_modal #term_content {
  max-width: 50rem;
  width: 80%;
  margin: 2vh auto;
  padding: 1rem;
  border-radius: 10px;
  background-color: white;
}
#term_modal #term_content #term_name {
  display: block;
  max-width: 90%;
  margin: 1rem auto;
  font-weight: bold;
  font-size: 20px;
}
#term_modal #term_content #term_image {
  display: block;
  width: 70%;
  margin: 0rem auto 1rem;
}
#term_modal #term_content #term_summary {
  width: 90%;
  margin: 1rem auto 0;
  line-height: 1.8;
  padding: 10px;
}
#term_modal #term_content #term_more {
  display: block;
  text-align: right;
  width: 90%;
  margin: 0 2rem 1rem;
  text-decoration: none;
  color: #3366cc;
}
#term_modal #term_content #term_close_btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 1rem 3rem;
  background-color: #7982c6;
  color: white;
  border-radius: 5px;
  cursor: pointer;
}

@media screen and (max-width: 599px) {
  #term_modal #term_content #term_name {
    font-size: 18px;
  }
  #term_modal #term_content #term_summary,
#term_modal #term_content #term_more {
    font-size: 14px;
  }
}
/*################################
  heightクラス
################################*/
.height_auto {
  height: auto !important;
}

.height_0px {
  height: 0px !important;
}

.height_100px {
  height: 100px !important;
}

.height_200px {
  height: 200px !important;
}

.height_300px {
  height: 300px !important;
}

.height_400px {
  height: 400px !important;
}

.height_500px {
  height: 500px !important;
}

.height_600px {
  height: 600px !important;
}

/*################################
  max-heightクラス
################################*/
.maxheight_none {
  max-height: none !important;
}

.maxheight_0px {
  max-height: 0px !important;
}

.maxheight_100px {
  max-height: 100px !important;
}

.maxheight_200px {
  max-height: 200px !important;
}

.maxheight_300px {
  max-height: 300px !important;
}

.maxheight_400px {
  max-height: 400px !important;
}

.maxheight_500px {
  max-height: 500px !important;
}

.maxheight_600px {
  max-height: 600px !important;
}

/*##############################################
  contact form 7 とrecaptchaでのバッジの非表示
##############################################*/
.grecaptcha-badge {
  visibility: hidden;
}