/* =========================================
   ユーティリティー
========================================= */
/* フォントファミリー Noto Sans boldに */
.font-sans{
  font-family: var(--font-sans) !important;
  font-weight: var(--w-bold) !important;
}
/* フォントファミリー Noto Sans regularに */
.font-sans-light{
  font-family: var(--font-sans) !important;
  font-weight: var(--w-regular) !important;
}
/* フォントファミリー Noto Sans boldに */
.font-serif{
  font-family: var(--font-serif) !important;
  font-weight: var(--w-serif-head) !important;
}
/* フォントファミリー Noto Sans regularに */
.font-serif-light{
  font-family: var(--font-serif) !important;
  font-weight: var(--w-serif-body) !important;
}
/* マージン追加 */
.mt-0{ margin-top:0 !important; }
.mt-100{ margin-top:1.0em !important; }
.mt-150{ margin-top:1.5em !important; }
.mt-200{ margin-top:2.0em !important; }
.mt-250{ margin-top:2.5em !important; }
.mt-300{ margin-top:3.0em !important; }
.mt-350{ margin-top:3.5em !important; }
.mb-0{ margin-bottom:0 !important; }
.mb-100{ margin-bottom:1.0em !important; }
.mb-150{ margin-bottom:1.5em !important; }
.mb-200{ margin-bottom:2.0em !important; }
.mb-250{ margin-bottom:2.5em !important; }
.mb-300{ margin-bottom:3.0em !important; }
.mb-350{ margin-bottom:3.5em !important; }
/* フォントサイズアップ */
.sizeup-105{ font-size:105% !important; }
.sizeup-110{ font-size:110% !important; }
.sizeup-115{ font-size:115% !important; }
.sizeup-120{ font-size:120% !important; }
.sizeup-125{ font-size:125% !important; }
.sizeup-130{ font-size:130% !important; }
.sizeup-135{ font-size:135% !important; }
.sizeup-140{ font-size:140% !important; }
.sizeup-145{ font-size:145% !important; }
.sizeup-150{ font-size:150% !important; }

/* カラー */
.aqua-green{ color:var(--aqua-green); }
.caution-red{ color:var(--caution); }

/* 見出し装飾 */
.border-left{
  padding-left: 0.7em;
  padding-bottom: 0.15em;
  border-left: 4px solid;
  border-color: var(--aqua-green);
}
.border-bottom-dashed{
  padding-bottom: 0.5em;
  border-bottom: 1px dashed;
  border-color: #666;
}

/* テキスト装飾 */
.link-bordered{
  font-size: 1.2em;
  font-family: var(--font-sans);
  text-align: center;
  display: block;
  padding:0.5em 0.7em;
  border: 1px solid var(--aqua-green);
}
.link-bordered::after{
  content: "";
  display: inline-block;
  width: 0.65em;
  height: 0.65em;
  border-right: 2px solid var(--aqua-green);
  border-bottom: 2px solid var(--aqua-green);
  margin-left: 0.2em;
  transform: rotate(315deg);
  vertical-align: 2px;
}
.link-bordered:hover {
  background:var(--pale-green)
}
.bordered {
  text-align: center;
  padding:0.5em 0.7em;
  border: 1px solid;
  border-color: inherit;
  margin: 0;
}
.bg-light-green {
  background: var(--pale-green);
  padding:0.5em 0.7em;
}
.bordered-bottom{
  border-bottom: 1px solid;
  border-color: inherit;
  padding-bottom: 0.5em;
}
@media screen and (max-width: 540px) {
  .link-bordered{
    font-size: 1.1em;
  }
}

/*揃え*/
.align-l{
  text-align: left;
}
.align-r{
  text-align: right;
}
.align-c{
  text-align: center;
}

/* 管理バーがある時だけ：fixed + inset ヘッダーを下げる */
#wpadminbar { position: fixed; } /* 念のため */

@media screen {
  body:has(#wpadminbar) .site-header{
    inset: 32px 0 auto 0 !important;
  }
}
@media screen and (max-width: 782px) {
  body:has(#wpadminbar) .site-header{
    inset: 46px 0 auto 0 !important;
  }
}

p.form-error-summary{
  color:#c00;
  margin-bottom:1rem;
  font-weight:600;
  font-family: var(--font-sans);
  padding: 0.3em 0.7em;
  border: 1px solid #c00;
}
