/*
Theme Name: STINGER8 Child
Template: stinger8
Version: 20170614
*/
header h1{
	margin: 0;
}
.rc-grecaptcha-badge, .grecaptcha-badge, .bitnami-corner-image-div, #bitnami-banner{
	display: none!important;
}
p, .yellowbox, .graybox, .redbox, .post ul li, .post ol li {
    font-size: 17px;
    line-height: 30px;
}
.ad .textwidget p{
	margin-bottom: -20px;
}
#header-r {
	float: right;
	margin-top: 10px;
}
#headbox-bg + .google-auto-placed{
	display: none;
}

.wprss-feed-meta{
	display: none;
}
#head-antenna{
	border: 1px solid #000;
	padding: 10px;
	background: #FFF;
}
#head-antenna .wp-rss-template-container{
	max-height: 300px;
	font-size: 0.8em;
	overflow: auto;
	width: 49%;
	display: inline-block;
}
#head-antenna .wp-rss-template-container:first-child{
	border-right: 1px solid #666;
	margin-right: 0.5%;
	padding-right: 0.5%;
}
div.wpra-list-template .wpra-item-list > li.wpra-item{
	list-style: inside;
}
div.wpra-list-template .wpra-item-list > li.wpra-item a:after {
    content: "【NEW】";
    color: #F00;
}
.aside-head{
	background: #feb2b7;
	padding: 5px 10px;
	font-weight: bold;
	margin-bottom: 20px;
}
#side-profile span{
	text-align: center;
	display: block;
}


/*media Queries タブレットサイズ（960px以下）
----------------------------------------------------*/
@media only screen and (max-width: 960px) {
#header-r {
	float: none;
	margin: 10px;
}

/*-- ここまで --*/
}

/*media Queries タブレットサイズ（600px以上）
----------------------------------------------------*/
@media only screen and (min-width: 600px) {


/*-- ここまで --*/
}

/*media Queries スマホサイズ（480px以上）
----------------------------------------------------*/
@media only screen and (max-width: 480px) {
#header-r {
	display: none;
}
	#head-antenna{
		margin: 5px;
	}
	#head-antenna .wp-rss-template-container{
		width: 100%;
		max-height: 160px;
	}
	#head-antenna .wp-rss-template-container:first-child{
		border-right: none;
		border-bottom: 1px solid #666;
	}

/*-- ここまで --*/
}
/*media Queries PCサイズ（960px以上）
----------------------------------------------------*/
@media print, screen and (min-width: 960px) {
	#head-antenna{
		max-width: 1060px;
		margin: 0 auto 10px;
		box-sizing: border-box;
	}

/*-- ここまで --*/
}

#side .kanren .clearfix dd p,#side .kanren .clearfix dd .kanren-t a, header #st-menubox .smanone ul.menu li a,#footer .footerlogo,#footer a{
	color: #FFF;
}
#side-profile{
	background: #FFF;
	margin-bottom: 20px;
}
#side-profile .wp-block-social-links{
	display: table;
	margin: 0 auto;
}
#side .st-aside #side-profile ul li {
	font-size: 20px;
	line-height: 30px;
}
.adbox .acf-ad{
	padding: 0;
}
.acf-ad li{
	list-style: none;
}
p.in-you {
	margin: -20px 0 -10px;
	font-size: 0.9em;
}
.flex-cont{
	display: flex;
}
.flex-cont blockquote{
	max-width: 50%;
	margin: 0 0 0 10px;
}
.flex-cont blockquote p{
	font-size: 0.9em;
	line-height: 1.5em;	
}
@media only screen and (min-width: 481px) {
.flex-cont.intro img{
	max-width: 270px;
}
	.is-fixed #scrollad{
		position: fixed;
		top: 0;
	}
}
@media only screen and (max-width: 480px) {
	.flex-cont{
		flex-direction: column;
	}
	.flex-cont blockquote{
		max-width: inherit;
		margin: 10px 0 0 0;
	}
}

/* =========================================================
 * 風太郎ナビ（LINE公式）: LP + 記事末尾CTA
 * トーン: 深緑 × 金 × 深紅 / アールデコ調
 *   --fnavi-green-deep   : #0f352e (メイン深緑)
 *   --fnavi-green        : #1a4a3f (サブ緑)
 *   --fnavi-green-soft   : #2a5d51 (明るい緑)
 *   --fnavi-gold         : #c9a15e (メイン金)
 *   --fnavi-gold-light   : #e6c88a (光沢金)
 *   --fnavi-red          : #a8303c (深紅アクセント)
 *   --fnavi-cream        : #f4ecd8 (古紙クリーム)
 *   --fnavi-text-light   : #e8e4d5 (緑背景上の文字)
 *   --fnavi-text-dark    : #1f1f1f
 * ========================================================= */

