/*
Theme Name: farrow_partners_2025
Theme URI: https://
Author: design Xanthus
Author URI: https://d-xanthus.com/
Description: This theme is a simple blank site for WordPress developed by design Xanthus.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Requires at least: 5.0
Tested up to: 6.7.1
Requires PHP: 7.4.1
Text Domain: farrow_partners_2025
Tags: one-column, two-columns, right-sidebar, custom-colors, custom-header, custom-menu, custom-logo, editor-style, footer-widgets, sticky-post, theme-options, translation-ready
*/

/** ----------------------------------------------------------
　テキストカラー関連
---------------------------------------------------------- **/

/** ============================================================================
 *  基本レイアウトブロック
============================================================================ **/

/** ----------------------------------------------------------
　基本ブロックエレメント
---------------------------------------------------------- **/

/** ============================================================================
 * 基本・汎用クラス
============================================================================ **/

/** ----------------------------------------------------------
　テキスト関連
---------------------------------------------------------- **/

.wbf-Hind {
	font-family: "Hind", sans-serif;
	font-style: normal;
}


/** ----------------------------------------------------------
　テーブル関連
---------------------------------------------------------- **/


/** ----------------------------------------------------------
 * リスト関連
---------------------------------------------------------- **/


/** ============================================================================
 * オリジナルデザイン 基本設定
============================================================================ **/

/** ----------------------------------------------------------
 ヘッダー&フッター&サイドバー 基本設定
---------------------------------------------------------- **/

/** ----------------------------------------------------------
　ヘッダー設定
---------------------------------------------------------- **/

.header-bg {
	background: url(images/bg_header_fullwave.png) no-repeat center;
	background-size: cover;
}

.head-contents { padding: 16px 0 24px; }

.head-branding .site-title {
	text-align: left;
	height: 48px;
}

.head-branding .site-title img.custom-logo {
	max-height: 100%;
}

@media screen and ( max-width: 640px ) {

	.header-bg { background-position: center -1em; }

	/*最新のsafari用*/
	_::-webkit-full-page-media, _:future, :root .head-branding .site-title img.custom-logo {
		height: 48px;
	}
	/*古いsafari用*/
	@media screen and (-webkit-min-device-pixel-ratio:0) {
		::i-block-chrome, .head-branding .site-title img.custom-logo {
			height: 48px;
		}
	}
}

@media screen and ( min-width: 1144px ) {

	.head-contents { padding: 24px 0 56px; }

	.head-branding .site-title {
		height:	auto;
	}
}

/* ヘッダーウィジェット
----------------------------- */

.header-widget-area {
	margin-top: 2em;
	-ms-flex-pack: center;
	justify-content: center;
}

.head-contact-group { text-align: left; }

@media screen and ( min-width: 641px ) {

	.head-contents.headwidg-on {
		-ms-flex-align: start;
		align-items: flex-start;
	}
}

@media screen and ( min-width: 1144px ) {

	.header-widget-area {
		margin-top: 0;
		gap: 1em;
	}
}

/* ガイドテキスト */
.head-guidetxt.has-background {
	line-height: 1;
	padding: 0.5em;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	position: relative;
}

@media screen and ( min-width: 641px ) {

	.head-guidetxt.has-background {
		padding-right: 0;
	}

	.head-guidetxt.has-background br { display: none; }

	.head-guidetxt::after {
		content: '';
		display: block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 1em;
		border-color: transparent;
		border-left-color:  var(--wp--preset--color--theme-gold);
		position: absolute;
		top: 0;
		left: 100%;
	}
}


/* 電話番号、営業時間 */
.wbf-OS.header-tel {
	color: #172780;
	font-size: 1.75em;
	font-weight: 700;
	line-height: 1;
}

.head-opentime { margin: 0;}

@media screen and ( min-width: 400px ) {

	.wbf-OS.header-tel { font-size: 2.125em; }
}

