
/* ボタンの透明化を強制的に上書き（TT5対応版） */
:where(.wp-block-button__link),
:where(.wp-element-button),
.wp-block-button .wp-block-button__link.has-background,
.wp-block-button__link {
    background-color: var(--wp--preset--color--contrast, #333333) !important;
    color: var(--wp--preset--color--base, #ffffff) !important;
    border: none !important;
    opacity: 1 !important;
}



/* ボタンの角丸（9999px）を強制リセットして四角にする */
.wp-block-button__link, 
.wp-element-button {
    border-radius: 0 !important;
}





/* ヘッダー専用の出し分け設定 */

/* 【PCヘッダー】スマホサイズかつ非ログイン時に隠す */
@media (max-width: 599.98px) {
  :not(.logged-in) .header-pc { display: none !important; }
}
/* 【SPヘッダー】PCサイズかつ非ログイン時に隠す */
@media (min-width: 600px) {
  :not(.logged-in) .header-sp { display: none !important; }
}
/* エディター内での強制表示 */
.editor-styles-wrapper .header-pc, 
.editor-styles-wrapper .header-sp { display: block !important; }


/* 個別パーツ（バナー等）の出し分け設定 */

/* 【PC用パーツ】スマホサイズかつ非ログイン時に隠す */
@media (max-width: 599.98px) {
  :not(.logged-in) .xpcdbn { display: none !important; }
}
/* 【SP用パーツ】PCサイズかつ非ログイン時に隠す */
@media (min-width: 600px) {
  :not(.logged-in) .xspdbn { display: none !important; }
}
/* エディター内での強制表示 */
.editor-styles-wrapper .xpcdbn, 
.editor-styles-wrapper .xspdbn { display: block !important; }




/*TT5のiPhone12での左寄り・右空白の対策*/
@supports (-webkit-touch-callout: none) {
  p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
    text-wrap: wrap;
  }
}


/*モバイル固定ナビ　下端固定*/
.xfbmoc {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;       /* 画面幅いっぱい */
  max-width: 100%;   /* 制限を解除 */
  z-index: 9999;
}

/*モバイル固定ナビ　リンク下線を非表示*/
.xfbmoc a:where(:not(.wp-element-button)) {
  text-decoration: none;
}

/*モバイル固定ナビ　設定px以上：PCでは非表示設定*/
@media (min-width: 600px) {
  .xfbmoc {
    display: none; /* PCでは非表示にする場合 */
  }
}

/*設定px以上：PC非表示　フッター下端のスペーサーに対して*/
@media (min-width: 600px) {
 .xfbmsp {
   display: none;
  }
}



/*TT5　CF7入力画面上下の余白を少なく調整*/
.wpcf7 p {margin: 0.25rem;}

/*----------------------------------------------------------------------------------------------------*/

/*ボタンhover時に少し暗くする　100%を超えて大きくすると明るくもできる*/
.wp-block-button__link {
  transition: filter 0.3s ease;
}
.wp-block-button__link:hover {
  filter: brightness(90%);
}



/*ボタン周囲のパディングを一括調整*/
/*.wp-block-button__link {
  padding-top: 0.5rem;
  padding-right: 1rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
}*/

/*----------------------------------------------------------------------------------------------------*/

/*カバーブロック 上下余白を0にして左右余白は1remのままにする*/
.wp-block-cover {
  padding: 0 1rem;
}

/*----------------------------------------------------------------------------------------------------*/
/*フォントまわり*//*行間・文字間・フォントウェイト*/

/*フォントサイズ流動変化*/
:root {
  --min-font: 0.75rem;
  --max-font: 1rem;
  --fluid-font: calc(0.5rem + 0.5vw);
}

html {
  font-size: clamp(var(--min-font), var(--fluid-font), var(--max-font));
}


/*フォント指定*/　/*試行錯誤の末にHiraginoを追加してみたバージョン*/
html {font-family: "Noto Sans JP", "Hiragino Sans", sans-serif;}
body {font-family: "Noto Sans JP", "Hiragino Sans", sans-serif;}
h1,h2,h3,h4,h5,h6 {font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;}
.gothic {font-family: "Noto Sans JP", "Hiragino Sans", sans-serif;}
.mincho {font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;}


/*body {
  font-weight: 400;
  line-height: 2.0;
  letter-spacing: 0.05em;*/
  /*text-transform: none;*/
  /*text-transform:
  none入力した通りに表示する（自動変換しない）
  uppercaseすべて大文字にする（例：apple → APPLE）
  lowercaseすべて小文字にする（例：APPLE → apple）
  capitalize単語の先頭だけを大文字にする（例：hello world → Hello World）*/
/*}*/

/* リンク */
/*a {
  font-weight: 400;
  line-height: 2.0;*/
  /*text-decoration: none;*/
  /*text-decoration:
  none	装飾をすべて消す（下線を引かない）
  underline	下線を引く
  line-through	打ち消し線を引く*/
/*}*/

/* 見出し */
/*h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;*/
  /*text-transform: none;*/
/*}*/

/* キャプション */
/*figcaption, .wp-element-caption {
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;*/
  /*text-transform: none;*/
/*}*/

/* ボタン */
/*.wp-block-button__link {
  font-weight: 400;
  line-height: 1.0;
  letter-spacing: 0.05em;*/
  /*text-transform: none;*/
/*}*/


/*個別　テキストシャドウ 黒影*/
.xshadb {text-shadow:0.1rem 0.1rem 0 rgba(51, 51, 51, 1.0);}
/*個別　テキストシャドウ 灰影*/
.xshadg {text-shadow:0.1rem 0.1rem 0 rgba(221, 221, 221, 1.0);}
/*個別　テキストシャドウ 白影*/
.xshadw {text-shadow:0.1rem 0.1rem 0 rgba(255, 255, 255, 1.0);}

/*----------------------------------------------------------------------------------------------------*/

/*指定　特殊フォントサイズ　0.5remから2remまでの間で小数点第3位まで指定が必要なもののみ*/
/*.xfs0875 {
  font-size: 0.875rem;
}
.xfs1125 {
  font-size: 1.125rem;
}
.xfs1375 {
  font-size: 1.375rem;
}
.xfs1625 {
  font-size: 1.625rem;
}
.xfs1875 {
  font-size: 1.875rem;
}*/


/*以下はボツ案　あまりよくなかった*/

/*.xfs12-075 { font-size: clamp(0.5rem, 0.5rem + ((1vw - 0.2rem) * 0.25), 0.75rem); }
.xfs14-0875 { font-size: clamp(0.625rem, 0.625rem + ((1vw - 0.2rem) * 0.28), 0.875rem); }
.xfs16-1 { font-size: clamp(0.75rem, 0.75rem + ((1vw - 0.2rem) * 0.375), 1rem); }
.xfs18-1125 { font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.35), 1.125rem); }
.xfs20-125 { font-size: clamp(1rem, 1rem + ((1vw - 0.2rem) * 0.469), 1.25rem); }
.xfs24-15 { font-size: clamp(1.125rem, 1.125rem + ((1vw - 0.2rem) * 0.6), 1.5rem); }
.xfs28-175  { font-size: clamp(1.375rem, 1.375rem + ((1vw - 0.2rem) * 0.7), 1.75rem); }
.xfs32-2  { font-size: clamp(1.5rem, 1.5rem + ((1vw - 0.2rem) * 0.8), 2rem); }*/

/*ベースフォントの変数指定　上との組み合わせで使う場合にはこちらがよいらしい  ★おかしくなるから併用しない*/
/*:root {
  --base-font: clamp(0.75rem, 0.5rem + 0.5vw, 1rem);
}

html {
  font-size: var(--base-font);
}*/


/*ベースフォントの変数指定　単独　個別の指定と組み合わせない場合にはこちらがよいらしい　が　もとの流動変化の方がよい*/
/*:root {
  --base-font: clamp(0.875rem, 0.625rem + 0.5vw, 1.25rem);
}
html {
  font-size: var(--base-font);
}*/



/*PC　1rem:16px　→　SP　0.875rem：14px　シームレス設定*/
/*html {
  font-size: clamp(0.875rem, 0.75rem + 0.5vw, 1rem);
}*/

/*PC　1rem:16px　→　SP　0.75rem：12px　シームレス設定*/
/*html {
  font-size: clamp(0.75rem, 0.5rem + 0.5vw, 1rem);
}*/



/* タブレット横向き：992px未満　〜991.98px かつ 782px以上 */
/*@media (max-width: 991.98px) and (min-width: 782px) {
  html {
    font-size: 0.875rem;
  }
}*/

/*タブレット縦向き：782px未満　～781.98px かつ 600px以上 */
/*@media (max-width: 781.98px) and (min-width: 600px) {
  html {
   font-size: 0.875rem;
  }
}*/

/* スマホ：600px未満　〜599.98px（最小レンジなので単独指定）*/
/*@media (max-width: 599.98px) {
  html {
   font-size: 0.875rem;
  }
}*/


/*----------------------------------------------------------------------------------------------------*/

/*トップページ等のボックスを上に移動させる*/

/*PCのみ個別トップボックス上移動(-100px)*/
@media (min-width:1280px) {
.xtbpu {
position:relative;
transform:translateY(-7rem);
z-index:1;
}
}

/*PC以外個別トップボックス上移動(-50px)*/
@media (max-width:1279.98px) {
.xtbpu {
position:relative;
transform:translateY(-5rem);
z-index:1;
}
}

/*PCのみ個別ページボックス上移動(-50px)*/
@media (min-width:1280px) {
.xpbpu {
position:relative;
transform:translateY(-5rem);
z-index:1;
}
}

/*PC以外個別ページボックス上移動(-25px)*/
@media (max-width:1279.98px) {
.xpbpu {
position:relative;
transform:translateY(-3rem);
z-index:1;
}
}

/*個別ボックスシャドウ*/
.xbxbs {
box-shadow:0 -8px 8px rgba(0, 0, 0, 0.1);
}


/*----------------------------------------------------------------------------------------------------*/

/*コア　指定　メディアとテキストブロックのテキスト部の左右パディングを1remなど任意に調整*/
.wbmtgn.wp-block-media-text > .wp-block-media-text__content {
  padding: 0 1rem;
}



/*コア　指定　グリッドなどグループブロックに対するモバイル時の縦順の逆指定*/
@media (max-width: 599.98px) {
  .xwbg-re.wp-block-group {
    display: flex;
    flex-direction: column-reverse;
  }
}



/*コア　指定　カラム　reverseクラスが付いたものだけ順序を逆転*/
/*@media (max-width: 781.98px) {
  .reverse.wp-block-columns {
    flex-direction: column-reverse;
  }
}*/



/*コア　指定　カラム　782未満でも横並びを維持　デフォルトは782未満で縦積み*/
.xwbc-dfw.wp-block-columns {
  display: flex;
  flex-wrap: nowrap !important;
  flex-direction: row;  
}
/*コア　指定　カラム　599.98pxから縦積み指定*/
@media (max-width: 599.98px) {
  .xwbc-dfw.wp-block-columns {
    flex-direction: column;
    flex-wrap: wrap;
  }
}



/*コア　指定　カラム　クラス付与したものだけ順序を逆転*/
@media (max-width: 599.98px) {
  .xwbc-re.wp-block-columns {
    flex-direction: column-reverse;
    flex-wrap: wrap;
  }
}





/*スマホサイズのみ改行を無効化し一文にする　600未満*/
@media (max-width: 599.98px) {
br {
display:none;
 }
}

/*個別スマホサイズのみ改行の無効化を打ち消しスマホサイズでも改行させる*/
@media (max-width: 599.98px) {
.xbrdb br {
display:block;
 }
}

/*個別スマホサイズ以上の改行の指定を無効化し一文にする　.xbrdbとの併用でスマホサイズでのみ改行させられる*/
@media (min-width: 600px) {
.xbrdn br {
display:none;
 }
}






/*スマホサイズのみ改行を無効化し一文にする　782未満*/
/*@media (max-width: 781.98px) {
br {
display:none;
}
}*/

/*個別スマホサイズのみ改行の無効化を打ち消しスマホサイズでも改行させる*/
/*@media (max-width: 781.98px) {
.xbrdb br {
display:block;
}
}*/

/*個別スマホサイズ以上の改行の指定を無効化し一文にする　.xbrdbとの併用でスマホサイズでのみ改行させられる*/
/*@media (min-width: 782px) {
.xbrdn br {
display:none;
}
}*/



/*画面遷移フェードインエフェクト*/
body {
  animation: fadeIn 1s ease-in-out forwards;
}
@keyframes fadeIn {
  0.1% { opacity: 0; }
  100% { opacity: 1; }
}



/*カバーブロック　デフォルトの左右パディングを1remに(スタイル設定に揃える)　やはり要らんと判断*/
/*.wp-block-cover {
  padding: 0 1rem;
}*/


/*指定　カバーブロック　デフォルトの左右パディングを個別にゼロに　要らんと判断　各ブロック設定で処理可能なため*/
/*.wbcprl.wp-block-cover {
  padding: 0 0rem;
}*/





/*iPhoneカバーブロックパララックスCSSのみ版*/

/*カバーブロックの基本設定*/
.wp-block-cover.has-parallax {
  -webkit-clip-path: inset(0);
  clip-path: inset(0);
  position: relative;
  overflow: hidden;
}

/*背景画像の設定*/
.wp-block-cover__image-background.has-parallax {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;　/*100vhは100dvhが効かない古いブラウザ時のフォールバック用*/
  height: 100dvh;　/*100dvhを加えてiOSに対応　これだけでもよい気もするが*/
  object-fit: cover;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  /*will-change: transform;*/　/*ない方がよいらしいのでオフにして様子見*/
}

/*モバイルデバイスでの最適化*/
@media screen and (max-width: 781.98px) {
  .wp-block-cover__image-background.has-parallax {
    transform: none;
    -webkit-transform: none;
  }
}

/*----------------------------------------------------------------------------------------------------*/
/*コアのグリッドへのCSS*/ /*TT5用　ブレイクポイントの違いにより　992　782　600*/

/*指定　グリッド　レスポンシブ　4カラム-4442*/
.xgr-4442 {
  display: grid;
}

/* PC：992px以上（最大レンジ） */
@media (min-width: 992px) {
  .xgr-4442 {
    grid-template-columns: repeat(4, 1fr); /* PC：4カラム */
  }
}

/* タブレット横向き：〜991.98px かつ 782px以上 */
@media (max-width: 991.98px) and (min-width: 782px) {
  .xgr-4442 {
    grid-template-columns: repeat(4, 1fr); /* タブレット横向き：4カラム */
  }
}

/* タブレット縦向き：〜781.98px かつ 600px以上 */
@media (max-width: 781.98px) and (min-width: 600px) {
  .xgr-4442 {
    grid-template-columns: repeat(4, 1fr); /* タブレット縦向き：4カラム */
  }
}

/* スマホ：〜599.98px（最小レンジ） */
@media (max-width: 599.98px) {
  .xgr-4442 {
    grid-template-columns: repeat(2, 1fr); /* スマホ：2カラム */
  }
}



/*指定　グリッド　レスポンシブ　4カラム-4422*/
.xgr-4422 {
  display: grid;
}

/* PC：992px以上（最大レンジ） */
@media (min-width: 992px) {
  .xgr-4422 {
    grid-template-columns: repeat(4, 1fr); /* PC：4カラム */
  }
}

/* タブレット横向き：〜991.98px かつ 782px以上 */
@media (max-width: 991.98px) and (min-width: 782px) {
  .xgr-4422 {
    grid-template-columns: repeat(4, 1fr); /* タブレット横向き：4カラム */
  }
}

/* タブレット縦向き：〜781.98px かつ 600px以上 */
@media (max-width: 781.98px) and (min-width: 600px) {
  .xgr-4422 {
    grid-template-columns: repeat(2, 1fr); /* タブレット縦向き：2カラム */
  }
}

/* スマホ：〜599.98px（最小レンジ） */
@media (max-width: 599.98px) {
  .xgr-4422 {
    grid-template-columns: repeat(2, 1fr); /* スマホ：2カラム */
  }
}



/*指定　グリッド　レスポンシブ　4カラム-4222*/
.xgr-4222 {
  display: grid;
}

/* PC：992px以上（最大レンジ） */
@media (min-width: 992px) {
  .xgr-4222 {
    grid-template-columns: repeat(4, 1fr); /* PC：4カラム */
  }
}

/* タブレット横向き：〜991.98px かつ 782px以上 */
@media (max-width: 991.98px) and (min-width: 782px) {
  .xgr-4222 {
    grid-template-columns: repeat(2, 1fr); /* タブレット横向き：2カラム */
  }
}

/* タブレット縦向き：〜781.98px かつ 600px以上 */
@media (max-width: 781.98px) and (min-width: 600px) {
  .xgr-4222 {
    grid-template-columns: repeat(2, 1fr); /* タブレット縦向き：2カラム */
  }
}

/* スマホ：〜599.98px（最小レンジ） */
@media (max-width: 599.98px) {
  .xgr-4222 {
    grid-template-columns: repeat(2, 1fr); /* スマホ：2カラム */
  }
}



/*指定　グリッド　レスポンシブ　3カラム-3331*/
.xgr-3331 {
  display: grid;
}

/* PC：992px以上（最大レンジ） */
@media (min-width: 992px) {
  .xgr-3331 {
    grid-template-columns: repeat(3, 1fr); /* PC：3カラム */
  }
}

/* タブレット横向き：〜991.98px かつ 782px以上 */
@media (max-width: 991.98px) and (min-width: 782px) {
  .xgr-3331 {
    grid-template-columns: repeat(3, 1fr); /* タブレット横向き：3カラム */
  }
}

/* タブレット縦向き：〜781.98px かつ 600px以上 */
@media (max-width: 781.98px) and (min-width: 600px) {
  .xgr-3331 {
    grid-template-columns: repeat(3, 1fr); /* タブレット縦向き：3カラム */
  }
}

/* スマホ：〜599.98px（最小レンジ） */
@media (max-width: 599.98px) {
  .xgr-3331 {
    grid-template-columns: repeat(1, 1fr); /* スマホ：1カラム */
  }
}



/*指定　グリッド　レスポンシブ　3カラム-3221*/
.xgr-3221 {
  display: grid;
}

/* PC：992px以上（最大レンジ） */
@media (min-width: 992px) {
  .xgr-3221 {
    grid-template-columns: repeat(3, 1fr); /* PC：3カラム */
  }
}

/* タブレット横向き：〜991.98px かつ 782px以上 */
@media (max-width: 991.98px) and (min-width: 782px) {
  .xgr-3221 {
    grid-template-columns: repeat(2, 1fr); /* タブレット横向き：2カラム */
  }
}

/* タブレット縦向き：〜781.98px かつ 600px以上 */
@media (max-width: 781.98px) and (min-width: 600px) {
  .xgr-3221 {
    grid-template-columns: repeat(2, 1fr); /* タブレット縦向き：2カラム */
  }
}

/* スマホ：〜599.98px（最小レンジ） */
@media (max-width: 599.98px) {
  .xgr-3221 {
    grid-template-columns: repeat(1, 1fr); /* スマホ：1カラム */
  }
}



/*指定　グリッド　レスポンシブ　2カラム-2221*/
.xgr-2221 {
  display: grid;
}

/* PC：992px以上（最大レンジ） */
@media (min-width: 992px) {
  .xgr-2221 {
    grid-template-columns: repeat(2, 1fr); /* PC：2カラム */
  }
}

/* タブレット横向き：〜991.98px かつ 782px以上 */
@media (max-width: 991.98px) and (min-width: 782px) {
  .xgr-2221 {
    grid-template-columns: repeat(2, 1fr); /* タブレット横向き：2カラム */
  }
}

/* タブレット縦向き：〜781.98px かつ 600px以上 */
@media (max-width: 781.98px) and (min-width: 600px) {
  .xgr-2221 {
    grid-template-columns: repeat(2, 1fr); /* タブレット縦向き：2カラム */
  }
}

/* スマホ：〜599.98px（最小レンジ） */
@media (max-width: 599.98px) {
  .xgr-2221 {
    grid-template-columns: repeat(1, 1fr); /* スマホ：1カラム */
  }
}



/*指定　グリッド　スマホ2列*/
/*@media (max-width: 781.98px) {
  .xwbg2.wp-block-group {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 5px !important;
  }
  .xwbg2.wp-block-group > * {
    width: 100% !important;
  }
}*/

/*----------------------------------------------------------------------------------------------------*/

/*指定　カラム　レスポンシブ　料金プラン　3カラム　クラス：column-custom-plan*/
/*同じことができるのでグリッドでいいかな　ただカラムは減らすと消えてくれるので　一応残しておく*/
/*.wp-block-columns.column-custom-plan {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--wp--preset--spacing--40) !important;
  flex-direction: row !important;
}

.wp-block-columns.column-custom-plan > .wp-block-column {
  flex: 1 1 calc(33.333% - var(--wp--preset--spacing--40)) !important;
}

@media (max-width: 991.98px) {
  .wp-block-columns.column-custom-plan {
    flex-direction: row !important;
  }

  .wp-block-columns.column-custom-plan > .wp-block-column {
    flex: 1 1 calc(50% - var(--wp--preset--spacing--40)) !important;
  }
}

@media (max-width: 575.98px) {
  .wp-block-columns.column-custom-plan {
    flex-direction: column !important;
  }

  .wp-block-columns.column-custom-plan > .wp-block-column {
    flex: 1 1 100% !important;
  }
}*/



/*reCAPTCHA非表示*/
.grecaptcha-badge {
visibility:hidden;
}



/*指定　Google Map 高さ指定と下段に出る謎の余白削除*/
.xgmapvh iframe {
/*height:50vh;*/
display:block;
}

/*----------------------------------------------------------------------------------------------------*/

/* TT5　管理バーの高さを考慮（ログイン時）*/
body.admin-bar .wp-site-blocks > header {
  top: 2rem;
}


/* TT5　CSSのみでのグローバルメニュー固定*/
/*指定px以上のサイズで反映*/
@media (min-width: 600px) {
.wp-site-blocks > header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  /*background-color: #fff;*/ /*必要に応じて背景色を調整*/
  box-shadow: 0 2px 4px rgba(0,0,0,0.1); /*視認性向上*/
  }
}