/* ---- 記事末尾CTAブロック ---- */
.fnavi-cta-block{
	margin: 40px 0 30px;
	padding: 26px 24px;
	background: linear-gradient(180deg, #0f352e 0%, #1a4a3f 100%);
	border: 1px solid #c9a15e;
	border-radius: 10px;
	box-shadow: 0 4px 16px rgba(15,53,46,0.25), inset 0 0 0 1px rgba(230,200,138,0.15);
	color: #e8e4d5;
	position: relative;
}
.fnavi-cta-block::before{
	content: "";
	position: absolute;
	top: 8px; left: 8px; right: 8px; bottom: 8px;
	border: 1px solid rgba(201,161,94,0.35);
	border-radius: 6px;
	pointer-events: none;
}
.fnavi-cta-block .fnavi-cta-hook{
	margin: 0 0 12px;
	font-size: 1.2em;
	font-weight: bold;
	color: #e6c88a;
	letter-spacing: 0.02em;
	position: relative;
}
.fnavi-cta-block .fnavi-cta-lead{
	margin: 0 0 14px;
	font-size: 1.05em;
	line-height: 1.7;
	color: #f4ecd8;
	position: relative;
}
.fnavi-cta-block .fnavi-cta-lead strong{
	color: #e6c88a;
}
.fnavi-cta-block p{
	margin: 0 0 10px;
	line-height: 1.7;
	color: #e8e4d5;
	position: relative;
}
.fnavi-cta-block ul.fnavi-cta-points{
	margin: 10px 0 14px;
	padding: 14px 16px;
	background: rgba(0,0,0,0.2);
	border: 1px solid rgba(201,161,94,0.3);
	border-radius: 6px;
	list-style: none;
	position: relative;
}
.fnavi-cta-block ul.fnavi-cta-points li{
	margin: 6px 0;
	padding-left: 0;
	font-size: 0.98em;
	line-height: 1.65;
	list-style: none;
	color: #f4ecd8;
}
.fnavi-cta-block ul.fnavi-cta-points li strong{
	color: #e6c88a;
}
.fnavi-cta-block p.fnavi-cta-buttons{
	margin-top: 20px;
	text-align: center;
}
.fnavi-cta-btn{
	display: inline-block;
	margin: 4px 4px;
	padding: 12px 24px;
	font-size: 1em;
	font-weight: bold;
	text-decoration: none;
	border-radius: 4px;
	letter-spacing: 0.03em;
	transition: transform 0.1s, box-shadow 0.1s;
}
.fnavi-cta-btn:hover{
	transform: translateY(-1px);
	box-shadow: 0 3px 10px rgba(0,0,0,0.3);
	text-decoration: none;
}
.fnavi-cta-btn-primary{
	background: linear-gradient(180deg, #d4af6c 0%, #c9a15e 100%);
	color: #0f352e !important;
	border: 1px solid #e6c88a;
}
.fnavi-cta-btn-line{
	background: #06c755;
	color: #fff !important;
}

/* ---- 1カラム化 ---- */
/* モバイルはSTINGER8デフォルトに任せ、サイドバーだけ隠す */
.fnavi-onecol #side,
.fnavi-onecol .st-aside{
	display: none !important;
}
/* デスクトップ(960px以上)のみメイン幅を拡張 */
@media only screen and (min-width: 960px){
	.fnavi-onecol .st-main{
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		margin: 0 auto !important;
	}
	.fnavi-onecol #contentInner{
		max-width: 1040px;
		margin: 0 auto;
	}
}

/* ---- LP全体共通 ---- */
.fnavi-lp{
	max-width: 920px;
	margin: 0 auto;
	color: #1f1f1f;
	font-family: -apple-system, "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
	line-height: 1.8;
	background: #fffdf8;
}
.fnavi-lp section{
	margin: 56px 0;
	padding: 0 12px;
}
.fnavi-lp .fnavi-h2{
	position: relative;
	margin: 0 0 28px;
	padding: 0 0 18px;
	font-size: 1.7em;
	font-weight: bold;
	text-align: center;
	color: #0f352e;
	border: none;
	background: none;
	letter-spacing: 0.04em;
}
.fnavi-lp .fnavi-h2::before{
	content: "❖";
	display: block;
	margin-bottom: 6px;
	font-size: 0.7em;
	color: #c9a15e;
	font-weight: normal;
}
.fnavi-lp .fnavi-h2::after{
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 80px;
	height: 1px;
	margin-left: -40px;
	background: linear-gradient(90deg, transparent 0%, #c9a15e 20%, #c9a15e 80%, transparent 100%);
}
.fnavi-lp .fnavi-lead{
	text-align: center;
	margin: 0 auto 28px;
	font-size: 1.05em;
	color: #4a4a4a;
}
.fnavi-lp .fnavi-lead strong{
	color: #a8303c;
}
.fnavi-btn{
	display: inline-block;
	padding: 14px 30px;
	margin: 4px;
	font-size: 1.05em;
	font-weight: bold;
	text-decoration: none;
	border-radius: 4px;
	letter-spacing: 0.05em;
	transition: transform 0.15s, box-shadow 0.15s;
}
.fnavi-btn:hover{
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0,0,0,0.25);
	text-decoration: none;
}
.fnavi-btn-line{
	background: #06c755;
	color: #fff !important;
	border: 1px solid #05a746;
}
.fnavi-btn-ghost{
	background: transparent;
	color: #e6c88a !important;
	border: 1px solid #c9a15e;
}
.fnavi-btn-large{
	padding: 18px 48px;
	font-size: 1.15em;
}

/* ---- Hero ---- */
.fnavi-hero{
	padding: 70px 24px 56px !important;
	text-align: center;
	background:
		radial-gradient(ellipse at top, rgba(201,161,94,0.12) 0%, transparent 60%),
		linear-gradient(135deg, #0a2a24 0%, #0f352e 50%, #1a4a3f 100%);
	border-radius: 4px;
	color: #e8e4d5;
	position: relative;
	overflow: hidden;
}
.fnavi-hero::before{
	content: "";
	position: absolute;
	top: 14px; left: 14px; right: 14px; bottom: 14px;
	border: 1px solid rgba(201,161,94,0.4);
	pointer-events: none;
}
.fnavi-hero::after{
	content: "";
	position: absolute;
	top: 20px; left: 20px; right: 20px; bottom: 20px;
	border: 1px solid rgba(201,161,94,0.15);
	pointer-events: none;
}
.fnavi-hero-eyebrow{
	margin: 0 0 16px;
	font-size: 0.9em;
	font-weight: bold;
	color: #e6c88a;
	letter-spacing: 0.25em;
	position: relative;
}
.fnavi-hero-eyebrow::before,
.fnavi-hero-eyebrow::after{
	content: "——";
	margin: 0 12px;
	color: rgba(201,161,94,0.5);
}
.fnavi-hero-title{
	margin: 0 0 22px !important;
	font-size: 2em !important;
	line-height: 1.5 !important;
	color: #fffaed;
	font-weight: bold;
	border: none !important;
	background: none !important;
	padding: 0 !important;
	letter-spacing: 0.03em;
	position: relative;
}
.fnavi-hero-sub{
	margin: 0 0 14px;
	font-size: 1.1em;
	color: #f4ecd8;
	position: relative;
}
.fnavi-hero-sub strong{
	color: #e6c88a;
}
.fnavi-hero-meta{
	margin: 0 0 28px;
	font-size: 0.95em;
	color: rgba(244,236,216,0.7);
	position: relative;
}
.fnavi-hero-cta{
	margin-top: 12px;
	position: relative;
}

/* ---- Strengths ---- */
.fnavi-strengths-grid{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 24px;
}
.fnavi-strength-card{
	position: relative;
	padding: 30px 20px 22px;
	background: #fffdf8;
	border: 1px solid #d9ccac;
	border-top: 3px solid #c9a15e;
	border-radius: 2px;
	box-shadow: 0 2px 10px rgba(15,53,46,0.08);
}
.fnavi-strength-card::before{
	content: "";
	position: absolute;
	top: 6px; left: 6px; right: 6px; bottom: 6px;
	border: 1px solid rgba(201,161,94,0.25);
	pointer-events: none;
}
.fnavi-strength-num{
	position: absolute;
	top: -13px;
	left: 50%;
	transform: translateX(-50%);
	padding: 3px 14px;
	background: #0f352e;
	color: #e6c88a;
	font-size: 0.85em;
	font-weight: bold;
	letter-spacing: 0.15em;
	border: 1px solid #c9a15e;
	border-radius: 2px;
}
.fnavi-strength-icon{
	text-align: center;
	font-size: 2.2em;
	margin: 10px 0 12px;
}
.fnavi-strength-title{
	margin: 0 0 12px;
	font-size: 1.1em;
	text-align: center;
	font-weight: bold;
	color: #0f352e;
	letter-spacing: 0.02em;
}
.fnavi-strength-card p{
	margin: 0;
	font-size: 0.95em;
	line-height: 1.75;
	color: #3a3a3a;
}
.fnavi-strength-card p strong{
	color: #a8303c;
}

/* ---- Aruaru Table ---- */
.fnavi-aruaru-table-wrap{
	overflow-x: auto;
}
.fnavi-aruaru-table{
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: #fffdf8;
	border: 1px solid #c9a15e;
	border-radius: 2px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(15,53,46,0.08);
}
.fnavi-aruaru-table th{
	padding: 14px 12px;
	font-weight: bold;
	background: #0f352e;
	color: #e8e4d5;
	border-bottom: 1px solid #c9a15e;
	text-align: center;
	letter-spacing: 0.05em;
}
.fnavi-aruaru-table th:first-child{
	color: rgba(232,228,213,0.6);
}
.fnavi-aruaru-table th:last-child{
	color: #e6c88a;
}
.fnavi-aruaru-table td{
	padding: 14px 16px;
	border-bottom: 1px solid #ebe0c2;
	line-height: 1.6;
}
.fnavi-aruaru-table tr:last-child td{ border-bottom: none; }
.fnavi-aruaru-table td:first-child{
	color: #888;
	background: #f4ecd8;
	width: 50%;
}
.fnavi-aruaru-table td:last-child{
	font-weight: bold;
	color: #0f352e;
	background: #fffdf8;
	border-left: 2px solid #c9a15e;
}

/* ---- Plan Table ---- */
.fnavi-plan-table-wrap{
	overflow-x: auto;
	margin: 24px 0;
	position: relative;
	-webkit-overflow-scrolling: touch;
}
/* スクロールヒント（モバイル時のみ、スクロール後はフェードアウト） */
.fnavi-plan-scroll-hint{
	display: none;
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 3;
	pointer-events: none;
	transition: opacity 0.4s ease;
}
.fnavi-plan-scroll-hint-inner{
	display: inline-block;
	padding: 6px 12px;
	background: rgba(15,53,46,0.92);
	color: #e6c88a;
	border: 1px solid #c9a15e;
	border-radius: 20px;
	font-size: 0.78em;
	font-weight: bold;
	letter-spacing: 0.04em;
	box-shadow: 0 2px 8px rgba(0,0,0,0.2);
	animation: fnaviScrollHint 1.4s ease-in-out infinite;
}
@keyframes fnaviScrollHint{
	0%, 100% { opacity: 0.55; transform: translateX(0); }
	50%      { opacity: 1;    transform: translateX(-6px); }
}
.fnavi-plan-table-wrap.fnavi-scrolled .fnavi-plan-scroll-hint{
	opacity: 0;
}
/* モバイルでのみ表示 */
@media only screen and (max-width: 768px){
	.fnavi-plan-scroll-hint{ display: block; }
	/* 右端フェード（もっと続くサイン） */
	.fnavi-plan-table-wrap::after{
		content: "";
		position: absolute;
		top: 0; right: 0; bottom: 0;
		width: 24px;
		pointer-events: none;
		background: linear-gradient(90deg, rgba(255,253,248,0) 0%, rgba(15,53,46,0.08) 100%);
		transition: opacity 0.4s ease;
	}
	.fnavi-plan-table-wrap.fnavi-scrolled::after{
		opacity: 0;
	}
}
.fnavi-plan-table{
	width: 100%;
	min-width: 640px;
	border-collapse: collapse;
	background: #fffdf8;
	font-size: 0.95em;
	box-shadow: 0 2px 10px rgba(15,53,46,0.08);
	border: 1px solid #c9a15e;
	border-radius: 2px;
	overflow: hidden;
}
.fnavi-plan-table thead th{
	padding: 14px 8px;
	font-size: 0.95em;
	font-weight: bold;
	text-align: center;
	background: #0f352e;
	border-bottom: 1px solid #c9a15e;
	color: #e8e4d5;
	letter-spacing: 0.04em;
}
.fnavi-plan-table thead th.fnavi-plan-premium{
	color: #e6c88a;
	background: linear-gradient(180deg, #0f352e 0%, #1a4a3f 100%);
}
.fnavi-plan-table th.fnavi-plan-cat{ width: 14%; text-align: left; padding-left: 14px; }
.fnavi-plan-table th.fnavi-plan-feat{ width: 38%; text-align: left; }
.fnavi-plan-table th.fnavi-plan-free,
.fnavi-plan-table th.fnavi-plan-paid,
.fnavi-plan-table th.fnavi-plan-premium{ width: 16%; }
.fnavi-plan-table td{
	padding: 9px 8px;
	border-bottom: 1px solid #ebe0c2;
	font-size: 0.93em;
	line-height: 1.5;
	text-align: center;
	vertical-align: middle;
	color: #3a3a3a;
}
.fnavi-plan-table td.fnavi-plan-cat{
	text-align: left;
	padding-left: 14px;
	font-weight: bold;
	color: #0f352e;
	background: #f4ecd8;
}
.fnavi-plan-table td.fnavi-plan-feat{
	text-align: left;
	color: #1f1f1f;
}
.fnavi-plan-table tr.fnavi-plan-row-head td{
	border-top: 2px solid #c9a15e;
}
.fnavi-plan-table td.fnavi-plan-premium{
	background: rgba(201,161,94,0.08);
	font-weight: bold;
	color: #0f352e;
}

/* ---- Personas ---- */
.fnavi-personas-grid{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.fnavi-persona-card{
	position: relative;
	padding: 20px 18px 18px;
	background: #fffdf8;
	border: 1px solid #d9ccac;
	border-radius: 2px;
	box-shadow: 0 2px 10px rgba(15,53,46,0.08);
}
.fnavi-persona-card::before{
	content: "";
	position: absolute;
	top: 5px; left: 5px; right: 5px; bottom: 5px;
	border: 1px solid rgba(201,161,94,0.2);
	pointer-events: none;
}
.fnavi-persona-free{ border-top: 3px solid #8a8a8a; }
.fnavi-persona-paid{ border-top: 3px solid #c9a15e; }
.fnavi-persona-premium{
	border-top: 3px solid #a8303c;
	background: linear-gradient(180deg, #fff9ea 0%, #fffdf8 60%);
}
.fnavi-persona-badge{
	display: inline-block;
	padding: 3px 10px;
	margin: 0 0 8px;
	font-size: 0.82em;
	font-weight: bold;
	background: #0f352e;
	color: #e6c88a;
	border: 1px solid #c9a15e;
	border-radius: 2px;
	letter-spacing: 0.05em;
}
.fnavi-persona-free .fnavi-persona-badge{
	background: #f0ebdd; color: #6a6a6a; border-color: #bfb7a0;
}
.fnavi-persona-premium .fnavi-persona-badge{
	background: #a8303c; color: #f4ecd8; border-color: #e6c88a;
}
.fnavi-persona-catch{
	margin: 0 0 10px;
	font-size: 1em;
	font-weight: bold;
	color: #0f352e;
	line-height: 1.5;
	letter-spacing: 0.02em;
}
.fnavi-persona-list{
	margin: 0;
	padding: 0;
	list-style: none;
}
.fnavi-persona-list li{
	margin: 3px 0;
	padding-left: 14px;
	position: relative;
	font-size: 0.88em;
	line-height: 1.5;
	color: #3a3a3a;
	list-style: none;
}
.fnavi-persona-list li::before{
	content: "◆";
	position: absolute;
	left: 0;
	color: #c9a15e;
	font-size: 0.65em;
	top: 5px;
}

/* ---- Voices (利用者の声 / 吹き出し) ---- */
.fnavi-voices-list{
	margin: 20px 0 10px;
}
.fnavi-voice-item{
	display: flex;
	gap: 14px;
	margin-bottom: 24px;
	align-items: flex-start;
}
.fnavi-voice-avatar{
	flex-shrink: 0;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: linear-gradient(135deg, #f4ecd8 0%, #e6c88a 100%);
	border: 2px solid #c9a15e;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.6em;
	box-shadow: 0 2px 6px rgba(15,53,46,0.12);
}
.fnavi-voice-body{
	flex: 1;
	min-width: 0;
}
.fnavi-voice-bubble{
	position: relative;
	padding: 14px 18px;
	background: #fffdf8;
	border: 1px solid #d9ccac;
	border-radius: 12px;
	font-size: 0.96em;
	line-height: 1.75;
	color: #2a2a2a;
	box-shadow: 0 2px 10px rgba(15,53,46,0.07);
}
/* 吹き出しの尖り（左側、アバター側に向ける） */
.fnavi-voice-bubble::before{
	content: "";
	position: absolute;
	left: -9px;
	top: 16px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 10px 8px 0;
	border-color: transparent #d9ccac transparent transparent;
}
.fnavi-voice-bubble::after{
	content: "";
	position: absolute;
	left: -7px;
	top: 17px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 9px 7px 0;
	border-color: transparent #fffdf8 transparent transparent;
}
.fnavi-voice-meta{
	margin-top: 8px;
	padding-left: 4px;
	font-size: 0.82em;
	color: #6a6a6a;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
.fnavi-voice-persona{
	color: #4a4a4a;
}
.fnavi-voice-plan{
	display: inline-block;
	padding: 2px 8px;
	font-size: 0.95em;
	font-weight: bold;
	border-radius: 2px;
	letter-spacing: 0.02em;
}
.fnavi-voice-plan-free{
	background: #f0ebdd;
	color: #6a6a6a;
	border: 1px solid #bfb7a0;
}
.fnavi-voice-plan-paid{
	background: #0f352e;
	color: #e6c88a;
	border: 1px solid #c9a15e;
}
.fnavi-voice-plan-premium{
	background: #a8303c;
	color: #f4ecd8;
	border: 1px solid #e6c88a;
}
.fnavi-voices-note{
	margin-top: 14px;
	font-size: 0.82em;
	color: #8a8a8a;
	text-align: center;
}

/* ---- Pricing ---- */
.fnavi-pricing-box{
	padding: 28px 24px;
	background: #f4ecd8;
	border: 1px solid #c9a15e;
	border-radius: 2px;
	position: relative;
}
.fnavi-pricing-box::before{
	content: "";
	position: absolute;
	top: 8px; left: 8px; right: 8px; bottom: 8px;
	border: 1px dashed rgba(201,161,94,0.4);
	pointer-events: none;
}
.fnavi-coming-soon{
	margin: 0 0 14px !important;
	text-align: center;
	font-size: 1.2em;
	color: #0f352e;
	position: relative;
}
.fnavi-coming-soon strong{
	color: #a8303c;
}
.fnavi-price-list{
	margin: 14px 0;
	padding: 0;
	list-style: none;
	position: relative;
}
.fnavi-price-list li{
	padding: 10px 16px;
	margin: 6px 0;
	background: #fffdf8;
	border-left: 3px solid #c9a15e;
	list-style: none;
	color: #1f1f1f;
}
.fnavi-price-note{
	margin: 12px 0 0 !important;
	font-size: 0.85em;
	color: #6a6a6a;
	text-align: center;
	position: relative;
}

/* ---- FAQ ---- */
.fnavi-faq-list{
	margin: 0;
	padding: 0;
}
.fnavi-faq-list dt{
	margin: 20px 0 8px;
	padding: 12px 16px;
	font-weight: bold;
	color: #e6c88a;
	background: #0f352e;
	border-left: 3px solid #c9a15e;
	border-radius: 2px;
	letter-spacing: 0.02em;
}
.fnavi-faq-list dd{
	margin: 0 0 8px 0;
	padding: 10px 16px;
	font-size: 0.95em;
	line-height: 1.8;
	color: #2a2a2a;
	background: #fffdf8;
	border: 1px solid #ebe0c2;
	border-left: 3px solid transparent;
	border-radius: 2px;
}
.fnavi-faq-list dd strong{
	color: #a8303c;
}

/* ---- Final CTA ---- */
.fnavi-cta-final{
	padding: 56px 24px !important;
	text-align: center;
	background:
		radial-gradient(ellipse at top, rgba(201,161,94,0.15) 0%, transparent 60%),
		linear-gradient(135deg, #0a2a24 0%, #0f352e 50%, #1a4a3f 100%);
	border-radius: 4px;
	color: #e8e4d5;
	position: relative;
	overflow: hidden;
}
.fnavi-cta-final::before{
	content: "";
	position: absolute;
	top: 14px; left: 14px; right: 14px; bottom: 14px;
	border: 1px solid rgba(201,161,94,0.4);
	pointer-events: none;
}
.fnavi-cta-final::after{
	content: "";
	position: absolute;
	top: 20px; left: 20px; right: 20px; bottom: 20px;
	border: 1px solid rgba(201,161,94,0.15);
	pointer-events: none;
}
.fnavi-cta-final .fnavi-h2{
	color: #fffaed !important;
	position: relative;
}
.fnavi-cta-final .fnavi-h2::before{
	color: #e6c88a !important;
}
.fnavi-cta-final .fnavi-h2::after{
	background: linear-gradient(90deg, transparent 0%, #e6c88a 20%, #e6c88a 80%, transparent 100%);
}
.fnavi-cta-final p{
	color: #f4ecd8;
	margin: 0 0 20px;
	position: relative;
}
.fnavi-cta-final .fnavi-btn-line{
	background: #06c755;
	color: #fff !important;
	position: relative;
}
.fnavi-cta-note{
	margin-top: 14px !important;
	font-size: 0.85em;
	opacity: 0.7;
}

/* ---- Responsive ---- */
@media only screen and (max-width: 768px){
	.fnavi-strengths-grid,
	.fnavi-personas-grid{
		grid-template-columns: 1fr;
	}
	.fnavi-hero-title{
		font-size: 1.5em !important;
	}
	.fnavi-lp .fnavi-h2{
		font-size: 1.4em;
	}
	.fnavi-btn{
		display: block;
		margin: 8px 0;
	}
}
@media only screen and (max-width: 480px){
	.fnavi-hero{
		padding: 48px 18px 40px !important;
	}
	.fnavi-hero-title{
		font-size: 1.3em !important;
	}
	.fnavi-hero-eyebrow::before,
	.fnavi-hero-eyebrow::after{
		content: "";
		margin: 0;
	}
	.fnavi-cta-block{
		padding: 20px 18px;
	}
	.fnavi-cta-block ul.fnavi-cta-points{
		padding: 12px 14px;
	}
	.fnavi-voice-item{
		gap: 10px;
		margin-bottom: 20px;
	}
	.fnavi-voice-avatar{
		width: 42px;
		height: 42px;
		font-size: 1.3em;
	}
	.fnavi-voice-bubble{
		padding: 12px 14px;
		font-size: 0.92em;
	}
}

/* ---- Prelaunch Campaign（先行ローンチ特典） ---- */
.fnavi-prelaunch{
	padding: 50px 24px !important;
	background:
		radial-gradient(ellipse at top, rgba(201,161,94,0.18) 0%, transparent 60%),
		linear-gradient(135deg, #0a2a24 0%, #0f352e 50%, #1a4a3f 100%);
	border-radius: 4px;
	color: #e8e4d5;
	position: relative;
	overflow: hidden;
}
.fnavi-prelaunch::before{
	content: "";
	position: absolute;
	top: 14px; left: 14px; right: 14px; bottom: 14px;
	border: 1px solid rgba(201,161,94,0.4);
	pointer-events: none;
}
.fnavi-prelaunch::after{
	content: "";
	position: absolute;
	top: 20px; left: 20px; right: 20px; bottom: 20px;
	border: 1px solid rgba(201,161,94,0.15);
	pointer-events: none;
}
.fnavi-prelaunch-eyebrow{
	text-align: center;
	margin: 0 0 14px;
	font-size: 0.95em;
	font-weight: bold;
	color: #e6c88a;
	letter-spacing: 0.15em;
	position: relative;
}
.fnavi-prelaunch-h2{
	color: #fffaed !important;
	margin-bottom: 18px !important;
	position: relative;
}
.fnavi-prelaunch-h2::before{
	color: #e6c88a !important;
}
.fnavi-prelaunch-h2::after{
	background: linear-gradient(90deg, transparent 0%, #e6c88a 20%, #e6c88a 80%, transparent 100%) !important;
}
.fnavi-prelaunch-lead{
	text-align: center;
	color: #f4ecd8 !important;
	margin: 0 auto 32px !important;
	max-width: 600px;
	line-height: 1.85;
	position: relative;
}
.fnavi-prelaunch-lead strong{
	color: #e6c88a;
}
.fnavi-prelaunch-perks{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-bottom: 32px;
	position: relative;
}
.fnavi-prelaunch-perk{
	position: relative;
	padding: 30px 18px 22px;
	background: #fffdf8;
	border: 1px solid #d9ccac;
	border-top: 3px solid #c9a15e;
	border-radius: 2px;
	box-shadow: 0 4px 14px rgba(0,0,0,0.18);
	display: flex;
	flex-direction: column;
	align-items: center;
}
.fnavi-prelaunch-perk::before{
	content: "";
	position: absolute;
	top: 6px; left: 6px; right: 6px; bottom: 6px;
	border: 1px solid rgba(201,161,94,0.25);
	pointer-events: none;
}
.fnavi-prelaunch-perk-num{
	position: absolute;
	top: -13px;
	left: 50%;
	transform: translateX(-50%);
	padding: 3px 14px;
	background: #a8303c;
	color: #f4ecd8;
	font-size: 0.82em;
	font-weight: bold;
	letter-spacing: 0.12em;
	border: 1px solid #e6c88a;
	border-radius: 2px;
	z-index: 1;
	white-space: nowrap;
}
.fnavi-prelaunch-perk-icon{
	text-align: center;
	font-size: 2.2em;
	margin: 8px 0 8px;
}
.fnavi-prelaunch-perk-title{
	margin: 0 0 12px;
	font-size: 1.1em;
	font-weight: bold;
	color: #0f352e;
	letter-spacing: 0.02em;
	text-align: center;
}
.fnavi-prelaunch-perk-desc{
	margin: 0 0 14px;
	font-size: 0.92em;
	line-height: 1.7;
	color: #3a3a3a;
	text-align: center;
	flex-grow: 1;
}
.fnavi-prelaunch-perk-desc strong{
	color: #a8303c;
	font-size: 1.08em;
}
.fnavi-prelaunch-perk-tag{
	display: inline-block;
	margin: 0 auto;
	padding: 4px 12px;
	background: #f4ecd8;
	color: #a17c2e;
	font-size: 0.78em;
	font-weight: bold;
	border: 1px solid #c9a15e;
	border-radius: 2px;
	text-align: center;
}
.fnavi-prelaunch-cta{
	text-align: center;
	position: relative;
}
.fnavi-prelaunch-cta .fnavi-btn-line{
	background: #06c755;
	color: #fff !important;
	border: 1px solid #05a746;
	box-shadow: 0 4px 14px rgba(6,199,85,0.4);
}
.fnavi-prelaunch-cta .fnavi-btn-line:hover{
	box-shadow: 0 6px 20px rgba(6,199,85,0.5);
}
.fnavi-prelaunch-note{
	margin-top: 16px;
	font-size: 0.85em;
	color: rgba(244,236,216,0.75);
}

@media only screen and (max-width: 768px){
	.fnavi-prelaunch-perks{
		grid-template-columns: 1fr;
		gap: 26px;
	}
	.fnavi-prelaunch{
		padding: 42px 20px !important;
	}
}
@media only screen and (max-width: 480px){
	.fnavi-prelaunch{
		padding: 36px 16px !important;
	}
	.fnavi-prelaunch-perk{
		padding: 26px 16px 20px;
	}
}
/* =========================================================
 * Phase 1: 記事上部CTA + Sticky bottom banner (2026-05-11)
 * ========================================================= */

/* ----- 記事上部CTA (横長バナー) ----- */
.fnavi-top-banner {
    display: block;
    margin: 18px 0 28px;
    line-height: 0;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    transition: transform .15s ease, box-shadow .15s ease;
}
.fnavi-top-banner:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}
.fnavi-top-banner img {
    width: 100%;
    height: auto;
    display: block;
    max-width: 600px;
    margin: 0 auto;
}
img.fnavi-top-banner-sp { display: none; }
@media (max-width: 600px) {
    img.fnavi-top-banner-pc { display: none; }
    img.fnavi-top-banner-sp { display: block; max-width: 100%; }
    .fnavi-top-banner { margin: 12px 0 18px; }
}

/* ----- Sticky bottom banner (専用1行) ----- */
.fnavi-sticky {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9998;
    display: none;
    background: linear-gradient(180deg, #1f3a2c 0%, #14271d 100%);
    border-top: 2px solid #d4a857;
    box-shadow: 0 -4px 16px rgba(0,0,0,0.25);
    color: #fff;
    font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
    padding: 0;
    box-sizing: border-box;
    width: 100%;
}
.fnavi-sticky.is-shown {
    display: flex;
    align-items: stretch;
    animation: fnavi-slide-up .35s ease-out;
}
@keyframes fnavi-slide-up {
    from { transform: translateY(100%); opacity: .6; }
    to   { transform: translateY(0); opacity: 1; }
}
.fnavi-sticky-body {
    flex: 1;
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #fff;
    padding: 9px 8px 9px 10px;
    min-height: 56px;
    min-width: 0;
}
.fnavi-sticky-body:hover,
.fnavi-sticky-body:focus {
    color: #fff;
    text-decoration: none;
}
.fnavi-sticky-icon {
    font-size: 22px;
    margin-right: 10px;
    flex-shrink: 0;
}
.fnavi-sticky-text {
    flex: 1;
    line-height: 1.25;
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.fnavi-sticky-text strong {
    color: #d4a857;
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: 0.02em;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.fnavi-sticky-sub {
    font-size: 11px;
    color: #cfc28a;
    margin-top: 2px;
    opacity: 0.9;
}
.fnavi-sticky-cta {
    background: #d4a857;
    color: #14271d;
    font-weight: 700;
    padding: 8px 14px;
    border-radius: 4px;
    font-size: 13px;
    align-self: center;
    margin: 0 6px 0 8px;
    white-space: nowrap;
    box-shadow: 0 1px 0 rgba(0,0,0,0.15);
}
.fnavi-sticky-close {
    background: transparent;
    border: none;
    color: rgba(255,255,255,0.55);
    font-size: 22px;
    width: 36px;
    line-height: 1;
    cursor: pointer;
    align-self: stretch;
    padding: 0;
    transition: color .15s;
}
.fnavi-sticky-close:hover,
.fnavi-sticky-close:focus {
    color: #fff;
    outline: none;
}

/* 本体スクロール末尾が sticky に隠れないよう余白 */
body.has-fnavi-sticky {
    padding-bottom: 64px;
}

/* PC 拡張: 右下コーナーの小型固定に変更 */
@media (min-width: 768px) {
    .fnavi-sticky {
        left: auto !important;
        right: 20px !important;
        bottom: 20px !important;
        width: 380px !important;
        max-width: calc(100vw - 40px);
        border-top: 0 !important;
        border: 1.5px solid #d4a857;
        border-radius: 8px;
        box-shadow: 0 6px 24px rgba(0,0,0,0.35);
        overflow: hidden;
    }
    .fnavi-sticky.is-shown {
        animation: fnavi-slide-up-corner .4s cubic-bezier(0.16, 1, 0.3, 1);
    }
    @keyframes fnavi-slide-up-corner {
        from { transform: translateY(120%); opacity: 0; }
        to   { transform: translateY(0); opacity: 1; }
    }
    .fnavi-sticky-body { padding: 11px 12px; }
    .fnavi-sticky-text strong { font-size: 14.5px; }
    .fnavi-sticky-sub { font-size: 12px; }
    .fnavi-sticky-cta { padding: 9px 18px; font-size: 13.5px; }
    .fnavi-sticky-close { font-size: 20px; width: 32px; }
    body.has-fnavi-sticky {
        padding-bottom: 0;  /* 右下コーナーなので本体余白不要 */
    }
}

/* sticky 表示中は #page-top をバナーの上に逃がす (PC/SP 両方) */
body.has-fnavi-sticky #page-top {
    bottom: 100px !important;   /* SP: フルワイドバナー (~80px) の上 */
}
@media (min-width: 768px) {
    body.has-fnavi-sticky #page-top {
        bottom: 130px !important;  /* PC: 右下コーナーバナー (~80-100px) + 余裕 */
    }
}

/* =========================================================
 * Phase 2-1: モバイル+共通 UX 改善 (2026-05-11)
 *   - B. 見出し h2/h3/h4 をブランドカラーで刷新 (PC+SP共通)
 *   - A. テーブル横スクロール (SP)
 *   - C. 段落間スペース緩和 (PC+SP)
 *   - F. タップターゲット拡大 (SP)
 * ブランドカラー: 深紅 #5d1923 / バーガンディ #8b1538 / 金 #d4a857
 * ========================================================= */

/* ----- B. 見出しデザイン刷新 (PC+SP共通、案X:控えめ品格) ----- */
.entry-content h2:not([class*="fnavi-"]),
.post h2:not([class*="fnavi-"]) {
    background: #fff !important;
    color: #5d1923 !important;
    font-size: 1.2em;
    font-weight: 700;
    line-height: 1.5;
    padding: 10px 16px 10px 20px !important;
    margin: 2em 0 1.2em !important;
    border-left: 5px solid #d4a857 !important;
    border-bottom: 2px solid #5d1923 !important;
    border-top: none !important;
    border-right: none !important;
    border-radius: 0 !important;
    box-shadow: none;
}
.entry-content h2:first-child:not([class*="fnavi-"]) {
    margin-top: 0.4em !important;
}
.entry-content h3:not([class*="fnavi-"]),
.post h3:not([class*="fnavi-"]) {
    color: #5d1923 !important;
    font-size: 1.1em;
    font-weight: 700;
    line-height: 1.5;
    padding: 6px 0 6px 14px !important;
    margin: 1.7em 0 1em !important;
    border-left: 3px solid #d4a857 !important;
    border-bottom: 1px dotted #c8b89a !important;
    background: transparent !important;
    border-top: none !important;
    border-right: none !important;
}
.entry-content h4:not([class*="fnavi-"]),
.post h4:not([class*="fnavi-"]) {
    color: #5d1923 !important;
    font-size: 1.03em;
    font-weight: 700;
    line-height: 1.5;
    padding: 4px 0 4px 12px !important;
    margin: 1.4em 0 0.8em !important;
    border-left: 2px solid #d4a857 !important;
    background: transparent !important;
    border-bottom: none !important;
    border-top: none !important;
}

/* ----- C. 段落間スペース緩和 (PC+SP) ----- */
.entry-content p {
    margin-bottom: 1.4em;
}

/* ----- A. テーブル横スクロール (SP) ----- */
@media (max-width: 600px) {
    .entry-content table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        max-width: 100%;
    }
    .entry-content table thead,
    .entry-content table tbody {
        display: table;
        width: max-content;
        min-width: 100%;
    }

    /* ----- F. タップターゲット拡大 (SP) ----- */
    .entry-content a:not(.fnavi-top-banner):not(.fnavi-cta-btn):not(.fnavi-sticky-body) {
        padding: 2px 0;
    }
    .entry-content ul li,
    .entry-content ol li {
        line-height: 1.85;
        margin-bottom: 0.4em;
    }

    /* スマホでの見出しサイズ微調整 (デフォルトより少し小さく) */
    .entry-content h2 {
        font-size: 1.12em !important;
        padding: 9px 12px 9px 16px !important;
    }
    .entry-content h3 {
        font-size: 1.04em !important;
        padding: 5px 0 5px 12px !important;
    }
}


/* =========================================================
 * Phase 2-2: 離脱時 LINE誘導モーダル (2026-05-11)
 * ========================================================= */
.fnavi-exit-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
}
.fnavi-exit-modal.is-open {
    display: flex;
    animation: fnavi-fadein .22s ease-out;
}
@keyframes fnavi-fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
.fnavi-exit-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.7);
    backdrop-filter: blur(2px);
}
.fnavi-exit-content {
    position: relative;
    background: #fff;
    width: 100%;
    max-width: 440px;
    padding: 36px 24px 24px;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.4);
    text-align: center;
    box-sizing: border-box;
    animation: fnavi-popup .3s cubic-bezier(.2,.9,.4,1.2);
}
@keyframes fnavi-popup {
    from { transform: scale(0.85) translateY(20px); opacity: 0; }
    to   { transform: scale(1) translateY(0); opacity: 1; }
}
.fnavi-exit-close {
    position: absolute;
    top: 8px;
    right: 8px;
    background: transparent;
    border: none;
    width: 36px;
    height: 36px;
    font-size: 26px;
    line-height: 1;
    color: #888;
    cursor: pointer;
    border-radius: 50%;
    transition: background .15s, color .15s;
}
.fnavi-exit-close:hover {
    background: #eee;
    color: #333;
}
.fnavi-exit-eyebrow {
    display: inline-block;
    background: #fff5e0;
    color: #b8862e;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 999px;
    margin: 0 0 14px;
    letter-spacing: 0.04em;
}
.fnavi-exit-title {
    color: #5d1923;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.45;
    margin: 0 0 18px;
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
}
.fnavi-exit-benefits {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
    text-align: left;
}
.fnavi-exit-benefits li {
    font-size: 14px;
    color: #333;
    padding: 6px 0;
    line-height: 1.5;
}
.fnavi-exit-benefits li span {
    color: #d4a857;
    font-weight: 700;
    margin-right: 8px;
}
.fnavi-exit-benefits li strong {
    color: #5d1923;
}
.fnavi-exit-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    padding: 12px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    margin-bottom: 10px;
    box-sizing: border-box;
    transition: transform .15s, box-shadow .15s;
}
.fnavi-exit-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.fnavi-exit-btn-line {
    background: #06c755;
    color: #fff;
    font-size: 16px;
}
.fnavi-exit-btn-line small {
    font-size: 11px;
    font-weight: 400;
    opacity: 0.9;
    margin-top: 2px;
}
.fnavi-exit-btn-lp {
    background: #fff;
    color: #5d1923;
    border: 2px solid #d4a857;
    font-size: 14px;
    padding: 10px;
}
.fnavi-exit-note {
    font-size: 11px;
    color: #888;
    margin: 8px 0 0;
}
body.fnavi-no-scroll {
    overflow: hidden;
}
@media (max-width: 480px) {
    .fnavi-exit-content {
        padding: 30px 18px 18px;
    }
    .fnavi-exit-title {
        font-size: 17px;
    }
}

/* =========================================================
 * Phase 3: 店舗/エリアアーカイブ タイル + カード (2026-05-11)
 * ========================================================= */

/* ----- 最新4件タイル (2x2) ----- */
.fnavi-tile-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin: 16px 0 30px;
}
.fnavi-tile {
    display: block;
    text-decoration: none !important;
    color: inherit;
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
    transition: transform .15s ease, box-shadow .15s ease;
}
.fnavi-tile:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.14);
}
.fnavi-tile-thumb {
    aspect-ratio: 4/5;
    overflow: hidden;
    background: #f5f5f5;
}
.fnavi-tile-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center 10%;
    display: block;
    max-width: none !important;
}
.fnavi-tile-body {
    padding: 8px 10px 10px;
}
.fnavi-tile-title {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4 !important;
    color: #333;
    margin: 0 0 4px !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fnavi-tile-date {
    font-size: 11px;
    color: #888;
    margin: 0 !important;
    line-height: 1.3 !important;
}
@media (min-width: 600px) {
    .fnavi-tile-grid { gap: 16px; }
    .fnavi-tile-title { font-size: 14.5px; }
    .fnavi-tile-date { font-size: 12px; }
}

/* ----- 大画像カード (記事一覧) ----- */
.fnavi-card-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin: 18px 0 24px;
}
.fnavi-card {
    display: block;
    text-decoration: none !important;
    color: inherit;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 5px rgba(0,0,0,0.08);
    transition: transform .15s ease, box-shadow .15s ease;
}
.fnavi-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(0,0,0,0.14);
}
.fnavi-card-thumb {
    aspect-ratio: 3/2;
    overflow: hidden;
    background: #f5f5f5;
}
.fnavi-card-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center 10%;
    display: block;
    max-width: none !important;
}
.fnavi-card-body {
    padding: 14px 16px 18px;
}
.fnavi-card-title {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.45 !important;
    color: #5d1923;
    margin: 0 0 6px !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fnavi-card-date {
    font-size: 12px;
    color: #888;
    margin: 0 0 8px !important;
    line-height: 1.3 !important;
}
.fnavi-card-excerpt {
    font-size: 13px;
    line-height: 1.65;
    color: #555;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
@media (min-width: 768px) {
    .fnavi-card-title { font-size: 19px; }
    .fnavi-card-excerpt { font-size: 14px; -webkit-line-clamp: 3; }
    .fnavi-card-body { padding: 18px 22px 22px; }
}

/* ----- エリアアーカイブ用コンテンツ ----- */
.fnavi-area-intro {
    background: linear-gradient(135deg, #fff 0%, #faf5e8 100%);
    border-left: 4px solid #d4a857;
    padding: 16px 20px;
    border-radius: 0 6px 6px 0;
    margin: 12px 0 24px;
    font-size: 14px;
    line-height: 1.75;
    color: #333;
}
.fnavi-area-meta {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin: 0 0 18px;
    padding: 12px 16px;
    background: #f8f5ee;
    border-radius: 6px;
    font-size: 13px;
    color: #555;
}
.fnavi-area-meta strong {
    color: #5d1923;
    font-size: 16px;
    margin-right: 4px;
}
.fnavi-area-section-title {
    color: #5d1923 !important;
    font-size: 1.1em !important;
    font-weight: 700;
    margin: 1.8em 0 0.8em !important;
    padding: 8px 0 8px 14px !important;
    border-left: 4px solid #d4a857 !important;
    border-bottom: 1px solid #e6d8b8 !important;
    background: transparent !important;
}


/* =========================================================
 * B3+B2: TL;DR + FAQ スタイル (2026-05-15)
 * ========================================================= */

/* ----- TL;DR ボックス ----- */
.fnavi-tldr {
    background: linear-gradient(135deg, #fff 0%, #faf5e8 100%);
    border: 2px solid #d4a857;
    border-radius: 10px;
    padding: 18px 20px 16px;
    margin: 20px 0 28px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.fnavi-tldr-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    border-bottom: 1px solid #e6d8b8;
    padding-bottom: 10px;
    margin-bottom: 12px;
}
.fnavi-tldr-label {
    font-size: 13px;
    font-weight: 700;
    color: #b8862e;
    letter-spacing: 0.04em;
}
.fnavi-tldr-grand {
    line-height: 1;
}
.fnavi-tldr-rating {
    font-size: 32px;
    font-weight: 700;
    color: #5d1923;
    letter-spacing: -0.02em;
}
.fnavi-tldr-out {
    font-size: 14px;
    color: #888;
    margin-left: 4px;
}
.fnavi-tldr-spec {
    font-size: 13px !important;
    color: #555;
    margin: 0 0 10px !important;
    line-height: 1.5 !important;
    font-family: -apple-system, BlinkMacSystemFont, sans-serif;
}
.fnavi-tldr-scores {
    width: 100%;
    border-collapse: collapse;
    margin: 8px 0 12px !important;
    font-size: 14px;
}
.fnavi-tldr-scores th,
.fnavi-tldr-scores td {
    padding: 6px 8px;
    border: none;
    background: transparent;
}
.fnavi-tldr-scores th {
    text-align: left;
    width: 40%;
    color: #5d1923;
    font-weight: 700;
    font-size: 13px;
}
.fnavi-tldr-scores td {
    color: #333;
    font-weight: 500;
}
.fnavi-tldr-scores td > span {
    color: #888;
    font-size: 15px;
    margin-left: 6px;
}
.fnavi-stars {
    color: #d4a857;
    letter-spacing: 1px;
    font-size: 14px;
}
.fnavi-tldr-bullets {
    list-style: none;
    padding: 0 !important;
    margin: 0 !important;
}
.fnavi-tldr-bullets li {
    font-size: 13px;
    color: #333;
    padding: 4px 0 4px 22px;
    position: relative;
    line-height: 1.6;
}
.fnavi-tldr-bullets li::before {
    content: "✓";
    color: #d4a857;
    font-weight: 700;
    position: absolute;
    left: 4px;
    top: 4px;
}
.fnavi-tldr-bullets li strong {
    color: #5d1923;
}
@media (max-width: 600px) {
    .fnavi-tldr {
        padding: 14px 14px 12px;
        margin: 14px 0 22px;
    }
    .fnavi-tldr-rating { font-size: 28px; }
    .fnavi-tldr-scores th { font-size: 12px; }
    .fnavi-tldr-bullets li { font-size: 12.5px; }
}

/* ----- FAQ セクション ----- */
.fnavi-faq {
    background: #fff;
    border: 1px solid #e6d8b8;
    border-radius: 8px;
    padding: 18px 20px;
    margin: 28px 0;
}
.fnavi-faq-title {
    color: #5d1923 !important;
    font-size: 1.15em !important;
    font-weight: 700 !important;
    margin: 0 0 14px !important;
    padding: 0 0 8px 0 !important;
    border: none !important;
    border-bottom: 2px solid #d4a857 !important;
    background: transparent !important;
}
.fnavi-faq-item {
    border-bottom: 1px solid #f0e9d5;
    padding: 0;
    margin: 0;
}
.fnavi-faq-item:last-child {
    border-bottom: none;
}
.fnavi-faq-q {
    cursor: pointer;
    padding: 12px 8px 12px 28px;
    position: relative;
    font-weight: 700;
    color: #333;
    font-size: 14.5px;
    line-height: 1.5;
    list-style: none;
}
.fnavi-faq-q::-webkit-details-marker {
    display: none;
}
.fnavi-faq-q::before {
    content: "Q.";
    color: #d4a857;
    font-weight: 700;
    position: absolute;
    left: 8px;
    top: 12px;
}
.fnavi-faq-q::after {
    content: "+";
    position: absolute;
    right: 12px;
    top: 10px;
    font-size: 20px;
    color: #888;
    transition: transform .15s;
}
.fnavi-faq-item[open] .fnavi-faq-q::after {
    content: "−";
    color: #5d1923;
}
.fnavi-faq-a {
    padding: 0 12px 14px 28px;
    color: #555;
    font-size: 13.5px;
    line-height: 1.75;
    position: relative;
}
.fnavi-faq-a::before {
    content: "A.";
    color: #5d1923;
    font-weight: 700;
    position: absolute;
    left: 8px;
    top: 0;
}
@media (max-width: 600px) {
    .fnavi-faq { padding: 14px 14px; margin: 22px 0; }
    .fnavi-faq-q { font-size: 13.5px; }
    .fnavi-faq-a { font-size: 12.5px; }
}

/* B6: 内部リンク (自動挿入) スタイル */
.fnavi-auto-link {
    color: #5d1923;
    text-decoration: none;
    border-bottom: 1px dotted #d4a857;
    transition: color .15s, border-color .15s;
}
.fnavi-auto-link:hover {
    color: #8b1538;
    border-bottom-color: #5d1923;
    text-decoration: none;
}

/* B7-prep: スペック表 (futaro-write のプロフィール用) */
.fnavi-spec-table {
    width: 100%;
    max-width: 480px;
    border-collapse: collapse;
    margin: 14px 0 20px !important;
    font-size: 14px;
    background: #fff;
    border: 1px solid #e6d8b8;
    border-radius: 6px;
    overflow: hidden;
}
.fnavi-spec-table tr {
    border-bottom: 1px solid #f0e9d5;
}
.fnavi-spec-table tr:last-child {
    border-bottom: none;
}
.fnavi-spec-table th {
    background: #faf5e8;
    color: #5d1923;
    font-weight: 700;
    text-align: left;
    padding: 8px 12px;
    width: 38%;
    font-size: 13px;
}
.fnavi-spec-table td {
    padding: 8px 12px;
    color: #333;
}
@media (max-width: 600px) {
    .fnavi-spec-table { font-size: 13px; }
    .fnavi-spec-table th { padding: 7px 10px; font-size: 12px; }
    .fnavi-spec-table td { padding: 7px 10px; }
}

/* 2026-05-15: TL;DR の中点抑制 + 星マーク半身対応 */
.fnavi-tldr-bullets {
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
}
.fnavi-tldr-bullets li {
    list-style: none !important;
    padding-bottom: 4px !important;
}
.fnavi-tldr-bullets li::marker {
    content: "" !important;
}

/* 星マーク 半身対応 (Unicode 互換性問題を CSS グラデで回避) */
.fnavi-stars {
    display: inline-flex;
    letter-spacing: 0;
    line-height: 1;
    vertical-align: middle;
}
.fnavi-stars span {
    display: inline-block;
    line-height: 1;
    margin-right: 1px;
}
.fnavi-stars span:last-child {
    margin-right: 0;
}
.fnavi-star-full {
    color: #d4a857;
}
.fnavi-star-empty {
    color: #d8d2bc;
}
.fnavi-star-half {
    background: linear-gradient(to right, #d4a857 50%, #d8d2bc 50%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

/* =========================================================
 * Front Preview (短期版 TOP) 2026-05-16
 * Path: /preview-top/  (Template Name: 風太郎レポート フロント (preview))
 * ========================================================= */
.fnavi-front-preview { color:#222; }
.fnavi-front-preview *, .fnavi-front-preview *::before, .fnavi-front-preview *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
.fnavi-front-preview #articles, .fnavi-front-preview #shops { scroll-margin-top: 80px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.fnavi-front-preview .st-main { padding: 0 16px 60px; box-sizing: border-box; }

/* Hero */
.fnavi-front-preview .fnavi-front-hero {
    background: linear-gradient(180deg,#fff 0%,#f6efe6 100%);
    border:1px solid #d8c9b3;
    border-radius:6px;
    padding:40px 24px 32px;
    text-align:center;
    margin:18px 0;
}
.fnavi-front-preview .ffront-h1 {
    font-size:26px;
    margin:0 0 10px;
    line-height:1.4;
    font-weight:700;
}
.fnavi-front-preview .ffront-area { color:#c33; }
.fnavi-front-preview .ffront-sub {
    color:#666;
    font-size:13px;
    margin:0 0 24px;
}
.fnavi-front-preview .ffront-cta-row {
    display:grid;
    grid-template-columns: repeat(3,1fr);
    gap:14px;
    max-width:640px;
    margin:0 auto 24px;
}
.fnavi-front-preview .ffront-cta-btn {
    display:block;
    border:1.5px solid #222;
    background:#fff;
    color:#222;
    padding:14px 8px;
    border-radius:5px;
    font-size:13px;
    font-weight:600;
    text-decoration:none;
    line-height:1.3;
    transition:all 0.2s;
}
.fnavi-front-preview .ffront-cta-btn:hover { background:#222; color:#fff; }
.fnavi-front-preview .ffront-cta-btn .ic { display:block; font-size:20px; margin-bottom:5px; }
.fnavi-front-preview .ffront-cta-btn.line { background:#06c755; color:#fff; border-color:#06c755; }
.fnavi-front-preview .ffront-cta-btn.line:hover { background:#05a647; }

.fnavi-front-preview .ffront-strengths {
    display:flex;
    justify-content:center;
    gap:28px;
    font-size:13px;
    color:#666;
    padding-top:18px;
    border-top:1px dashed #c8c8c8;
    flex-wrap:wrap;
}
.fnavi-front-preview .ffront-strengths .ic { font-size:16px; margin-right:4px; }

/* Search (stinger 標準 #search/#searchform/#s/#searchsubmit を完全リセット) */
.fnavi-front-preview .ffront-search-section {
    margin: 18px auto;
    max-width: 480px;
    padding: 0 16px;
}
.fnavi-front-preview .ffront-search-section #search {
    width: 100%;
    padding: 0;
    background: #fff;
    border: 1px solid #c8c8c8;
    border-radius: 999px;
    overflow: hidden;
    position: relative;
}
.fnavi-front-preview .ffront-search-section #searchform {
    display: flex;
    align-items: stretch;
    border: none;          /* stinger の border:#ccc 1px solid を消去 */
    margin: 0;
    padding: 0;
    background: transparent;
}
.fnavi-front-preview .ffront-search-section .hidden { display: none; }
.fnavi-front-preview .ffront-search-section input#s {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    height: 40px;
    border: none;         /* stinger の border-bottom 等を消去 */
    background: transparent;
    padding: 0 18px;
    font-size: 14px;
    outline: none;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    color: #222;
}
.fnavi-front-preview .ffront-search-section input#searchsubmit {
    position: static;     /* stinger の position:absolute をリセット */
    flex: 0 0 auto;
    width: 50px;
    height: 40px;
    background: #222;
    border: none;
    padding: 0;
    cursor: pointer;
    filter: brightness(0) invert(1); /* stinger の黒アイコン → 白に */
    border-radius: 0;
    margin: 0;
}
.fnavi-front-preview .ffront-search-section input#searchsubmit:hover {
    background: #444;
}

/* Section wrapper */
.fnavi-front-preview .ffront-section {
    background:#fff;
    border:1px solid #e6e1d4;
    border-radius:5px;
    padding:22px 20px;
    margin-bottom:18px;
}
.fnavi-front-preview .ffront-section-title {
    font-size:19px;
    font-weight:700;
    margin:0 0 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.fnavi-front-preview .ffront-section-title .more {
    font-size:13px;
    font-weight:normal;
    color:#666;
    text-decoration:none;
}
.fnavi-front-preview .ffront-section-title .more:hover { color:#c33; }

/* Article cards */
.fnavi-front-preview .ffront-article-card {
    display:grid;
    grid-template-columns:140px 1fr;
    gap:16px;
    border:1px solid #ddd;
    border-radius:5px;
    padding:14px;
    background:#fff;
    margin-bottom:12px;
    transition: box-shadow 0.2s;
}
.fnavi-front-preview .ffront-article-card:hover { box-shadow:0 2px 8px rgba(0,0,0,0.08); }
.fnavi-front-preview .ffront-article-card .thumb {
    aspect-ratio:1/1;
    background:#f5f5f5;
    border:1px dashed #ddd;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#999;
    font-size:11px;
    overflow:hidden;
    border-radius:4px;
}
.fnavi-front-preview .ffront-article-card .thumb img {
    width:100%; height:100%; object-fit:cover;
}
.fnavi-front-preview .ffront-article-card .meta-top {
    display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:6px;
}
.fnavi-front-preview .ffront-article-card .shop-tag {
    background:#f4eada; padding:3px 10px; font-size:12px; border-radius:3px; color:#6b4f1d;
    text-decoration:none; transition: background 0.15s;
    display:inline-block;
}
.fnavi-front-preview .ffront-article-card a.shop-tag:hover {
    background:#e8d6b0; color:#3d2e10;
}
.fnavi-front-preview .ffront-article-card .girl-name {
    font-weight:700; font-size:17px; color:#222; text-decoration:none;
}
.fnavi-front-preview .ffront-article-card .girl-name:hover { color:#c33; }
.fnavi-front-preview .ffront-article-card .rank-badge {
    display:inline-block;
    border:1.5px solid #2a6db0;
    color:#2a6db0;
    width:24px; height:24px; line-height:21px;
    text-align:center;
    border-radius:3px;
    font-weight:700;
    font-size:13px;
}
.fnavi-front-preview .ffront-article-card .rank-badge.s { border-color:#b08300; color:#b08300; }
.fnavi-front-preview .ffront-article-card .rank-badge.b { border-color:#5a7a5a; color:#5a7a5a; }
.fnavi-front-preview .ffront-article-card .rank-badge.c { border-color:#999; color:#999; }
.fnavi-front-preview .ffront-article-card .spec {
    font-size:12px; color:#666; margin:6px 0;
}
.fnavi-front-preview .ffront-article-card .excerpt {
    font-size:13px; color:#222; margin:8px 0; line-height:1.5;
}
.fnavi-front-preview .ffront-article-card .article-foot {
    display:flex; justify-content:space-between; font-size:12px; color:#666; margin-top:6px;
}
.fnavi-front-preview .ffront-article-card .article-foot a { color:#c33; text-decoration:none; font-weight:600; }

/* Shop grid */
.fnavi-front-preview .ffront-shop-grid {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:10px;
}
.fnavi-front-preview .ffront-shop-tile {
    border:1px solid #ddd;
    border-radius:5px;
    padding:14px 10px;
    text-align:center;
    background:#fff;
    text-decoration:none;
    color:#222;
    font-size:12px;
    transition:all 0.2s;
    display:block;
}
.fnavi-front-preview .ffront-shop-tile:hover {
    border-color:#c33;
    box-shadow:0 2px 8px rgba(0,0,0,0.08);
    transform:translateY(-2px);
}
.fnavi-front-preview .ffront-shop-tile strong {
    display:block; font-size:13px; margin-bottom:6px; line-height:1.3;
}
.fnavi-front-preview .ffront-shop-tile .members { color:#666; font-size:11px; }
.fnavi-front-preview .ffront-shop-tile .rank-dist {
    display:flex;
    height:6px;
    border-radius:3px;
    overflow:hidden;
    margin-top:8px;
    border:1px solid #ddd;
}
.fnavi-front-preview .ffront-shop-tile .rank-dist span { display:block; min-width:0; }
.fnavi-front-preview .ffront-shop-tile .rank-dist .s { background:#d4a857; }
.fnavi-front-preview .ffront-shop-tile .rank-dist .a { background:#4a85c4; }
.fnavi-front-preview .ffront-shop-tile .rank-dist .b { background:#87b07a; }
.fnavi-front-preview .ffront-shop-tile .rank-dist .c { background:#cdcdcd; }

/* Trust block */
.fnavi-front-preview .ffront-trust-block {
    display:grid;
    grid-template-columns:1fr auto;
    gap:18px;
    align-items:center;
}
.fnavi-front-preview .ffront-trust-block p { margin:0; font-size:14px; color:#444; line-height:1.6; }
.fnavi-front-preview .ffront-trust-block .btns { display:flex; gap:10px; }
.fnavi-front-preview .ffront-trust-block .btns a {
    border:1.5px solid #222;
    color:#222;
    padding:10px 16px;
    font-size:13px;
    font-weight:600;
    text-decoration:none;
    border-radius:4px;
    white-space:nowrap;
    transition:all 0.2s;
}
.fnavi-front-preview .ffront-trust-block .btns a:hover { background:#222; color:#fff; }

/* LINE banner */
.fnavi-front-preview .ffront-line-section { padding:0; border:none; background:transparent; }
.fnavi-front-preview .ffront-line-banner {
    background:#e8f6ed;
    border:1.5px solid #06c755;
    padding:22px 24px;
    border-radius:6px;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:18px;
}
.fnavi-front-preview .ffront-line-banner p { margin:0 0 4px; font-size:15px; }
.fnavi-front-preview .ffront-line-banner small { color:#666; font-size:12px; }
.fnavi-front-preview .ffront-line-banner .line-btn {
    background:#06c755; color:#fff; padding:12px 28px;
    border-radius:999px; font-size:14px; font-weight:600; text-decoration:none;
    white-space:nowrap;
}
.fnavi-front-preview .ffront-line-banner .line-btn:hover { background:#05a647; }

/* スマホ調整 */
@media (max-width: 700px) {
    .fnavi-front-preview .ffront-h1 { font-size:21px; }
    .fnavi-front-preview .ffront-cta-row { grid-template-columns:1fr; gap:10px; }
    .fnavi-front-preview .ffront-strengths { gap:14px; font-size:12px; }
    .fnavi-front-preview .ffront-article-card { grid-template-columns:90px 1fr; gap:12px; padding:10px; }
    .fnavi-front-preview .ffront-shop-grid { grid-template-columns:repeat(2,1fr); }
    .fnavi-front-preview .ffront-trust-block { grid-template-columns:1fr; }
    .fnavi-front-preview .ffront-trust-block .btns { flex-direction:column; }
    .fnavi-front-preview .ffront-line-banner { grid-template-columns:1fr; text-align:center; }
}

.fnavi-front-preview .ffront-article-card .catch {
    font-size:13px;
    color:#444;
    margin:4px 0 6px;
    line-height:1.5;
}

/* =========================================================
 * Shop list page (/shop/) 2026-05-16
 * + TOP の shop タイルにも画像対応を後付け
 * ========================================================= */

/* ページヘッダー */
.fnavi-shop-list-page .ffront-page-header {
    text-align:center;
    padding:32px 16px 24px;
    margin-bottom:18px;
}
.fnavi-shop-list-page .ffront-page-title {
    font-size:26px;
    margin:0 0 10px;
    font-weight:700;
}
.fnavi-shop-list-page .ffront-page-sub {
    color:#666;
    font-size:14px;
    margin:0;
    line-height:1.7;
}

/* ============== 共通: ロゴ枠 (TOP / shop-list 両方) ============== */
.fnavi-front-preview .ffront-shop-tile .logo-wrap {
    aspect-ratio: 1 / 1;
    background: #f3eee2;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.fnavi-front-preview .ffront-shop-tile .logo-wrap img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.fnavi-front-preview .ffront-shop-tile .logo-placeholder {
    font-size: 22px;
    color: #b09b75;
    font-weight: 700;
    letter-spacing: 0.05em;
}

/* ============== shop list (大サイズ) ============== */
.fnavi-shop-list-page .ffront-shop-grid-large {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.fnavi-shop-list-page .ffront-shop-tile-large {
    padding: 16px;
    text-align: left;
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 14px;
    align-items: start;
}
.fnavi-shop-list-page .ffront-shop-tile-large .logo-wrap {
    margin-bottom: 0;
    aspect-ratio: 1 / 1;
}
.fnavi-shop-list-page .ffront-shop-tile-large .info {
    min-width: 0; /* overflow guard */
}
.fnavi-shop-list-page .ffront-shop-tile-large strong {
    display: block;
    font-size: 15px;
    margin-bottom: 6px;
    line-height: 1.3;
}
.fnavi-shop-list-page .ffront-shop-tile-large .members {
    font-size: 12px;
    color: #666;
    margin-bottom: 8px;
}
.fnavi-shop-list-page .ffront-shop-tile-large .rank-dist {
    height: 7px;
    margin: 6px 0;
}
.fnavi-shop-list-page .ffront-shop-tile-large .rank-legend {
    display: flex;
    gap: 8px;
    font-size: 11px;
    color: #444;
    margin-bottom: 6px;
}
.fnavi-shop-list-page .ffront-shop-tile-large .rank-legend i.dot {
    display:inline-block; width:7px; height:7px; border-radius:50%;
    margin-right: 3px; vertical-align: middle;
}
.fnavi-shop-list-page .ffront-shop-tile-large .rank-legend i.dot.s { background:#d4a857; }
.fnavi-shop-list-page .ffront-shop-tile-large .rank-legend i.dot.a { background:#4a85c4; }
.fnavi-shop-list-page .ffront-shop-tile-large .rank-legend i.dot.b { background:#87b07a; }
.fnavi-shop-list-page .ffront-shop-tile-large .rank-legend i.dot.c { background:#cdcdcd; }
.fnavi-shop-list-page .ffront-shop-tile-large .desc {
    font-size: 12px;
    color: #555;
    margin: 6px 0 0;
    line-height: 1.5;
}

.fnavi-shop-list-page .ffront-shop-note {
    background: #faf7f1;
    border-color: #ede5d3;
}

/* スマホ */
@media (max-width: 700px) {
    .fnavi-shop-list-page .ffront-page-title { font-size:21px; }
    .fnavi-shop-list-page .ffront-shop-grid-large { grid-template-columns: 1fr; }
    .fnavi-shop-list-page .ffront-shop-tile-large { grid-template-columns: 90px 1fr; gap: 12px; }
}

/* =========================================================
 * Premium-locked elements (LINE 連携で開放) 2026-05-16
 * ========================================================= */
.fnavi-front-preview .ffront-premium-locked {
    position: relative;
    margin: 6px 0;
}
.fnavi-front-preview .ffront-premium-locked .premium-blur {
    filter: blur(3px) saturate(0.4);
    opacity: 0.5;
    pointer-events: none;
}
.fnavi-front-preview .ffront-premium-locked .premium-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 11px;
    color: #444;
    background: rgba(255,255,255,0.4);
    border-radius: 3px;
    font-weight: 600;
}
.fnavi-front-preview .ffront-premium-locked .lock-ic { font-size: 13px; }
.fnavi-front-preview .ffront-premium-locked-mini .premium-overlay {
    font-size: 14px;
}
.fnavi-front-preview .ffront-premium-locked-mini .premium-blur .rank-dist {
    height: 5px;
}

/* shop-list 平均スコア (unlock 後) */
.fnavi-shop-list-page .ffront-shop-tile-large .ffront-shop-avg {
    font-size: 12px;
    color: #6b4f1d;
    margin-top: 4px;
}
/* a タグの premium-locked */
.fnavi-front-preview a.ffront-premium-locked {
    display: block;
    text-decoration: none;
    color: inherit;
}

/* 店舗一覧 大タイル内のロック領域: クリック可能化 */
.fnavi-front-preview .ffront-shop-tile-large .ffront-premium-locked {
    cursor: pointer;
    position: relative;
}
.fnavi-front-preview .ffront-shop-tile-large .ffront-premium-locked:hover .premium-overlay {
    background: rgba(255,255,255,0.6);
}

/* 店舗グリッドの説明キャプション (TOP) */
.fnavi-front-preview .ffront-shop-grid-caption {
    margin: -6px 0 14px;
    padding: 9px 14px;
    background: #fff7e0;
    border-left: 3px solid #d4a857;
    border-radius: 3px;
    font-size: 12px;
    color: #5a4014;
    line-height: 1.6;
}
.fnavi-front-preview .ffront-shop-grid-caption a {
    color: #06762e;
    font-weight: 600;
    text-decoration: underline;
}

/* TOP の小タイル鍵オーバーレイ: 小さくてもクリックしやすく */
.fnavi-front-preview .ffront-premium-locked-mini {
    cursor: pointer;
}
.fnavi-front-preview .ffront-premium-locked-mini:hover .premium-overlay {
    background: rgba(255,255,255,0.7);
}

/* shop-list 大タイル: ロックテキストを 2 行で読みやすく */
.fnavi-front-preview .ffront-shop-tile-large .ffront-premium-locked .premium-overlay {
    flex-direction: column;
    gap: 2px;
    font-size: 10.5px;
    line-height: 1.3;
    text-align: center;
    padding: 4px;
}
.fnavi-front-preview .ffront-shop-tile-large .ffront-premium-locked .premium-overlay .lock-ic {
    font-size: 14px;
}

/* =========================================================
 * 2026-05-17 v2: トップバー (PC/SP 共通) + サイドバー刷新
 * - stinger 標準の PC メニュー (#st-menubox, .gmenu, .smanone) は完全に非表示
 * - fnavi-topbar をデバイス共通のメインナビとする
 * - サイドバーは widget ごとに既存クラス (#side-profile, .kanren, .aside-head)
 *   を尊重しつつ、塊として馴染ませる
 * ========================================================= */

/* =========================================================
 * 2026-05-17 v3: topbar 余白 + サイドバー全面リデザイン
 * 実 HTML 構造に基づく:
 *   .st-aside > #side-profile (Writer)
 *               .fnavi-sidebar-banner (LINE banner)
 *               .side-topad (banner widget)
 *               .kanren (related posts, dl/dt/dd)
 *               #mybox  (wp-block-group containing アーカイブ/カテゴリ etc.)
 * ========================================================= */

/* ====== 1) PC/SP 共通 既存メニュー無効化 ====== */
#st-menubox,
.gmenu,
.smanone,
#s-navi,
header nav.clearfix.st5,
header nav.smanone { display: none !important; }

/* ====== 2) Topbar ====== */
#fnavi-topbar {
    display: flex;
    align-items: stretch;
    justify-content: center;
    background: #fff;
    border-top: 1px solid #e5e0d3;
    border-bottom: 1px solid #e5e0d3;
    margin: 0;
    padding: 0;
}
#fnavi-topbar .fnavi-topbar-item {
    flex: 0 1 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 14px 24px;
    background: transparent;
    border: 0;
    color: #222;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    position: relative;
}
#fnavi-topbar .fnavi-topbar-item + .fnavi-topbar-item::before {
    content: "";
    position: absolute;
    left: 0; top: 25%; bottom: 25%;
    width: 1px;
    background: #efebe0;
}
#fnavi-topbar .fnavi-topbar-item:hover,
#fnavi-topbar .fnavi-topbar-item:focus-visible {
    background: #faf7f1; color: #c33; outline: none;
}
#fnavi-topbar .fnavi-topbar-item .ic { font-size: 17px; line-height: 1; }
@media (max-width: 768px) {
    #fnavi-topbar .fnavi-topbar-item {
        flex: 1 1 0; flex-direction: column;
        padding: 9px 4px; font-size: 11.5px; gap: 2px;
    }
    #fnavi-topbar .fnavi-topbar-item .ic { font-size: 18px; }
    #fnavi-topbar .fnavi-topbar-item + .fnavi-topbar-item::before { top: 30%; bottom: 30%; }
}

/* 検索パネル */
#fnavi-topbar-search {
    background: #faf7f1;
    border-bottom: 1px solid #e5e0d3;
    padding: 12px 16px;
}
#fnavi-topbar-search form {
    display: flex;
    max-width: 520px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #c8c8c8;
    border-radius: 999px;
    overflow: hidden;
}
#fnavi-topbar-search input[type="search"] {
    flex: 1 1 auto; border: 0; background: transparent;
    padding: 10px 18px; font-size: 14px; outline: none; min-width: 0;
}
#fnavi-topbar-search button {
    background: #222; color: #fff; border: 0;
    padding: 0 18px; font-size: 14px; cursor: pointer;
}

/* ★ Topbar と コンテンツ間の余白 (header の最下部、content の手前) ★ */
header { margin-bottom: 24px; }
#gazou-wide { margin-bottom: 0; }
@media (max-width: 768px) { header { margin-bottom: 14px; } }

/* ====== 3) Sidebar 全面リデザイン ====== */

/* 全体: 透明背景 + セクション間 18px */
#side {
    padding: 0;
    background: transparent;
}
#side .st-aside {
    background: transparent;
    padding: 0;
    margin: 0;
}
#side .st-aside > * {
    margin: 0 0 18px;
}

/* 全 widget 共通: 白パネル */
#side #side-profile,
#side .kanren,
#side .side-topad,
#side #mybox,
#side aside.widget,
#side section.widget,
#side div.widget,
#side .sidewidget {
    background: #fff;
    border: 1px solid #e6e1d4;
    border-radius: 6px;
    padding: 16px 14px 14px;
    box-sizing: border-box;
}
#side .fnavi-sidebar-banner {
    display: block;
    line-height: 0;
    border-radius: 6px;
    overflow: hidden;
}
#side .fnavi-sidebar-banner img {
    width: 100%; height: auto; display: block;
}

/* 共通: 見出し .aside-head (旧 ピンク背景を上書き) — ラベル/タグ風で本文 h2 と差別化 */
#side .aside-head {
    display: inline-block !important;
    background: #5d1923 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    margin: 0 0 12px !important;
    padding: 4px 14px 4px 10px !important;
    border: 0 !important;
    border-radius: 0 999px 999px 0 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.5 !important;
    text-align: left;
    position: relative;
    left: -14px;  /* パネル左端から少し飛び出す ribbon 感 */
}
#side .aside-head::before {
    content: "" !important;
}

/* #side-profile (Writer) */
#side #side-profile {
    text-align: center;
}
#side #side-profile .aside-head {
    display: block !important;
    background: transparent !important;
    color: #5d1923 !important;
    border-radius: 0 !important;
    padding: 0 0 8px !important;
    text-align: center !important;
    border-bottom: 1px dashed #d4a857 !important;
    letter-spacing: 0.15em !important;
    left: 0 !important;
    font-size: 12px !important;
}
#side #side-profile figure {
    margin: 8px auto 6px;
    width: 96px; height: 96px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #d4a857;
    background: #faf7f1;
}
#side #side-profile figure img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
#side #side-profile span {
    display: block;
    font-size: 15px;
    font-weight: 700;
    margin: 8px 0 4px;
    color: #222;
}
#side #side-profile .wp-block-social-links {
    display: flex;
    justify-content: center;
    gap: 4px;
    padding: 0 !important;
    margin: 6px 0 0 !important;
    list-style: none;
}
#side #side-profile .wp-block-social-links li {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}
#side #side-profile .wp-block-social-links a { color: #222; }

/* fnavi-sidebar-banner (LINE) は白パネル不要、画像のみ */
#side .fnavi-sidebar-banner {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}

/* .side-topad (banner) — shrink-wrap で余白ゼロ */
#side .side-topad {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    text-align: center;
    line-height: 0;          /* インライン要素の隙間を消す */
}
#side .side-topad .widget_text,
#side .side-topad .textwidget,
#side .side-topad .ad,
#side .side-topad [data-futaro-banner],
#side .side-topad .futaro-banner {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 0;
    display: block;
}
#side .side-topad .futaro-banner ins,
#side .side-topad .futaro-banner iframe,
#side .side-topad .futaro-banner img,
#side .side-topad .futaro-banner > a {
    display: inline-block;   /* テキストアラインで中央寄せ */
    vertical-align: top;
    line-height: 0;
}
#side .side-topad .futaro-banner iframe {
    border: 0;
    max-width: 100%;
    display: block;
    margin: 0 auto;
}

/* .kanren (最近の投稿) */
#side .kanren dl.clearfix {
    display: flex;
    gap: 10px;
    margin: 0 0 12px;
    padding: 0 0 12px;
    border-bottom: 1px solid #f1ebda;
    align-items: flex-start;
}
#side .kanren dl.clearfix:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}
#side .kanren dl.clearfix dt {
    float: none !important;
    flex: 0 0 80px;
    margin: 0 !important;
    padding: 0 !important;
}
#side .kanren dl.clearfix dt a {
    display: block;
    width: 80px; height: 80px;
    overflow: hidden;
    border-radius: 4px;
}
#side .kanren dl.clearfix dt img {
    width: 80px !important;
    height: 80px !important;
    object-fit: cover;
    display: block;
    margin: 0;
    background: #faf7f1;
}
#side .kanren dl.clearfix dd {
    float: none !important;
    flex: 1 1 auto;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0;
    background: transparent !important;
    color: #222 !important;
}
#side .kanren dl.clearfix dd .blog_info {
    margin: 0 0 4px;
}
#side .kanren dl.clearfix dd .blog_info p {
    margin: 0;
    font-size: 11px;
    color: #999;
    line-height: 1.3;
}
#side .kanren dl.clearfix dd .kanren-t {
    margin: 0;
    font-size: 12.5px;
    line-height: 1.5;
}
#side .kanren dl.clearfix dd .kanren-t a {
    color: #222 !important;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
