@charset "UTF-8";
/*--------
共通カラー
---------*/
/*--------
page_style
---------*/
.page_style {
  margin: 0;
  font-size: 16px;
  font-family: "Montserrat", "noto sans jp";
  /* h2 */
  /* h3 */
  /* h4 */
  /* 太文字 strong */
  /* 強調文字 em */
  /* ギャラリー */
  /* 文中ユーチューブ動画のサイズ */
  /* 引用 */
  /* コード */
  /* リスト */
  /* リンク文字 */
  /* テーブル */
}

@media (max-width: 1080px) {
  .page_style {
    font-size: 15px;
  }
}

@media (max-width: 900px) {
  .page_style {
    font-size: 16px;
  }
}

@media (max-width: 750px) {
  .page_style {
    font-size: 15px;
  }
}

@media (max-width: 500px) {
  .page_style {
    line-height: 2em;
  }
}

@media (max-width: 360px) {
  .page_style {
    font-size: 14px;
  }
}

.page_style p {
  line-height: 2em;
}

.page_style > p:not([class]) {
  margin: 10px auto;
  padding: 0;
  text-justify: inter-ideograph;
  font-size: 1.8rem;
}

@media (max-width: 1080px) {
  .page_style > p:not([class]) {
    margin: 14px auto;
    font-size: 15px;
  }
}

@media (max-width: 500px) {
  .page_style > p:not([class]) {
    line-height: 1.5em;
  }
}

@media (max-width: 360px) {
  .page_style > p:not([class]) {
    font-size: 14px;
  }
}

.page_style > p:not([class]):empty {
  margin: 0;
  padding: 0;
}

.page_style > h2,
.page_style > h3,
.page_style > h4,
.page_style > h5,
.page_style > h6 {
  padding: 0;
}

.page_style > h2 + p,
.page_style > h3 + p,
.page_style > h4 + p,
.page_style > h5 + p,
.page_style > h6 + p {
  margin-top: 0;
}

.page_style > h2:empty,
.page_style > h3:empty,
.page_style > h4:empty,
.page_style > h5:empty,
.page_style > h6:empty {
  display: none;
}

.page_style > h2 {
  font-size: 24px;
  margin: 1em auto;
}

@media (max-width: 700px) {
  .page_style > h2 {
    font-size: 22px;
  }
}

@media (max-width: 500px) {
  .page_style > h2 {
    font-size: 18px;
  }
}

.page_style > h2:not([class*="is-style-ttl_"]),
.page_style h2.is-style-default {
  font-weight: 500;
  color: #fff;
  background-color: #ad8f50;
  padding: 0.7em 0.1em 0.5em 1em;
  line-height: 1.2;
}

.page_style > h3 {
  margin-top: 1em;
  font-size: 20px;
}

@media (max-width: 500px) {
  .page_style > h3 {
    font-size: 18px;
  }
}

.page_style > h3:not([class*="is-style-ttl_"]),
.page_style h3.is-style-default {
  padding: 4px 5px 1px 18px;
  line-height: 1.5em;
  font-weight: 700;
  color: #333;
  border-left: 0.3em solid #ad8f50;
  font-size: 2.2rem;
}

.page_style > h4 {
  margin: 2em auto 0.5em auto;
  font-size: 18px;
}

@media (max-width: 500px) {
  .page_style > h4 {
    font-size: 16px;
  }
}

.page_style > h4:not([class*="is-style-ttl_"]),
.page_style h4.is-style-default {
  position: relative;
  padding-left: 1.5em;
  line-height: 1.5em;
  font-weight: 500;
  color: #ccc;
}

.page_style > h4:not([class*="is-style-ttl_"])::before,
.page_style h4.is-style-default::before {
  position: absolute;
  top: 0.35em;
  left: 0;
  z-index: 1;
  margin-right: 0.5em;
  padding-right: 0.3em;
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background: #ccc;
  border-radius: 50%;
}

.page_style > h4:not([class*="is-style-ttl_"])::after,
.page_style h4.is-style-default::after {
  position: absolute;
  top: 0.7em;
  left: 0.3em;
  z-index: 2;
  content: "";
  width: 0.3em;
  height: 0.3em;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  transform: rotate(134deg);
}