/* TT5　CSSのみでのグローバルメニュー固定*/
/*指定px以下のサイズで反映*/
@media (max-width: 599.98px) {
.wp-site-blocks > header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  /*background-color: #fff;*/ /*必要に応じて背景色を調整*/
  /*box-shadow: 0 2px 4px rgba(0,0,0,0.1);*/ /*視認性向上*/
  }
}

/*----------------------------------------------------------------------------------------------------*/

/*TT5　もともとの下線を非表示に*/
.wp-block-navigation .wp-block-navigation-item a {
  text-decoration: none !important;
}

/*TT5　ホバー時のアンダーライン（アニメーション）*/
.wp-block-navigation .wp-block-navigation-item a {
  position: relative;
  text-decoration: none !important;
  display: inline-block;
  padding-bottom: 4px;
}
.wp-block-navigation .wp-block-navigation-item a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background-color: #0066cc;
  transition: width 0.3s ease;
}
.wp-block-navigation .wp-block-navigation-item a:hover::after {
  width: 100%;
}



/*TT5　カレント状態の下線（静的表示）*/
.wp-block-navigation .wp-block-navigation-item.current-menu-item > a {
  position: relative;
  text-decoration: none;
  display: inline-block;
  padding-bottom: 4px;
}
.wp-block-navigation .wp-block-navigation-item.current-menu-item > a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-color: #0066cc;
}