@media screen and ( min-width: 641px ) {

	.head-opentime { text-align: right; }
}

@media screen and ( min-width: 1144px ) {

	.wbf-OS.header-tel,
	.head-opentime { color: #fff; }
}


/** ----------------------------------------------------------
　ナビゲーション設定
---------------------------------------------------------- **/

/* スマートフォン設定
----------------------------- */


/* タブレット・PC用 カラー設定
----------------------------- */

@media screen and ( min-width: 641px ) {

	.main-nav { border-bottom: 1px solid #ccc; }

	.main-menu li {
		font-weight: 700;
		padding: 0.8em 0;
	}

	.main-menu > li > a {
		line-height: 1;
		padding: 0 0.8em;
	}

	.main-menu > li:not(:first-child) > a { border-left: 1px solid; }

	.main-menu > li.menu-item-has-children { padding-right: 0.3em;}

	.main-menu > li.menu-item-has-children > a::before { bottom: -0.8em; }

	.main-menu > li > .sub-menu {
		top: 100%;
		box-shadow: 1px 1px 2px rgba(0,0,0,0.2);
	}

	.main-menu > li > .sub-menu > li {
		padding-top: 0.8em;
		padding-bottom: 0.8em;
	}

	 /*.main-menu > li > .sub-menu {
	 	top: 100%;
	 	display: -ms-flexbox;
	 	display: flex;
	 	-ms-flex-wrap: wrap;
	 	flex-wrap: wrap;
	 	gap: 1.5em;
	 	background: #fff;
	 	box-shadow: 1px 1px 2px rgba(0,0,0,0.2);
	 }*/
}


/** ----------------------------------------------------------
　フッター設定
---------------------------------------------------------- **/

.foot-container {
	margin-top: 152px;
	position: relative;
}

.foot-container::before {
	content: '';
	display: block;
	height: 152px;
	position: absolute;
	right: 0;
	bottom: 100%;
	left: 0;
	z-index: -1;
	background: url(images/bg_footer_fullwave.png) no-repeat center;
	background-size: cover;
	/*transform: scale(1, -1);*/
}

.foot-contents { padding-top: 0; }

.foot-primary { margin-top: 40px; }

@media screen and ( min-width: 641px ) {

	.foot-contents {
		display: flex;
		flex-wrap: wrap;
		flex-wrap: wrap-reverse;
		gap: 32px;
	}

	.foot-contents > * { width: 100%; }

	.foot-primary { margin-top: 0; }

	.foot-nav {
		margin: 1em 0 0;
	}
}

/* フットウィジェット */

.foot-widg-toparea { padding-bottom: 40px; }

.foot-widg-bottomarea { margin: 1em 0; }


/* フットコラムメニュー */

.foot-widg-bottomarea #nav_menu-2.widget_nav_menu {
	text-align: left;
	width: max-content;
	max-width: 100%;
	margin: 0 auto;
	padding-left: 1em;
}

.foot-widg-bottomarea #nav_menu-2.widget_nav_menu .widget-title {
	padding-bottom: 0.3em;
	margin-bottom: 0.3em;
}

.foot-widg-bottomarea #nav_menu-2.widget_nav_menu li {
	padding-left: 1em;
}

.foot-widg-bottomarea #nav_menu-2.widget_nav_menu li:before {
	content: '-';
	display: inline-block;
	width: 1em;
	margin-left: -1em;
}

.foot-widg-bottomarea #nav_menu-2.widget_nav_menu li:not(:first-child) { margin-top: 1em; }

@media screen and ( min-width: 641px ) {

	.foot-widg-bottomarea #nav_menu-2.widget_nav_menu li:not(:first-child) { margin-top: 0.3em; }
}



/* トップへ戻るボタン
----------------------------- */


/** ============================================================================
 * Wrapper部共通
============================================================================ **/

/** ----------------------------------------------------------
 * primary-wrap
---------------------------------------------------------- **/