#side .kanren dl.clearfix dd .kanren-t a:hover { color: #c33 !important; }
#side .kanren dl.clearfix dd .smanone2 { display: none; }

/* #mybox 内の Gutenberg blocks (アーカイブ・カテゴリ等) */
#side #mybox .wp-block-group,
#side #mybox .wp-block-group__inner-container {
    margin: 0;
    padding: 0;
    background: transparent;
}
#side #mybox h2.wp-block-heading,
#side #mybox h3.wp-block-heading {
    display: inline-block;
    background: #5d1923;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    margin: 0 0 12px;
    padding: 4px 14px 4px 10px;
    border: 0;
    border-radius: 0 999px 999px 0;
    letter-spacing: 0.08em;
    line-height: 1.5;
    position: relative;
    left: -14px;
}
#side #mybox h2.wp-block-heading:first-child,
#side #mybox h3.wp-block-heading:first-child {
    margin-top: 0;
}
#side #mybox .ad {
    background: transparent;
    margin: 0;
    padding: 0;
}

/* リスト: アーカイブ / カテゴリー / メニュー */
#side ul.wp-block-archives,
#side ul.wp-block-archives-list,
#side ul.wp-block-categories,
#side ul.wp-block-categories-list,
#side ul.menu,
#side aside ul,
#side section ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
#side ul.wp-block-archives li,
#side ul.wp-block-archives-list li,
#side ul.wp-block-categories li,
#side ul.wp-block-categories-list li,
#side ul.menu li,
#side aside ul li,
#side section ul li {
    padding: 7px 0;
    border-bottom: 1px solid #f1ebda;
    font-size: 13px;
    line-height: 1.5;
    color: #222;
    background: transparent !important;
}
#side ul.wp-block-archives li:last-child,
#side ul.wp-block-archives-list li:last-child,
#side ul.wp-block-categories li:last-child,
#side ul.wp-block-categories-list li:last-child,
#side ul.menu li:last-child,
#side aside ul li:last-child,
#side section ul li:last-child {
    border-bottom: 0;
}
#side a {
    color: #222;
    text-decoration: none;
    transition: color 0.15s;
}
#side a:hover { color: #c33; }

