@charset "utf-8";
/*
Theme Name: Lightning Child
Theme URI: ★ テーマの公式サイトなどのURL（空欄でも可） ★
Template: lightning
Description: ★ テーマの説明（空欄でも可） ★
Author: ★ テーマ作成者の名前（空欄でも可） ★
Tags: 
Version: 0.1.3
*/

.woocommerce-Price-amount {
  color: #000 !important;
}

.ks_red_box_small {
  border: solid 2px #b30505;
  color: #b30505;
  border-radius: 3px;
  padding: 5px 5px 5px 5px;
  background-color: rgba(255, 255, 255, 1);
  /* 背景色 */
  font-size: small;
  /* margin-top: 0px; */
  /* margin-bottom: 25px; */
  /* box-shadow:  0 0 2px gray; */
}

.wccpf-validation-message {
  color: #000 !important;
}

.wp-block-media-text .wp-block-media-text__content {
  padding-top: 0px !important;
  padding-left: 0px !important;
}

.row-margin-no {
  margin-left: 0px;
  margin-right: 0px;
}

.col-left {
  border: solid 1px #b4b4b4;
  /* margin-left: 15px; */
  margin-top: 10px;
  margin-bottom: 10px;
  border-right: none;
  padding-left: 10px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-radius: 5px 0px 0px 5px;
  /* 左上、右上、右下、左下 */
  ;
  background-color: #b30505;
  color: white;
}

.col-right {
  margin-top: 10px;
  margin-bottom: 10px;
  border: solid 1px #b4b4b4;
  border-left: none;
  padding-left: 5px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-radius: 00px 5px 5px 00px;
  /* 左上、右上、右下、左下 */
  ;
  color: #b30505;
  background-color: #f5f5f5;
}

.col-center {
  margin-top: 10px;
  margin-bottom: 10px;
  border: solid 1px #b4b4b4;
  padding-left: 5px;
  padding-top: 10px;
  padding-bottom: 10px;
  background-color: #f5f5f5;
}

.plan-price {
  text-align: center;
}

.plan-price-original {
  font-size: 32px;
  font-weight: bold;
  vertical-align: -0.2em;
  /* padding-right: 15px; */
}

.plan-price-sale {
  font-size: 32px;
  font-weight: bold;
  vertical-align: -0.2em;
  /* padding-left: 15px; */
  color: #b30505;
}

.enn {
  vertical-align: -0.2em;
}

.arror {
  padding-left: 15px;
  padding-right: 15px;
}

.goukei p {
  /* margin-top: 20px; */
  /* margin-left: 20px; */
  /* margin-right: 20px; */
  /* padding-top: 10px; */
  text-align: center;
  font-size: 24px;
  color: #b30505;
  font-weight: bold;
  /* background-color: #b30505; */
  /* border:solid 1px #b4b4b4; */
  border-bottom: double 6px #b30505;
  /* background: linear-gradient(transparent 90%, #b30505 90%); */
  /* display:inline-block; */
  margin-bottom: 50px;
}

.p-text {
  margin-bottom: 5px;
}

.swiper-slide img {
  /* padding: 5px,5px,5px,5px; */
  /* width: 95%; */
  /* margin-left: 10px;
  margin-top: 10px;
  margin-bottom: 10px;
  margin-right: 10px; */
  border: solid 1px #c2c2c2;
  /* box-shadow:  0 0 2px gray; */
}

.slider-thumbnai-img {
  /* padding: 5px,5px,5px,5px; */
  /* width: 95%; */
  /* margin-left: 10px; */
  margin-top: 7px;
  /* margin-bottom: 10px; */
  margin-right: 7px;
  /* border:solid 1px #c2c2c2; */
  /* box-shadow:  0 0 2px gray; */
}

.waku-padding .vk_borderBox_body {
  padding-left: 5px;
  padding-right: 5px;
  padding-top: 5px;
  padding-bottom: 5px;
  background-color: rgba(179, 230, 253, 0.281);
  height: 350px;
}

.waku-padding .vk_borderBox_title_container {
  background-color: rgba(179, 230, 253, 0.527);
}

.waku-padding .vk_borderBox_body p {
  margin-bottom: 0px;
}

.waku-padding .vk_borderBox_body img {
  /* margin-top: -15px; */
  position: absolute;
  bottom: 0;
}


.okuyami-back {
  border: 1px solid #b4b4b4;
  padding: 25px;

  background-image: url(/wp-content/uploads/2025/11/haikei_t02.jpg);
  background-repeat: no-repeat;
  background-position: top center;
  /* 上寄せ */
  background-size: 100% auto;
  /* 幅100%、高さは比率維持 → 下は見切れてOK */
  /* 画像をトリミングせず“枠内に収める” */
  background-attachment: scroll;
  /* 通常のスクロール */

  /* 背景は“枠（ボーダー）の内側”だけに描画 */
  background-origin: padding-box;
  background-clip: padding-box;
}

.okuyami-back p {
  margin-bottom: 7px;
}


/* 供物一覧CSS */

.product-list-box {
  width: 100%;
  background-color: rgba(196, 196, 196, 0.2);
  box-shadow: 0 0 2px gray;
  border-radius: 5px;
  margin-bottom: 25px;
}

.product-list-box img {
  width: 100%;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  margin-bottom: 5px;
}

