/*
Theme Name: キュービクルの総合アドバイザー
Theme URI:
Template: lightning
Description:
Author:
Tags:
Version: 0.6.1
*/

:root {
	--vk-size-text: 18.5px;
	--wp--preset--font-family--system-font: "Noto Sans JP", sans-serif;
}


@media (max-width: 787px) {
	:root {
		--vk-width-container: 100%;
	}
}

.container-sm {
	max-width: 100%;
}


aside {
	margin-bottom: 0;
}

.flexacjbe {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.flex {
	display: flex;
}

a.btn {
	font-size: 1rem !important;
	font-weight: 600;
	padding: 1em 0 !important;
	max-width: 400px;
	width: 100%;
}


.site-body-bottom .widget_block {
	margin-bottom: 0 !important
}

/*共通パーツの編集ボタン*/
.veu_adminEdit_cta>.btn {
	font-size: 14px !important;
	padding: .5em 1em !important;
	font-weight: 400 !important;
}


.box-shadow {
	box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2);
}

.mb0 {
	margin-bottom: 0 !important;
}


@media(max-width:767px) {
	.site-body {
		padding-bottom:0;
	}
}


.post-name-plan .priceTable table {
	margin-bottom:0!important;
}

.page-header-title, h1.page-header-title {
	font-size:2rem;
}

.page-header {
	min-height:10rem;
	background-position-y: top;
}

.onlySP {display:none!important}

.vk-mobile-nav-menu-btn {
	display:none
}

/* -------------------------------------------------------------------------
 * BASE
 * ------------------------------------------------------------------------- */
	body {
		/* スマホ・タブレットのサイズ */
		font-size: 18px;
		line-height: 1.8;
		/* 行間も少し広げると読みやすいです */
		color: #000;
	}

	@media (min-width: 992px) {
		body {
			/* PCのサイズ（ここを好みに調整してください） */
			font-size: 18.5px;
		}
	}

	h2 {
		font-weight: 700;
		font-size:1.65rem
		/*font-size: clamp(24px, 5vw, 38px) !important;*/
	}

	h2.wp-block-heading {
		margin-block-end: .35em !important;
	}

	h2.wp-block-heading+p {
		margin-bottom: 2.5em;
	}

	@media (max-width: 640px) {

		body,
		p,
		li,
		.entry-body {
			font-size: 4.33vw;
		}

		.page-header-title,
		h1.page-header-title {
			font-size: 6.88vw
		}

		h2 {
			font-size: 4.66vw!important
		}

		h3 {
			font-size: 3.66vw!important
		}

		.page-header {
			min-height: 10rem;
		}

		.vk_outer-width-full.vk_outer-paddingLR-none>div>.vk_outer_container {
			padding-left: 10px;
			padding-right: 10px;
		}
	}



/* -------------------------------------------------------------------------
 * header
 * ------------------------------------------------------------------------- */
	.logo {
		max-width: 480px;
	}

	header {
		z-index: 1;
		position: relative;
		box-shadow: 0 5px 10px Rgba(0, 0, 0, 0.2);
	}

	header .logo {
		margin-left: 40px;
		max-height:60px;
	}

	header .header_navs {
		height: 80px;
		/*margin-right: 80px; */
	}

	header .header_navs p {
		line-height: 1;
	}

	header .header_navs a {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
	}


	header .hnav_tel {
		margin-right:1em;
	}

	header .hnav_mail {
		margin-right:.5em;
	}

	header .hnav_tel img, header .hnav_mail img  {
		max-height:70px;
	}


	@media only screen and (max-width: 1024px) {
		header .logo {
			max-width: 250px;
			margin-left: 30px;
		}

		header .hnav_tel {
			font-size: 35px;
			padding: 0 20px;
		}

		header .header_navs img {
			max-width: 25px;
			position: relative;
			top: 3px;
		}

		header .hnav_mail {
			font-size: 25px;
		}

		header .header_navs {
			height: 100px;
		}
	}

	@media only screen and (max-width: 1000px) {
		header {
			height: 80px;
			padding: 15px 0;
		}

		header .header_navs {
			display: none;
		}
	}

	@media only screen and (max-width: 768px) {
		.logo {
			max-width: 250px;
		}
	}

	@media only screen and (max-width: 479px) {
		header {
			height: 65px;
			padding: 10px 0;
		}

		header .logo {
			max-width: 200px;
			margin-left: 20px;
		}
	}





