@charset "UTF-8";
/* css/common/overrides.css#original-custom */
/* The original local Mincho file is absent; preserve the existing system-font fallback. */
/* 本文（従来のゴシック体のまま） */
body {
	font-family: "font1", "Arial", sans-serif;
	font-weight: 400;
	line-height: 1.8;
	color: #222;
}

/* 明朝体にしたい見出し・タイトル類 */
#top_title_area .c-pageTitle,
.post_content h1,
.post_content h2,
.c-widget__title.-footer,
#gnav .menu-item,
.p-spHeadMenu .menu-item,
strong,
.bold,
.mincho {
	font-family: "font-mincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	font-weight: 600;
}


/* オリジナルCSS */
.nowrap {
	white-space: nowrap;
}
@media screen and ( max-width:599px ) {
	.order1 {
		order: 1;
	}
	.order2 {
		order: 2;
	}
	.sp-left {
		text-align: left !important;
	}
	.sp-center {
		text-align: center !important;
	}
}

/* 影 */
.is-style-shadow.cap_box,
.is-style-shadow img,
.is-style-clmn-shadow>.heart-block-columns__inner>.heart-block-column,
.wp-block-media-text__content .wp-block-group,
.heart-block-accordion__body,
.is-style-card.wp-block-media-text,
.flickity-parent2 .flickity-column .wp-block-group {
	box-shadow: 6px 4px 0 rgb(15 170 129 / 10%) !important;
}

/* 角丸 */
.heart-block-column,
.heart-block-capbox,
.is-style-balloon_box2,
#content img,
.c-bannerLink,
.flickity-parent2 .flickity-column .wp-block-group,
.flickity-parent3 .wp-block-media-text__content .wp-block-group,
.cta-text-box {
/* 	border-radius: 0.25rem; */
}
.cap_box_ttl {
	border-radius: 0.5rem 0.5rem 0 0 !important;
}
.cap_box_content {
	border-radius: 0 0 0.5rem 0.5rem !important;
}
.is-style-balloon_box,
.is-style-balloon_box2 {
	border-radius: 0.5rem !important;
}
#content .is-style-rounded img {
	border-radius: 100rem !important;
}

/* 画像のキャプション余白 */
.wp-element-caption {
	margin-top: 0 !important;
}

/* 画像クリックの拡大 */
@media (max-width: 460px) {
.lum-lightbox-inner img {
  max-width: 100% !important;
}
}

/* 画像の角丸 */

#content img {
    border-radius: 16px;
}

/* メディアとテキスト */
@media (min-width: 960px) {
.wp-block-media-text {
	--heart-mediatext--space: 3rem !important;
}
}

/* 下層ページ見出し(h1) */
.l-topTitleArea {
	min-height: 8rem;
}
#top_title_area .c-pageTitle {
	font-size: 2.25rem !important;
	text-shadow: 0 0 0.25rem #333;
	text-align: center;
}

/* スマホ開閉メニュー */
@media (max-width: 959px) {
	.p-spMenu__inner {
		max-width: 20rem !important;
	}
	.p-spMenu__bottom {
		margin-top: 0.5rem !important;
	}
	.button-topback > a {
		padding: 0.75em 1.5em !important;
	}
}