.amount-line-right {
  text-align: right;
  padding-right: 10px;
  padding-bottom: 10px;
}



.btn-no-gray {
  color: rgb(125, 125, 125);
  background-color: #d5d5d5;
}

.btn-no-gray:hover {
  color: rgb(125, 125, 125);
}

.woocommerce-loop-product__title {
  padding-left: 10px;
}

/* ヘッダー白文字に影をつける */

.text_shadow {
  text-shadow: 0px 0px 10px #000000;
}

/* PRブロック画像の大きさ変更 */
.vk_prBlocks_item_image {
  width: 200px !important;
  height: 200px !important;
  border: solid 3px #ffffff;
  filter: drop-shadow(0px 0px 1px rgb(200, 200, 200));
}

.card-like .wp-block-vk-blocks-grid-column-item {
  padding-right: 10px;
  padding-left: 10px;
  /* border: 1px solid #f00; */
  /* この行は説明用なので削除してください。 */
  display: flex;
  /* グリッドカラムの高さを統一 */
}




.wp-block-vk-blocks-grid-column-item .inner-group {
  border: 1px solid rgb(202, 202, 202);
  /* グループの枠線 好きな色に変えてください。 */
  margin-bottom: 2rem;
  border-radius: 5px;
  padding-bottom: 45px;
  /* ボタンを配置するための余白 */
  background-color: #ffffff;
}

.wp-block-vk-blocks-grid-column-item .inner-group-border-none {
  border: none;
  /* グループの枠線 好きな色に変えてください。 */
  margin-bottom: 2rem;

  /* padding-bottom: 45px; */
  /* ボタンを配置するための余白 */
  background-color: #ffffff;
}


.wp-block-vk-blocks-grid-column-item .inner-group img {
  border-radius: 5px 5px 0 0;
  /* 画像上左右角丸 */
}

.wp-block-vk-blocks-grid-column-item .inner-group h3 {
  font-size: 18px;
  /* text-align: center; */
  padding: 0 10px;
  margin-top: 0;
  margin-bottom: 5px;
}

.wp-block-vk-blocks-grid-column-item .inner-group-border-none h3 {
  font-size: 18px;
  /* text-align: center; */
  padding: 0 10px;
  margin-top: 0;
  margin-bottom: 5px;
}

.wp-block-vk-blocks-grid-column-item .inner-group p {
  font-size: 13px;
  line-height: 1.4;
  padding: 0 10px;
}

.wp-block-vk-blocks-grid-column-item .inner-group .vk_button {
  position: absolute;

  /* ボタンを右下に固定配置 */
  right: 30px;
  bottom: 45px;
}

.wp-block-vk-blocks-grid-column-item .inner-group .btn-sm {
  /* ボタンを右下に固定配置 */
  padding: 3px;
}

/* シェアボタン設定 */
.sherebottun {
  display: flex;
  justify-content: center;
}

.addtoany_share_save_container {
  text-align: center;
}


.a2a_kit_size_32 a {
  margin-left: 10px;
  margin-right: 10px;
}



.vk_borderBox_title_container .waku-high {
  display: flex;
}


.cover-parallax {
  background-attachment: fixed;
  background-position: 50% 0;
}

/* 浜尾変更　
woocommerce商品ページのCSS ここから*/
.wccpf_label span {
  color: #bd0000;
}

.wccpf_value {
  margin-bottom: 15px;
}

.woocommerce-product-gallery__image img {
  box-shadow: 0 0 1px gray !important;
  border-radius: 5px;
  border: solid 1px #e0e0e0;
  /* margin-top: 20px; */
  /* margin-bottom: 20px; */
  /* padding-bottom: 1px !important; */
}


.wccpf_value .wccpf-field-layout-vertical {
  margin-bottom: 50px;
}

ul.wccpf-field-layout-vertical li {
  margin-bottom: 25px;
}

/* 浜尾変更　
  woocommerce商品ページのCSS ここまで*/


/* 浜尾変更　
woocommerceボタン色のCSS ここから*/
.wc-block-grid__product-add-to-cart .add_to_cart_button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background-color: #d33030;
}

/* hover時 */
.wc-block-grid__product-add-to-cart .add_to_cart_button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background-color: #d86c6c;
}

.woocommerce a.button,
.woocommerce a:hover.button,
.woocommerce button.button,
.woocommerce input.button {
  background-color: #d33030;
}

/* 浜尾変更　
  woocommerceボタン色のCSS ここまで*/

/* 浜尾変更　
  woocommerce必須項目色のCSS ここまで*/
.wccpf-validation-message {
  color: rgb(255, 0, 0) !important;
}

/* 浜尾変更　
woocommerceカートページ*/

.wccpf-cart-data-editor fieldset {
  padding: 0px;
  border: solid 0px #e0e0e0;
  margin: 10px 0px 15px;
}

.ks_green_box {
  /* border:solid 2px #014b0c; */

  color: #ad0202;
  /* border-radius: 3px; */
  /* padding: 10px 10px 10px 10px; */
  margin-bottom: 30px;
  /* background-color: rgba(255, 255, 255,0.5);  背景色 */
  /* margin-bottom: 25px; */
  /* box-shadow:  0 0 2px gray; */
}

.woocommerce input[type=text]:read-only {
  background-color: #e0e0e0;
  opacity: 0.5;

}