/*TT5　ホバー時にグローバルメニューリンクの色を変える*/
.wp-block-navigation .wp-block-navigation-item a:hover {
  color: #0066cc;
  text-decoration: underline;
}

/*TT5　ホバー時に文字の色を変更*/
/*.wp-block-navigation .wp-block-navigation-item a:hover {
  color: #0066cc;
}*/

/*TT5　ホバー時に背景色を変える　★使えるがこのままだとなくてもいいと思う*/
/*.wp-block-navigation .wp-block-navigation-item a:hover {
  background-color: #eeeeee;
}*/

/*TT5　ホバー時に拡大する　★使えるが視差でズレを感じてしまうことあり*/
/*.wp-block-navigation .wp-block-navigation-item a:hover {
  transform: scale(1.05);
  transition: transform 0.2s ease;
}*/

/*TT5　カレントメニュー項目のカラーを変更*/
.wp-block-navigation .wp-block-navigation-item.current-menu-item > a {
  color: #0066cc;
  /*font-weight: bold;*/
}

/*TT5　マウスオーバー時の項目周囲のフォーカス枠線を非表示*/
:where(.wp-site-blocks *:focus) {
  outline: none !important;
  box-shadow: none !important;
}

/*----------------------------------------------------------------------------------------------------*/

/* TT5など 全体を縦方向のflexにしてフッターを押し下げる */
.wp-site-blocks {
  display: flex;
  flex-direction: column;
  min-height: max(100vh, 100dvh);
}