/* -------------------------------------------------------------------------
 * 共通パーツ
 * ------------------------------------------------------------------------- */

	/**　お客様の声	----------------------------- */
		#voice {
			width: 100% !important;
			max-width: 100% !important
		}

		/* Swiperコンテナの余白調整 */
		.voice-slider {
			width: 95%;
			padding-bottom: 20px;
			/* ページネーション用の下部余白 */
			padding-top: 10px;
			/* 影が見切れないように */
		}

		/* カード本体（高さ揃えを追加） */
		.voice-card {
			background: #fff;
			border-radius: 8px;
			padding: 24px;
			box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05);
			border: 1px solid #eee;
			height: 100%;
			/* スライドの高さを揃える */
			box-sizing: border-box;
		}

		/* スライド自体の高さ設定 */
		.swiper-slide {
			height: auto;
			/* 中身に合わせて伸縮 */
			display: flex;
			/* 子要素の高さを揃えるため */
			flex-direction: column;
		}

		/* 以下、前回と同じ装飾 */
		.voice-header {
			display: flex;
			align-items: center;
			border-bottom: 1px solid #ddd;
			padding-bottom: 10px;
			margin-bottom: 15px;
		}

		.voice-name {
			font-size: 1rem;
			font-weight: bold;
			margin: 0 !important;
			color: #333;
		}

		.voice-body p {
			font-size: .9rem;
			line-height: 1.6;
			color: #444;
			margin-bottom: 0;
		}

		/* Swiperページネーションの色変更（テーマカラーに合わせるなら） */
		.swiper-pagination-bullet-active {
			background: #ffcc00 !important;
		}


		@media (max-width: 640px) {
			.voice-body p {
				font-size: 4.2vw;
				margin-bottom: 0;
			}

		}


	/**　お任せください	----------------------------- */

		.achieve-section {
			width: 100vw;
			margin-left: calc(50% - 50vw);
			margin-right: calc(50% - 50vw);
			box-sizing: border-box;
			max-width: 100vw;
			background-size: cover;
			background-position: center;
			background-blend-mode: color;
		}

		/* 1. ヘッダー周り */
		.achieve-header {
			text-align: center;
			margin-bottom: 40px;
			max-width:800px;
			margin-left:auto;
			margin-right:auto;
		}

		/* 緑の吹き出しバッジ */
		.achieve-badge {
			display: inline-block;
			background: #2CB4C3;
			color: #fff;
			padding: 8px 0;
			display:block;
		}

		/* メインタイトル */
		.achieve-title {
			font-weight: 900;
			line-height: 1.4;
			color: #333;
			text-align: center;
		}

		.gold-text {
			color: #cc0000;
			/* ゴールド色 */
			font-size: 1.2em;
			margin: 0 5px;
		}

		/* 2. コンテンツエリア（左右カラム） */
		.achieve-content {
			display: flex;
			flex-wrap: wrap;
			gap: 40px;
			max-width: 1200px;
			margin: 0 auto;
		}

		/* --- 左側カラム --- */
		.achieve-left {
			flex: 1;
			/* 幅を自動調整 */
			min-width: 300px;
		}

		/* バッジの並び */
		.badges-row {
			display: flex;
			gap: 10px;
			margin-bottom: 20px;
			flex-wrap: wrap;
		}

		.crown-badge {
			border: 2px solid #c5a059;
			color: #1085d2;
			font-weight: bold;
			padding: 5px 15px;
			border-radius: 5px;
			font-size: 14px;
			background: #E7F3FA;
		}

		.achieve-sub-ttl {
			font-weight: bold;
			margin-bottom: 20px;
			border-bottom: none;
			/* Lightningの標準線を消す */
		}

		.achieve-sub-ttl span:first-of-type {
			font-size:1.1rem;
			display:block;
		}

		.achieve-sub-ttl span+span {
			color:#257bbf;
		}	

		.achieve-desc {
			line-height: 2;
		}


		/* --- 右側カラム（4つのパネル） --- */
		.achieve-right {
			flex: 1;
			min-width: 300px;
		}

		.panel-grid {
			display: grid;
			grid-template-columns: 1fr 1fr;
			/* 2列 */
			gap: 20px;
		}

		.panel-item {
			background: #fff;
			border-radius: 8px;
			overflow: hidden;
			box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
			text-align: center;
		}

		.panel-item img {
			width: 100%;
			height: 160px;
			object-fit: cover;
			display: block;
		}

		.panel-label {
			background: #2B8BBB;
			color: #fff;
			padding: 7px 5px;
			font-size: .8rem;
		}

		/* スマホ対応 */
		@media (max-width: 767px) {
			.achieve-section {
				padding-top:2em;

			}

			.achieve-badge {
				font-size:3.66vw;
				padding:2px 0;
			}


			.achieve-content {
				flex-direction: column;
				/* 縦並び */
			}

			.panel-grid {
				gap: 10px;
				/* 隙間を狭く */
			}

			.achieve-sub-ttl {
				font-size:5vw!important;
				text-align:center;
				color:#c5a059;
				font-weight:800;
			}	


			.panel-label {
				font-size:3.66vw;
				font-weight:400;
			}

			.achieve-desc {
				margin-bottom:0;
			}

		}



	/**　6つの理由	----------------------------- */
		.reason-section-full {
			position: relative;
			width: 100vw;
			margin-left: calc(50% - 50vw);
			margin-right: calc(50% - 50vw);
			padding: 60px 20px 80px;
			overflow: hidden;
			color: #333;
			background-image: linear-gradient(0deg, transparent calc(100% - 1px), #eee calc(100% - 1px)),linear-gradient(90deg, transparent calc(100% - 1px), #eee calc(100% - 1px));
		}

		/* インナー（コンテンツ幅制限） */
		.reason-inner {
			max-width: 1200px;
			margin: 0 auto;
			position: relative;
		}

		/* タイトル周り */
		.reason-header {
			text-align: center;
			margin-bottom: 40px;
		}

		.reason-main-title {
			font-weight: bold;
			line-height: 1.3;
			margin-bottom: 20px;
			text-align: center;
		}

		/* 数字「6」の強調 */
		.num-big {
			font-size: 1.8em;
			color: #257bbf;
			font-family: Arial, sans-serif;
			margin: 0 5px;
			position: relative;
			top: 2px;
		}

		.num-big::after {
			content: '';
			display: block;
			width: 100%;
			height: 6px;
			background: #ffff00;
			position: absolute;
			bottom: 5px;
			z-index: -1;
			left: 0;
		}


		/* --- カードグリッド --- */
		.reason-grid {
			display: flex;
			flex-wrap: wrap;
			gap: 30px;
			justify-content: center;
		}

		.reason-card {
			width: 31%;
			/* PCでは3列 */
			background: #fff;
			border-radius: 10px;
			box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
			overflow: hidden;
			position: relative;
			transition: transform 0.3s;
		}

		/* スマホ対応（1列） */
		@media (max-width: 767px) {
			.reason-card {
				width: 100%;
				max-width: 400px;
				/* 広がりすぎ防止 */
			}
		}

		/* 写真エリアと番号バッジ */
		.reason-img-area {
			position: relative;
			line-height: 0;
			/* 画像の下に隙間ができないように */
		}

		.reason-img-area img {
			width: 100%;
			height: 200px;
			/* 高さを揃える */
			object-fit: cover;
		}

		/* ★ 番号バッジ（斜めカット版） ★ */
		.reason-badge {
			position: absolute;
			top: 0;
			left: 0;
			background: #2b8bbb;
			/* 緑色 */
			color: #fff;
			font-size: 28px;
			/* 数字を少し大きく */
			font-weight: bold;

			/* ▼▼ ここが変更点 ▼▼ */
			width: 80px;
			/* 幅を少し広げる */
			height: 90px;
			/* 高さを少し広げる */
			padding-left: 10px;
			/* 数字の位置を微調整 */
			padding-top: 5px;

			/* 斜めに切り抜く魔法の記述 */
			clip-path: polygon(0 0, 100% 0, 0 100%) !important;

			/* 以前の丸角は削除 */
			border-radius: 0;
			/* clip-pathを使うと通常のbox-shadowは効かなくなるので削除 */
			box-shadow: none;

			/* 数字を左上に寄せる */
			font-family: Arial, sans-serif;
			padding-left: 18px;
			padding-top: 25px;
		}

		/* テキストエリア */
		.reason-body {
			padding: 20px;
			text-align: center;
		}

		.reason-ttl {
			font-size: 1.1rem;
			text-align: center;
			font-weight: bold;
			margin-bottom: 15px;
			line-height: 1.4;
			border-bottom: 2px dotted #ddd;
			padding-bottom: 10px;
		}

		.reason-ttl .red-text {
			color: #cc0000;
			font-size: 1.1em;
		}

		.reason-desc {
			font-size: .9rem;
			text-align: left;
			/* 説明文は左揃え */
			line-height: 1.6;
			margin: 0;
		}


		/* 1. 画像ブロック（figure）のサイズを調整 */
		.reason-img-area figure.wp-block-image {
			width: 100%;
			margin: 0;
			height: 220px;
			/* ★ここで高さを固定します */
		}

		/* 2. 画像本体（img）を枠に合わせてトリミング */
		.reason-img-area figure.wp-block-image img {
			width: 100%;
			height: 100%;
			/* 親（figure）と同じ高さにする */
			object-fit: cover;
			/* ★魔法の呪文：枠いっぱいに広げて、はみ出た部分をカット */
			object-position: center center;
			/* 真ん中を中心に表示 */
			border-radius: 10px 10px 0 0;
			/* 上の角だけ丸くする（デザインに合わせて） */
		}

		@media (max-width: 767px) {

			.reason-section-full {
				padding-bottom:1em;
			}

			.reason-main-title {
				line-height:1.2;
			}

			.reason-img-area img {
				height:160px;
			}

			.reason-header {
				margin-bottom:1em;
			}
		}


	/**　セクションタイトル（バッジなし）	----------------------------- */
		.design-section-title.nobagde {
			padding:1.75em 0;
		}

		.design-section-title.nobagde .dst-main {
			top:inherit;
		}

		.post-name-faq .design-section-title {
			background:#1e73be;
		}

		.post-name-faq .design-section-title::after {
			border-top-color:#1e73be ;
		}

		@media (max-width:767px) {
			.design-section-title.nobagde {
				padding:1.35em 0;
			}			

			.post-name-faq .design-section-title {
				padding:.25em 0;
			}
		}


	/**　セクションタイトル（シンプル）	----------------------------- */

		/* 1. 全体のエリア */
		.common-sec-title-area {
			margin-bottom: 50px;
			text-align: center;
		}

		/* 2. サブタイトル（緑文字＋スラッシュ） */
		.c-sec-sub {
			color: #336bb6;
			font-weight: bold;
			font-size: clamp(18px, 5vw, 26px);
			margin-bottom: 5px !important;
			display: inline-block;
			position: relative;
			padding: 0 25px;
			/* スラッシュとの距離を確保 */
		}

		/* 左右のスラッシュ装飾（文字として表示） */
		.c-sec-sub::before,
		.c-sec-sub::after {
			content: '／';
			/* ★ここを変更：図形ではなく文字のスラッシュを使う */
			position: absolute;
			top: 50%;
			transform: translateY(-53%);
			/* 垂直位置の微調整 */

			/* スラッシュのデザイン */
			color: #336bb6;
			/* 薄い緑 */
			font-size: 18px;
			/* スラッシュの大きさ */
			font-weight: 700;
			/* 線を細く見せる */
		}

		.c-sec-sub::before {
			left: 0;
			content: '＼';
		}

		.c-sec-sub::after {
			right: 0;
		}

		/* 3. メインタイトル */
		.c-sec-main {
			font-size: clamp(24px, 5vw, 38px);
			font-weight: 900;
			line-height: 1.4;
			color: #333;
			margin-top: 0;
		}

		/* 4. 黄色マーカー */
		.c-sec-main .marker {
			background: linear-gradient(transparent 60%, #ffd700 60%);
			padding-bottom: 2px;
			display: inline;
		}


		@media (max-width:767px) {
			body:not(.home) .common-sec-title-area {
				margin-bottom:1em!important;
			}

		}	

	/**　セクションタイトル	----------------------------- */
		.design-section-title {
			position: relative;
			padding: .5em 0 0;
			text-align: center;
			color: #fff;
			/* ▼▼ 追記：強制的に全幅にする魔法 ▼▼ */
			width: 100vw;
			/* 画面幅いっぱい */
			margin-left: calc(50% - 50vw);
			/* 左に突き抜ける */
			margin-right: calc(50% - 50vw);
			/* 右に突き抜ける */
			box-sizing: border-box;
			/* 余白を含めて計算 */
			max-width: 100vw;
			/* ▲▲ ここまで ▲▲ */

			background-color: #2b8bbb;
		}

		/* 下向きの矢印 */
		.design-section-title::after {
			content: '';
			position: absolute;
			bottom: -20px;
			left: 50%;
			transform: translateX(-50%);
			border-top: 35px solid #2b8bbb;
			border-left: 530px solid transparent;
			border-right: 530px solid transparent;
			z-index: 10;

		}

		/* --- 上部の白いバッジ --- */
		.dst-badge {
			display: inline-block;
			background: #fff;
			color: #2b8bbb;
			font-weight: bold;
			padding: 4px 25px;
			border-radius: 50px;
			position: relative;
			margin-bottom: 10px;
			box-shadow: 0 3px 0 rgba(0, 0, 0, 0.1);
			border: 2px solid #2b8bbb;
			top: -2rem;
		}

		/* --- メインの見出し文字 --- */
		.dst-main {
			font-size: clamp(24px, 5vw, 32px) !important;
			font-weight: 900;
			line-height: 1.3;
			margin: 0 !important;
			color: #fff;
			text-align: center;
			top: -1em;
		}

		/* 強調したい文字（黄色） */
		.dst-main span {
			color: #ffff00;
		}

		/* スマホ表示の調整（767px以下） */
		@media (max-width: 767px) {
			.dst-badge {
				font-size:3.33vw;
				border-width: 1px;
				top:-2em;
				margin-bottom:0;
			}
			.dst-main {
				font-size:5.33vw!important;
			}

			.design-section-title {
				padding:.5em 0 0;
			}

			.design-section-title::after {
				bottom:-10px;

			}	
		}	


	/**　リード	----------------------------- */
		.lead {
			font-size:1.1rem;
			text-align:center;
			margin-bottom:0;
		}

		@media (max-width:767px) {
			.lead {
				font-size:4vw;
				text-align:left;
			}

		}


	/** こんなお悩みありませんか？ -----------------------------------*/

	/* 2. 見出し周り */
	.worry-header {
		text-align: center;
		margin-bottom: 40px;
	}

	.worry-sub {
		font-weight: bold;
		margin-bottom: 0 !important;
		position: relative;
		display: inline-block;
		font-size: 1.2rem;
	}

	/* スラッシュ装飾（＼ ／） */
	.worry-sub::before {
		content: '＼';
		margin-right: 10px;
		color: #2ea7c6;
	}

	.worry-sub::after {
		content: '／';
		margin-left: 10px;
		color: #2ea7c6;
	}

	.worry-title {
		font-weight: bold;
		line-height: 1.4;
		text-align: center;
		margin-top: 0;
	}

	/* 黄色のマーカー線 */
	.worry-title .marker {
		background: linear-gradient(transparent 60%, #fff700 60%);
		padding: 0 5px;
		color:#cc0000;
		font-weight:900;
	}

	.worry-grid {
		display: flex;
		flex-wrap: wrap;
		gap: 30px;
		/* アイテム間の隙間 */
		max-width: 1000px;
		margin: 0 auto;
	}

	.worry-item {
		width: 48%;
		/* PCでは2列 */
		display: flex;
		align-items: center;
		gap: 15px;
	}

	.worry-icon img {
		width: 150px;
		height: 150px;
		border-radius: 50%;
		border: 2px solid #eee;
		background: #fff;
		object-fit: cover;
	}

	/* 5. 吹き出しデザイン（ここが肝！） */
	.worry-bubble {
		position: relative;
		background: #2cb4c3;
		/* 参考サイト風の水色 */
		color: #fff;
		padding: 15px 20px;
		border-radius: 10px;
		font-weight: 500;
		flex: 1;
		/* 横幅いっぱいに広げる */
		box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
	}

	/* 吹き出しの「しっぽ（三角）」 */
	.worry-bubble::before {
		content: "";
		position: absolute;
		top: 50%;
		left: -10px;
		/* 左側に突き出す */
		margin-top: -10px;
		border-top: 10px solid transparent;
		border-right: 10px solid #2cb4c3;
		/* 本体の色に合わせる */
		border-bottom: 10px solid transparent;
	}

	/* 黄色文字 */
	.worry-bubble .yellow {
		color: #ffff00;
		font-weight: 900;
	}


	.worry-item.reverse {
		flex-direction: row-reverse;
	}

	/* 2. 吹き出しの「しっぽ」を右側に移動 */
	.worry-item.reverse .worry-bubble::before {
		left: auto;
		/* 左の設定を解除 */
		right: -10px;
		/* 右側に配置 */

		/* 三角形の向きを逆にする */
		border-right: none;
		border-left: 10px solid #2cb4c3;
	}


	/* スマホ表示の調整（767px以下） */
	@media (max-width: 767px) {

		.worry-section {
			padding-bottom:1.5em;
		}

		.worry-icon img {
			width: 100px;
			height: 100px;
		}

		.worry-item {
			width: 100%;
			/* スマホでは1列 */
			margin-bottom: 10px;
		}


		.worry-bubble {
			line-height:1.4;
			font-weight:400;
			padding:1em;
		}
	}


	/**　フッター	----------------------------- */
		.site-footer {
			background-color: #eaf6f9 !important;
			border-top: none !important;
		}

		/* コピーライトバー */
		.site-footer-copyright {
			background-color: #2ea7c6 !important;
			/* 濃い青 */
			color: #fff !important;
			width: 100%;
			max-width: 100% !important;
			padding:0 0 1rem 0;
		}

		.site-footer-copyright p {
			color: #fff !important;
			margin: 0 !important;
		}

		@media (max-width: 767px) {
			.footerContent a {display: block;margin-left: auto;margin-right: auto;}
			.site-footer {text-align: left;}
		}

	/** スマホ固定フッターのデザイン	----------------------------- */

		/* 1. 全体の枠組み */
		.custom-fixed-footer {
			position: fixed;
			bottom: 0;
			left: 0;
			width: 100%;
			z-index: 9999;
			font-family: sans-serif;
			transform: translateY(110%);
			transition: transform 0.2s ease; /* ふわっと出すための動き */
			
			box-shadow: 0 -5px 10px rgba(0,0,0,0.1);
		}

		/* ▼ 表示用のクラス（JSでこれをつける） */
		.custom-fixed-footer.is-visible {
			transform: translateY(0); /* 元の位置（画面内）に戻す */
		}


		/* 2. 上段：青いメッセージバー */
		.cff-message {
			background-color: #1e73be;
			color: #fff;
			text-align: center;
			font-size: 3.33vw;
			padding: 4px 0;
			font-weight: 500;
		}

		/* 3. 下段：ボディエリア（横並び） */
		.cff-body {
			display: flex;
			height: 65px;
			background-color: #fff;
		}

		/* --- 左側：電話エリア (幅広) --- */
		.cff-tel {
			flex: 1.6;
			/* ボタンより少し広く取る */
			display: flex;
			align-items: center;
			text-decoration: none;
			color: #333;
			padding: 0 5px;
			border-right: 1px solid #eee;
		}

		/* 赤い丸バッジ */
		.cff-tel-badge {
			background-color: #cc0000;
			color: #fff;
			font-size: 10px;
			border-radius: 50%;
			width: 36px;
			height: 36px;
			display: flex;
			align-items: center;
			justify-content: center;
			text-align: center;	
			line-height: 1.1;
			margin-right: 5px;
			flex-shrink: 0;
			font-weight: bold;
		}

		/* 電話番号まわり */
		.cff-tel-main {
			display: flex;
			flex-direction: column;
			justify-content: center;
		}

		.cff-tel-number {
			font-size: 5.44vw;
			font-weight: bold;
			color: #333;
			line-height: 1;
			width:100%;
			border-bottom: solid 1px;
			padding-bottom:5px;
		}

		.cff-tel-sub {
			font-size: 2.66vw;
			color: #666;
			margin-top: 2px;
			font-weight:600;
			display:flex;
			align-items:center;
			justify-content:space-between;
		}

		.cff-tel-sub .hour {
			font-size:2.66vw;
		}

		.cff-tel-sub .free {
			border:#f0c1be 2px solid;
			color:#ce3328;
			padding:2px 4px;
			font-size:.95em;
			line-height:1;
		}

		/* --- 右側：ボタンエリア --- */
		.cff-buttons {
			flex: 1.5;
			display: flex;
		}

		.cff-btn {
			flex: 1;
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			text-decoration: none;
			color: #fff !important;
			font-size: 2.66vw;
			line-height: 1.1;
			text-align: center;
			font-weight:bold;
		}

		/* 色設定 */
		.cff-mail {
			background-color: #EC6A17;
			/* メール：オレンジ */
		}

		.cff-icon img {
			height:16px;
			width:auto;
			margin-bottom:5px;
		}


		/* --- Lightning標準の固定ナビを消す --- */
		.mobile-fixed-nav {
			display: none !important;
		}

		/* --- PCでは表示しない --- */
		@media (min-width: 768px) {
			.custom-fixed-footer {
				display: none;
			}
		}	


	/** プライバシーポリシー	----------------------------- */
		body.privacy-policy .site-body h3 {
			font-size:1.25em;
			font-weight: 800;
			color:#296292;
			margin-bottom: .5em;
			margin-top: 2.5em !important;
		}

		body.privacy-policy .site-body p,
		body.privacy-policy .site-body li {
			font-weight: 400;
		}

		body.privacy-policy .site-body ol {
			margin-top: 0 !important;
			padding-top: 0;
		}

		body.privacy-policy .site-body li {
			font-size: .95rem;
			margin: 0 0 .25em 0;
		}



	/** メインビジュアル	----------------------------- */
	#mainVisual figure {margin:0}
	#mainVisual .vk_outer_container {max-width:1200px!important;width:100%;margin:0;padding:0;}
	@media (max-width: 767px) {
		#mainVisual .wp-block-vk-blocks-grid-column-item {
			padding:0 10px;
		}
	}



/* -------------------------------------------------------------------------
 * 問い合わせフォーム
 * ------------------------------------------------------------------------- */
#contact .vk_outer_container {max-width:800px;}

.wpcf7 { background:#fafafa; border:1px solid #ddd; padding:0px; -moz-border-radius:10px; -khtml-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; margin:0 0 30px 0; }
.wpcf7 fieldset+div {padding-top:30px} 
.wpcf7 p { padding:0 20px 0; margin:0;font-size:.9rem}
.wpcf7 .input p {padding-top:0}
.wpcf7 input, .wpcf7 textarea { border:1px solid #ccc; padding:.75em;font-size:.9rem}
.wpcf7 textarea {height:200px; }
.wpcf7 input.wpcf7-submit {cursor:pointer; color:#fff; width:300px; height:60px; margin:0 auto 20px auto; display:block;-moz-border-radius:5px; -khtml-border-radius:5px; -webkit-border-radius:5px; border-radius:5px;background:#df1414;font-size:.9rem;font-weight: 600}
.wpcf7 input.wpcf7-submit:hover { background:#b50c0c;}
.wpcf7 input.wpcf7-submit:active { box-shadow:none; bottom:-2px; position:relative; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border:1px solid #009de1; }
.wpcf7-captchac { border:1px solid #ccc; }
.wpcf7 .wpcf7-not-valid { background: #ffb6c180; }
.wpcf7 span.wpcf7-not-valid-tip {font-size: 80%;}
.wpcf7 .wpcf7-response-output {margin: 10px 0 0; padding: 8px 35px 8px 14px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);-webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
.wpcf7 .wpcf7-validation-errors {color: #B94A48; background-color: #F2DEDE; border: 1px solid #EED3D7;}
.wpcf7 .wpcf7-mail-sent-ok {color: #3A87AD; background-color: #D9EDF7; border: 1px solid #BCE8F1;}
.wpcf7 .required { color: #f00;}
.wpcf7 .any{ color: #080;}
.wpcf7 .required, .wpcf7 .any {font-size:.8em;margin-left:5px} 
.wpcf7 .privacy {text-align: center;margin:2em auto 1em auto;}
.wpcf7 input[type="file"] {background:#fff;width:100%}
.wpcf7 input[type="file"] p {padding-top:0}
.wpcf7 .file .notice {font-size:.85em;display:block;color:blue;line-height:1.2}
.wpcf7 .privacy p {font-size:.85rem}
.wpcf7 .privacy .checkBox p {display:flex;align-items: center;justify-content: center;padding:0}
.wpcf7 .privacy .notice p {line-height: 1.2;margin-top: 0;padding-top: 5px;font-weight: 400;}
.wpcf7 .wpcf7-list-item {display: flex;align-items: center;justify-content:center;margin:0}
.wpcf7 select, .wpcf7 .wpcf7-list-item-label {font-size:1em;margin-bottom: 5px}
.wpcf7 select, .wpcf7 input[type=checkbox], .wpcf7 input[type=radio] {width:20px;height: 20px}
.wpfc7 .file {text-align:center}
.wpcf7 form.sent .wpcf7-response-output {text-align:center;color:#fff;background:#46b450;}


/* 黄色マーカー（太めの蛍光ペン風） */
.marker_yellow {
    background: linear-gradient(transparent 60%, #ffff66 60%);
    padding-bottom: 2px; /* 少し余白を開ける */
}

#service .serviceItem {box-shadow:0 5px 15px rgba(0, 0, 0, 0.1);border:solid 1px #eee;border-radius:1rem}
#service .textArea {padding:1.5rem;background:#fff}
#service .textArea h3 strong { color:#00639E;font-size:1.35rem;font-weight:900!important}
#service .textArea h4 {font-size:1rem;margin-bottom:.25rem!important}
#service .textArea h4.price {color:#cc0000;font-family:arial;font-size:1.3em;margin-bottom:10px!important;}
#service .textArea p {font-size:.9rem;font-weight:400;line-height:1.65!important;margin-bottom:0}
#service .wp-container-core-columns-is-layout-b499144f {gap:0}
#service a.btn {font-size:.9rem!important;font-weight:500;padding:.5em 0!important;max-width:360px;margin-top:1em;}

.vk_outer-width-full.vk_outer-paddingLR-none>div>.vk_outer_container {padding-left:0;padding-right:0;}

#flow .wp-block-column h2 {font-size:3.25rem;font-family:arial;font-style:italic}
#flow .wp-block-column h3 {font-size:1.15rem;font-weight:600;margin-bottom:10px!important}
#flow .wp-block-column p {font-size:.95rem;font-weight:450}



.site-body-bottom .container {max-width:100%;padding:0;}

.footerContent {background:#2ea7c6 !important;display:flex;justify-content:center;padding:1em 0 .5em 0;font-size:.8rem;color:#fff;font-weight:400;}
.footerContent a {padding:0 1em;color:#fff}


.btnCTA a.btn {padding:10px 2em!important;font-size:1rem!important;}
.btnCTA a.btn .vk_button_link_before{margin-right:5px;}
.btnCTA a.btn .vk_button_link_txt {font-size:.9rem;}
.btnCTA a.btn .vk_button_link_subCaption {background: #ffff;color: #EC6A16;border-radius: .6em;font-size: .65rem !important;line-height: 1;padding: 3px 0;margin-top: 2px;	}	

.page_top_btn {right:0;bottom:15%;}




@media (max-width:767px) {
	.onlySP {
		display:block!important;
	}

	.worry-sub {
		font-size:inherit;
	}

	.worry-header {
		margin-bottom:0;
	}

	.worry-bubble {
		padding:.75em;
		font-size:1rem;

	}

	.worry-grid {
		gap:10px;
		max-width:100%;
	}	

	.worry-item {
		margin-bottom:0;
	}

	.dst-main span {
		font-size:5.33vw;
	}


	.dst-main span {
		display:block;
	}

	.design-section-title::after {
		border-top:25px solid #2b8bbb;
		border-left:130px solid transparent;
		border-right:130px solid transparent;
	}

	.achieve-section {
		padding:0 1.5em;
	}

	.achieve-badge {
		border-radius:1em;
		margin-bottom:10px;
	}

	.achieve-sub-ttl span:first-of-type {
		font-size:1rem;
	}

	.achieve-sub-ttl .onlySP {font-size:inherit}

	.achieve-desc {line-height:1.85}

	.panel-label {line-height:1.4;font-size:3.33vw}

	.panel-item img {height:120px}

	#service .textArea h3 strong {
		font-size:4.88vw;
	}

	.voice-body p {
		font-size:3.66vw;
	}

	#flow .wp-block-column h2 {
		font-size:10.44vw!important;
		margin-bottom:0!important;
	}

	#flow .wp-block-column h3 {
		font-size:4.33vw!important;
		color:#296292;
	}

	.btnCTA .flex {
		display: flex;
		justify-content:center;
		align-items:center;
	}

	.btnCTA a.btn {
		padding:2px 2em!important;
		font-size:.85rem!important;
	}

	.btnCTA a.btn .vk_button_link_before{
		margin-right:5px;
	}

	.btnCTA a.btn .vk_button_link_txt {
		font-size:.9rem;
	}


	.btnCTA a.btn .vk_button_link_subCaption {
			background: #ffff;
			color: #EC6A16;
			border-radius: .6em;
			font-size: .65rem !important;
			line-height: 1;
			padding: 3px 0;
			margin-top: 2px;	
	}	

	.btnCTA .tel a.btn {
		background:none!important;
	}

	.site-header {
		height:auto;
	}

	.flexacjbe {
		justify-content:center;
		padding:0 1em;
	}

	header .logo {
		max-width:90%;
		margin:0 auto;
	}
}


