:root {
  --font-size: 15px;
  --mobile-section-header-height: 555px;
  --controls-height: 21px;
}

html,
body,
.wp-site-blocks {
  height: 100%;
  margin: 0;
  padding: 0;
}

body {
  font-family: "Zen Maru Gothic", serif;
  overflow: hidden;
  line-height: 1.6;
  font-size: var(--font-size);
}

body:not(.js-is-touch-device) .wp-custom-block-group-teaser-front-page-section {
      --controls-height: 21px;
      width: 68%;
      height: 60%;
    }

body:not(.js-is-touch-device) .wp-custom-block-group-teaser-front-page-section.wp-custom-block-teaser-shimayu-section {
        left: 5%;
        top: 34%;
      }

body:not(.js-is-touch-device) .wp-custom-block-group-teaser-front-page-section.wp-custom-block-teaser-shimameshi-section {
        left: 15%;
        top: 21%;
      }

body:not(.js-is-touch-device) .wp-custom-block-group-teaser-front-page-section.wp-custom-block-teaser-shimahaku-section {
        left: 25%;
        top: 8%;
      }

body:not(.js-is-touch-device) .wp-custom-block-group-controls p {
        gap: 6px;
      }

body:not(.js-is-touch-device) .wp-custom-block-group-controls svg {
        width: 11px;
        height: 11px;
      }

body:not(.js-is-touch-device) .wp-custom-block-group-overflow {
      height: calc(100% - var(--controls-height));
      overflow: scroll;
      overscroll-behavior: contain;
    }

body:not(.js-is-touch-device) .wp-custom-block-group-section-header {
      height: 100%;
    }

body.js-is-touch-device .wp-custom-block-group-teaser-front-page-section {
      --controls-height: 26px;
      width: 72%;
    }

body.js-is-touch-device .wp-custom-block-group-teaser-front-page-section.wp-custom-block-teaser-shimayu-section {
        --mobile-top: 26%;
        left: 5%;
        top: var(--mobile-top);
      }

body.js-is-touch-device .wp-custom-block-group-teaser-front-page-section.wp-custom-block-teaser-shimayu-section.js-is-ios-safari {
          --mobile-top: 28%;
        }

body.js-is-touch-device .wp-custom-block-group-teaser-front-page-section.wp-custom-block-teaser-shimayu-section .wp-custom-block-group-section-header {
          height: var(--mobile-section-header-height);
        }

body.js-is-touch-device .wp-custom-block-group-teaser-front-page-section.wp-custom-block-teaser-shimameshi-section {
        height: var(--mobile-section-header-height);
        --mobile-top: 14%;
        left: 19%;
        top: var(--mobile-top);
      }

body.js-is-touch-device .wp-custom-block-group-teaser-front-page-section.wp-custom-block-teaser-shimameshi-section.js-is-ios-safari {
          --mobile-top: 16%;
        }

body.js-is-touch-device .wp-custom-block-group-teaser-front-page-section.wp-custom-block-teaser-shimahaku-section {
        height: var(--mobile-section-header-height);
        --mobile-top: 2%;
        left: 33%;
        top: var(--mobile-top);
      }

body.js-is-touch-device .wp-custom-block-group-teaser-front-page-section.wp-custom-block-teaser-shimahaku-section.js-is-ios-safari {
          --mobile-top: 4%;
        }

body.js-is-touch-device .wp-custom-block-group-controls p {
        gap: 8px;
      }

body.js-is-touch-device .wp-custom-block-group-controls svg {
        width: 14px;
        height: 14px;
      }

body.js-is-touch-device .wp-custom-block-group-overflow {
      height: calc(100% - var(--controls-height));
    }

body.js-is-touch-device .wp-custom-block-group-section-header {
      height: 100%;
    }

:where(h1, h2, h3, h4, h5, h6) {
  font-weight: normal;
}

a {
  color: inherit;
}

a:hover {
    text-decoration: none;
  }