/* フッターパーツを最下部へ */
.wp-site-blocks > footer.wp-block-template-part {
  margin-top: auto;
}

/* 余計な高さ指定は不要。スクロールを自然に処理させる */
html, body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

/* 管理画面ログイン時の管理バーがある場合の調整 */
body.admin-bar .wp-site-blocks {
  min-height: calc(100dvh - 32px); /* 管理バー分を差し引く */
}


/*----------------------------------------------------------------------------------------------------*/

/*TT5のiOS26で左寄りになり右に余白ができる症状の対策　新仕様のバランス改行を無効化*/
/*Arhkeだと分けてもエディタ側にも効いてUIが見づらくなるなどの影響があるためSimple Custom CSS and JSに記述*/
/*html, body, * {
  text-wrap: wrap !important;
}*/

/*上から*/
/*標準の改行ルール*/
/*強制改行を無効化*/
/*日本語禁則処理を標準に戻す*/
/*新仕様のバランス改行を無効化*/
/*自動ハイフネーションを無効化*/
/*html, body, * {
  word-break: normal !important;
  overflow-wrap: normal !important;
  line-break: auto !important;
  text-wrap: wrap !important;
  hyphens: manual !important;
}*/

/*----------------------------------------------------------------------------------------------------*/

/*CF7送信ボタンなど　TT5*/
.wpcf7-submit {
    background-color: black; /* ボタンカラー */
    color: white;
    font-size: 1.125rem; /* フォントサイズを少し大きく */
    font-weight: bold;
    padding: 0.875rem 1.75rem; /* 余白を大きく */
    border-radius: 0px;
    border: 1px solid black;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
    text-align: center;
    display: inline-block;
    cursor: pointer;
    width: 100%; /* ボタンの幅を広げる（適宜変更） */
    max-width: 300px; /* 必要なら最大幅を指定 */
    transition: background-color 0.3s ease, color 0.3s ease; /* 色変更のみ */
    margin-bottom: 5px; /* ボタン下の余白を調整 */
}
/*ボタンホバーカラー*/
.wpcf7-submit:hover {
    background-color: white;
    color: black;
}