/* 数値カウント (カテゴリ等) */
#side .cat-item .post-count,
#side .wp-block-categories-list .cat-item span {
    color: #999;
    font-size: 11px;
    margin-left: 4px;
}

/* SP: padding 圧縮 */
@media (max-width: 768px) {
    #side .st-aside > * { margin-bottom: 14px; }
    #side #side-profile,
    #side .kanren,
    #side #mybox,
    #side aside.widget,
    #side section.widget {
        padding: 14px 12px;
    }
}


/* ====== shop ランキング (sidebar 店舗で探す) ====== */
#side .fnavi-shop-rank-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
#side .fnavi-shop-rank-list li {
    padding: 0;
    border-bottom: 1px solid #f1ebda;
}
#side .fnavi-shop-rank-list li:last-child { border-bottom: 0; }
#side .fnavi-shop-rank-list li a {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 8px 4px;
    color: #222;
    text-decoration: none;
    transition: color 0.15s;
}
#side .fnavi-shop-rank-list li a:hover { color: #c33; }
#side .fnavi-shop-rank-list .fnavi-shop-name {
    flex: 1 1 auto;
    font-size: 13px;
    line-height: 1.4;
    min-width: 0;
}
#side .fnavi-shop-rank-list .fnavi-shop-count {
    flex: 0 0 auto;
    font-size: 11px;
    color: #999;
    font-weight: 600;
}
#side .fnavi-shop-rank-list .fnavi-shop-all {
    border-top: 2px solid #f1ebda;
    border-bottom: 0 !important;
    margin-top: 4px;
    padding-top: 4px;
}
#side .fnavi-shop-rank-list .fnavi-shop-all a {
    justify-content: flex-end;
    color: #c33 !important;
    font-size: 12px;
    font-weight: 600;
    padding: 8px 4px;
}
#side .fnavi-shop-rank-list .fnavi-shop-all a:hover { color: #8b1538 !important; }