/* ヘッダー周り */
.l-header__bar .c-catchphrase {
	width: 85%;
}
#header #gnav .ttl{
	font-size: 1rem;
}
.menu-item-contact > a {
	background-color: var(--color_main);
	color: #fff !important;
}
.menu-item-contact a:after {
	background-color: #fff !important;
}
.menu-item-tel > a {
	background-color: #d12553;
	color: #fff !important;
}
#gnav .menu-item-tel,
#gnav .menu-item-contact {
	display: none;
}
@media (max-width: 959px) {
.c-headLogo__img {
height: 97%;
	}
	.-img .c-headLogo__link {
		padding: 0.25rem 0 !important;
	}
	.w-header.pc_ {
		display:block !important;
		width: 9rem;
	}
	.p-blogParts[data-partsid="936"] {
		display: none !important;
	}
	.header-fix-btn {
		width: 100%;
	}
	.header-fix-btn > a {
		background-color: var(--color_main);
		color: #fff;
	}
	.header-fix-btn-inner {
		flex-wrap: nowrap;
	}
}
@media (min-width: 960px) {
  .-parallel .l-header__logo {
		width: 16%;
		padding: 0;
		padding-left: calc(50vw - 600px);
		z-index: 10;
		box-sizing: content-box;
		position: relative;
		top: 0.5rem;
  }
	.c-headLogo__img {
		margin-right: auto;
		display: block;
	}
  #body_wrap .l-header.-parallel .w-header {
   width: fit-content;
		padding-right: calc(50vw - 600px);
		justify-content: flex-end;
		margin-bottom: 12px !important;
  }
  .l-header__inner {
		justify-content: space-between;
		padding-top: 0 !important;
  }
  .-parallel .l-header__gnav .c-gnav {
		max-width: 1200px;
		justify-content: space-between;
		margin: 0 auto;
  }
	#gnav {
		background-color: var(--color_main_thin);
	}
	.top-subbutton {
		gap: 1rem !important;
	}
	.top-subbutton .heart-block-button__link {
		padding: 0.25rem 1rem !important;
	}
}
@media (min-width: 1200px) and (max-width: 1296px) {
	.-parallel .l-header__gnav .c-gnav,
	#body_wrap .l-header.-parallel .w-header {
		padding: 0 48px;
		max-width: inherit;
  }
	.-parallel .l-header__logo {
		padding-left: 48px;
	}
}
@media (min-width: 960px) and (max-width: 1199px) {
	.-parallel .l-header__gnav .c-gnav,
	#body_wrap .l-header.-parallel .w-header {
		padding: 0 32px 0 0;
  }
	.-parallel .l-header__logo {
		padding-left: 32px;
	}
}



/* 通常ヘッダー・スクロール時ヘッダー 両方のメニュー区切り線 */
@media screen and (min-width: 960px) {

  .l-header .c-gnav > li,
  .l-fixHeader .c-gnav > li {
    position: relative;
  }

  .l-header .c-gnav > li > a,
  .l-fixHeader .c-gnav > li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 32px !important;
    text-align: center;
    box-sizing: border-box;
    white-space: nowrap;
  }

  .l-header .c-gnav > li:not(:last-child)::after,
  .l-fixHeader .c-gnav > li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(50%, -50%);
    width: 1px;
    height: 24px;
    background: #8f8f8f;
  }

}


/* フローティングバナー */
.p-blogParts[data-partsid="1115"] {
	position: fixed;
	z-index: 99;
	bottom: 0;
	left: 0;
	width: 100%;
	transition: 0.2s !important;
}
.p-blogParts[data-partsid="1115"] a {
	padding: 0.5rem 0 0.5rem 0;
	max-width: 400px;
}
html[data-scrolled="false"] .p-blogParts[data-partsid="1115"] {
	opacity: 0;
	transition: 0.2s !important;
	pointer-events: none !important;
}
.floating-banner a .heart-bg-color {
 border-radius: 0.25rem 0.25rem 0 0;
 width: 100%;
 display: inline-block;
	margin-bottom: 0.25rem;
}
.post_content>* {
    clear: both;
    margin-bottom: var(--heart-block-margin,2em)
}
/* フローティングバナー：中身（リッチカラム）を中央寄せ */
.p-blogParts[data-partsid="1115"]{
  left: 0;
  right: 0; /* 念のため */
}

/* リッチカラム本体を中央寄せ */
.p-blogParts[data-partsid="1115"] .heart-block-columns{
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
  max-width: 1100px;      /* ←サイト幅に合わせて調整（例：1100/1200など） */
  box-sizing: border-box;
  padding-left: 16px;      /* 端末幅が狭い時の左右余白 */
  padding-right: 16px;
}

/* SWELLのカラム計算で出る“ズレ”を抑える（効きすぎたらこの行だけ外す） */
.p-blogParts[data-partsid="1115"] .heart-block-column__inner{
  margin-left: 0 !important;
  margin-right: 0 !important;
}




/* 縦フローティングバナー */
.side-banner{
  position: fixed;
  top: 180px;
  width: 90px;
  right: 8px;
  z-index: 9999;
}