/*アラート文字色など*/
.wpcf7-response-output {
    color: red; /* 文字を赤色に */
    font-size: 1rem; /* フォントサイズ調整 */
    font-weight: normal; /* 文字を強調 */
    text-align: center; /* 中央配置 */
    background: none !important; /* 背景色を完全に消す */
    border: none !important; /* 枠線を完全に削除 */
    box-shadow: none !important; /* 影を削除（もし適用されていた場合） */
  margin: 0 !important;
  padding: 0 !important;
}


/*CF7　必須項目です等のメッセージカラー*/
span.wpcf7-not-valid-tip {
color:red;
}

/*CF7　送信完了メッセージカラー*/
.wpcf7 form.sent .wpcf7-response-output {
color:blue;
}

/*CF7　アラート枠線の打ち消しとメッセージカラー*/
/*.wpcf7 form .wpcf7-response-output {
border:initial;
color:red;
}*/

/*CF7　アラートボトム等調整*/
/*.wpcf7 form .wpcf7-response-output {
margin:1em 0.5em 0em;
padding:0.2em 1em 0em;
}*/

/*スピナー非表示*/
/*.wpcf7-spinner {
    display: none !important;
}*/

/*スピナーカラー調整*/
.wpcf7-spinner {
    background-color: #fff !important;
}