.h4title {
  color: #1a0062;
  font-size: calc(var(--vk-size-text)*1.125);
  padding: 5px;
  margin-bottom: 5px;

}

.widget-red {
  padding: 15px 15px 20px 15px;
  background-color: #f0f4fd;
  box-shadow: 0 0 1px gray !important;
  border-radius: 6px;
  border: solid 1px #ced4f8;
  font-size: 0.9em;
  color: #010170;
}

/* ウィジェットformの間隔 */
.formpadding {
  margin-bottom: 10px;
}

.woocommerce form .form-row label {
  font-size: 0.9em;
  line-height: 2;
}

/* woocommerce 商品一覧　タイトル　左側余白を追加 */
.woocommerce ul.products .woocommerce-loop-product__title {
  padding-left: 10px;
}

/* woocommerce さくらの会　入会フォーム　宗派 */
ul.wccpf-field-layout-horizontal li {
  margin-right: 0px !important;
}

.if-icon .vk_balloon_icon {
  flex-basis: 120px;
}


.if-icon .vk_balloon_icon_image {

  width: 120px;
  height: 120px;
}

.vk_balloon .if-icon {
  margin-bottom: 0 !important;
}

.vk_balloon {

  margin-bottom: 0;
}

/*お悔やみ　ボタンの下スペース */
.vk_button {
  margin-bottom: 15px;
}

/* ############################################ */
/* woocommerce カート画面　CSS */
/* ############################################ */

.woocommerce a.remove {
  /* display: block;
  font-size: 1.5em;
  height: 1em;
  width: 1em;
  text-align: center;
  line-height: 1;
  border-radius: 100%; */
  color: rgb(164, 164, 164) !important;
  /* text-decoration: none;
  font-weight: 700;
  border: 0; */
}

.woocommerce a.remove:hover {
  color: rgb(0, 0, 0) !important;
  background: none;
}

#add_payment_method table.cart img,
.woocommerce-cart table.cart img,
.woocommerce-checkout table.cart img {
  width: 64px;
  border-radius: 3px;
  border: 1px solid #e3e3e3;
  /* box-shadow: none; */
}

/* ############################################ */
/* woocommerce オーダーページ　*/
/* 注文を確定するボタン */
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
  width: 100%;
  font-size: 1.25em;
  padding: 1em;
}




/* ############################################ */
/* WC Fields Factory　オプションと言う文字列非表示 */
.optional {
  display: none;
}



/* ############################################ */
/* お供物関連商品のタイトル非表示 */
.related p {
  display: none;
}

.related .vk_heading_title {
  display: none;
}

.up-sells .vk_heading_title {
  display: none;
}

.up-sells p {
  display: none;
}




table.wccpf_fields_table td {
  border: none;
}

.textarea-5rows {
  height: 100px !important;
}


/* ############################################ */
/*　ContactForm7のテーブル化レスポンシブ調整　*/
.inq_box_child {
  width: 100%;
}

@media only screen and (min-width: 767px) {
  .inq_box {
    display: -webkit-flex;
    display: flex;
  }

}

.inq_table {
  width: 100%;
  text-align: left;
  border: 1px solid #e3e3e3;
  border-top: none;
  border-left: none;
  border-right: none;
}

.inq_table .requied {
  color: #ffffff;
  background-color: #d50000;
  padding-left: 5px;
  padding-right: 5px;
  border-radius: 5px;
  margin-left: 5px;
  font-size: x-small;
  /* display: block; */
}

.requied-red {
  color: #ffffff;
  background-color: #d50000;
  padding-left: 5px;
  padding-right: 5px;
  border-radius: 5px;
  margin-left: 10px;
  /* display: block; */
}


.inq_table th {
  vertical-align: middle;
  /* width: 60%; */
  border: none;
  background-color: transparent;
  font-weight: 900;
  padding: 10px 0px 10px 0;
  line-height: 1.5 !important;
  box-sizing: border-box;
  /* font-size: 100%; */
}

.inq_table input[type=text],
.inq_table input[type=email],
textarea {
  margin: 0;
  /* background-color: rgb(240, 240, 240); */

}

.inq_table .readonly input[type=text] {
  background-color: rgb(240, 240, 240);

}

.inq_table td,
.woocommerce td {
  vertical-align: middle;
  /* width: 40%; */
  border: none;
  /* background-color:#aaa; */
  /* text-align: center; */
  padding: 10px 0px 10px 0px;
  box-sizing: border-box;
  /* font-size: 100%; */
  font-weight: 900;
}

.inq_table .woocommerce input[type="number"],
.woocommerce input[type="text"] {
  border: 1px solid rgba(0, 0, 0, .1);
  border-radius: 0;
  padding: 10px 16px 10px 16px;
}

.inq_table .td_header {

  text-align: left;
}

@media only screen and (max-width: 768px) {
  .inq_table th {
    width: 100%;
    display: block;
    text-align: left;
    /* padding: 5px 0 0px 0px; */
  }

  .inq_table td {
    width: 100%;
    display: block;
    text-align: left;
    margin-bottom: 20px;
    border-bottom: 1px solid #e3e3e3;
    /* padding: 0px 0 5px 15px; */
  }
}

/* ############################################ */
/* ヘッダー画像内　h1非表示 */
/* ############################################ */
/* h1非表示 */
.page-id-5130 .page-header-title {
  display: none;
}

