/*TT5のiPhone12での左寄り・右空白の対策*/
@supports (-webkit-touch-callout: none) {
  p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
    text-wrap: wrap;
  }
}

/*----------------------------------------------------------------------------------------------------*/

/* 指定 ハンバーガーメニュー丸型切り抜き（白背景のみ） */
.xwbnrc .wp-block-navigation__responsive-container-open {
    padding: 0;
    border: 1px solid #ccc;           /* 枠線 */
    background: rgba(255, 255, 255, 0.3); /* 半透明の白 */
    border-radius: 50%;               /* 完全な丸 */
    width: 40px;
    height: 40px;
    display: flex;                    /* アイコンを中央に配置 */
    align-items: center;
    justify-content: center;
}

/*----------------------------------------------------------------------------------------------------*/

/* 1. テキスト色（本文） */
/*body {
    color: #333333;
}*/

/* 2. リンク色（通常・ホバー） */
/*a {
    color: #333333;
    text-decoration: underline;
}
a:hover {
    color: #666666;
}*/

/* 4. ボタン */
/* ブロックエディタのボタン要素を広くカバー */
/*.wp-block-button__link,
button,
input[type="submit"] {
    background-color: #333333;
    color: #ffffff;
}*/

/* 5. 見出し */
/* 念のため見出しブロックのクラスも指定 */
/*h1, h2, h3, h4, h5, h6,
.wp-block-heading {
    color: #333333;
}*/

/*----------------------------------------------------------------------------------------------------*/

/* ボタンホバー（明るさ） */
/*.wp-block-button__link {
    transition: filter 0.3s ease;
}
.wp-block-button__link:hover {
    filter: brightness(95%);
}*/


/* 1. 基本：詳細度を少し上げるために「body」を頭につける */
body .wp-block-button__link {
    box-shadow: 0 4px 10px rgba(0,0,0,0.25);
    transition: all 0.2s ease;
}

/* 2. ホバー時：not(.no-push) を使うことで、no-pushがない時だけ強く指定 */
body .wp-block-button:not(.no-push) .wp-block-button__link:hover {
    transform: translateY(3px);
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
}

/* 3. 除外：クラスを2つ繋げる（.wp-block-button.no-push）ことで詳細度を高め、上書きする */
body .wp-block-button.no-push .wp-block-button__link {
    box-shadow: none;
    transform: none;
}

/*----------------------------------------------------------------------------------------------------*/

/* --- 共通：ヘッダー固定 ＆ 管理バー位置合わせ --- */

/* ヘッダーを固定（TT5・X-T9共通） */
.wp-site-blocks > header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1); /* PCでは薄く影を出す */
}

/* ログイン時の位置補正 (PC) */
body.admin-bar .wp-site-blocks > header {
  top: 32px;
}

/* モバイル時の設定（782px未満） */
@media (max-width: 781.98px) {
  /* 管理バー対応（46px） */
  body.admin-bar .wp-site-blocks > header {
    top: 46px;
  }
  
  /* モバイルではシャドウを消してフラットにする */
  .wp-site-blocks > header {
    box-shadow: none !important;
    /* もし境界線が欲しい場合は、影の代わりに薄い線を検討してください */
    /* border-bottom: 1px solid #eeeeee; */
  }
}


/* --- TT5専用：フッター押し下げ（flexレイアウト） --- */

/* 全体を縦のflexにし、高さを画面いっぱいに確保 */
.wp-site-blocks {
  display: flex;
  flex-direction: column;
  min-height: max(100vh, 100dvh);
}

/* ログイン時の全体高さ調整（管理バー分を引く） */
body.admin-bar .wp-site-blocks {
  min-height: calc(100dvh - 32px);
}
@media (max-width: 781.98px) {
  body.admin-bar .wp-site-blocks {
    min-height: calc(100dvh - 46px);
  }
}

