@charset "UTF-8";
/*
============================================================
# Utilities
============================================================
*/
/* u-contents (直下の要素にマージントップを付ける)
--------------------------------------------- */
.u-contents > h2.wp-block-heading,
.u-contents.wp-block-group > h2.wp-block-heading {
  margin-bottom: 0.7em;
}

.u-contents > h3.wp-block-heading,
.u-contents.wp-block-group > h3.wp-block-heading {
  margin-bottom: 0.5em;
}

.u-contents > * + h1.wp-block-heading, .u-contents > * + h2.wp-block-heading, .u-contents > * + h3.wp-block-heading, .u-contents > * + h4.wp-block-heading, .u-contents > * + h5.wp-block-heading,
.u-contents.wp-block-group > * + h1.wp-block-heading,
.u-contents.wp-block-group > * + h2.wp-block-heading,
.u-contents.wp-block-group > * + h3.wp-block-heading,
.u-contents.wp-block-group > * + h4.wp-block-heading,
.u-contents.wp-block-group > * + h5.wp-block-heading {
  margin-top: 1.2em;
}

.u-contents > .wp-block-buttons,
.u-contents.wp-block-group > .wp-block-buttons {
  margin-top: 1.2em;
}

/* 固定ページ用 */
.u-contents-page > * + *,
.u-contents-page.wp-block-group > * + * {
  margin-top: 3em;
}

/* parts-margin
-------------------------------------------------- */
.u-parts-margin-1em > * + * {
  margin-top: 1em;
}

.u-parts-margin-15em > * + * {
  margin-top: 1.5em;
}

.u-parts-margin-2em > * + * {
  margin-top: 2em;
}

.u-parts-margin-25em > * + * {
  margin-top: 2.5em;
}

.u-parts-margin-3em > * + * {
  margin-top: 3em;
}

.u-parts-margin-35em > * + * {
  margin-top: 3.5em;
}

.u-parts-margin-4em > * + * {
  margin-top: 4em;
}

.u-parts-margin-45em > * + * {
  margin-top: 4.5em;
}

/* gapの追加
-------------------------------------------------- */
.u-gap-0,
.u-gap-0.wp-block-group {
  gap: 0;
}

.u-gap-05em,
.u-gap-05em.wp-block-group {
  gap: 0.5em;
}

.u-gap-1em,
.u-gap-1em.wp-block-group {
  gap: 1em;
}

.u-gap-15em,
.u-gap-15em.wp-block-group {
  gap: 1.5em;
}

.u-gap-2em,
.u-gap-2em.wp-block-group {
  gap: 2em;
}

.u-gap-25em,
.u-gap-25em.wp-block-group {
  gap: 2.5em;
}

.u-gap-3em,
.u-gap-3em.wp-block-group {
  gap: 3em;
}

/* メディアクエリ・ブロック（SPファースト）
-------------------------------------------------- */
/* SPまで表示 */
body .u-sp {
  display: block;
}

@media screen and (min-width: 43.75em) {
  body .u-sp {
    display: none;
  }
}
/* SP〜TBまで表示 */
body .u-tb {
  display: block;
}

@media screen and (min-width: 75em) {
  body .u-tb {
    display: none;
  }
}
/* PCのみ表示 */
body .u-pc {
  display: none;
}

@media screen and (min-width: 75em) {
  body .u-pc {
    display: block;
  }
}
/* Accessibility
--------------------------------------------- */
/* Text meant only for screen readers. */
.u-screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  word-wrap: normal !important;
  border: 0;
}

.u-screen-reader-text:focus {
  top: 5px;
  left: 5px;
  z-index: 100000;
  display: block;
  width: auto;
  height: auto;
  padding: 15px 23px 14px;
  clip: auto !important;
  -webkit-clip-path: none;
          clip-path: none;
  font-size: 0.875rem;
  font-weight: 800;
  line-height: normal;
  color: #21759b;
  text-decoration: none;
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/*
============================================================
# Plugins
============================================================
*/
/* contact-form-7
--------------------------------------------- */
/* 子要素 */
.wpcf7-list-item.first {
  margin: 0;
}

.wpcf7-list-item {
  margin: 0;
}

.wpcf7-list-item.last {
  margin: 0;
}

/* チェックボックス・ラジオボタンのコンテナー */
.wpcf7-form-control.wpcf7-checkbox,
.wpcf7-form-control.wpcf7-radio {
  display: flex;
  flex-flow: wrap row;
  gap: 0.6em 2em;
  align-items: flex-start;
  justify-content: flex-start;
}

/* コンタクトフォーム7のスピナーアニメーション用span 
送信ボタンと同じPに含まれる */
span.wpcf7-spinner {
  position: absolute;
  top: 0;
  right: -2rem;
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  margin: 0;
  pointer-events: none;
  background-color: #009f4d;
  opacity: 1;
}

span.wpcf7-spinner::before {
  background-color: #fff;
}

/* コンタクトフォーム7のバリデードテキスト */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  font-weight: 700;
  color: #fe5500;
  border-color: #fe5500;
  border-width: 0.1875rem;
}

.wpcf7-not-valid-tip {
  display: block;
  margin-top: 0.3em;
  font-size: 1em;
  font-weight: 700;
  color: #fe5500;
}