.page-id-5130 .vk_flow .vk_flow_frame_image {
  max-width: 300px;

}

:where(:not(.wp-block-table))>table {
  border: 0px solid var(--vk-color-border-hr) !important;
}


/* ############################################ */
/* 喪主様以外の宛名*/
/* ############################################ */
.wcff-label {
  padding: 15px;
  margin-top: 20px;
  margin-bottom: 10px;
  border: 1px solid transparent;
  border-radius: 4px;
}



/* ############################################ */
/* reCaptchaバッジを非表示*/
/* ############################################ */
.grecaptcha-badge {
  visibility: hidden;
}



/* ############################################ */
/* iphone固定背景　カバーブロック*/

@media (max-width: 1024px) {
  .vk_outer-bgPosition-fixed::before {



    content: "";
    background: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8)), url(https://sample-funeral.keizu-studio.com/wp-content/uploads/2024/06/20240624-03.jpg) no-repeat center;
    background-size: cover;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1;
    transform: translateZ(0);
  }

  .vk_outer-bgPosition-fixed {
    background: none !important;
  }

}

/* ############################################ */

/*フッター上部ウィジェットの下余白を無くす*/
.site-body-bottom .widget {
  margin-bottom: 0;
}

/*フッター上部の境界線の太さ*/
.site-footer {
  border-top: 3px solid var(--vk-color-primary);
}


/*トップページ　グレーアウト　ボタン色*/
.vk_button-gray-out .has-background {
  background-color: #d9d9d9;
  border: 1px solid #d9d9d9;
}

.vk_button-gray-out .has-text-color {
  color: #6e6e6e;
}

.vk_button-gray-out {
  cursor: default;
}

/*woocommerce 商品一覧　枠、背景設定*/
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  border-radius: solid 1px #e0e0e0;
  box-shadow: 0 0 1px gray !important;
  border-radius: 5px;
  background-color: rgb(244, 244, 244);
}

.woocommerce ul.products[class*="columns-"] li.product .woocommerce-loop-category__title,
.woocommerce ul.products[class*="columns-"] li.product .woocommerce-loop-product__title,
.woocommerce ul.products[class*="columns-"] li.product h3 {
  border: none;
  background: 0 0;
  padding: 0;
  color: #333;
  padding-left: 10px;
}

.woocommerce ul.products li.product,
.woocommerce ul.products li.products {
  padding-bottom: 0px;
  position: relative;
}

.ks_cat_button {
  text-align: center !important;
  padding-top: 15px;
  padding-bottom: 15px;
  margin-left: 15px;
  margin-right: 15px;
}

.woocommerce ul.products li.product a img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 0 1em;
  box-shadow: none;
  border-radius: 5px 5px 0 0;
}


/* ############################################ */
/* ウィジェットのデザインを整える、VK子ページ、カスタムhtml、woo */


/* 見出し（h4） */
.veu_childPages h4,
.original-widget h4,
.widget_product_categories h4,
.sub-section .veu_postList h4,
.widget_taxonomies h4,
.sideWidget.widget_taxonomies h4 {
  color: #1f94c6 !important;
}

/* ul（余白リセット） */
.original-widget>ul,
.widget_product_categories>ul,
.sub-section .veu_postList>ul,
.widget_taxonomies .localNavi,
.sideWidget.widget_taxonomies .localNavi {
  padding: 0;
  margin: 0;
}


/* li（●消す、フォントサイズ） */
.original-widget>ul li,
.widget_product_categories>ul li,
.sub-section .veu_postList>ul li,
.widget_taxonomies .localNavi li,
.sideWidget.widget_taxonomies .localNavi li {
  list-style: none;
  margin: 0;
  font-size: var(--vk-size-text-sm);
}

/* hover（背景） */
.original-widget>ul li a:hover,
.widget_product_categories>ul li a:hover,
.widget_taxonomies .localNavi li a:hover,
.sideWidget.widget_taxonomies .localNavi li a:hover {
  background-color: var(--vk-color-accent-bg);
}


/* a（行全体クリック＋下線消し＋区切り線） */
.original-widget>ul li a,
.widget_product_categories>ul li a,
.widget_taxonomies .localNavi li a,
.sideWidget.widget_taxonomies .localNavi li a {
  display: block;
  padding-top: .6em;
  padding-bottom: .6em;
  padding-left: var(--vk-margin-list-menu-left-first);
  border-bottom: 1px solid var(--vk-color-border-hr);
  text-decoration: none;
}

.widget_wp_widget_vk_taxonomy_list .sideWidget {
  padding: 15px 10px 15px 10px;
  background-color: #cff3fd;
  box-shadow: 0 0 1px gray !important;
  border-radius: 5px;
  border: solid 1px #dadada;
}



/* ウィジェットのデザインを整える、VK子ページ、カスタムhtml、woo ここまで*/
/* ############################################ */
.veu_childPages.widget_link_list,
.original-widget,
.widget_product_categories,
.sub-section .veu_postList {
  padding: 15px 10px 15px 10px;
  background-color: #cff3fd;
  box-shadow: 0 0 1px gray !important;
  border-radius: 5px;
  border: solid 1px #dadada;
}


.localNavi strong {
  color: #1f94c6 !important;
}