/* フッターを自動で最下部へ移動 */
.wp-site-blocks > footer.wp-block-template-part {
  margin-top: auto;
}







/* --- 【ヘッダー】出し分け設定 --- */
/* 782px未満でPCヘッダーを隠す */
@media (max-width: 781.98px) {
    .header-pc { display: none !important; }
}
/* 782px以上でSPヘッダーを隠す */
@media (min-width: 782px) {
    .header-sp { display: none !important; }
}
/* エディター内での強制表示 */
.editor-styles-wrapper .header-pc, 
.editor-styles-wrapper .header-sp { display: block !important; }


/* --- 【個別パーツ（バナー等）】出し分け設定 --- */
/* 782px未満でPC用パーツを隠す（非ログイン時） */
@media (max-width: 781.98px) {
    :not(.logged-in) .xpcdbn { display: none !important; }
}
/* 782px以上でSP用パーツを隠す（非ログイン時） */
@media (min-width: 782px) {
    :not(.logged-in) .xspdbn { display: none !important; }
}
/* エディター内での強制表示 */
.editor-styles-wrapper .xpcdbn, 
.editor-styles-wrapper .xspdbn { display: block !important; }

/*----------------------------------------------------------------------------------------------------*/

/* --- 【モバイル固定ナビ】本体の設定 --- */
.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;
}
/* 782px以上：PC・タブレットサイズでは非表示 */
@media (min-width: 782px) {
    .xfbmoc { display: none !important; }
}
/* エディター内での強制表示 */
.editor-styles-wrapper .xfbmoc { display: block !important; }


/* --- 【固定ナビ用スペーサー】の設定 --- */
/* 782px以上：PC・タブレットサイズでは非表示 */
@media (min-width: 782px) {
    .xfbmsp { display: none !important; }
}
/* エディター内での強制表示 */
.editor-styles-wrapper .xfbmsp { display: block !important; }

/*----------------------------------------------------------------------------------------------------*/

/* --- 共通：基本構造とアニメーション --- */
.wp-block-navigation .wp-block-navigation-item a {
  text-decoration: none;
  position: relative;
  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: var(--nav-hover-color);
  transition: width 0.3s ease;
}

/* --- 詳細度を上げて状態別の色を適用 --- */

/* 1. ホバー時の挙動（文字と線） */
body .wp-block-navigation .wp-block-navigation-item a:hover {
  color: var(--nav-hover-color);
}
body .wp-block-navigation .wp-block-navigation-item a:hover::after {
  width: 100%;
}

/* 2. カレント（現在地）の挙動（文字と線） */
body .wp-block-navigation .wp-block-navigation-item.current-menu-item > a {
  color: var(--nav-current-color);
}
body .wp-block-navigation .wp-block-navigation-item.current-menu-item > a::after {
  width: 100%;
  /* カレントの線はカレント用の変数を使用 */
  background-color: var(--nav-current-color);
}


/* --- 【管理用】場所ごとのカラー変数定義 --- */

/* ヘッダーの設定 */
header .wp-block-navigation,
[aria-label="ヘッダー"] .wp-block-navigation,
[aria-label="Header"] .wp-block-navigation {
  --nav-hover-color: #000000;   /* ヘッダーのホバー色 */
  --nav-current-color: #333333; /* ヘッダーのカレント色 */
}

/* フッターの設定 */
footer .wp-block-navigation,
[aria-label="フッター"] .wp-block-navigation,
[aria-label="Footer"] .wp-block-navigation {
  --nav-hover-color: #cccccc;   /* フッターのホバー色 */
  --nav-current-color: #ffffff; /* フッターのカレント色 */
}


/* マウスオーバー・クリック時のフォーカス枠線を非表示 */
:where(.wp-site-blocks *:focus) {
  outline: none !important;
  box-shadow: none !important;
}

/*----------------------------------------------------------------------------------------------------*/