.side-banner img{
  width: 100%;
  height: auto;
  display: block;
}
/* 右側 */
.side-banner--right{
  right: 0px;             /* 右端からの余白 */
}
/* ホバー（任意） */
.side-banner:hover{
  opacity: .92;
}
/* スマホは非表示（任意：邪魔になりやすいので推奨） */
@media (max-width: 768px){
  .side-banner{
    display: none;
  }
}

#footer {
	margin-bottom: 7rem !important;
}


/* アコーディオン */
.heart-block-accordion__label {
  text-align: center !important;
}
summary.heart-block-accordion__title {
  background-color: var(--color_htag);
  border-bottom: 0.25em solid var(--color_main_dark);
/*   color: #fff; */
  text-align: center;
  border-radius: 16px;
  transition: 0.2s;
	padding: 0.5em;
}
body summary.heart-block-accordion__title {
    border-radius: 16px;
}
.is-opened summary.heart-block-accordion__title {
  border-radius: 16px 16px 0 0;
  border-bottom: 0.25rem solid #99999999;
}
.heart-block-accordion__body {
  border: 1px solid #111;
  border-top: none;
  background-color: #fff;
  color: #333;
  border-radius: 0 0 16px 16px;
}
.heart-block-accordion:nth-child(2n/**/+1) summary.heart-block-accordion__title {
/* 	background-color: var(--color_main_dark); */
/* 	border-bottom: 0.25em solid #6a474b; */
}

/* スライダー */
.xo-slider-template-simple .swiper-wrapper {
  transition-timing-function:linear !important;
}

/* ふきだし */
.hukidashi-text {
	margin-bottom: 0.25rem !important;
}
.hukidashi-text:before {
  background: url("/wp-content/uploads/2023/01/slash-left.png") no-repeat;
}
.hukidashi-text:after {
  background: url("/wp-content/uploads/2023/01/slash-right.png") no-repeat;
}
.hukidashi-text:before,
.hukidashi-text:after {
  content: "";
  height: 1.07em;
  width: 0.5em;
  display: inline-block;
  background-size: contain;
  margin: 0 0.25rem;
  position: relative;
  top: 0.2rem;
}

/* タイトルの大きさ */
.post_content h2 {
	font-size: 1.8rem;
	margin: 0 auto 2rem;
	font-weight: 400;
	width: fit-content;
}
.post_content h3 {
	font-size: 1.5em;
}
@media (max-width: 599px) {
.post_content h2 {
	font-size: 1.75em;
}
.post_content h3 {
	font-size: 1.25em;
}
}


/* サブタイトル */
.sub-title:before {
  background: url("/wp-content/uploads/2026/03/title-left1.png") no-repeat;
}
.sub-title:after {
  background: url("/wp-content/uploads/2026/03/title-right2.png") no-repeat;
}
.sub-title:before,
.sub-title:after {
  content: "";
  height: 1.1em;
  width: 1.7em;
  display: inline-block;
  background-size: contain;
  margin: 0 5px;
  position: relative;
  top: 3px;
}
.sub-title,
.mincho {
	font-family: "font-mincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
.sub-title {
	color: #38b1a0;
}


/* CTA */
.cta-text-box {
	padding: 1rem !important;
}
@media (min-width: 960px) {
.cta-text-box {
	padding: 1rem 1.5rem !important;
}
}
.cta-text {
	width: fit-content;
	margin: 0 auto;
}

/* 葬祭費補助金 */
.cta-hukidashi .c-balloon .c-balloon__iconImg,
.cta-hukidashi .c-balloon__icon {
height: 9rem;
width: 9rem;
}
.cta-hukidashi {
width: fit-content;
margin: 1rem auto 0;
}
.cta-hukidashi .c-balloon__body {
padding: 4px;
font-size: 1.1em;
display: flex;
align-items: center;
}
.cta-hukidashi .c-balloon__text {
white-space: nowrap;
padding: 1rem !important;
border-width: 3px !important;
width: 100% !important;
text-align: center;
}
.cta-hukidashi .-speaking .c-balloon__after {
left: -12px !important;
}
@media (min-width: 960px) {
.cta-hukidashi .c-balloon__text {
padding: 1.5rem 1rem !important;
max-width: none !important;
}
}
@media (max-width: 599px) {
.cta-hukidashi .c-balloon .c-balloon__iconImg,
.cta-hukidashi .c-balloon__icon {
height: 7.5rem;
width: 7.5rem;
}
.cta-hukidashi .c-balloon__body {
margin-left: -2rem;
}
.cta-hukidashi .c-balloon__text {
	padding: 1rem 0.75rem !important;
	font-size: 1.2rem;
}
}

/* ボタンに顔 */
.btn-face:before{
	content: "";
  width: 4rem;
  height: 4rem;
  display: block;
  position: absolute;
  top: 52%;
  left: 3.5rem;
  transform: translate(0, -50%);
  background-image: url("/wp-content/uploads/2025/09/btn-callstaff.jpg");
  z-index: 10;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 50%;
	border: 2px solid #fff;
}
.btn-face > a.heart-block-button__link {
	padding: 0.5rem 0 0.5rem 4.5rem !important;
	line-height: 1.4;
}
.is-style-btn_solid.btn-face .heart-bg-color {
	padding: 0.25rem 0.75rem;
	font-size: 1em;
}


/* その他 */
#content {
	padding-top: 0;
	margin-bottom: 0 !important;
}
#main_content .p-toc {
	margin: 2em auto !important;
}
#before_footer_widget {
	margin-top: 0 !important;
}
.is-row {
  display: flex;
  justify-content: center;
  gap: 0.5em;
}
@media (min-width: 1168px) {
.wp-block-media-text.alignwide {
  width: calc(100% + 2rem);
  left: -2rem;
}
}
.p-blogParts[data-partsid="53"] a {
	color: #fff;
}