@media (max-width: 600px) {
  .page_style > h4:not([class*="is-style-ttl_"])::after,
  .page_style h4.is-style-default::after {
    border-width: 1px;
  }
}

.page_style strong, .page_style b {
  font-weight: 500;
}

.page_style em {
  font-weight: 500;
  font-size: 1.1em;
  background: #f8f68a;
}

.page_style .wp-block-columns {
  margin: 16px auto;
  padding: 0;
}

.page_style .wp-block-columns p {
  margin: 0.8em auto;
  text-justify: inter-ideograph;
  font-size: 16px;
  line-height: 1.8em;
}

@media (max-width: 1080px) {
  .page_style .wp-block-columns p {
    font-size: 15px;
  }
}

@media (max-width: 900px) {
  .page_style .wp-block-columns p {
    font-size: 16px;
  }
}

@media (max-width: 750px) {
  .page_style .wp-block-columns p {
    font-size: 15px;
  }
}

@media (max-width: 500px) {
  .page_style .wp-block-columns p {
    line-height: 2em;
  }
}

@media (max-width: 360px) {
  .page_style .wp-block-columns p {
    font-size: 14px;
  }
}

.page_style .wp-block-columns h2,
.page_style .wp-block-columns h3,
.page_style .wp-block-columns h4 {
  margin: 1.3em 0 1em 0;
  font-size: 20px;
  font-weight: 500;
}

@media (max-width: 1080px) {
  .page_style .wp-block-columns h2,
  .page_style .wp-block-columns h3,
  .page_style .wp-block-columns h4 {
    font-size: 18px;
  }
}

@media (max-width: 600px) {
  .page_style .wp-block-columns h2,
  .page_style .wp-block-columns h3,
  .page_style .wp-block-columns h4 {
    font-size: 16px;
  }
}

@media (max-width: 781px) {
  .page_style .wp-block-columns > p:not([class]) {
    display: none;
  }
}

.page_style .wp-block-image {
  width: 100%;
}

.page_style .wp-block-image,
.page_style .wp-block-columns .wp-block-image {
  margin: 0 auto;
}

.page_style .wp-block-image figcaption,
.page_style .wp-block-columns .wp-block-image figcaption {
  text-align: center;
}

.page_style .wp-block-columns .wp-block-image {
  padding: 0;
}

.page_style .wp-block-embed__wrapper::before,
.page_style .wp-block-columns .wp-block-embed__wrapper::before {
  content: "";
  padding-top: 57%;
  display: block;
}

.page_style .wp-block-embed__wrapper iframe,
.page_style .wp-block-columns .wp-block-embed__wrapper iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.page_style .blocks-gallery-grid {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.page_style .blocks-gallery-grid figure {
  box-shadow: 0 0 50px #eee;
}

.page_style .wp-block-embed__wrapper {
  margin: 16px auto;
  margin-bottom: 24px;
  padding: 0 16px;
  max-width: 832px;
  width: 100%;
  height: auto;
  position: relative;
}

.page_style .wp-block-embed__wrapper::before {
  padding-top: 56.3%;
  content: "";
  display: block;
}

.page_style .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.page_style > .youtube_video_iframe {
  position: relative;
  margin: 16px auto;
  padding: 0 16px;
  max-width: 832px;
  width: 100%;
  height: auto;
}

.page_style > .youtube_video_iframe::before {
  padding-top: 56.2%;
  content: "";
  display: block;
}

.page_style > .youtube_video_iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.page_style > .wp-block-quote {
  position: relative;
  z-index: 10;
  margin: 40px 0;
  padding: 24px 32px;
  font-size: 0.95em;
  border-left: 0.5em solid #709797;
  text-justify: inter-ideograph;
}

.page_style > .wp-block-quote::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: #709797;
  opacity: 0.1;
}

.page_style > .wp-block-quote p {
  margin: 0;
  margin-bottom: 16px;
}

.page_style > .wp-block-quote cite {
  font-size: 0.9em;
}