/*VKパターンのカスタムCSSにあったコード　カバーブロックのホバー時の拡大など*/
/*.xwbcof .wp-block-cover{
  overflow:hidden;
}
.xwbcof .wp-block-cover .wp-block-cover__image-background,
.xwbcof .wp-block-cover .has-background-dim{
  transition: all 0.4s ease-out;
}
.xwbcof .wp-block-cover:hover .wp-block-cover__image-background{
  transform: scale(1.08);
  transition: transform 0.2s linear;
}
.xwbcof .wp-block-cover:hover .has-background-dim{
  opacity: 0;
}

.xwbcof .wp-block-cover .wp-block-cover__inner-container :where(p, h2, h3, h4, h5, h6) {
    text-shadow: #000 0 0 10px;
}*/

/*----------------------------------------------------------------------------------------------------*/

/*指定　Google Map 下段に出る謎の余白削除*/
.xgmapvh iframe {
display:block;
}

/*----------------------------------------------------------------------------------------------------*/


/* WP Swiper 用の設定　ずっと流れるスライダーのため＋α */
/* 1. 【共通】すべてのスライダーを等速にし、ブレーキを無効化 */
.xswttf .swiper-wrapper {
    transition-timing-function: linear !important;
}

/* 2. 【共通】マウス干渉を完全に防ぐ（必要に応じて /* を外す） */
.xswttf .swiper {
    pointer-events: none !important;
}




/*指定 ハンバーガーメニュー丸型切り抜き 背景白*/
/*.x-navi-cut .wp-block-navigation__responsive-container-open {
  padding: 0;
  border: 1px solid #ccc;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}*/








/*管理バー対応 VK BLOCKS 固定表示ブロックを下げる 上固定の場合*/
/*body.admin-bar .vk_fixed-display-position-top {
  top: 32px !important;
}*/
/*スマホ時*/
/*@media (max-width: 782px) {
  body.admin-bar .vk_fixed-display-position-top {
    top: 46px !important;
  }
}*/


/*PC 管理バー対応 VK BLOCKS 固定表示ブロック左上固定と右上固定の併用の場合*/
/*body.admin-bar .vk_fixed-display-position-left,
body.admin-bar .vk_fixed-display-position-right {
  top: 32px !important;
}*/
/*スマホ管理バー対応 VK BLOCKS 固定表示ブロック左上固定と右上固定の併用の場合*/
/*@media (max-width: 782px) {
  body.admin-bar .vk_fixed-display-position-left,
  body.admin-bar .vk_fixed-display-position-right {
    top: 46px !important;
  }
}*/



/*----------------------------------------------------------------------------------------------------*/

/*フォントサイズ流動変化*/
: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));
}


/*フォント指定*/
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;}


/*個別　テキストシャドウ 黒影*/
.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);}


/*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;*/
/*}*/

/*----------------------------------------------------------------------------------------------------*/



/*----------------------------------------------------------------------------------------------------*/

/*コア　指定　メディアとテキストブロックのテキスト部の左右パディングを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; }
}



/*カバーブロック 上下余白を0にして左右余白は1remのままにする*/
.wp-block-cover {
  padding: 0 1rem;
}

/*----------------------------------------------------------------------------------------------------*/
/*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;
  }
}

/*----------------------------------------------------------------------------------------------------*/

/*----------------------------------------------------------------------------------------------------*/

/*編集ガイドオフ*/
/*.veu_admin_bar_disable_button,
.veu_adminEdit {display:none;}*/

/*----------------------------------------------------------------------------------------------------*/

/*reCAPTCHA非表示*/
.grecaptcha-badge {
visibility:hidden;
}

/*----------------------------------------------------------------------------------------------------*/

/*----------------------------------------------------------------------------------------------------*/