/* 背景デザインの細かさ(背景に画像を入れるとき) 
.heart-block-fullWide.has-bg-img.no-repeat {
    background-repeat: no-repeat;
    background-size: cover;
}

/* 背景デザイン(交互)(背景に画像を入れるとき) 
#main_content .heart-block-fullWide:nth-child(2n) {
	background-color: #f3fcfb !important;
}
*/
/* 背景 nagamine*/
/* 1枚目・3枚目・5枚目 */
#main_content .heart-block-fullWide:nth-child(odd of .heart-block-fullWide) {
    background: #E4E8D4 !important;
}

/* 2枚目・4枚目・6枚目 */
#main_content .heart-block-fullWide:nth-child(even of .heart-block-fullWide) {
    background: #EDEFE6 !important;
}

#main_content .heart-block-fullWide:nth-child(2n):before {
	content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
	background-color: inherit;
	z-index: 1;
}
#main_content .heart-block-fullWide:nth-child(2n/**/+1) {
	background-color: #fff !important;
}

/*選ばれる理由の背景に番号表示*/
/* ページ全体で一度リセット */
.post_content { counter-reset: step 0; }

/* 見出し（num-bgが付いた要素） */
.post_content .num-bg{
  position: relative;
  isolation: isolate;
  overflow: visible;
  padding-top: .35em;
	    margin-bottom: 0.75em !important;
}