/* パンくずリスト dx-パンくず
----------------------------- */


/** ----------------------------------------------------------
 * * contents部分基本
---------------------------------------------------------- **/

.primary-contents { letter-spacing: 1px; }

/*========================================================
　アーカイブ & 固定 ＆ シングル&固定共通（サイズ以外）
========================================================*/

/* farrow ロゴタイトル
-------------------------------*/

.bg-farrow {
	background: url(images/slice-farrow.svg) no-repeat center top;
	padding: 42px 0 0.2em;
	position: relative;
}

.bg-farrow::after {
	content: '';
	display: block;
	width: 108px;
	height: 2px;
	background: var(--key-main-color);
	position: absolute;
	bottom: -2px;
	left: 50%;
	translate: -50% 0;
}

/** ============================================================================
 *  アーカイブページ
============================================================================ **/

.contents > .loop-article:not(:first-of-type) {
	border-top: 1px dotted;
	padding-top: 32px;
}

.contents > .loop-article:not(:first-of-type),
.contents > .wp-block-query .wp-block-post:not(:first-of-type) {
	margin-top: 32px;
}

.contents > .loop-title { margin-top: 0 }


.archive-follow {
	border-top: 1px dotted; #ccc;
	padding-top: 32px;
}


/**
	Page Navi プラグイン設定
-------------------------------*/


/* 解決事例一覧
----------------------------- */

.type-cases .post-meta {
	font-size: 1em;
}

.case-term {
	display: inline-block;
	background: var(--wp--preset--color--theme-l-bluegray);
	padding: 0.2em 0.8em;
}

/** ============================================================================
 * シングルページ 固定ページ
============================================================================ **/


/* シングルページ
----------------------------- */


/**
	インタビュー シングル
----------------------------------------------------- **/

.interview-q { margin-top: 2em; }

.interview-q::before {
	color: var(--wp--preset--color--theme-cyan);
	content: 'ー';
}

.interview-target {
	color: var(--wp--preset--color--theme-navy);
	font-weight: 700;
	font-weight: 1.125em;
	display: inline-block;
	padding-right: 0.5em;
}


/** ----------------------------------------------------------
　各ページ個別
---------------------------------------------------------- **/

/**
	私たちについて
----------------------------------------------------- **/

.about-dl > dt { font-size: 1.125em; }

.about-dl > dd {
	padding: 0 0  0.5em 1em;
	margin: 0 0 0.5em 0;
}

.about-dl > dd:not(:last-child) { border-bottom: 1px dotted; }

@media screen and ( min-width: 641px ) {

	.about-dl > dt {
		width: 4em;
		margin-right: -4em;
		text-align: justify;
		text-justify: inter-ideograph; or text-justify:inter-character;
		text-align-last: justify;
	}

	.about-dl > dd {
		padding: 0.25em 0 0.5em 6em;
		margin: 0 0 0.5em 0;
		/*border-bottom: 1px dotted;*/
	}
}

/**
	相続税申告のご案内
----------------------------------------------------- **/

/* 相続税申告までの期間と流れ
----------------------------- */

.guide-flow-container > .guide-block:not(:first-child) {
	margin-top: calc( 80px + 1em );
	position: relative;
}

.guide-flow-container > .guide-block:not(:first-child)::before,
.guide-flow-container > .guide-block:not(:first-child)::after,
.guide-simulation > h3::before,
.guide-simulation > h3::after {
	content: '';
	display: block;
	position: absolute;
	left: 50%;
	translate: -50% 0;
}

.guide-flow-container > .guide-block:not(:first-child)::before,
.guide-simulation > h3::before {
	width: 4px;
	height: calc( 80px - 0.5em );
	background: var(--wp--preset--color--theme-navy);
	bottom: calc( 100% + 0.5em);

}