/*個別　指定　VK Blocks アニメーションタイミング個別調整*/
/*.xvkas1.vk_animation-speed-normal {
    -webkit-transition: all 1s ease-out 1s;
    transition: all 1s ease-out 1s;
}

.xvkas2.vk_animation-speed-normal {
    -webkit-transition: all 2s ease-out 2s;
    transition: all 2s ease-out 2s;
}

.xvkas3.vk_animation-speed-normal {
    -webkit-transition: all 3s ease-out 3s;
    transition: all 3s ease-out 3s;
}*/



/*X-T9 ナビメニューアンダーバーアクティブの調整*/
/*.wp-block-navigation[class*="nav--active-border-bottom"] .wp-block-navigation__responsive-container:not(.has-modal-open) .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item > a::after, .wp-block-navigation[class*="nav--active-border-bottom"] > :where(.wp-block-navigation__container, .wp-block-page-list) > .wp-block-navigation-item > a::after {
  transition: all 0.1s ease-out;
  width: 0%;
  content: "";
  display: block;
  bottom: 0;
  left: 0;
  position: absolute;
  border-bottom: 2.5px solid #ccc;
}*/


/*X-T9 トップへ戻るボタンアレンジ*/
/*.scrolled .page_top_btn {
  display: block;
  opacity: 1;
  color: transparent;
}
.page_top_btn {
  position: fixed;
  right: 2%;
  bottom: 3%;
  z-index: 10000;
  width: 50px;
  height: 50px;
  color: transparent;
  border: none;
  background: rgba(0,0,0,.9);
  box-shadow: 0 0 0 2px rgba(255,255,255,.9), 0 0 0 0px rgba(0,0,0,.9);
  background-image:var(--ver_page_top_button_url);
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0;
  transition: opacity .3s;
  text-decoration: none;
  border: solid 2px #ffffff;
  border-radius: 100%;
}*/

/*----------------------------------------------------------------------------------------------------*/

/*モバイルメニュー全体の背景を黒に*/
@media (max-width: 781.98px) {
  .wp-block-navigation__responsive-dialog {
    background-color: #000 !important;
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    z-index: 9999;
    overflow-y: auto;
  }

  /*メニューコンテンツ部分の背景も黒に*/
  .wp-block-navigation__responsive-container-content {
    background-color: #000 !important;
  }

  /*メニュー項目の文字色を白に*/
  .wp-block-navigation__responsive-dialog a.wp-block-navigation-item__content,
  .wp-block-navigation__responsive-dialog .wp-block-navigation-item__label {
    color: #fff !important;
  }

  /*サブメニューの背景と文字色も調整*/
  .wp-block-navigation__submenu-container {
    background-color: #000 !important;
  }

  .wp-block-navigation__submenu-container a.wp-block-navigation-item__content,
  .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
    color: #fff !important;
  }

  /*メニュー項目の罫線（薄いグレー）*/
  .wp-block-navigation__responsive-dialog .wp-block-navigation-item {
    border-bottom: 1px solid #333 !important;
  }

  /*サブメニュー内の項目には罫線を付けない*/
  .wp-block-navigation__submenu-container .wp-block-navigation-item {
    border: none !important;
  }

  /*閉じるボタンのアイコン色（SVG）を白に*/
  .wp-block-navigation__responsive-container-close svg path {
    fill: #fff !important;
  }
}


/*モバイルメニュークローズボタン位置調整9*/
.wp-block-navigation__responsive-container-close {
  position: absolute;
  right: 20px;
  top: 20px;
  z-index: 2;
}

/*----------------------------------------------------------------------------------------------------*/
/*コアのグリッドへのCSS*/ /*X-T9用 ブレイクポイントの違いにより 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: 599.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;
  }
}*/

/*----------------------------------------------------------------------------------------------------*/

/*CF7送信ボタンなど　TT5*/
.wpcf7-submit {
    background-color: black !important; /* ボタンカラー */
    color: white !important;
    font-size: 1.125rem; /* フォントサイズを少し大きく */
    font-weight: bold;
    padding: 0.875rem 1.75rem; /* 余白を大きく */
    border-radius: 0px;
    border: 1px solid black !important;
    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 !important;
    color: black !important;
}