.page_style > .wp-block-code code {
  padding: 1em 1.5em;
  display: block;
  background: #222;
  color: #fff;
}

.page_style > ul:not([class*="is-style-li_"]),
.page_style .wp-block-columns ul:not([class*="is-style-li_"]) {
  margin: 1.3em auto;
  line-height: 1.6em;
  display: grid;
  gap: .6em;
}

.page_style > ul:not([class*="is-style-li_"]) li,
.page_style .wp-block-columns ul:not([class*="is-style-li_"]) li {
  position: relative;
  margin-left: 1.2em;
  padding-left: 1.7em;
}

@media (max-width: 1080px) {
  .page_style > ul:not([class*="is-style-li_"]) li,
  .page_style .wp-block-columns ul:not([class*="is-style-li_"]) li {
    font-size: 14px;
  }
}

@media (max-width: 1080px) {
  .page_style > ul:not([class*="is-style-li_"]) li,
  .page_style .wp-block-columns ul:not([class*="is-style-li_"]) li {
    margin-left: 0.5em;
  }
}

.page_style > ul:not([class*="is-style-li_"]) li::before,
.page_style .wp-block-columns ul:not([class*="is-style-li_"]) li::before {
  position: absolute;
  top: .55em;
  left: 0;
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #000;
}

.page_style > ul:not([class*="is-style-li_"]) ul,
.page_style > ul:not([class*="is-style-li_"]) ol,
.page_style .wp-block-columns ul:not([class*="is-style-li_"]) ul,
.page_style .wp-block-columns ul:not([class*="is-style-li_"]) ol {
  margin-top: 0.6em;
}

.page_style > ol:not([class*="is-style-li_"]),
.page_style .wp-block-columns ol:not([class*="is-style-li_"]) {
  margin: 1em auto;
  padding-left: 1em;
  list-style-type: decimal;
  line-height: 1.6em;
}

.page_style > ol:not([class*="is-style-li_"]) li,
.page_style .wp-block-columns ol:not([class*="is-style-li_"]) li {
  margin-left: 1.2em;
  margin-bottom: 0.8em;
}

@media (max-width: 1080px) {
  .page_style > ol:not([class*="is-style-li_"]) li,
  .page_style .wp-block-columns ol:not([class*="is-style-li_"]) li {
    font-size: 14px !important;
  }
}

.page_style > ol:not([class*="is-style-li_"]) li ol li,
.page_style .wp-block-columns ol:not([class*="is-style-li_"]) li ol li {
  margin-left: 0.6em;
}

.page_style > ol:not([class*="is-style-li_"]) ul,
.page_style > ol:not([class*="is-style-li_"]) ol,
.page_style .wp-block-columns ol:not([class*="is-style-li_"]) ul,
.page_style .wp-block-columns ol:not([class*="is-style-li_"]) ol {
  margin-top: 0.6em;
  padding-left: 0;
}

.page_style .wp-block-columns ul:not([class*="is-style-li_"]),
.page_style .wp-block-columns ol:not([class*="is-style-li_"]) {
  padding-left: 0.3em;
}

.page_style > a {
  color: #1a65a3;
}

.page_style > p a {
  text-decoration: underline;
}

.page_style > p a:hover {
  color: #fa5555;
}

.page_style > figure a {
  border: none;
}

.page_style > .wp-block-image {
  margin: 1.5em 0;
}

.page_style > .wp-block-button a {
  padding: 0.5em 1em;
  font-size: 14px;
  transition: 0.5s;
  text-decoration: none;
}

.page_style > .wp-block-button a:hover {
  opacity: 0.8;
}

.page_style > .wp-block-file a.wp-block-file__button {
  color: #fff;
  text-decoration: none;
}

.page_style > p:not([class]) + .wp-block-table {
  margin-top: 1.5em;
}

.page_style > .wp-block-table {
  max-width: 100%;
  overflow: scroll;
  border-bottom: none;
  letter-spacing: 0;
  line-height: 1.4em;
  font-size: 14px;
}

@media (max-width: 500px) {
  .page_style > .wp-block-table {
    font-size: 14px;
  }
}