.guide-flow-container > .guide-block:not(:first-child)::after,
.guide-simulation > h3::after  {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 1rem 0.6rem;
	border-color: var(--wp--preset--color--theme-navy) transparent transparent;
	bottom: calc( 100% - 1em );
}

.guide-simulation { margin-left: 30% !important; }

.guide-flow-container > .guide-block:not(:first-child).guide-simulation::before {
	height: calc( 80px + 2.5em - 1em );
	bottom: calc( 100% - 2em + 0.5em);
}

.guide-flow-container > .guide-block:not(:first-child).guide-simulation::after { bottom: calc( 100% - 3em ); }

.guide-simulation > p { margin-bottom: 0.5em; }

.guide-simulation > h3 { margin-top: 0; }

.guide-simulation > h3::before,
.guide-simulation > h3::after { left: -2em; }

.guide-simulation > h3::before {
	height: auto;
	top: -80px;
	bottom: -80px;
}

.guide-simulation > h3::after{ bottom: calc( -80px - 2rem ); }

.guide-submit::before,
.guide-submit::after { left: calc( 50% + 15% ) !important; }

@media screen and ( min-width: 641px ) {

	.guide-simulation > h3::before,
	.guide-simulation > h3::after { left: -4em; }
}

/* 各種プラン、料金
----------------------------- */

.price-tb > table tr td:nth-child(2) {
	text-align: left;
	padding-left: 2em;
}

.price-tb > table tr td:nth-child(2) > span {
	display: block;
}

@media screen and ( min-width: 768px ) {

	.price-tb > table tr td:nth-child(2) {
		padding-left: 15%;
	}

	.price-tb > table tr td:nth-child(2) > span {
		display: inline;
	}
}

/* Q & A よくある質問
-------------------------------*/

.QandA-area .QandA-bg + .QandA-bg { margin-top: 32px; }

.QandA dt {
	color: var(--wp--preset--color--theme-cyan);
	display: -ms-flexbox;
	display: flex;
	gap: 0.3em;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
	background: #ccf1ff;
	border-radius: 1.25em;
	padding-right: 0.5em;
}

.QandA dt > mark,
.QandA dd mark:first-child {
	text-align: center;
	border-radius: 50%;
}

.QandA dt > mark {
	line-height: 2.2;
	width: 2.5em;
	height: 2.5em;
	display: block;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
}

.QandA dd {
	margin: 1em 0 0 0;
	padding-left: 2.8em;
	position: relative;
}

.QandA dd mark:first-child {
	font-weight: 700;
	line-height: 2.2;
	border: 2px solid;
	width:2.5em;
	height:2.5em;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

@media screen and ( min-width: 960px ) {

	.QandA-area .QandA-bg {
		width: 80%;
		margin-right: auto !important;
		margin-left: 0 !important;
	}

	.QandA-area .QandA-bg:nth-child(even) {
		margin-right: 0 !important;
		margin-left: auto !important;
	}
}

/**
	お問い合わせページ
----------------------------------------------------- **/

.contect-policy {
	padding: 0 1em;
	margin: 32px 0;
	border: 1px solid #ccc;
	height: 14em;
	overflow: auto;
}

.contect-policy h2 {
	font-size: 1.125em;
	margin: 1em 0 0.3em;
}

/* Confirm Plus Contact Form 7 プラグイン 対策
----------------------------- */

.wpcf7-list-item input[type="radio"],
.wpcf7-list-item input[type="checkbox"] {
	display: inline-block;
	opacity: 0;
	margin-right: -1em;
}

fieldset {
	padding: 0;
	border: none;
}

.entry-contents fieldset > p { margin: 0; }

#wpcf7cpcnf {
	padding: 1em 3%;
	border: 1px solid #ccc;
}

#wpcf7cpcnf > table {
	font-size: 15px;
	font-size: 0.9375rem;
	width: 100%;
	border-top: none;
	margin-bottom: 16px;
	background: none;
}

#wpcf7cpcnf > table th,
#wpcf7cpcnf > table td {
	border: none;
}