/* 斎場（地区 親リンク）＋プラン（地区 親リンク）＋お悔やみ（地区 見出しリンク）を同じ見た目に */
.veu_childPages .localNavi>li>a[href*="/funeral-hall-info/"][href*="-hall"],
.veu_childPages .localNavi>li>a[href*="/plan/"],
.veu_childPages .localNavi>li.fms-regret-area>a[href*="/regret-info/"] {
  font-weight: 700 !important;
  color: #1f94c6 !important;
  padding-left: 5px;
}


/* 2階層目（子リンク）は元に戻す（親だけ強調するため） */
.veu_childPages .localNavi ul ul>li>a {
  font-weight: 400 !important;
  color: inherit !important;
  padding-left: 0 !important;
}


/* ############################################ */
/*ContactForm7カスタマイズ*/
table.CF7_table {
  width: 100%;
  margin: 0 auto;
  border: 3px solid #e5e5e5;
}

table.CF7_table tr {
  border-top: 1px solid #e5e5e5;
}

table.CF7_table th {
  text-align: left;
}

.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table {
  display: table;
}

/*入力欄*/
.CF7_table input,
.CF7_table textarea {
  border: 1px solid #d8d8d8;
}

.CF7_table ::placeholder {
  color: #797979;
}

/*「必須」文字*/
.CF7_req {
  font-size: .9em;
  padding: 5px;
  background: #f73434;
  /*オレンジ*/
  color: #fff;
  border-radius: 3px;
  margin-right: 1em;
}

/*「任意」文字*/
.CF7_unreq {
  font-size: .9em;
  padding: 5px;
  background: #bdbdbd;
  /*グレー*/
  color: #fff;
  border-radius: 3px;
  margin-right: 1em;
}

/* タイトル列 */
@media screen and (min-width: 768px) {
  .CF7_table th {
    width: 30%;
    /*横幅*/
    background-color: #ebedf5;
    /*ブルーグレー*/
  }
}

/* レスポンシブ */
@media screen and (max-width: 768px) {
  table.CF7_table {
    width: 100%;
  }

  .CF7_table tr,
  .CF7_table td,
  .CF7_table th {
    display: block;
    width: 100%;
    line-height: 2.5em;
  }

  .CF7_table th {
    background-color: #ebedf5;
  }
}



.wpcf7-spinner {
  width: 0;
  margin: 0;
}

/*ContactForm7 Pタグ削除*/
.wpcf7 p {
  display: inline;
}

/* ############################################ContactForm7カスタマイズここまで */


/* お悔やみ情報ページのボタンの左右余白なしにする */
.btn-no-padding {
  padding-left: 0 !important;
  padding-right: 0 !important;
}








/* お知らせ詳細ページ元のh1非表示 */
.information .entry-header {
  display: none;
}

/* お知らせ詳細ページ 下部のカテゴリー非表示 */
.entry-meta-data-list {
  display: none;
}


/* 関連記事CSS */
.ks-title-box {
  padding: 10px;
}

.ks-title-h5 a {
  text-decoration: none;
  color: var(--vk-color-text-link);
}

.ks-title-h5 a:hover {
  color: var(--vk-color-text-link-hover);
}



/* カスタム投稿ページの詳細ページでのカテゴリータグの背景色等の変更CSS */
.custom-info-cat {
  padding-bottom: 2px;
}

.custom-info-cat-date {
  margin-right: 15px;
}

.custom-info-cat-category {
  border-radius: 3px;

}

.custom-info-cat-category a {
  margin: 0px 10px;
  border-radius: 5px;

  font-size: 12px;
  line-height: 1;
  position: relative;
  top: -1px;

  color: white;
}




/* レイアウト：カード */
/* 767.98以下 */
/* @media (max-width: 767.98px) {
  .vk_posts.vk_posts-layout-card {
    justify-content: space-between;
    margin-left: 0;
    margin-right: 0;
  }

  .vk_post.card.vk_post-col-xs-6.vk_post-col-sm-6 {
    width: calc(50% - 7px);
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 14px;
  }

  .vk_post.card.vk_post-col-xs-12.vk_post-col-sm-12 {
    width: 100%;
    margin-left: 0px;
    margin-right: 0px;
  }
} */



/* @media (min-width: 767.98px) {
  .vk_posts.vk_posts-layout-card {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-left: 0;
    margin-right: 0;

  }


  .vk_post.card.vk_post-col-md-4.vk_post-col-lg-4.vk_post-col-xl-4 {
    flex: 0 0 calc(33.3% - 10px);
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 14px;
  }
} */

/*ヘッダー問い合わせボタン背景*/
.site-header-sub .contact-btn a {
  background-color: #fcfcfc;
}

.site-header-sub a {
  color: #0d5b00;
  /* 文字色を緑に設定 */
}

/*斎場ヘッダー透過設定*/

/*鏡石*/
.page-id-6871 header {
  z-index: 1001;
  position: absolute;
  top: 0px;
  left: 0px;
  background-color: rgba(0, 0, 0, 0);
}

.page-id-6871 #global-nav {
  background-color: rgba(0, 0, 0, 0);
}

.page-id-6871 .page-header {
  position: relative;
  height: 45vh;
  width: 100vw;
  background-size: cover;
}

/*須賀川*/
.page-id-2189 header {
  z-index: 1001;
  position: absolute;
  top: 0px;
  left: 0px;
  background-color: rgba(0, 0, 0, 0);
}