/*アラート文字色など*/
.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;
}*/


/*TT5　CF7入力画面上下の余白を少なく調整*/
.wpcf7 p {margin: 0.25rem;}

/*----------------------------------------------------------------------------------------------------*/

/*★以下　自動概算見積システムの調整*/
/*個別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;
}

/*----------------------------------------------------------------------------------------------------*/

/*AForms最新追加*/
/*指定 ラベルのホバーカラーと選択後のカラー調整 今は色はそのままに透過度のみ調整*/
/*指定 ラベルホバーカラー*/
@media (hover: hover), screen and (-ms-high-contrast:active), screen and (-ms-high-contrast:none) {
  .xwwmas .wq-Form .wq-Option > .wq--label:hover {
  background-color: rgba(235,66,102,.1);
  }
}

/*指定 ラベル選択後カラー*/
  .xwwmas .wq-Form .wq-Option > .wq--input:checked + .wq--label {
  background: rgba(235,66,102,.1);
}

/*指定 ラベル右端側の余白調整*/
  .xwwmas .wq-Form .wq-Option > .wq--label {
  margin-right: 0.5rem;
}



/*合計金額のfont-weigt*/
  .xwwmas .wq-Form .wq-Monitor > .wq--footer > .wq--entry {
  font-weight: 400;
}

/*----------------------------------------------------------------------------------------------------*/


/*----------------------------------------------------------------------------------------------------*/



/*指定 カバーブロックの境界線 右上がり（上下同時）*/
.xwbc-ru.wp-block-cover.wp-block-cover {
  position: relative;
  overflow: hidden;
  clip-path: polygon(
    0 clamp(10%, 5% + 5vw, 20%),      /*左上: 10〜20%の範囲で可変*/
    100% 0,                           /*右上はそのまま*/
    100% clamp(80%, 95% - 5vw, 90%),  /*右下: 80〜90%の範囲で可変*/
    0 100%                            /*左下はそのまま*/
  );
}

/*指定 カバーブロックの境界線 左上がり（上下同時）*/
.xwbc-lu.wp-block-cover.wp-block-cover {
  position: relative;
  overflow: hidden;
  clip-path: polygon(
    0 0,                              /*左上はそのまま*/
    100% clamp(10%, 5% + 5vw, 20%),   /*右上を下げる: スマホ10%〜PC20%*/
    100% 100%,                        /*右下はそのまま*/
    0 clamp(80%, 95% - 5vw, 90%)      /*左下を上げる: スマホ80%〜PC90%*/
  );
}

/*指定 カバーブロックの境界線 右上がり（上だけ）*/
.xwbc-ru-tp.wp-block-cover.wp-block-cover {
  position: relative;
  overflow: hidden;
  clip-path: polygon(
    0 clamp(10%, 5% + 5vw, 20%),      /*左上: 10〜20%の範囲で可変*/
    100% 0,                           /*右上はそのまま*/
    100% 100%,                        /*右下はそのまま*/
    0 100%                            /*左下はそのまま*/
  );
}

/*指定 カバーブロックの境界線 左上がり（上だけ）*/
.xwbc-lu-tp.wp-block-cover.wp-block-cover {
  position: relative;
  overflow: hidden;
  clip-path: polygon(
    0 0,                              /*左上はそのまま*/
    100% clamp(10%, 5% + 5vw, 20%),   /*右上を下げる: スマホ10%〜PC20%*/
    100% 100%,                        /*右下はそのまま*/
    0 100%                            /*左下はそのまま*/
  );
}