#wpcf7cpcnf > table th {
	font-weight: normal;
	text-align: left;
}

.contents #wpcf7cpcnf > table th { background: none; }

#wpcf7cpcnf > table td { padding: 0 0 0.8em 1.5em; }

.entry-contents #wpcf7cpcnf > table td > p { margin: 0; }

.wpcf7cp-btns {
	text-align: center;
	position: relative;
	padding-top: 1em;
	border-top: 1px dotted;
}

button.wpcf7cp-cfm-edit-btn {
	color: #3e3a39;
	font-size: 0.875em;
	border-radius: 4px;
	background: rgb(246,248,249);
	background: linear-gradient(to bottom,  rgba(246,248,249,1) 0%,rgba(215,222,227,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f8f9', endColorstr='#d7dee3',GradientType=0 );
	position: absolute;
	left: 0;
}

@media screen and ( min-width: 641px )  {

	#wpcf7cpcnf > table th,
	#wpcf7cpcnf > table td {
		padding: 1em 0;
		vertical-align: top;
	}

	#wpcf7cpcnf > table th {
		width: 9.5em;
		padding-right: 0.5em;
	}
}

/** ============================================================================
 * ホーム(トップ)ページ
============================================================================ **/

/* Slickボタン類
----------------------------- */

button.slick-arrow,
button.slick-prev:hover,
button.slick-prev:focus,
button.slick-next:hover,
button.slick-next:focus { background: var(--wp--preset--color--theme-cyan); }

button.slick-arrow::after { border-color: #fff; }

button.slick-arrow:hover::after { border-color: var(--wp--preset--color--theme-yellow); }

.slick-dots .slick-active button,
.slick-dots li button:hover { background: var(--wp--preset--color--theme-orange); }

@media screen and ( min-width: 641px ) {

	.slick-dots li button { background: #eee; }

	.slick-dots {
		top: auto;
		bottom: 16px;
	}
}

/* スリックスライダー画像
----------------------------- */

.slide-figure { position: relative; }

.slide-figure::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0,0,0,0.1);
}


/* トップスライド テキスト
----------------------------- */

.slide-txtwrap {
	color: #fff;
	font-weight: 700;
	padding: 0.5em 0;
	background: var(--wp--preset--color--theme-cyan);
}

@media screen and ( min-width: 641px ) {

	.slide-txtwrap {
		font-size: 1.25em;
		padding: 0;
		background: none;
		position: absolute;
		top: 55%;
		right: 0;
		left: 0;
		translate: 0 -50%;
	}

	.slide-txt-left .slide-txtinner,
	.slide-txt-right .slide-txtinner { width: 90%; }

	.slide-txt-left .slide-txtinner {
		text-align: left;
		margin: 0 auto 0 0;
	}

	.slide-txt-right .slide-txtinner {
		text-align: right;
		margin: 0 0 0 auto;
	}

	.slide-txt-left .slide-txtinner,
	.slide-txt-right .slide-txtinner { width: 60%; }

	/* 画像固定 */
	.visual-bgimg { position: relative; }

	.visual-bgimg .slide-wrap {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
	}

	.visual-bgimg .slick-list,
	.visual-bgimg .slick-track {
		height: 100%;
	}
}

@media screen and ( min-width: 960px ) {

	.slide-txtwrap { font-size: 1.75em; }
}

@media screen and ( min-width: 1144px ) {

	.slide-txtwrap { font-size: 2em; }
}

/** ----------------------------------------------------------
 * ホーム共通
---------------------------------------------------------- **/

.grade-left {
	padding-left: 1em;
	position: relative;
}