.wp-custom-block-group-main-teaser {
  position: relative;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

.wp-custom-block-group-main-teaser > div {
    height: 100%;
  }

:where(.wp-custom-block-group-teaser-front-page-section) {
  overflow: hidden;
  min-height: var(--controls-height);
  position: absolute;
  border: 1px solid black;
  background-color: white;
  will-change: transform, width, height;
  container-type: inline-size;
  container-name: section;
}

.js-is-closing:where(.wp-custom-block-group-teaser-front-page-section) {
    height: var(--controls-height) !important;
    min-height: initial !important;
  }

.js-is-closing:where(.wp-custom-block-group-teaser-front-page-section) .wp-custom-block-button-close button svg.close {
            display: none;
          }

.js-is-closing:where(.wp-custom-block-group-teaser-front-page-section) .wp-custom-block-button-close button svg.open {
            display: block;
          }

.wp-custom-block-teaser-shimayu-section:where(.wp-custom-block-group-teaser-front-page-section) {
    z-index: 3;
  }

.wp-custom-block-teaser-shimayu-section:where(.wp-custom-block-group-teaser-front-page-section) .wp-custom-block-title-image {
      width: 78px;
    }

@container section (width > 600px) {

.wp-custom-block-teaser-shimayu-section:where(.wp-custom-block-group-teaser-front-page-section) .wp-custom-block-title-image {
        width: 132px;
    }
      }

.wp-custom-block-teaser-shimameshi-section:where(.wp-custom-block-group-teaser-front-page-section) {
    z-index: 2;
  }

.wp-custom-block-teaser-shimameshi-section:where(.wp-custom-block-group-teaser-front-page-section) .wp-custom-block-title-image {
      width: 91px;
    }

@container section (width > 600px) {

.wp-custom-block-teaser-shimameshi-section:where(.wp-custom-block-group-teaser-front-page-section) .wp-custom-block-title-image {
        width: 150px;
    }
      }

.wp-custom-block-teaser-shimahaku-section:where(.wp-custom-block-group-teaser-front-page-section) {
    z-index: 1;
  }

.wp-custom-block-teaser-shimahaku-section:where(.wp-custom-block-group-teaser-front-page-section) .wp-custom-block-title-image {
      width: 71px;
    }

@container section (width > 600px) {

.wp-custom-block-teaser-shimahaku-section:where(.wp-custom-block-group-teaser-front-page-section) .wp-custom-block-title-image {
        width: 113px;
    }
      }

:where(.wp-custom-block-group-teaser-front-page-section) .wp-block-cover {
    padding: 0;
    height: 100%;
    min-height: auto;
    display: block;
  }

:where(.wp-custom-block-group-teaser-front-page-section) .wp-block-cover .wp-block-cover__inner-container {
      height: 100%;
    }

:where(.wp-custom-block-group-teaser-front-page-section) .wp-block-cover .wp-block-cover__image-background {
      /* NOTE:
      なぜか左端に黒線が出るので少し大きくする
       */
      transform: scale(1.05);
    }

.wp-custom-block-group-controls {
  margin: 0;
  position: sticky;
  z-index: 10;
  top: 0;
  width: 100%;
  height: var(--controls-height);
  background-color: white;
  border-bottom: 1px solid black;
  padding-left: 5px;
}

.wp-custom-block-group-controls .wp-block-buttons {
    height: 100%;
    line-height: 11px;
  }

.wp-custom-block-group-controls button {
    background-color: transparent;
    padding: 0;
  }

.wp-custom-block-group-controls .wp-custom-block-button-close svg.close {
        display: block;
      }

.wp-custom-block-group-controls .wp-custom-block-button-close svg.open {
        display: none;
      }

.wp-custom-block-group-section-header {
  position: relative;
  height: 100%;
}

.wp-custom-block-group-section-header .wp-block-image {
    margin: 0;
  }

.wp-custom-block-group-header-content {
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  height: 100%;
  padding-top: 13px;
  padding-bottom: 13px;
  padding-left: 20px;
  padding-right: 17px;
}

@container section (width > 600px) {

.wp-custom-block-group-header-content {
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: 30px;
    padding-right: 24px;
}
  }

.wp-custom-block-title-image {
  display: flex;
  align-items: flex-start;
  flex-direction: row-reverse;
}

.wp-custom-block-title-image img {
    max-height: 100%;
  }

.wp-custom-block-text-image {
  align-self: flex-end;
  /* height: 303px; */
  height: 53%;
}

@container section (width > 600px) {

.wp-custom-block-text-image {
    /* height: 360px; */
    height: 67%;
}
  }

@container section (width > 600px) {

.wp-custom-block-text-image picture {
      height: 100%;
  }
    }

.wp-custom-block-text-image img {
    width: auto;
    height: 100%;
    max-height: 100%;
  }

.wp-block-quei-post-content {
  border-top: 1px solid black;
  padding-top: 29px;
  padding-bottom: 29px;
  padding-left: 15px;
  padding-right: 15px;
  display: grid;
  gap: 43px;
}

@container section (width > 600px) {

.wp-block-quei-post-content {
    padding-top: 55px;
    padding-bottom: 55px;
    padding-left: 30px;
    padding-right: 30px;
}
  }

.wp-block-quei-post-content small {
    font-size: 0.85em;
  }

.wp-block-quei-post-content a[target="_blank"]::after {
      content: "";
      display: inline-block;
      width: 11px;
      height: 11px;
      vertical-align: middle;
      background-image: url("images/up-right-arrow.svg");
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center;
    }

@container section (width > 600px) {

.wp-block-quei-post-content :where(.wp-block-table):not(.is-style-no-padding) table tr:not(:first-of-type) td {
              padding-top: 1.6em;
          }
            }

@container section (width <= 600px) {

.wp-block-quei-post-content :where(.wp-block-table) table tbody {
          display: flex;
          flex-direction: column;
          gap: 1.6em;
      }
        }

@container section (width <= 600px) {

.wp-block-quei-post-content :where(.wp-block-table) table tr {
          display: flex;
          flex-direction: column;
      }
        }

.wp-block-quei-post-content :where(.wp-block-table) table td {
        border: none;
        vertical-align: top;
        padding: 0;
      }

@container section (width > 600px) {

.wp-block-quei-post-content :where(.wp-block-table) table td:first-of-type {
            width: 4.3em;
            text-align-last: justify;
            padding-right: 2em;
        }
          }

.wp-block-quei-post-content .wp-block-image {
    width: 134px;
  }