/* 番号 */
.post_content .num-bg::before{
  counter-increment: step;
  content: counter(step, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: -.30em;
  transform: none;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1;
  font-size: clamp(30px, 6vw, 80px);
  color: var(--color_main, #000);
  opacity: .14;
  z-index: -1;
  pointer-events: none;
  white-space: nowrap;
}

/* 電話ボタン */
.btn-cta {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.btn-cta img {
	display: inline-block;
	margin-right: 0.5rem;
	width: 1.1em !important
}


/* ボタン：ピル型 */
[class*=is-style-btn_] a {
	border-radius: 100rem !important;
}


/* この h3 だけ、SWELLのライン装飾を無効化（番号はそのまま） */
h3.wp-block-heading.num-bg.no-heart-line::after{
  content: none !important;
  background: none !important;
  box-shadow: none !important;
}
/* 独自のライン（番号とは別制御） */
.reasons-wrap h3.wp-block-heading.num-bg.has-soft-line::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  width: 72px;        /* 長さ */
  height: 3px;        /* 太さ */
  background: currentColor;
  opacity: .25;       /* 薄さ*/
  border-radius: 2px;
  pointer-events: none;
}
.post_content h3.num-bg:where(:not([class^="heart-block-"]):not(.faq_q):not(.p-postList__title))::before {
	height: 0 !important;
}
@media (max-width: 599px){
  .post_content .num-bg::before{
    left: 50%;
    top: -0.20em;
    transform: translateX(-50%);
    font-size: clamp(56px, 16vw, 96px); /* 少し小さめに */
    opacity: .12;
  }
}


@media ( max-width:960px ) {
.tab-order1 {
order: 1;
}
.tab-order2 {
order: 2;
}
}



/* タイトルあしらい(両サイド装飾) */
/* .post_content h2:before {
  background: url("/wp-content/uploads/2024/09/title-dec1-left.png") no-repeat;
	left: 0;
	transform:translate(-130%,-45%);
}
.post_content h2:after {
  background: url("/wp-content/uploads/2024/09/title-dec1-right.png") no-repeat;
	right: 0;
	transform:translate(130%,-45%);
}
.post_content h2:before,
.post_content h2:after {
  content: "" !important;
  height: 1.25em;
  width: 1.25em;
  display: inline-block;
  background-size: contain;
  position: absolute;
  top: 50%;
}
.post_content h2.no-dec-title:before,
.post_content h2.no-dec-title:after{
  content: none !important;
} */


/* タイトルあしらい(タイトル下装飾) */
/*.post_content h2:before {
  content: "" !important;
	width: 1.5rem;
	height: 0.25rem;
	background-color: var(--color_main);
	filter: opacity(0.75);
	bottom: -0.5rem;
	left: 50%;
	transform: translate(-50% , 50%);
	border-radius: 1rem;
}
.post_content h2 {
    margin: 0 auto 2.5rem;
}*/


/* 背景デザイン(交互)(あればコメントアウト解除) */
/*#main_content .heart-block-fullWide:nth-child(2n+1):not(.no-bg-section) {
	background-color: #fff !important;
}
#main_content .heart-block-fullWide:nth-child(2n):not(.no-bg-section),
#main_content .heart-block-fullWide:nth-child(2n+1) .flickity-parent2 .flickity-column .wp-block-group,
#main_content .heart-block-fullWide:nth-child(2n+1) .flickity-parent3 .wp-block-media-text__content .wp-block-group {
	background-color: #f4f2e9 !important;
}

#phone-number{
	font-size:36px;
	color:black;
}*/


.fv-text1{
text-shadow: 1px 1px 3px #fff;
font-family: "DFPKaGyo-W5", "DFP華康行書体", "HG行書体", serif;
}

.fv-text2{
font-family: "DFPKaGyo-W5", "DFP華康行書体", "HG行書体", serif;
}




/* プラン詳細のタブCSS */
.is-style-balloon>.c-tabList .c-tabList__button {
  background: #f7f7f7;
  color: #000; 
  border-color: transparent;
	box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.1)
 !important;
	font-size: 0.9em;
	line-height: 2.2; /* 1.4倍の行間 */
	padding:0.5em; 
	border-radius: 16px;
}
/* アクティブ（選択中） */
.is-style-balloon>.c-tabList .c-tabList__button[aria-selected="true"],
.is-style-balloon>.c-tabList .c-tabList__button.is-active {
  background: #39b1a0;
  color: #fff;
  border-color: #39b1a0;
}
.is-style-balloon>.c-tabList .c-tabList__item {
	padding-bottom: 10px;
}								

/* Ocean scattering page: Tokyo Bay / Miyako-jima button colors */
.tokyo .heart-block-button__link {
	  background: #c97586 !important;
	  color: #FFFFFF !important;
}
.miyako-btn .heart-block-button__link {
	  background: #a8c97f !important;
	  color: #FFFFFF !important;
}

body #content figure.wp-block-image.plan-lists-linkicon > img {
  border-radius: 0 !important;
}
/* css/common/typography.css#jt-typography-full */
@font-face{font-family:"font2";font-display:swap;src:url("/wp-content/themes/ceremony-heart-custom/fonts/3450197f91-ZenKakuGothicNew-Bold.woff2") format("woff2");font-style:normal;}