.page-id-2189 #global-nav {
  background-color: rgba(0, 0, 0, 0);
}

.page-id-2189 .page-header {
  position: relative;
  height: 45vh;
  width: 100vw;
}



/* 小野さんカスタマイズ */
dl.variation dd {
  clear: both;
}


dl.variation dt.variation-+dd.variation- {
  margin-bottom: .5em;
}

.custom-variation {
  list-style-type: none;
  overflow: hidden;
  clear: both;
  padding-left: 0;
}

.custom-variation .custom-variation-item.first-item {
  position: relative;
}

.custom-variation .custom-variation-item.first-item::before {
  content: '';
  width: 100%;
  height: 1px;
  background-color: #e0e0e0;
  position: absolute;
  top: -.25em;
  left: 0;
}

.variation .variation-item {
  text-align: left;
}

.wc-item-meta .field-group-head.group-line {
  position: relative;
}

.wc-item-meta .field-group-head.group-line::before {
  content: '';
  width: 100%;
  height: 1px;
  background-color: #e0e0e0;
  position: absolute;
  top: -.25em;
  left: 0;
}

/* 商品詳細ページの入力フィールドスタイル */
.wapf-field-group .wapf-field-label>label>abbr.required {
  font-size: .8em;
}

.wapf-field-group .error-message {
  font-size: 0.9em;
  color: #b30505;
  margin-top: 4px;
}


/* 小野さんカスタマイズここまで */


/* カート画面の「カートを更新」ボタンを非表示に */
.woocommerce-cart .actions .button[name="update_cart"] {
  display: none !important;
}

/* 商品詳細ページでクローンしたときのために余白を追加 */
.wapf-field-group {
  margin-top: 10px;
  margin-bottom: 30px;
}

.required-badge {
  display: inline-block !important;
  margin-left: 0.5em;
  padding: 2px 6px;
  border: 1px solid red;
  border-radius: 3px;
  color: red;
  background: #fff;
  font-size: 0.85em;
  vertical-align: middle;
  position: relative;
  z-index: 9999;
}

/* ここまで小野さんカスタマイズ */


/*オンラインストアの装飾ここから*/
abbr[title] {
  background-color: rgb(197, 0, 0);
  /* 背景を赤に */
  color: white;
  /* 文字色を白に */
  border-radius: 5px;
  /* 角を丸く */
  padding: 1px 3px 1px 3px;
  /* 少し余白を追加（任意） */
  text-decoration: none;
  /* 下線を消したい場合はこれを追加 */
  margin-left: 11px;
  font-size: 14px
}

.wapf-field-label {
  margin-bottom: 5px;
}

.wapf-field-input .wapf-input {
  font-size: 16px !important;
}

.error-message {
  position: relative;
  background-color: rgb(197, 0, 0) !important;
  /* 背景を赤 */
  color: white !important;
  /* 文字色を白 */
  padding: 5px 8px;
  border-radius: 10px;
  margin: 5px 0;
  font-size: 14px;
  display: inline-block;
  max-width: 300px;
}


.error-message::before {
  /* 上に三角形の吹き出し */
  content: "";
  position: absolute;
  bottom: 100%;
  /* 上に出す */
  left: 20px;
  /* 三角形の横位置を調整 */
  width: 0;
  height: 0;
  border: 10px solid transparent;
  border-bottom-color: rgb(197, 0, 0);
  /* 三角形の下側を赤にして上向き */
}


.wapf-radios {
  display: flex !important;
  gap: 15px;
  /* ラジオボタン同士の間隔（必要に応じて調整） */
}

.wapf-checkable {
  display: flex;
  align-items: center;
}

.wapf-label-text {
  padding-left: 3px;
}

.single_add_to_cart_button {
  margin-top: 25px !important;
}

.quantity {
  margin-top: 25px !important;
}

/* 「入会者情報入力」にスタイルを適用 */
.nyuukai {
  background-color: rgba(230, 244, 230, 0.7);
  /* 半透明の薄緑 */
  border-radius: 8px;
  padding: 10px 15px;
  font-weight: bold;
  font-size: 1.1em;
  color: #2d572c;
  /* 濃い緑の文字色 */
  margin-bottom: 10px;
}

.tate .wapf-radios {
  display: block !important;
}

.tate .wapf-checkable {
  margin-top: 15px;
}

/*オンラインストアの装飾ここまで*/



/* 数量列を小さくする */
.woocommerce-cart-form__contents .product-quantity {
  width: 5%;
  min-width: 60px;
  text-align: center;
}

/* 数量入力ボックスを小さくする */
.woocommerce-cart-form__contents .product-quantity input[type="number"] {
  width: 50px;
  padding: 2px 5px;
  font-size: 14px;
}

/* 商品名の列をスマホでも表示させる */
@media (max-width: 768px) {

  .woocommerce-cart-form__contents td.product-name,
  .woocommerce-cart-form__contents th.product-name {
    display: table-cell !important;
    width: 100% !important;
    white-space: normal !important;
    word-break: break-word;
    border: none !important;
  }
}

/* 入力フォントサイズスマホ対応*/
input,
textarea,
select {
  font-size: 16px !important;
}

/*----------------オンラインストアの装飾ここまでネモ----------------*/