/*スピナー回転ボールの調整*/
.wpcf7-spinner::before {
  background-color: #ccc !important;
}

/* 送信ボタンを中央に配置 */
.wpcf7 .wpcf7-submit {
  display: block;
  margin: 0 auto;
}

/* スピナーの位置を調整 */
.wpcf7 .wpcf7-spinner {
  display: block;
  margin: 10px auto 0 auto; /* 上に余白をつけて中央揃え */
  position: relative;
}


/*CF7 日付時間ファイル等のフォント*/
.wpcf7 input {
font-family: "Noto Sans JP", "Hiragino Sans", sans-serif;
}


/*CF7　ファイル選択　行間等調整　テキスト部の手のマウスカーソル非表示*/
.wpcf7 input[type="file"] {
width: 50%;
border: none;
margin:0rem 0rem 0rem 0rem;
cursor:initial!important;
font-family: "Noto Sans JP", "Hiragino Sans", sans-serif; /* フォントを統一 */
}

@media (max-width: 991.98px) {
.wpcf7 input[type="file"] {
width: 75%;
border: none;
margin:0rem 0rem 0rem 0rem;
cursor:initial!important;
font-family: "Noto Sans JP", "Hiragino Sans", sans-serif; /* フォントを統一 */
}
}


/* テキストフィールドとテキストエリアのサイズ・フォントを統一 */
.wpcf7-form-control.wpcf7-text, 
.wpcf7-form-control.wpcf7-textarea {
    width: 100%; /* 幅を最大化 */
    max-width: 98%; /* 必要なら最大幅を設定 TT5では98%等の指定が必要 */
    font-size: 16px; /* フォントサイズ統一 */
    font-family: "Noto Sans JP", "Hiragino Sans", sans-serif; /* フォントを統一 */
    padding: 5px; /* 内側の余白調整 */
    border:1px solid #ccc;
    line-height: 1.25;
    letter-spacing: 0.05em;
    color:#333333;
}