strong,b,h1,h2,h3,h4,h5,h6,.post_content th{font-family:"font2","Arial",sans-serif!important;}
/* css/common/print.css#print */
@media print{body{--heart-fz--root:16px;--heart-fz--side:14px;--heart-fz--content:16px}#after_article,#before_footer_widget,#breadcrumb,#comments,#fix_bottom_menu,#fix_header,#footer,#header,#sidebar,.c-postTitle__date,.c-shareBtns,.p-articleFoot,.p-fixBtnWrap{display:none!important}.p-articleHead{margin-bottom:1rem}#main_content{width:100%!important}code,pre{word-wrap:break-word;white-space:pre-wrap}section{page-break-before:always}.no-print{display:none}}
/* css/pages/shared-layouts.css#block-layout-f65b7 */
.wp-container-core-group-is-layout-7eb86478{flex-wrap:nowrap;justify-content:flex-end;}

/*# sourceURL=core-block-supports-inline-css */
/* css/components/contact-cta.css#feature-9e3e8 */
.ohara-cta-block,
.ohara-cta-block * {
  box-sizing: border-box;
}

.ohara-cta-block {
  --ohara-ink: #3f352f;
  --ohara-green: #34ae3f;
  --ohara-green-dark: #239731;
  --ohara-orange: #ff6b2b;
  --ohara-orange-dark: #f1571f;
  --ohara-blue: #4f93d3;
  --ohara-blue-dark: #387fc1;
  width: min(1111px, calc(100vw - 48px)) !important;
  max-width: none !important;
  margin: 0 calc(50% - min(555.5px, calc(50vw - 24px))) !important;
  padding: 32px 38px 30px;
  color: var(--ohara-ink);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  background: linear-gradient(180deg, #fffdfa 0%, #fff8ec 100%);
  border: 1px solid #efe1c9;
  overflow: hidden;
}

.ohara-cta-block > .wp-block-group__inner-container,
.ohara-cta-block__head > .wp-block-group__inner-container,
.ohara-cta-block__card > .wp-block-group__inner-container,
.ohara-cta-block__trust > .wp-block-group__inner-container {
  width: 100% !important;
  max-width: none !important;
}

.ohara-cta-block :where(h2, h3, p, a) {
  letter-spacing: 0;
  text-transform: none;
}

.ohara-cta-block__head {
  margin-bottom: 18px;
  padding: 0 100px;
  text-align: center;
}

.ohara-cta-block__head > .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ohara-cta-block__title {
  width: 100%;
  margin: 0 !important;
  color: #453b35;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
  font-size: 41px !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
  text-align: center !important;
  white-space: nowrap;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.ohara-cta-block__title::before,
.ohara-cta-block__title::after {
  content: none !important;
  display: none !important;
}

.ohara-cta-block__lead {
  margin-top: 9px !important;
  color: #443a34;
  font-size: 19px !important;
  line-height: 1.5 !important;
  white-space: nowrap;
}

.ohara-cta-block .sp-only {
  display: none;
}

.ohara-cta-block__cards {
  gap: 8px !important;
  align-items: stretch !important;
}

.ohara-cta-block__card {
  min-height: 300px;
  padding: 13px 5px 10px !important;
  text-align: center;
  border-top: 4px solid var(--accent);
  border-radius: 8px;
  box-shadow: inset 0 0 28px rgba(255, 255, 255, .76);
}

.ohara-cta-block__card > .wp-block-group__inner-container {
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 8px;
}

.ohara-cta-block__card--line {
  --accent: var(--ohara-green);
  --button-bg: linear-gradient(180deg, #58c85f 0%, var(--ohara-green-dark) 100%);
  --note-border: rgba(52, 174, 63, .58);
  background: linear-gradient(180deg, #f8fff4 0%, #f0f8e8 100%);
}

.ohara-cta-block__card--tel {
  --accent: var(--ohara-orange);
  --button-bg: linear-gradient(180deg, #ff8645 0%, var(--ohara-orange-dark) 100%);
  --note-border: rgba(255, 107, 43, .58);
  background: linear-gradient(180deg, #fff9f2 0%, #fff0e6 100%);
}

.ohara-cta-block__card--mail {
  --accent: var(--ohara-blue);
  --button-bg: linear-gradient(180deg, #6aa9df 0%, var(--ohara-blue-dark) 100%);
  --note-border: rgba(79, 147, 211, .58);
  background: linear-gradient(180deg, #f7fbff 0%, #edf5fd 100%);
}

.ohara-cta-block__icon {
  width: 86px;
  height: 86px;
  margin: 0 auto !important;
  display: block;
  overflow: hidden;
  background: #fff;
  border-radius: 999px;
  box-shadow: 0 10px 22px rgba(108, 85, 55, .08);
}

.ohara-cta-block__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ohara-cta-block__label {
  margin: 0 !important;
  color: var(--accent);
  font-size: 29px !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
  white-space: nowrap;
}

.ohara-cta-block__sub {
  margin: 0 !important;
  color: #3f352f;
  font-size: 16px !important;
  font-weight: 700;
  line-height: 1.35 !important;
  white-space: nowrap;
}

.ohara-cta-block__note {
  margin: 0 !important;
  padding-top: 8px;
  color: #453b35;
  font-size: 15px !important;
  font-weight: 700;
  line-height: 1.45 !important;
  border-top: 2px dotted var(--note-border);
}

.ohara-cta-block__buttons {
  margin-top: 0 !important;
}

.ohara-cta-block__buttons .wp-block-button,
.ohara-cta-block__buttons.heart-block-button {
  width: 100%;
}

.ohara-cta-block__buttons .wp-block-button__link,
.ohara-cta-block__buttons .heart-block-button__link {
  width: 100%;
  min-height: 60px;
  padding: 10px 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
  font-size: 23px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  text-decoration: none !important;
  white-space: nowrap;
  background: var(--button-bg) !important;
  border-radius: 22px !important;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.ohara-cta-block__card--mail .wp-block-button__link,
.ohara-cta-block__card--mail .heart-block-button__link {
  font-size: 21px !important;
}

.ohara-cta-block__buttons .wp-block-button__link:hover,
.ohara-cta-block__buttons .wp-block-button__link:focus-visible,
.ohara-cta-block__buttons .heart-block-button__link:hover,
.ohara-cta-block__buttons .heart-block-button__link:focus-visible {
  transform: translateY(-2px);
  filter: saturate(1.05);
}

.ohara-cta-block__trust {
  margin-top: 20px !important;
  padding: 16px 20px !important;
  background: rgba(255, 255, 255, .84);
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(105, 83, 50, .06);
}

.ohara-cta-block__trust > .wp-block-group__inner-container {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0 !important;
}

.ohara-cta-block__trust-title,
.ohara-cta-block__trust-item {
  display: flex !important;
  margin: 0 !important;
}

.ohara-cta-block__trust-item > .wp-block-group__inner-container {
  min-width: 0;
  width: auto !important;
  display: flex;
  align-items: center;
  gap: 14px;
}

.ohara-cta-block__trust-icon {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  margin: 0 !important;
}

.ohara-cta-block__trust-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ohara-cta-block__trust-title {
  border-left: 0;
  color: #3f352f;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
  font-size: 19px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  white-space: nowrap;
  justify-content: center;
}

.ohara-cta-block__trust-text {
  margin: 0 !important;
  color: #3f352f;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
  font-size: 13px !important;
  font-weight: 500;
  line-height: 1.52 !important;
}

.ohara-cta-block__trust-text strong,
.ohara-cta-block__trust-text span {
  display: block;
  white-space: nowrap;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
}

.ohara-cta-block__trust-text strong {
  font-weight: 900;
}

@media (max-width: 1160px) {
  .ohara-cta-block {
    width: calc(100vw - 32px) !important;
    margin-left: calc(50% - 50vw + 16px) !important;
    margin-right: calc(50% - 50vw + 16px) !important;
    padding: 34px 22px 28px;
  }

  .ohara-cta-block__head {
    padding: 0 70px;
  }

  .ohara-cta-block__title {
    font-size: 38px !important;
  }

  .ohara-cta-block__buttons .wp-block-button__link,
  .ohara-cta-block__buttons .heart-block-button__link {
    font-size: 22px !important;
  }
}

@media (max-width: 900px) {
  .ohara-cta-block {
    padding: 32px 18px 27px;
  }

  .ohara-cta-block__head {
    padding: 0 26px;
  }

  .ohara-cta-block__title {
    font-size: 34px !important;
    white-space: normal;
  }

  .ohara-cta-block__lead {
    font-size: 16px !important;
    white-space: normal;
  }

  .ohara-cta-block__card {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .ohara-cta-block__buttons .wp-block-button__link,
  .ohara-cta-block__buttons .heart-block-button__link {
    font-size: 19px !important;
  }

  .ohara-cta-block__trust > .wp-block-group__inner-container {
    grid-template-columns: 1fr 1fr;
    gap: 16px 0 !important;
  }

  .ohara-cta-block__trust-title {
    grid-column: 1 / -1;
  }

  .ohara-cta-block__trust-item:nth-child(2n) {
    border-left: 0;
  }
}

@media (max-width: 760px) {
  .ohara-cta-block {
    width: calc(100vw - 24px) !important;
    margin-left: calc(50% - 50vw + 12px) !important;
    margin-right: calc(50% - 50vw + 12px) !important;
    padding: 29px 14px 23px;
  }

  .ohara-cta-block__head {
    padding: 0;
    margin-bottom: 17px;
  }

  .ohara-cta-block__title {
    font-size: 22px !important;
    white-space: nowrap;
  }

  .ohara-cta-block__lead {
    text-align: center;
  }

  .ohara-cta-block .sp-only {
    display: inline;
  }

  .ohara-cta-block__cards {
    display: block !important;
  }

  .ohara-cta-block__cards > .wp-block-column {
    margin-bottom: 16px;
  }

  .ohara-cta-block__card {
    min-height: 0;
    padding: 12px 12px 14px !important;
    text-align: left;
  }

  .ohara-cta-block__card > .wp-block-group__inner-container {
    min-height: 0;
    display: grid !important;
    grid-template-columns: 90px minmax(0, 1fr);
    grid-template-rows: auto auto auto auto;
    column-gap: 5px;
    row-gap: 7px;
    align-items: center;
  }

  .ohara-cta-block__icon {
    grid-column: 1;
    grid-row: 1 / 4;
    width: 78px;
    height: 78px;
    margin: 0 !important;
  }

  .ohara-cta-block__icon img {
    width: 100%;
    height: 100%;
  }

  .ohara-cta-block__label,
  .ohara-cta-block__sub,
  .ohara-cta-block__note {
    grid-column: 2;
  }

  .ohara-cta-block__label {
    font-size: 21px !important;
    text-align: left !important;
    white-space: normal;
  }

  .ohara-cta-block__sub,
  .ohara-cta-block__note {
    font-size: 14px !important;
    line-height: 1.35 !important;
    white-space: normal;
    text-align: left !important;
  }

  .ohara-cta-block__buttons {
    grid-column: 1 / -1;
  }

  .ohara-cta-block__buttons .wp-block-button__link,
  .ohara-cta-block__buttons .heart-block-button__link {
    min-height: 58px;
    font-size: 20px !important;
  }

  .ohara-cta-block__buttons--tel .wp-block-button__link,
  .ohara-cta-block__buttons--tel .heart-block-button__link {
    font-size: 0 !important;
  }

  .ohara-cta-block__buttons--tel .wp-block-button__link::after,
  .ohara-cta-block__buttons--tel .heart-block-button__link::after {
    content: "電話をかける";
    font-size: 20px;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
    font-weight: 900;
  }

  .ohara-cta-block__trust {
    padding: 16px 14px !important;
    overflow: hidden;
  }

  .ohara-cta-block__trust > .wp-block-group__inner-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 !important;
  }

  .ohara-cta-block__trust-title {
    grid-column: 1 / -1;
    padding: 0 !important;
  }

  .ohara-cta-block__trust-title br {
    display: none;
  }

  .ohara-cta-block__trust-item {
    justify-content: flex-start;
    align-items: flex-start;
    gap: 7px;
    min-width: 0;
    padding: 10px 6px !important;
    border-left: 0;
  }

  .ohara-cta-block__trust-item > .wp-block-group__inner-container {
    min-width: 0;
    gap: 0px;
  }

  .ohara-cta-block__trust-icon {
    width: 32px;
    height: 32px;
  }

  .ohara-cta-block__trust-text {
    min-width: 0;
    font-size: 11px !important;
    line-height: 1.48 !important;
  }

  .ohara-cta-block__trust-item:nth-child(2n + 1) {
    border-left: 1px dotted #decfba;
  }

  .ohara-cta-block__trust-item:nth-child(n + 4) {
    border-top: 1px dotted #decfba;
  }

  @media (max-width: 360px) {
    .ohara-cta-block__title {
      font-size: 20px !important;
    }
  }
}