/*--------------スマホスクロール時のかくっなる現象打ち消しここからネモ--------------*/
@media screen and (max-width: 922px) {
  body.scrolled.header_scrolled .page-header {
    margin-top: 0px !important;
  }
}

/*--------------スクロール時のかくっなる現象打ち消しここまでネモ--------------*/


/*--------------お悔やみ情報　満00歳　逝去日を小さくします--------------*/
.date-of-death {
  font-size: 70%;
  font-weight: 500;
  padding-left: 15px;
}




/*----------------スマホのモバイルナビ上に線をつけるここからネモ------------------*/
.mobile-fix-nav {
  border-top: 2px solid #8A8785;
  box-shadow: 0 -5px 10px rgba(46, 46, 46, 0.2);
}

/*----------------スマホのモバイルナビ上に線をつけるここまでネモ------------------*/




/*----------------フッターのプロフィールがスマホ画面で下に余白ここからネモ-------------------------------*/
.veu_profile .profile {
  margin-bottom: 50px;
}

/*----------------フッターのプロフィールがスマホ画面で下に余白ここまでネモ-------------------------------*/



/* 枕経セルだけ均等割付け */
td.eq-justify,
td.eq-justify>p {
  text-align: justify !important;
  text-align-last: justify !important;
  font-size: 1.1rem !important;
  /* 好みで 1.1–1.4rem などに調整 */
  line-height: 1.5;
  /* CJK の字間均等化ヒント（対応ブラウザで有効） */
  text-justify: inter-ideograph;
}

/* 1行テキストでも両端揃えを効かせるハック */
td.eq-justify::after,
td.eq-justify>p::after {

  display: inline-block;
  width: 100%;
}

td.eq-justify {
  padding-left: 0px !important;
  padding-right: 20px !important;
}

/* リセット（そのまま） */
table.ks-schedule,
table.ks-schedule td,
table.ks-schedule th {
  border: 0 !important;
}

table.ks-schedule {
  border-collapse: collapse;
  border-spacing: 0;
}

/* 最上段に上線 */
table.ks-schedule tbody tr:first-child>td {
  border-top: 1px solid #ccc !important;
}

/* ペアの下端に必ず一本線
   左列は rowspan=2 のセルに付ける */
table.ks-schedule td.eq-justify[rowspan] {
  border-bottom: 1px solid #ccc !important;
}

/* 下段行：クラス有無どちらでも拾う（右側まで確実に線を引く） */
table.ks-schedule td.ks-oite,
table.ks-schedule td[colspan="2"] {
  border-bottom: 1px solid #ccc !important;
  padding-bottom: .6rem;
  /* 文字と線の間に余白（任意） */
}

/* 基準のセル余白を変数化（初期値は .2rem） */
table.ks-schedule {
  --ks-pt: .2rem;
  /* 上 */
  --ks-pb: .2rem;
  /* 下 */
}

/* 既存の全セルルールは変数を使う形に置換してください */
table.ks-schedule td,
table.ks-schedule th {
  padding-top: var(--ks-pt) !important;
  padding-bottom: var(--ks-pb) !important;
  line-height: 1.35;
}

/* ここから“線まわり”の余白だけ値を上書き */

/* 最上段：上線の上を広げる */
table.ks-schedule tbody tr:first-child>td {
  --ks-pt: 1rem;
  /* ← 好みで 0.6rem～1.5rem */
}

/* セット下端（左=rowspanセル、右=於…/colspan=2）：線の上を広げる */
table.ks-schedule td.eq-justify[rowspan],
table.ks-schedule td.ks-oite,
table.ks-schedule td[colspan="2"] {
  --ks-pb: 1rem;
  /* ← 好みで調整 */
}

/* 線の“下”にも余白：次の行の頭を広げる */
@supports(selector(:has(*))) {
  table.ks-schedule tbody tr:has(td.ks-oite)+tr>td {
    --ks-pt: 1rem;
  }
}

/* フォールバック（2行1セットなら偶数行が「於…」行） */
table.ks-schedule tbody tr:nth-of-type(even)+tr>td {
  --ks-pt: 1rem;
}


/* この表は自動レイアウトに戻す（WPの has-fixed-layout を上書き） */
table.ks-schedule {
  table-layout: auto !important;
}

/* すべてのセルで改行しない */
table.ks-schedule td,
table.ks-schedule th,
table.ks-schedule td p,
table.ks-schedule th p {
  white-space: nowrap !important;
  word-break: keep-all !important;
  /* 1文字ずつの折返しも防止 */
}

/* 収まりきらない場合は横スクロールで見せる（推奨） */
figure.wp-block-table:has(table.ks-schedule),
.wp-block-flexible-table-block-table:has(table.ks-schedule) {
  overflow-x: auto;
}

table.ks-schedule {
  min-width: 100%;
  width: max-content;
}

/* ks-schedule テーブルを透過（前景はそのまま） */
table.ks-schedule,
table.ks-schedule tr,
table.ks-schedule td,
table.ks-schedule th {
  background: transparent !important;
}

/* WPのストライプ（縞模様）スタイルが付いている場合の打ち消し */
table.ks-schedule.is-style-stripes tbody tr:nth-child(odd)>*,
.wp-block-table.is-style-stripes table.ks-schedule tbody tr:nth-child(odd)>* {
  background: transparent !important;
}

/* もし外側の figure に背景が付いていたら消す（対応ブラウザ） */
figure.wp-block-table:has(table.ks-schedule) {
  background: transparent !important;
}