.page_style > .wp-block-table table {
  border-collapse: collapse;
  /* セルの線を重ねる */
}

.page_style > .wp-block-table thead {
  background: #555;
  color: #fff;
}

.page_style > .wp-block-table thead tr th {
  padding: 0.5em 0.3em;
  border-right: 1px solid #ddd;
}

.page_style > .wp-block-table thead tr th:last-of-type {
  border-right: none;
}

.page_style > .wp-block-table tbody tr th,
.page_style > .wp-block-table tbody tr td {
  border: solid 1px #ccc;
  /* 枠線指定 */
}

.page_style > .wp-block-table td {
  padding: 12px;
}

.page_style > .wp-block-table td ul {
  margin: 0;
  padding: 0;
  border: none;
}

.page_style > .wp-block-table td ul li {
  margin: 0;
  padding: 0;
}

.page_style > .wp-block-table td ul li::before {
  display: none;
}

.page_style > .wp-block-table.is-style-stripes thead {
  background: #555;
  color: #fff;
}

.page_style > .wp-block-table.is-style-stripes thead tr th {
  padding: 0.2em;
  border-right: 1px solid #eee;
  color: 0;
}

.page_style > .wp-block-table.is-style-stripes thead tr th:last-of-type {
  border-right: none;
}

.page_style > .wp-block-table.is-style-stripes td {
  padding: 0.2em;
}

@media (max-width: 560px) {
  .page_style > .wp-block-table table.has-fixed-layout {
    width: 500px;
    max-width: initial !important;
  }
}

.page_style > .wp-block-table + p {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.page_style > iframe {
  max-width: 100% !important;
}

.page_style > .wp-block-preformatted {
  white-space: inherit;
}

.page_style > .wp-block-video {
  position: relative;
  margin: 24px auto;
  max-width: 832px;
  width: 100%;
}

.page_style > .wp-block-video + p.is-style-p_03,
.page_style > .wp-block-video + p.is-style-p_04 {
  margin-top: -12px;
}

.page_style > .wp-block-video::before {
  padding-top: 60%;
  content: "";
  display: block;
}

.page_style > .wp-block-video video {
  position: absolute;
  top: 0;
  left: 16px;
  width: calc(100% - 32px);
  height: 100%;
  object-fit: cover;
}

.page_style > .wp-block-columns {
  margin-bottom: 1em;
  gap: 16px;
}

@media (max-width: 781px) {
  .page_style > .wp-block-columns {
    gap: 0;
  }
}

.page_style > .wp-block-columns > p:not([class]) {
  display: none;
}

/*-----------------
breadcrumb
パンクズ
------------------
.breadcrumb {
    margin-top: -12px;
    margin-bottom: 48px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-size: 14px;
    @media (max-width: 1120px) {
        padding: 0 16px;
    }
    @media (max-width: 980px) {
        margin-bottom: 24px;
        font-size: 13px;
    }
    @media (max-width: 900px) {
        padding: 0;
    }
    @media (max-width: 600px) {
        margin-bottom: 24px;
        font-size: 11px;
    }
    li {
        margin-right: 16px;
        display: flex;
        align-items: center;
        line-height: 1.6em;
        @media (max-width: 600px) {
            margin-right: 10px;
        }
        &::after {
            content: "";
            margin-top: 1px;
            margin-left: 16px;
            display: block;
            width: 6px;
            height: 6px;
            border-top: 1px solid #222;
            border-right: 1px solid #222;
            transform: rotate(45deg);
            @media (max-width: 600px) {
                margin-left: 8px;
            }
        }
        &:first-of-type {
            margin-left: 0;
        }
        &:last-of-type {
            &::after {
                display: none;
            }
        }
        a {
            color: #222;
            display: block;
            line-height: 3em;
            @media (max-width: 600px) {
                letter-spacing: 0;
            }
            &:hover {
                color: $hover_color;
            }
            svg {
                height: 12px;
                width: auto;
                fill: #222;
                @media (max-width: 600px) {
                    height: 10px;
                }
            }
        }
    }
}*/