/* page-top の矢印色 (stinger デフォルト #fff が薄い背景に埋もれる) */
#page-top a {
    color: inherit !important;
}

/* =========================================================
 * 2026-05-19: taxonomy-shop.php 用 CSS (Phase 2)
 * ========================================================= */

.fnavi-taxonomy-shop #content {
    max-width: 1080px;
    margin: 0 auto;
}
.fnavi-taxonomy-shop .st-main { padding: 1px 16px 60px; box-sizing: border-box; }

/* ===== A. ヘッダー ===== */
.fnavi-shop-header {
    background: #fff;
    border: 1px solid #e6e1d4;
    border-radius: 6px;
    padding: 24px 26px;
    margin: 18px 0;
}
.fnavi-shop-aggregate {
    font-size: 13px;
    color: #444;
    margin: 0 0 10px;
}
.fnavi-shop-aggregate b {
    font-size: 22px;
    color: #5d1923;
    margin: 0 4px;
    font-weight: 700;
}
.fnavi-shop-aggregate .fnavi-stars {
    font-size: 16px;
    letter-spacing: -1px;
    margin-right: 6px;
}
.fnavi-shop-aggregate .fnavi-star-full { color: #d4a857; }
.fnavi-shop-aggregate .fnavi-star-empty { color: #d8d2bc; }
.fnavi-shop-aggregate .ag-meta { color: #777; font-size: 12px; }

.fnavi-shop-h1 {
    font-size: 22px;
    line-height: 1.4;
    margin: 0 0 12px;
    color: #222;
    font-weight: 700;
}
.fnavi-shop-h1 .shop-name { color: #5d1923; }
.fnavi-shop-h1 .suffix { font-weight: 500; color: #555; font-size: 0.85em; }

.fnavi-shop-lead {
    color: #555;
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
}

/* ===== B + C: 2 カラムグリッド ===== */
.fnavi-shop-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 18px;
    margin-bottom: 18px;
}
@media (max-width: 768px) {
    .fnavi-shop-grid { grid-template-columns: 1fr; }
}

/* ===== B. 店舗情報 dl ===== */
.fnavi-shop-info,
.fnavi-shop-intro,
.fnavi-shop-reports,
.fnavi-shop-related,
.fnavi-shop-cta {
    background: #fff;
    border: 1px solid #e6e1d4;
    border-radius: 6px;
    padding: 22px 24px;
    box-sizing: border-box;
}
/* aside は content 量少ないので圧縮 */
.fnavi-shop-rank-aside {
    background: #fff;
    border: 1px solid #e6e1d4;
    border-radius: 6px;
    padding: 14px 16px 16px;
    box-sizing: border-box;
    align-self: start;  /* grid 内で縦に伸びないように */
}
.fnavi-shop-info h2,
.fnavi-shop-intro h2,
.fnavi-shop-reports h2,
.fnavi-shop-related h2,
.fnavi-shop-cta h2 {
    background: #fff !important;
    color: #5d1923 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    padding: 0 0 10px 14px !important;
    margin: 0 0 16px !important;
    border-left: 5px solid #d4a857 !important;
    border-bottom: 2px solid #5d1923 !important;
    border-top: none !important;
    border-right: none !important;
    border-radius: 0 !important;
    line-height: 1.4;
    box-shadow: none !important;
}

/* aside の見出しは軽め (widget タイトル風) */
.fnavi-shop-rank-aside h2 {
    background: transparent !important;
    color: #5d1923 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 0 0 6px !important;
    margin: 0 0 10px !important;
    border-left: 0 !important;
    border-bottom: 1px dashed #d4a857 !important;
    border-top: none !important;
    border-right: none !important;
    border-radius: 0 !important;
    letter-spacing: 0.08em;
    line-height: 1.4;
    text-align: center;
    box-shadow: none !important;
}
.fnavi-shop-rank-aside h2::before {
    content: "◆ ";
    color: #d4a857;
    font-size: 10px;
}

.fnavi-shop-info-dl {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 8px 14px;
    align-items: baseline;
}
.fnavi-shop-info-dl dt {
    color: #777;
    font-size: 13px;
    font-weight: 600;
    margin: 0;
    padding: 5px 0 5px;
    border-bottom: 1px solid #f1ebda;
}
.fnavi-shop-info-dl dd {
    margin: 0;
    color: #222;
    font-size: 14px;
    padding: 5px 0 5px;
    border-bottom: 1px solid #f1ebda;
}
.fnavi-shop-info-dl dt:last-of-type,
.fnavi-shop-info-dl dd:last-of-type {
    border-bottom: 0;
}
.fnavi-shop-info-dl a {
    color: #c33;
    text-decoration: none;
}
.fnavi-shop-info-dl a:hover { text-decoration: underline; }

/* ===== C. ランク内訳 aside ===== */
.fnavi-shop-rank-aside .rank-dist {
    display: flex;
    height: 14px;
    border-radius: 4px;
    overflow: hidden;
    margin: 8px 0;
    border: 1px solid #ddd;
}
.fnavi-shop-rank-aside .rank-dist span { display: block; min-width: 0; }
.fnavi-shop-rank-aside .rank-dist .s { background: #d4a857; }
.fnavi-shop-rank-aside .rank-dist .a { background: #4a85c4; }
.fnavi-shop-rank-aside .rank-dist .b { background: #87b07a; }
.fnavi-shop-rank-aside .rank-dist .c { background: #cdcdcd; }
.fnavi-shop-rank-aside .rank-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 12px;
    color: #444;
    margin-top: 8px;
}
.fnavi-shop-rank-aside .rank-legend i.dot {
    display: inline-block; width: 8px; height: 8px; border-radius: 50%;
    margin-right: 4px; vertical-align: middle;
}
.fnavi-shop-rank-aside .rank-legend i.dot.s { background: #d4a857; }
.fnavi-shop-rank-aside .rank-legend i.dot.a { background: #4a85c4; }
.fnavi-shop-rank-aside .rank-legend i.dot.b { background: #87b07a; }
.fnavi-shop-rank-aside .rank-legend i.dot.c { background: #cdcdcd; }
.fnavi-shop-rank-aside .ffront-premium-locked { cursor: pointer; }

/* ===== B'. 店舗紹介 ===== */
.fnavi-shop-intro p {
    color: #333;
    font-size: 14px;
    line-height: 1.85;
    margin: 0;
}

/* ===== E. 体験レポート一覧 ===== */
.fnavi-shop-reports {
    margin-bottom: 18px;
}
/* 全件: 横並び (thumb 140px) のシンプルカード */
.fnavi-shop-reports .ffront-article-card {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 16px;
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 14px;
    background: #fff;
    margin: 0;
    transition: box-shadow 0.2s;
    text-decoration: none;
    color: inherit;
    box-sizing: border-box;
}
.fnavi-shop-reports .ffront-article-card:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.08); }
.fnavi-shop-reports .ffront-article-card .thumb {
    display: block;
    aspect-ratio: 1/1;
    background: #f5f5f5;
    border: 1px dashed #ddd;
    border-radius: 4px;
    overflow: hidden;
}
.fnavi-shop-reports .ffront-article-card .thumb img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.fnavi-shop-reports .ffront-article-card .girl-name {
    font-weight: 700; font-size: 17px; color: #222; text-decoration: none;
}
.fnavi-shop-reports .ffront-article-card .girl-name:hover { color: #c33; }
.fnavi-shop-reports .ffront-article-card .catch {
    font-size: 13px; color: #5d1923; margin: 4px 0 6px;
}
.fnavi-shop-reports .ffront-article-card .excerpt {
    font-size: 13px; color: #444; margin: 8px 0; line-height: 1.55;
}
.fnavi-shop-reports .ffront-article-card .article-foot {
    display: flex; justify-content: space-between; font-size: 12px; color: #666;
}
.fnavi-shop-reports .ffront-article-card .article-foot a {
    color: #c33; text-decoration: none; font-weight: 600;
}

/* 体験レポート 全件: 1 列縦並び (横長カード) */
.fnavi-shop-reports-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* pagination */
.fnavi-shop-reports .pagination,
.fnavi-shop-reports nav.pagination {
    margin-top: 20px;
    text-align: center;
}

/* ===== F. 関連店舗 ===== */
.fnavi-related-shops-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}
@media (max-width: 768px) {
    .fnavi-related-shops-grid { grid-template-columns: repeat(2, 1fr); }
}
.fnavi-related-shops-grid .ffront-shop-tile {
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 14px 10px;
    text-align: center;
    background: #fff;
    text-decoration: none;
    color: #222;
    font-size: 12px;
    transition: all 0.2s;
    display: block;
}
.fnavi-related-shops-grid .ffront-shop-tile:hover {
    border-color: #c33;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}
.fnavi-related-shops-grid .logo-wrap {
    aspect-ratio: 1/1;
    background: #f3eee2;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.fnavi-related-shops-grid .logo-wrap img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.fnavi-related-shops-grid .logo-placeholder {
    font-size: 22px; color: #b09b75; font-weight: 700;
}
.fnavi-related-shops-grid strong { display: block; font-size: 13px; margin-bottom: 4px; line-height: 1.3; }
.fnavi-related-shops-grid .members { color: #666; font-size: 11px; }

/* ===== G. CTA ===== */
.fnavi-shop-cta {
    text-align: center;
    background: #e8f6ed !important;
    border-color: #06c755 !important;
}
.fnavi-shop-cta h2 {
    color: #06762e !important;
    border-left-color: #06c755 !important;
    border-bottom-color: #06c755 !important;
}
.fnavi-shop-cta p {
    color: #222;
    font-size: 14px;
    margin: 0 0 16px;
}
.fnavi-shop-cta .cta-buttons {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}
.fnavi-shop-cta .btn-line {
    background: #06c755; color: #fff; padding: 12px 28px;
    border-radius: 999px; font-size: 14px; font-weight: 700; text-decoration: none;
}
.fnavi-shop-cta .btn-line:hover { background: #05a647; }
.fnavi-shop-cta .btn-secondary {
    background: #fff; color: #06762e; border: 1.5px solid #06c755;
    padding: 12px 22px; border-radius: 999px; font-size: 13px; font-weight: 600; text-decoration: none;
}

/* SP 調整 */
@media (max-width: 768px) {
    .fnavi-shop-h1 { font-size: 18px; }
    .fnavi-shop-h1 .suffix { display: block; margin-top: 4px; }
    .fnavi-shop-info, .fnavi-shop-rank-aside, .fnavi-shop-intro,
    .fnavi-shop-reports, .fnavi-shop-related, .fnavi-shop-cta {
        padding: 18px 16px;
    }
    .fnavi-shop-info-dl { grid-template-columns: 90px 1fr; }
    .fnavi-shop-reports .ffront-article-card { grid-template-columns: 90px 1fr; gap: 12px; padding: 10px; }
}

/* ===== E1. 最新 4 件 (thumb-top 2 列カード) ===== */
.fnavi-shop-recent {
    margin: 18px 0;
}
.fnavi-shop-recent-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
@media (max-width: 500px) {
    .fnavi-shop-recent-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
}
.fnavi-shop-recent-card {
    border: 1px solid #ddd;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    transition: box-shadow 0.2s, transform 0.2s;
}
.fnavi-shop-recent-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    transform: translateY(-2px);
}
.fnavi-shop-recent-card .thumb-wrap {
    display: block;
    aspect-ratio: 3 / 4;
    background: #f3eee2;
    overflow: hidden;
}
.fnavi-shop-recent-card .thumb-wrap img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.fnavi-shop-recent-card .body {
    padding: 10px 12px 12px;
}
.fnavi-shop-recent-card .title {
    font-size: 13px;
    font-weight: 600;
    color: #222;
    line-height: 1.45;
    margin: 0 0 6px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}
.fnavi-shop-recent-card .title a {
    color: inherit;
    text-decoration: none;
}
.fnavi-shop-recent-card .title a:hover { color: #c33; }
.fnavi-shop-recent-card .date {
    color: #999;
    font-size: 11px;
    margin: 0;
}

/* 2026-05-19: 記事内画像の figcaption スタイル */
.fnavi-fig {
    margin: 18px 0;
    text-align: center;
}
.fnavi-fig .wp-element-caption,
.fnavi-fig figcaption {
    font-size: 12px;
    color: #777;
    margin-top: 6px;
    line-height: 1.5;
    text-align: center;
}

/* 2026-05-20: E-E-A-T 導線 footer リンク */
.fnavi-footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 14px;
    padding: 14px 16px 6px;
    border-top: 1px solid rgba(255,255,255,0.08);
    margin-top: 18px;
}
.fnavi-footer-links a {
    color: #ddd;
    font-size: 12.5px;
    text-decoration: none;
    line-height: 1.6;
    border-right: 1px solid rgba(255,255,255,0.15);
    padding-right: 14px;
}
.fnavi-footer-links a:last-child {
    border-right: 0; padding-right: 0;
}
.fnavi-footer-links a:hover {
    color: #d4a857;
    text-decoration: underline;
}
@media (max-width: 600px) {
    .fnavi-footer-links { gap: 4px 8px; padding: 12px 12px 6px; }
    .fnavi-footer-links a { font-size: 11.5px; padding-right: 8px; }
}

/* =========================================================
 * 2026-05-20: author.php (編集長プロフィール) スタイル
 * ========================================================= */
.fnavi-author-page .st-main { padding: 1px 16px 60px; box-sizing: border-box; max-width: 1080px; margin: 0 auto; }

/* ヘッダー */
.fnavi-author-hero {
    background: #fff;
    border: 1px solid #e6e1d4;
    border-radius: 6px;
    padding: 22px 24px;
    margin: 18px 0;
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 22px;
    align-items: center;
}
@media (max-width: 600px) {
    .fnavi-author-hero { grid-template-columns: 1fr; text-align: center; padding: 18px 16px; }
}
.fnavi-author-avatar {
    margin: 0;
    width: 120px; height: 120px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid #d4a857;
    background: #faf7f1;
}
.fnavi-author-avatar img {
    width: 100%; height: 100%; object-fit: cover;
}
@media (max-width: 600px) {
    .fnavi-author-avatar { margin: 0 auto; }
}
.fnavi-author-meta .role-eyebrow {
    font-size: 12px;
    color: #d4a857;
    letter-spacing: 0.12em;
    font-weight: 700;
    margin: 0 0 6px;
}
.fnavi-author-h1 {
    font-size: 22px;
    color: #5d1923;
    font-weight: 700;
    margin: 0 0 8px;
    line-height: 1.4;
}
.fnavi-author-h1 .suffix {
    font-size: 0.7em;
    color: #555;
    font-weight: 500;
    display: block;
    margin-top: 2px;
}
.fnavi-author-meta .lead {
    color: #444;
    font-size: 13px;
    margin: 0 0 10px;
}
.fnavi-author-links-row {
    margin: 0; padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.fnavi-author-links-row li {
    padding: 0;
}
.fnavi-author-links-row a {
    display: inline-block;
    font-size: 12px;
    color: #5d1923;
    border: 1px solid #d4a857;
    padding: 4px 10px;
    border-radius: 999px;
    text-decoration: none;
}
.fnavi-author-links-row a:hover { background: #faf7f1; }
@media (max-width: 600px) {
    .fnavi-author-links-row { justify-content: center; }
}

/* セクション共通 */
.fnavi-author-bio,
.fnavi-author-expertise,
.fnavi-author-posts {
    background: #fff;
    border: 1px solid #e6e1d4;
    border-radius: 6px;
    padding: 22px 24px;
    margin-bottom: 18px;
}
.fnavi-author-bio h2,
.fnavi-author-expertise h2,
.fnavi-author-posts h2 {
    background: #fff !important;
    color: #5d1923 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    padding: 0 0 10px 14px !important;
    margin: 0 0 14px !important;
    border-left: 5px solid #d4a857 !important;
    border-bottom: 2px solid #5d1923 !important;
    border-top: none !important;
    border-right: none !important;
    border-radius: 0 !important;
}

.fnavi-author-bio p {
    color: #333;
    font-size: 14px;
    line-height: 1.85;
    margin: 0;
}
.fnavi-author-expertise ul {
    margin: 0 0 12px;
    padding-left: 1.4em;
}
.fnavi-author-expertise ul li {
    color: #333;
    font-size: 14px;
    line-height: 1.8;
}
.fnavi-author-expertise .footnote {
    color: #777;
    font-size: 12px;
    margin: 12px 0 0;
    padding-top: 10px;
    border-top: 1px dashed #e6e1d4;
}

.fnavi-author-posts-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
@media (max-width: 500px) {
    .fnavi-author-posts-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
}

.fnavi-author-page #breadcrumb ol {
    list-style: none; padding: 0; margin: 0;
    font-size: 12px;
}
.fnavi-author-page #breadcrumb li {
    display: inline; color: #666;
}
.fnavi-author-page #breadcrumb li:not(:last-child)::after {
    content: " | "; color: #ccc; margin: 0 2px;
}
.fnavi-author-page #breadcrumb a { color: #5d1923; text-decoration: none; }

/* =========================================================
 * /category/soapland/ — ソープランド ジャンル教育ハブ
 * (2026-05-20 重複コンテンツ対策の差別化リデザイン)
 * ========================================================= */
.fnavi-soapland-hub {
    padding: 16px 8px 60px;
    color: #333;
}
.fnavi-soapland-header {
    margin-bottom: 28px;
    padding: 24px 20px;
    background: linear-gradient(135deg, #fff8e6 0%, #fffaf2 100%);
    border-left: 4px solid #d4a017;
    border-radius: 4px;
}
.fnavi-soapland-h1 {
    font-size: 24px;
    line-height: 1.4;
    margin: 0 0 12px;
    color: #2a2a2a;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.fnavi-soapland-lead {
    font-size: 15px;
    line-height: 1.8;
    margin: 0;
    color: #555;
}
.fnavi-soapland-lead strong {
    color: #d4a017;
}

.fnavi-soapland-block {
    margin-bottom: 32px;
    padding: 0 4px;
}
.fnavi-soapland-block h2,
.fnavi-soapland-areas h2,
.fnavi-soapland-evaluation h2,
.fnavi-soapland-recent h2 {
    font-size: 19px;
    line-height: 1.4;
    margin: 0 0 14px;
    padding: 6px 0 6px 14px;
    border-left: 4px solid #d4a017;
    background: #fffbed;
    color: #2a2a2a;
    font-weight: 600;
}
.fnavi-soapland-block p {
    font-size: 14.5px;
    line-height: 1.85;
    margin: 0 0 10px;
}

.fnavi-soapland-price-tier {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 6px 12px;
    margin: 12px 0;
    padding: 14px 16px;
    background: #fafafa;
    border: 1px solid #eee;
    border-radius: 4px;
    font-size: 14px;
}
.fnavi-soapland-price-tier dt {
    font-weight: 600;
    color: #b8860b;
}
.fnavi-soapland-price-tier dd {
    margin: 0;
}

.fnavi-soapland-flow {
    margin: 12px 0;
    padding-left: 20px;
}
.fnavi-soapland-flow li {
    font-size: 14.5px;
    line-height: 1.85;
    margin-bottom: 6px;
}
.fnavi-soapland-rules {
    margin: 12px 0;
    padding-left: 20px;
    list-style: '◆ ';
}
.fnavi-soapland-rules li {
    font-size: 14.5px;
    line-height: 1.85;
    margin-bottom: 6px;
}

/* エリア別グリッド */
.fnavi-soapland-areas {
    margin-bottom: 32px;
}
.fnavi-soapland-areas p {
    font-size: 14.5px;
    line-height: 1.8;
    margin: 0 0 16px;
}
.fnavi-area-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-top: 8px;
}
.fnavi-area-card {
    display: block;
    padding: 18px 16px;
    background: #fff;
    border: 1px solid #e6d8b3;
    border-radius: 6px;
    text-align: center;
    text-decoration: none;
    color: #333;
    transition: transform 0.15s, box-shadow 0.15s;
}
.fnavi-area-card.fnavi-area-active {
    border-color: #d4a017;
    box-shadow: 0 2px 6px rgba(212, 160, 23, 0.15);
}
.fnavi-area-card.fnavi-area-active:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(212, 160, 23, 0.25);
}
.fnavi-area-card.fnavi-area-soon {
    background: #f5f5f5;
    border-color: #ddd;
    color: #999;
    cursor: default;
}
.fnavi-area-icon {
    font-size: 26px;
    margin-bottom: 6px;
}
.fnavi-area-card h3 {
    font-size: 16px;
    margin: 4px 0 6px;
    color: inherit;
    font-weight: 600;
    border: none;
    padding: 0;
    background: none;
}
.fnavi-area-meta {
    font-size: 13px;
    color: #666;
    margin: 0 0 8px;
}
.fnavi-area-card.fnavi-area-soon .fnavi-area-meta {
    color: #aaa;
}
.fnavi-area-cta {
    display: inline-block;
    font-size: 13.5px;
    color: #d4a017;
    font-weight: 600;
    margin-top: 4px;
}

/* 評価方針セクション */
.fnavi-soapland-evaluation {
    margin-bottom: 32px;
    padding: 20px 18px;
    background: #f9f6ef;
    border-radius: 6px;
}
.fnavi-soapland-evaluation p {
    font-size: 14.5px;
    line-height: 1.85;
    margin: 0 0 10px;
}
.fnavi-soapland-evaluation ul {
    margin: 12px 0;
    padding-left: 22px;
}
.fnavi-soapland-evaluation ul li {
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 5px;
}
.fnavi-cta-link {
    display: inline-block;
    color: #d4a017;
    font-weight: 600;
    font-size: 14.5px;
    text-decoration: none;
    border-bottom: 1px dashed #d4a017;
    padding-bottom: 1px;
}
.fnavi-cta-link:hover {
    color: #b8860b;
    border-bottom-style: solid;
}

/* 最新レポート */
.fnavi-soapland-recent {
    margin-bottom: 32px;
}
.fnavi-recent-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-top: 12px;
}
.fnavi-recent-card {
    display: block;
    text-decoration: none;
    color: #333;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 6px;
    overflow: hidden;
    transition: box-shadow 0.15s, transform 0.15s;
}
.fnavi-recent-card:hover {
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    transform: translateY(-2px);
}
.fnavi-recent-thumb {
    aspect-ratio: 3 / 4;
    background: #f5f5f5;
    overflow: hidden;
}
.fnavi-recent-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.fnavi-recent-title {
    font-size: 13.5px;
    line-height: 1.5;
    margin: 8px 10px 4px;
    color: #333;
    font-weight: 600;
    border: none;
    background: none;
    padding: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fnavi-recent-date {
    font-size: 11.5px;
    color: #999;
    margin: 0 10px 8px;
}

@media (max-width: 599px) {
    .fnavi-soapland-h1 { font-size: 20px; }
    .fnavi-soapland-block h2,
    .fnavi-soapland-areas h2,
    .fnavi-soapland-evaluation h2,
    .fnavi-soapland-recent h2 { font-size: 16.5px; }
    .fnavi-soapland-price-tier { grid-template-columns: 80px 1fr; font-size: 13px; }
    .fnavi-area-grid, .fnavi-recent-grid { grid-template-columns: 1fr; }
}