/* テキストエリアの高さを適切に調整 */
/*.wpcf7-form-control.wpcf7-textarea {
    height: 10rem;
    resize: vertical;
}*/


/* プレースホルダーのデザイン調整 */
::placeholder {
    font-size: 1rem; /* プレースホルダーの文字サイズを統一 */
    color: #999; /* 視認性を向上するための色調整 */
    font-family: "Noto Sans JP", "Hiragino Sans", sans-serif; /* フォントをテキスト欄と統一 */
}


/*CF7　radioの左余白をナシにして右余白アリに変更調整*/
.wpcf7-list-item {
  display: inline-block;
  margin: 0 1rem 0 0 !important;
}

/*CF7　日付項目の上下余白調整など*/
/*main input, main textarea, main select {
  padding: 0.125rem;
  border: 1px solid var(--wp--preset--color--border-normal);
}*/

/*CF7　日付項目幅等調整　スマホサイズのみ幅を狭く　X-T9*/
/*@media (max-width: 599.98px) {
input[type="date"] {
  width: 100%;
  max-width: 25%;
  box-sizing: border-box;
}
}*/

/*指定　CF7で使用するコアテーブルブロックの項目カラーの変更*/
/*.xwbtbc .wp-block-table table td:first-child {
  background-color: #fafafa;
}*/

/*CF7　入力エラー時入力欄カラー変更　文字数超過jsを使う場合はオフに*/
/*input[aria-invalid="true"],
textarea[aria-invalid="true"] {
  border-color: #ff0000;
  background-color: #fffafa;
}*/

/*----------------------------------------------------------------------------------------------------*/

/*★以下　自動概算見積システムの調整*/
/*個別AFormsカテゴリー非表示*/
/*.xwwmas .wq-Form .wq-Monitor>.wq--entries>.wq--entry>.wq-for-category {
display:none;
}*/


/*個別AForms税区分非表示*/
.xwwmas .wq-Form .wq-Monitor>.wq--entries>.wq--entry>.wq-for-taxClass {
display:none;
}


/*個別AForms各要素の中央寄せ640未満*/
/*@media not all and (min-width:640px) {
.xwwmas .wq-Form .wq-Selector>.wq--body {
justify-content:center!important;
}
}*/

/*個別AForms各要素の左右幅一杯640以上*/
/*@media (min-width:640px) {
.xwwmas .wq-Form .wq-Selector>.wq--body {
justify-content:space-between!important;
}
}*/

/*個別AForms各要素の左右幅一杯*/
.xwwmas .wq-Form .wq-Selector>.wq--body {
justify-content:space-between!important;
}


/*個別AForms各要素幅調整600px未満*/
@media (max-width: 599.98px) {
.xwwmas .wq-Form .wq-Option {
width:100px!important;
}
}

/*個別AForms各要素幅調整600px以上*/
@media (min-width:600px) {
.xwwmas .wq-Form .wq-Option {
width:210px!important;
}
}

/*個別AForms各要素幅調整992px以上*/
@media (min-width:992px) {
.xwwmas .wq-Form .wq-Option {
width:240px!important;
}
}

/*個別AForms各要素の画像非表示*/
/*.xwwmas .wq-Form .wq-Option>.wq--label>.wq--media {
display:none;
}*/

/*個別AForms各要素の画像のみ非表示*/
.xwwmas .wq-Form .wq-Image.wq-belongs-option.wq-belongs-hnavigator {
display:none;
}


/*個別AForms数量可読用に上余白調整600px以上*/
@media (min-width:600px) {
.xwwmas .wq-Form .wq-Option>.wq--label {
padding-top:0;
}
}

/*個別AForms数量可読用に上余白調整600px未満*/
@media (max-width: 599.98px) {
.xwwmas .wq-Form .wq-Option>.wq--label {
padding-top:0;
}
}


/*個別AForms選択数の位置調整640以上*/
/*@media (min-width:640px) {
.xwwmas .wq-Form .wq-Option>.wq--label>.wq--main>.wq--quantity {
font-size:1.0rem;
right:3.0rem;
top:-1.25rem;
}
}*/

/*個別AForms選択数の位置調整640未満*/
/*@media not all and (min-width:640px) {
.xwwmas .wq-Form .wq-Option>.wq--label>.wq--main>.wq--quantity {
font-size:0.875rem;
right:0.5rem;
top:-1.25rem;
}
}*/


/*個別AForms選択項目のチェックマーク非表示*/
/*.xwwmas .wq-Form .wq-Option>.wq-type-checkbox+label:after {
display:none;
}*/