/*指定 カバーブロックの境界線 右上がり（下だけ）*/
.xwbc-ru-bm.wp-block-cover.wp-block-cover {
  position: relative;
  overflow: hidden;
  clip-path: polygon(
    0 0,                              /*左上はそのまま*/
    100% 0,                           /*右上はそのまま*/
    100% clamp(80%, 95% - 5vw, 90%),  /*右下: 80〜90%の範囲で可変*/
    0 100%                            /*左下はそのまま*/
  );
}

/*指定 カバーブロックの境界線 左上がり（下だけ）*/
.xwbc-lu-bm.wp-block-cover.wp-block-cover {
  position: relative;
  overflow: hidden;
  clip-path: polygon(
    0 0,                              /*左上はそのまま*/
    100% 0,                           /*右上はそのまま*/
    100% 100%,                        /*右下はそのまま*/
    0 clamp(80%, 95% - 5vw, 90%)      /*左下を上げる: スマホ80%〜PC90%*/
  );
}




/*指定 OuterBlockの境界線 右上がり（上下同時）*/
.xvbo-ru.wp-block-vk-blocks-outer {
  position: relative;
  overflow: hidden;
  clip-path: polygon(
    0 clamp(10%, 5% + 5vw, 20%),      /*左上: 10〜20%の範囲で可変*/
    100% 0,                           /*右上はそのまま*/
    100% clamp(80%, 95% - 5vw, 90%),  /*右下: 80〜90%の範囲で可変*/
    0 100%                            /*左下はそのまま*/
  );
}

/*指定 OuterBlockの境界線 左上がり（上下同時）*/
.xvbo-lu.wp-block-vk-blocks-outer {
  position: relative;
  overflow: hidden;
  clip-path: polygon(
    0 0,                              /*左上はそのまま*/
    100% clamp(10%, 5% + 5vw, 20%),   /*右上を下げる: スマホ10%〜PC20%*/
    100% 100%,                        /*右下はそのまま*/
    0 clamp(80%, 95% - 5vw, 90%)      /*左下を上げる: スマホ80%〜PC90%*/
  );
}

/*指定 OuterBlockの境界線 右上がり（上だけ）*/
.xvbo-ru-tp.wp-block-vk-blocks-outer {
  position: relative;
  overflow: hidden;
  clip-path: polygon(
    0 clamp(10%, 5% + 5vw, 20%),      /*左上: 10〜20%の範囲で可変*/
    100% 0,                           /*右上はそのまま*/
    100% 100%,                        /*右下はそのまま*/
    0 100%                            /*左下はそのまま*/
  );
}

/*指定 OuterBlockの境界線 左上がり（上だけ）*/
.xvbo-lu-tp.wp-block-vk-blocks-outer {
  position: relative;
  overflow: hidden;
  clip-path: polygon(
    0 0,                              /*左上はそのまま*/
    100% clamp(10%, 5% + 5vw, 20%),   /*右上を下げる: スマホ10%〜PC20%*/
    100% 100%,                        /*右下はそのまま*/
    0 100%                            /*左下はそのまま*/
  );
}

/*指定 OuterBlockの境界線 右上がり（下だけ）*/
.xvbo-ru-bm.wp-block-vk-blocks-outer {
  position: relative;
  overflow: hidden;
  clip-path: polygon(
    0 0,                              /*左上はそのまま*/
    100% 0,                           /*右上はそのまま*/
    100% clamp(80%, 95% - 5vw, 90%),  /*右下: 80〜90%の範囲で可変*/
    0 100%                            /*左下はそのまま*/
  );
}

/*指定 OuterBlockの境界線 左上がり（下だけ）*/
.xvbo-lu-bm.wp-block-vk-blocks-outer {
  position: relative;
  overflow: hidden;
  clip-path: polygon(
    0 0,                              /*左上はそのまま*/
    100% 0,                           /*右上はそのまま*/
    100% 100%,                        /*右下はそのまま*/
    0 clamp(80%, 95% - 5vw, 90%)      /*左下を上げる: スマホ80%〜PC90%*/
  );
}