.grade-left::before {
	content: '';
	display: block;
	width: 0.8rem;
	position: absolute;
	top: 0.2em;
	bottom: 0.2em;
	left: 0;
	background: linear-gradient(to right,  #025089 0%,#00a5e3 100%);
}



/* お知らせ
----------------------------- */

.entry-contents .news-all-list.acf-blockquery { margin: 0; }

.slick-info.news-all-list > li {
	padding: 0;
	border-bottom: none;
}

.slick-info.news-all-list > li::after { content: none; }

.slick-info .cat-links { display: none; }

@media screen and ( min-width: 641px ) {

	.slick-info.news-all-list .title-link {
		display: inline-block;
		margin-left: 1em;
	}
}

/* ご相談はお気軽に
----------------------------- */

.home-phone-btn { padding-bottom: 1rem; }

.home-phone-btn .wp-block-buttons { margin-top: 0; }

.home-phone-btn + .checklist-css > li::before,
.home-phone-btn + .checklist-css > li::after {
	border-color: var(--wp--preset--color--theme-gold);
}

.home-phone-btn + .checklist-css > li::before { border-width: 2px; }

.home-phone-btn + .checklist-css > li:not(:last-child) { margin-bottom: 0.4em; }

@media screen and ( min-width: 960px ) {

	.home-phone-btn {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-pack: center;
		justify-content: center;
		-ms-flex-align: center;
		align-items: center;
		gap: 2rem;
		padding: 0.5em;
	}

	.home-phone-btn > * { margin: 0 0 !important; }

}

/* 選ばれる5つの理由
----------------------------- */

.outline-txt {
	color: transparent;
	font-weight: 700;
	-webkit-text-stroke: 2px var(--wp--preset--color--theme-cyan);
	text-stroke: 2px var(--wp--preset--color--theme-cyan);
	display: inline-block;
	margin-left: 4px;
}

.home-reason-block.has-background.has-white-background-color {
	background: transparent !important;
	padding: 2.5em 8% 1em;
}

.home-reason-block,
.home-reason-block > * { position: relative; }

.home-reason-block > * { z-index: 1; }

.home-reason-block { margin-top: 56px; }

.home-reason-block::before,
.home-reason-block::after {
	content: '';
	display: block;
	position: absolute;
	z-index: 0;
}

.home-reason-block::before {
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #fff;
}

.home-reason-block::after {
	top: 50%;
	right: 0;
	bottom: 0;
	left: 0;
	clip-path: polygon(0 65%, 100% 0, 100% 100%, 0% 100%);
	background: linear-gradient(120deg,  #00a5e3 0%,#025089 100%);
}

.entry-contents .home-reason-block p.grade-left {
	line-height: 1.2;
	padding-left: 0.7em;
	position: absolute;
	bottom: calc( 100% - 1.25em );
	left: -0.6em;
}

.home-reason-block .grade-left::before {
	 transform: skewX(-15deg);
	 top: 0.4em;
	 bottom: 0.8em;
}

.home-reason-block .grade-left .rtex-font-size-3 { font-size: 2.6em; }

.home-reason-block h3 { margin-top: 0; }

.home-reason-figure { margin: 1em 0 0; }

@media screen and ( min-width: 641px ) {

	.home-reason-figure { text-align: center; }
}

@media screen and ( min-width: 1080px ) {

	.home-reason-block.has-background.has-white-background-color { padding: 2.5em 5% 2.4em; }

	.home-reason-block::before { right: 20%; }

	.home-reason-block::after {
		top: 0;
		right: 0;
		left: 60%;
		clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
	}

	.home-reason-flex {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-pack: justify;
		justify-content: space-between;
		gap: 5%;
	}

	.home-reason-block h3 { margin-top: 0.3em; }

	.home-reason-figure {
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
		margin-top: 0;
		margin-right: -7.5% !important;
		margin-bottom: 0!important;
	}

	.home-reason-block:nth-of-type(even)::before {
		right: 0;
		left: 20%;
	}

	.home-reason-block:nth-of-type(even)::after {
		right: 60%;
		left: 0;
	}

	.home-reason-block:nth-of-type(even) .home-reason-flex {
		-ms-flex-direction:  row-reverse;
		flex-direction: row-reverse;
	}

	.home-reason-block:nth-of-type(even) .home-reason-figure {
		margin-right: 0 !important;
		margin-left: -7.5% !important;

	}
}


/* 相続税申告までの期間と流れ
----------------------------- */

.home-flow > .wp-block-column { padding: 0 10%; }

.home-flow-ill {
	height: 180px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	position: relative;
}

.home-flow-ill::before,
.home-flow-ill::after {
	content: '';
	display: block;
	position: absolute;
	left: 50%;
	translate: -50% 0;
}

.home-flow > .wp-block-column:not(:first-child) .home-flow-ill::before {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.8em;
	border-color: var(--wp--preset--color--theme-navy) transparent transparent;
	top: -32px;
}

.home-flow-ill::after {
	width: 180px;
	height: 180px;
	background: #fff;
	border-radius: 50%;
	top: 0;
	z-index: 0;
}

.home-flow-figure.wp-block-image {
	text-align: center;
	width: 100%;
	position: relative;
	z-index: 5;
	margin: 0 !important;
}

.home-flow-figure > img {
	width: auto;
	max-width: 138px;
	max-height: 128px;
}

@media screen and ( min-width: 781px ) {

	.home-flow > .wp-block-column { padding: 0; }

	.home-flow > .wp-block-column:not(:first-child) .home-flow-ill::before {
		border-color:  transparent transparent transparent var(--wp--preset--color--theme-navy);
		top: calc( 100% + 32px );
		left: -8px;
	}
}

/* お客様の声
----------------------------- */

.interview-fukidashi > li:not(:first-child) { margin-top: 32px; }

.interview-fuki-list {
	display: -ms-flexbox;
	display: flex;
	gap: 1em;
}

.interview-fuki-avatar {
	width: 64px;
	height: 64px;
	border: 1px solid var(--wp--preset--color--theme-cyan);;
	border-radius: 50%;
	flex: 0 0 auto;
	position: relative;
	z-index: 5;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.interview-fukidashi > li:nth-child(5n+1) .interview-fuki-avatar {
	background-image: url(images/avatar_01.jpg);
}

.interview-fukidashi > li:nth-child(5n+2) .interview-fuki-avatar {
	background-image: url(images/avatar_02.jpg);
}

.interview-fukidashi > li:nth-child(5n+3) .interview-fuki-avatar {
	background-image: url(images/avatar_03.jpg);
}

.interview-fukidashi > li:nth-child(5n+4) .interview-fuki-avatar {
	background-image: url(images/avatar_04.jpg);
}

.interview-fukidashi > li:nth-child(5n+5) .interview-fuki-avatar {
	background-image: url(images/avatar_05.jpg);
}


.interview-fuki-avatar::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.4em 0.6em;
	border-color:  transparent transparent transparent var(--wp--preset--color--theme-cyan);
	position: absolute;
	top: 50%;
	left: 100%;
	translate: 0 -50%;
}

.interview-fuki {
	padding: 0.5em 3%;
	background: #fff;
	border: 2px solid #999;
	border-radius: 8px;
}

.entry-contents .interview-fuki p { margin-bottom: 0.3em; }

.interview-fukidashi > li .interview-link {
	font-size: 0.875em;
	text-align: right;
}

.interview-fukidashi > li.interview-fuki-list:nth-child(even) {
	-ms-flex-direction:  row-reverse;
	flex-direction: row-reverse;
}

.interview-fukidashi > li.interview-fuki-list:nth-child(even) .interview-fuki-avatar::after {
	border-color:  transparent var(--wp--preset--color--theme-cyan) transparent transparent;
	right: 100%;
	left: auto;
}

/* 相続事例
----------------------------- */

.post-row.home-cases { display: block; }

.home-cases .loop-article { margin: 0 16px 0 16px !important; }

.home-cases button.slick-arrow,
.home-cases button.slick-prev:hover,
.home-cases button.slick-prev:focus,
.home-cases button.slick-next:hover,
.home-cases button.slick-next:focus {
	background: var(--wp--preset--color--theme-l-bluegray);
}

.home-cases button.slick-arrow:not(:hover)::after { border-color: var(--wp--preset--color--theme-cyan); }

.home-cases .slick-prev { left: -8px; }

.home-cases .slick-next { right: -8px; }

@media screen and ( min-width: 641px ) {

	.home-cases .slick-prev { left: -16px; }

	.home-cases .slick-next { right: -16px; }
}

@media screen and ( min-width: 1144px ) {

	.home-cases .slick-prev { left: -24px; }

	.home-cases .slick-next { right: -24px; }
}

/** ============================================================================
 *アニメーション エフェクト
============================================================================ **/

/* ファースト ローダー
----------------------------- */
#loader {
	background: #fff;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 999999;
	transition: all 1s;
}

/* スピナー アニメ */
@keyframes sk-rotate {
	100% {
		transform: rotate(360deg);
		-webkit-transform: rotate(360deg)
	}
}

@keyframes sk-bounce {
	0%, 100% {
		transform: scale(0.0);
		-webkit-transform: scale(0.0);
	} 50% {
		transform: scale(1.0);
		-webkit-transform: scale(1.0);
	}
}

/* スピナー */
.spinner {
	width: 60px;
	height: 60px;
	position: relative;
	margin: 0 auto;
	top: calc( 50% - 30px);
	text-align: center;
	-webkit-animation: sk-rotate 2.0s infinite linear;
	animation: sk-rotate 2.0s infinite linear;
}

.dot1, .dot2 {
	width: 60%;
	height: 60%;
	display: inline-block;
	position: absolute;
	top: 0;
	background-color: var(--wp--preset--color--theme-cyan);
	border-radius: 100%;
	animation: sk-bounce 2.0s infinite ease-in-out;
}

.dot2 {
	top: auto;
	bottom: 0;
	animation-delay: -1.0s;
}



/* フェードアニメ関連
----------------------------- */

.home .primary-wrap,
.fade-group figure { overflow: hidden; }

.fade-out {
	translate: 0 50px;
	transition: 0.8s;
	opacity: 0;
}

.fade-right.fade-out { translate: 50px 0; }

.fade-left.fade-out { translate:  -50px 0; }

.fade-out.scale-fade img  {
	scale: 1.2;
	transition: 1s all;
}

.fade-out.scale-fade .thum-box img {
	translate:-50% 0;
	scale: 1.2;
}

.fade-in {
	translate: 0 0;
	opacity: 1;
}

.fade-right.fade-in,
.fade-left.fade-in {
	translate: 0 0;
}

.fade-in.scale-fade img  {
	scale: 1;
}

.fade-in.scale-fade .thum-box img  {
	translate: -50% 0;
	scale: 1;
}

/* wave アニメーション */

@keyframes FadeUpWave {
	0% {
		translate: 0 2em;
	}

	100% {
		translate: 0 0;
	}
}

.fade-up-wave {  overflow: hidden; }

.fade-up-wave > * {
	translate: 0 2em;
	transition: 0.8s;
}

.fade-up-wave.fade-in > * {
    animation: FadeUpWave 1s forwards;
}

.fade-up-wave.fade-in > *:nth-child(1) { animation-delay: 0s; }
.fade-up-wave.fade-in > *:nth-child(2) { animation-delay: 0.2s; }
.fade-up-wave.fade-in > *:nth-child(3) { animation-delay: 0.4s; }
.fade-up-wave.fade-in > *:nth-child(4) { animation-delay: 0.6s; }
.fade-up-wave.fade-in > *:nth-child(5) { animation-delay: 0.8s; }
.fade-up-wave.fade-in > *:nth-child(6) { animation-delay: 1s; }