/*個別AForms上段の下余白ゼロ調整*/
.xwwmas .wq-Form .wq-HNavigator>.wq--items>:not(:last-child) {
margin-bottom:0;
}

/*個別AForms下段の下余白ゼロ調整*/
.xwwmas .wq-Form>:not(:last-child) {
margin-bottom:0;
}


/*個別AForms全体（div）フォントサイズ*/
/* 初期スタイル（992px以上） */
.xwwmas .wq-Form div {
  font-size: 1rem;
}
/* 992px未満で適用 */
@media (max-width: 991.98px) {
.xwwmas .wq-Form div {
  font-size:0.875rem;
}
}
/* 600px未満でさらに上書き */
@media (max-width: 599.98px) {
.xwwmas .wq-Form div {
  font-size:0.75rem;
}
}


/*個別AFormsプラン名フォントサイズ*/
.xwwmas .wq-Form .wq-Option > .wq--label > .wq--main > .wq--name {
  font-size: 1rem;
}
@media (max-width: 991.98px) {
.xwwmas .wq-Form .wq-Option > .wq--label > .wq--main > .wq--name {
  font-size: 0.875rem;
}
}
@media (max-width: 599.98px) {
.xwwmas .wq-Form .wq-Option > .wq--label > .wq--main > .wq--name {
  font-size: 0.75rem;
}
}

/*個別AForms料金フォントサイズ*/
.xwwmas .wq-Form .wq-Option>.wq--label>.wq--main>.wq--prices>.wq--price {
font-size:1.25rem;
}
@media (max-width: 991.98px) {
.xwwmas .wq-Form .wq-Option>.wq--label>.wq--main>.wq--prices>.wq--price {
font-size:1.125rem;
}
}
@media (max-width: 599.98px) {
.xwwmas .wq-Form .wq-Option>.wq--label>.wq--main>.wq--prices>.wq--price {
font-size:1rem;
}
}

/*個別AFormsカテゴリー・項目名等フォントサイズ*/
.xwwmas .wq-Form .wq-Monitor > .wq--entries > .wq--entry > .wq--prop {
   font-size: 1rem;
}
@media (max-width: 991.98px) {
.xwwmas .wq-Form .wq-Monitor > .wq--entries > .wq--entry > .wq--prop {
   font-size: 0.875rem;
}
}
@media (max-width: 599.98px) {
.xwwmas .wq-Form .wq-Monitor > .wq--entries > .wq--entry > .wq--prop {
   font-size: 0.75rem;
}
}

/*個別AForms合計金額フォントサイズ*/
.xwwmas .wq-Form .wq-Monitor>.wq--footer>.wq--entry.wq-for-total>.wq-for-value {
font-size:1.25rem;
}
@media (max-width: 991.98px) {
.xwwmas .wq-Form .wq-Monitor>.wq--footer>.wq--entry.wq-for-total>.wq-for-value {
font-size:1rem;
}
}

/*個別AForms項目・合計金額フォントウェイト*/
.xwwmas .wq-Form div {
font-weight:400;
}

/*個別AForms項目・合計金額フォントカラー*/
.xwwmas .wq-Form div {
color: #333333;
}

/*個別AFormsマウスカーソル表示*/
.xwwmas .wq-Form .wq-Option>.wq--select {
cursor:pointer;
}


/*個別AForms項目タイトル余白調整*/
.xwwmas .wq-Form .wq--head {
padding:1px 5px 1px 5px!important;
}

/*個別AFormsスライダー余白調整*/
.xwwmas .wq-Form .wq-Slider>.wq--body {
padding:1px 10px 5px 10px!important;
}

/*個別AFormsプラン金額余白調整*/
.xwwmas .wq-Form .wq-Option>.wq--label {
padding:1px 5px 5px 5px!important;
}

/*個別AForms項目の余白調整*/
.xwwmas .wq-Form .wq-Monitor>.wq--entries>.wq--entry>.wq--prop {
padding:1px 5px!important;
}

/*個別AForms合計金額の余白調整*/
.xwwmas .wq-Form .wq-Monitor>.wq--footer>.wq--entry>.wq--prop {
padding:1px 5px!important;
}

/*個別AFormsスマホ時の項目の余白調整　AForms指定のブレークポイント782px未満*/
@media screen and (max-width: 781.98px) {
.xwwmas .wq-Form .wq-Monitor>.wq--entries>.wq--entry {
padding:1px 5px 1px 5px!important;
}
}


/*個別AFormsスライドバー横幅調整*/
.xwwmas .wq-Form .wq-Range.wq-size-medium {
width:90%;
}

.xwwmas .wq-Form .wq-Range.wq-size-large {
width:90%;
}

/*個別AFormsスライドバー中央配置*/
.xwwmas .wq-Form .wq-Range {
margin:0 auto;
max-width:100%;
}


/*個別AForms各要素の画像のみ非表示時の上移動を禁止*/
.xwwmas .wq-Form .wq-Option>.wq--input {
position:static;
}


/*個別AForms各要素の並びの調整*/
.xwwmas .wq-Form .wq-Selector>.wq--body {
align-items:stretch;
display:flex;
flex-wrap:wrap;
justify-content:flex-start;
}