/* お知らせ区分バッチの幅を狭くする */
.vk_post_taxonomy_title_inner {
  display: block;
  border: 1px solid var(--vk-color-border-hr, #e5e5e5);
  min-width: 7em;
  text-align: center;
  background-color: rgba(0, 0, 0, .05);
}

/*お知らせ投稿内に前後の記事ブロックがあったらその中の.vk_post_taxonomy-info-cat aは非表示にするby根本*/
.vk_posts.next-prev .vk_post_taxonomies .vk_post_taxonomy-info-cat a {
  display: none !important;
}


/* =========================================================
 * fms_ks_box_right 内だけ
 * 目的：
 *  - ボタン下揃えはしない（通常フロー）
 *  - 2枚のカードの「箱の高さだけ」揃える（低い方は下に余白が増える）
 *  - 既存CSS（flex / margin-top:auto 等）があっても上書きする
 * ========================================================= */

/* 1) グリッド（GridColCard）側：セルを同じ高さに伸ばす */
.fms_ks_box_right {
  align-items: stretch !important;
  /* grid item を伸ばす */
}

/* グリッドの各セルを“伸びる箱”にする（中身を上に寄せたまま高さだけ揃える） */
.fms_ks_box_right>.vk_gridcolcard_item {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* セル内コンテナも伸びる */
.fms_ks_box_right>.vk_gridcolcard_item>.vk_gridcolcard_item_container {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
}

/* セル内ボディも伸びる */
.fms_ks_box_right>.vk_gridcolcard_item>.vk_gridcolcard_item_container>.vk_gridcolcard_item_body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
}

/* 2) 見出しの下の投稿リスト領域を“残りの高さ”に伸ばす */
.fms_ks_box_right .vk_posts {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
}

/* 3) 投稿カード（.vk_post.card）をセルいっぱいに（高さだけ揃える） */
.fms_ks_box_right .vk_posts>.vk_post.card {
  flex: 1 1 auto !important;
  height: 100% !important;

  /* 見た目（必要なら） */
  background: #fff !important;
}

/* 4) 画像の高さを揃えて、箱の高さブレを減らす（任意だが効きます） */
.fms_ks_box_right .vk_post_imgOuter {
  aspect-ratio: 16 / 10 !important;
  /* 高さ増→4/3、詰める→2/1 */
  background-size: cover !important;
  background-position: center !important;
}

.fms_ks_box_right .vk_post_imgOuter_img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* 5) ★重要：ボタン下揃え系を完全に無効化（通常フローに固定） */
.fms_ks_box_right .vk_post.card,
.fms_ks_box_right .vk_post.card .card-body,
.fms_ks_box_right .vk_post_btnOuter {
  display: block !important;
  /* flex解除 */
}

/* card-body（本文）は上から順に普通に流す */
.fms_ks_box_right .vk_post.card .card-body {
  background: #fff !important;
  padding: 20px !important;
}

/* ボタンは普通に本文の次に出す（auto を殺す） */
.fms_ks_box_right .vk_post_btnOuter {
  margin-top: 12px !important;
  /* margin-top:auto を上書き */
  width: 100% !important;
  text-align: center !important;
  position: static !important;
  clear: both !important;
}

.fms_ks_box_right .vk_post_btn {
  display: inline-block !important;
}

/* 6) タイトルの差で箱の見え方がブレるのを抑える（任意） */
.fms_ks_box_right .vk_post_title {
  line-height: 1.35 !important;
  min-height: calc(1.35em * 2) !important;
  /* 短くても2行分確保 */
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
}

/* =========================================
 * fms_ks_box_right：薄いグレー枠線＋ぼかし（影）＋角丸6＋半透明
 * ========================================= */

/* カード外枠 */
.fms_ks_box_right .vk_posts>.vk_post.card {
  background-color: rgba(255, 255, 255, 0.75) !important;
  /* 半透明白 */
  border: 1px solid rgba(0, 0, 0, 0.10) !important;
  /* 薄いグレー枠線 */
  border-radius: 6px !important;
  /* 角丸6 */
  overflow: hidden !important;
  /* 角丸を画像にも */
  /* box-shadow: 2px 2px 7px rgba(0, 0, 0, 0.3) !important; */
  /* 周りのぼかし（影） */
}

/* 中身の白ベタを消して、外枠の半透明を見せる */
.fms_ks_box_right .vk_posts>.vk_post.card .vk_post_body.card-body {
  background-color: transparent !important;
}

/* 画像上部の角丸（保険） */
.fms_ks_box_right .vk_posts>.vk_post.card .vk_post_imgOuter {
  border-top-left-radius: 6px !important;
  border-top-right-radius: 6px !important;
}

/* =========================================
 * 拡大表示しない画像に対する指示by根本
 * ========================================= */
.no-zoom a {
  pointer-events: none!important;
}

/* =========================================
 * ヘッダーメニュー矢印の色by根本
 * ========================================= */
#menu-headernavigation .menu-caret--child::before {
  color: #1aa0e0 !important;
}

/* =========================================
 * フッターの青い斜線背景のサイズby根本
 * ========================================= */
@media (max-width: 768px) {
  .site-footer {
    background-size: 67% auto; /* 数値を小さくすると斜線が細かくなる */
  }
}