/* =========================================================
 * Custom FAQ Accordion v1.8.0
 *   FAQ + Image Grid + Lightbox + Luxury Hover + FANZA Actresses
 * ========================================================= */

/* ---------- FAQ ---------- */
.cfaq-wrap { max-width: 100%; margin: 2em 0; font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif; color: #333; line-height: 1.7; }
.cfaq-title { font-size: 1.5rem; font-weight: 700; margin: 0 0 1.2em 0; color: #1a1a1a; }
.cfaq-list { display: flex; flex-direction: column; gap: 12px; }
.cfaq-item { border: 1px solid #d8dde3; border-radius: 4px; background: #fff; overflow: hidden; }
.cfaq-question { display: flex; align-items: center; width: 100%; margin: 0; padding: 16px 18px; background: #f5f8fb; border: 0; border-bottom: 1px solid #e3e8ee; font: inherit; color: #1a1a1a; font-weight: 700; text-align: left; cursor: pointer; transition: background-color 0.15s ease; }
.cfaq-question:hover { background: #eef3f8; }
.cfaq-question:focus-visible { outline: 2px solid #5e9bd5; outline-offset: -2px; }
.cfaq-item:not(.is-open) .cfaq-question { border-bottom-color: transparent; }
.cfaq-answer { display: flex; align-items: flex-start; padding: 16px 18px; background: #fff; }
.cfaq-answer[hidden] { display: none; }
.cfaq-a-text { flex: 1; color: #333; font-weight: 400; }
.cfaq-mark { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 26px; height: 26px; margin-right: 12px; font-size: 14px; font-weight: 700; line-height: 1; }
.cfaq-mark-q { background: #5e9bd5; color: #fff; border-radius: 50%; }
.cfaq-mark-a { color: #d9534f; background: transparent; font-size: 16px; }
.cfaq-q-text { flex: 1; padding-right: 12px; }
.cfaq-chevron { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 20px; height: 20px; color: #6b7785; transition: transform 0.25s ease; transform: rotate(180deg); }
.cfaq-item.is-open .cfaq-chevron { transform: rotate(0deg); }
@media (max-width: 600px) { .cfaq-title { font-size: 1.25rem; } .cfaq-question, .cfaq-answer { padding: 14px 14px; } .cfaq-mark { width: 24px; height: 24px; margin-right: 10px; font-size: 13px; } }

/* ---------- Image Grid (Flexbox) ---------- */
.cfaq-img-grid {
	display: flex; flex-wrap: wrap;
	gap: var(--cfaq-grid-gap, 4px);
	margin: 0.6em 0;
	isolation: isolate;
	--_cols: var(--cfaq-grid-cols, 4);
	--_gap: var(--cfaq-grid-gap, 4px);
	--_basis: calc((100% - (var(--_cols) - 1) * var(--_gap)) / var(--_cols));
}
@media (max-width: 767px) {
	.cfaq-img-grid {
		--_cols: var(--cfaq-grid-mcols, 2);
		--_basis: calc((100% - (var(--_cols) - 1) * var(--_gap)) / var(--_cols));
	}
}
.cfaq-img-grid > * { margin:0 !important; padding:0 !important; flex: 1 1 var(--_basis); max-width: 100%; min-width: 0; }
.cfaq-img-grid figcaption { display: none; }

/* ---------- Luxury Hover Cell ---------- */
.cfaq-cell {
	position: relative; overflow: hidden; border-radius: 4px;
	aspect-ratio: var(--cfaq-grid-ratio, 3/4);
	cursor: zoom-in; background: #f0f0f0;
	transform: translateZ(0);
	transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.55s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform; box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
.cfaq-cell img, .cfaq-cell figure, .cfaq-cell .wp-block-image, .cfaq-cell a {
	display: block; width: 100%; height: 100%; margin:0; padding:0;
}
.cfaq-cell img {
	object-fit: cover; object-position: center;
	transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1), filter 0.6s ease;
	will-change: transform, filter;
}
.cfaq-cell:hover { transform: translateY(-6px); box-shadow: 0 18px 38px -10px rgba(0,0,0,0.35), 0 8px 16px -8px rgba(0,0,0,0.2); z-index: 5; }
.cfaq-cell:hover img { transform: scale(1.08); filter: brightness(1.08) saturate(1.06) contrast(1.02); }
.cfaq-cell::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(115deg, transparent 25%, rgba(255,255,255,0.08) 42%, rgba(255,255,255,0.55) 50%, rgba(255,255,255,0.08) 58%, transparent 75%);
	transform: translateX(-150%); pointer-events: none; mix-blend-mode: screen; opacity: 0;
}
.cfaq-cell:hover::after { animation: cfaq-shimmer 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.05s forwards; }
@keyframes cfaq-shimmer { 0%{transform:translateX(-150%);opacity:0;} 15%{opacity:1;} 85%{opacity:1;} 100%{transform:translateX(150%);opacity:0;} }
@media (hover: none) {
	.cfaq-cell:hover { transform: none; box-shadow: 0 1px 3px rgba(0,0,0,0.06); }
	.cfaq-cell:hover img { transform: none; filter: none; }
	.cfaq-cell:hover::after { animation: none; }
}
@media (prefers-reduced-motion: reduce) {
	.cfaq-cell, .cfaq-cell img { transition: none !important; }
	.cfaq-cell:hover::after { animation: none !important; }
}

/* ---------- FANZA女優ブロック ---------- */
.cfaq-fanza-block { margin: 1.4em 0; }

/* FANZAブロック内のグリッドは、ps.jpgを引き伸ばさず自然サイズで中央寄せ表示する */
.cfaq-fanza-block .cfaq-img-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--cfaq-grid-gap, 20px);
}
.cfaq-fanza-block .cfaq-cell {
	flex: 0 0 auto;            /* 拡大も縮小もしない（自然サイズ） */
	width: auto;
	aspect-ratio: auto;        /* aspect-ratioを解除 */
	background: transparent;
	max-width: 100%;           /* スマホで親より大きくならないように */
}
.cfaq-fanza-block .cfaq-cell img {
	display: block;
	width: auto !important;    /* 自然な横幅 */
	height: auto !important;   /* 自然な縦サイズ - 引き伸ばさない */
	max-width: 100%;
	aspect-ratio: auto;        /* CSSで強制した比率を解除 */
	object-fit: initial;
}

.cfaq-fanza-btn {
	display: block;
	width: 100%;
	padding: 13px 24px;
	margin-top: 8px;
	border: 1.5px solid #d8a829;
	border-radius: 4px;
	color: #d8a829;
	background: #fff;
	font-weight: 500;
	font-size: 15px;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.cfaq-fanza-btn:hover {
	background: #d8a829;
	color: #fff;
	transform: translateY(-1px);
}

/* ---------- Lightbox ---------- */
/* ライトボックス本体: iframe/imgとCTAボタンをflex-columnで縦積み配置 */
.cfaq-lightbox {
	position: fixed; top:0; left:0; width:100%; height:100%;
	background: rgba(0,0,0,0.92);
	z-index:999999;
	display:none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
	cursor: zoom-out;
	padding: 70px 20px 30px;  /* 上: ×ボタン分を確保, 下: ボタン分, 左右: 均等 */
	box-sizing: border-box;
	opacity:0;
	transition: opacity 0.2s ease;
}
.cfaq-lightbox.is-open { display:flex; opacity:1; }
.cfaq-lightbox-close { position: absolute; top: 12px; right: 16px; width: 40px; height: 40px; background: rgba(0,0,0,0.5); color: #fff; border: 0; border-radius: 50%; font-size: 24px; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 2; }
.cfaq-lightbox-close:hover { background: rgba(0,0,0,0.8); }
.cfaq-lightbox-prev, .cfaq-lightbox-next { position: absolute; top: 50%; transform: translateY(-50%); width: 50px; height: 50px; background: rgba(0,0,0,0.4); color: #fff; border: 0; border-radius: 50%; font-size: 28px; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 2; }
.cfaq-lightbox-prev { left: 16px; }
.cfaq-lightbox-next { right: 16px; }
.cfaq-lightbox-prev:hover, .cfaq-lightbox-next:hover { background: rgba(0,0,0,0.7); }
.cfaq-lightbox-counter { position: absolute; top: 16px; left: 50%; transform: translateX(-50%); color: #fff; font-size: 13px; background: rgba(0,0,0,0.5); padding: 5px 12px; border-radius: 20px; z-index: 2; }
/* CTAボタン: flex子要素として通常配置 (動画の直下に配置) */
.cfaq-lightbox-cta {
	position: relative;
	display: inline-block;
	background: #d8a829;
	color: #fff;
	text-decoration: none;
	padding: 12px 28px;
	border-radius: 4px;
	font-weight: 500;
	font-size: 14px;
	z-index: 1;
	flex-shrink: 0;
	transition: background-color 0.2s ease, transform 0.2s ease;
}
.cfaq-lightbox-cta:hover { background: #b8901f; transform: translateY(-1px); }
@media (max-width: 600px) {
	.cfaq-lightbox { padding: 60px 12px 20px; gap: 14px; }
	.cfaq-lightbox-prev, .cfaq-lightbox-next { width: 40px; height: 40px; font-size: 22px; }
	.cfaq-lightbox-cta { padding: 10px 20px; font-size: 13px; }
}

/* ---------- actor-grid のボタン上下余白を縮小 ----------
 * テーマ/別プラグインが生成する <ul class="actor-grid"> 内のボタンに
 * 余白が広めに付いている場合、視覚的にもっとコンパクトにする
 */
.actor-grid li a,
.asc-btns li a,
.actress-grid li a,
.actress-btns li a {
	padding-top: 6px !important;
	padding-bottom: 6px !important;
	line-height: 1.4 !important;
}

/* ---------- 女優カード内テキスト余白の圧縮 ----------
 * actor-grid / actress-grid 系のリスト内にあるカード（女優カード等）の
 * 上下余白を縮小してコンパクトにする
 */
.actor-grid li,
.actress-grid li,
.asc-btns li {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* カード内のテキスト要素（p, h3, h4, h5, span, div など）の余白を縮小 */
.actor-grid li p,
.actor-grid li h2,
.actor-grid li h3,
.actor-grid li h4,
.actor-grid li h5,
.actor-grid li h6,
.actor-grid li dl,
.actor-grid li dt,
.actor-grid li dd,
.actress-grid li p,
.actress-grid li h2,
.actress-grid li h3,
.actress-grid li h4,
.actress-grid li h5,
.actress-grid li h6 {
	margin-top: 2px !important;
	margin-bottom: 2px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	line-height: 1.35 !important;
}

/* カード内のリンク/ボタンも上下paddingを縮小 */
.actor-grid li .button,
.actor-grid li button,
.actor-grid li a.btn,
.actor-grid li a[class*="btn"],
.actress-grid li .button,
.actress-grid li button {
	padding-top: 6px !important;
	padding-bottom: 6px !important;
}

/* 画像とテキストの間 / カード自体のpadding縮小 */
.actor-grid li > div,
.actor-grid li > article,
.actress-grid li > div,
.actress-grid li > article {
	padding-top: 8px !important;
	padding-bottom: 8px !important;
}

/* ---------- custom-article-wrapper カード内余白圧縮 ----------
 * 構造: .custom-article-wrapper > .sc_col2 > .card-style > .card-link > .card-body > .info
 * 各 .info 要素の上下余白を縮小し、カード全体をコンパクトにする
 */
.custom-article-wrapper .card-body {
	padding: 10px 12px !important;
}
.custom-article-wrapper .card-body .info {
	margin: 0 !important;
	padding: 2px 0 !important;
	line-height: 1.35 !important;
}
.custom-article-wrapper .card-body .info.work_title {
	margin-bottom: 2px !important;
	padding-bottom: 2px !important;
}
.custom-article-wrapper .card-body .btn {
	display: inline-block !important;
	padding: 7px 14px !important;
	margin-top: 6px !important;
	line-height: 1.3 !important;
}
.custom-article-wrapper .sc_col2 {
	margin-bottom: 0 !important;
}
.custom-article-wrapper .card-style.card {
	margin-bottom: 8px !important;
}

/* ---------- カード内 .info にSVGアイコンを追加 ----------
 * タイトル / 女優 / レーベル / 品番 / 配信日 の頭にアイコンを表示
 * SVGはdata URIで埋め込み（外部ファイル不要）
 */
.custom-article-wrapper .card-body .info {
	position: relative;
	padding-left: 22px !important;
}
.custom-article-wrapper .card-body .info::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.45em;
	width: 14px;
	height: 14px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	opacity: 0.68;
}

/* タイトル: フィルムストリップ */
.custom-article-wrapper .card-body .info.work_title::before {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='5' width='20' height='14' rx='1.5'/><line x1='2' y1='10' x2='22' y2='10'/><line x1='2' y1='14' x2='22' y2='14'/><line x1='6' y1='5' x2='6' y2='19'/><line x1='18' y1='5' x2='18' y2='19'/></svg>");
}
/* タイトル文字はちょっと強調 */
.custom-article-wrapper .card-body .info.work_title strong {
	font-weight: 700;
}

/* 女優名: 人物アイコン */
.custom-article-wrapper .card-body .info.actress::before {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='8' r='4'/><path d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/></svg>");
}

/* レーベル: タグアイコン */
.custom-article-wrapper .card-body .info.label::before {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M20.6 13.4l-7.2 7.2a2 2 0 0 1-2.8 0L2 11.8V2h9.8l8.8 8.8a2 2 0 0 1 0 2.6z'/><circle cx='7.5' cy='7.5' r='1.5'/></svg>");
}

/* 品番: バーコード */
.custom-article-wrapper .card-body .info.code::before {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M3 5v14M6 5v14M9 5v14M12 5v14M15 5v14M18 5v14M21 5v14'/></svg>");
	font-family: monospace;
}
.custom-article-wrapper .card-body .info.code {
	font-family: 'Courier New', Consolas, monospace;
	font-size: 0.92em;
	color: #555;
}

/* 配信日: カレンダーアイコン */
.custom-article-wrapper .card-body .info.date::before {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='16' rx='2'/><line x1='8' y1='3' x2='8' y2='7'/><line x1='16' y1='3' x2='16' y2='7'/><line x1='3' y1='10' x2='21' y2='10'/></svg>");
}
.custom-article-wrapper .card-body .info.date {
	color: #777;
	font-size: 0.92em;
}

/* ---------- v1.12.0: 修正1 - FANZA女優ブロックの上下余白統一 ---------- */
.cfaq-fanza-block .cfaq-img-grid {
	margin-top: 8px !important;
	margin-bottom: 8px !important;
}

/* ---------- v1.12.0: 修正4 - [image_grid]内画像のFANZAアフィリンクボタン ---------- */
.cfaq-img-with-btn {
	display: block;
	width: 100%;
}
.cfaq-img-with-btn img {
	display: block;
	width: 100%;
}
.cfaq-item-btn {
	display: block;
	margin-top: 6px;
	padding: 7px 10px;
	background: #d8a829;
	color: #fff !important;
	text-decoration: none !important;
	text-align: center;
	font-size: 12px;
	font-weight: 500;
	border-radius: 3px;
	line-height: 1.3;
	transition: background-color 0.2s ease, transform 0.15s ease;
	box-sizing: border-box;
}
.cfaq-item-btn:hover {
	background: #b8901f;
	transform: translateY(-1px);
}
/* image_gridのcell内ではcellの境界を超えてボタンを出す */
.cfaq-cell .cfaq-img-with-btn {
	height: 100%;
}
.cfaq-cell .cfaq-img-with-btn .cfaq-item-btn {
	position: absolute;
	left: 4px;
	right: 4px;
	bottom: 4px;
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: 2;
}
.cfaq-cell:hover .cfaq-img-with-btn .cfaq-item-btn {
	opacity: 1;
}
/* FANZA女優ブロック内のセルでは、ホバー時にボタン表示 */
.cfaq-fanza-block .cfaq-cell .cfaq-img-with-btn .cfaq-item-btn {
	opacity: 0;
}
.cfaq-fanza-block .cfaq-cell:hover .cfaq-img-with-btn .cfaq-item-btn {
	opacity: 1;
}

/* ---------- v1.15.0: ライトボックスのメディア(iframe/img)サイズ計算 (黄金比) ---------- */
/* PC/SP ともに黄金比 1.618:1 (φ) で統一。
 * これにより 16:9 (1.778) より縦に少し余裕が生まれ、上下左右の余白バランスが整う。
 * レイアウトの予約領域:
 *   PC : padding-top 70 + padding-bottom 30 + gap 20 + CTAボタン約50 = 170px
 *   SP : padding-top 60 + padding-bottom 20 + gap 14 + CTAボタン約45 = 139px (≒140)
 */
.cfaq-lightbox-media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	/* 横幅: 90vw, 1280px, 利用可能高×φ のうち最小 */
	width: min(90vw, 1280px, calc((100vh - 170px) * 1.618));
	max-height: calc(100vh - 170px);
	flex-shrink: 0;
}
.cfaq-lightbox-iframe {
	display: block;
	width: 100%;
	aspect-ratio: 1618 / 1000;  /* 黄金比 φ ≈ 1.618:1 */
	max-height: calc(100vh - 170px);
	background: #000;
	border: 0;
	box-shadow: 0 0 40px rgba(0,0,0,0.5);
}
/* 画像表示時は自然サイズ */
.cfaq-lightbox-media img {
	max-width: 100%;
	max-height: calc(100vh - 170px);
	object-fit: contain;
	display: block;
	box-shadow: 0 0 40px rgba(0,0,0,0.5);
}
@media (max-width: 600px) {
	/* スマホ: 黄金比維持 + 横幅95vwまで許容 */
	.cfaq-lightbox-media {
		width: min(95vw, calc((100vh - 140px) * 1.618));
		max-height: calc(100vh - 140px);
	}
	.cfaq-lightbox-iframe {
		aspect-ratio: 1618 / 1000;  /* 黄金比維持 */
		max-height: calc(100vh - 140px);
	}
	.cfaq-lightbox-media img {
		max-height: calc(100vh - 140px);
	}
}


/* ============================================================
   v1.17.0: 作品情報リスト 3Dフリップボタン
   スコープ: .cfaq-work-info (作品情報UL専用)
   外部のリンクや他のULには一切影響しない
   ============================================================ */
.cfaq-work-info {
	list-style: none;
	padding: 0;
	margin: 16px 0;
}
.cfaq-work-info > li {
	margin: 8px 0;
	line-height: 1.9;
	list-style: none;
}

/* v1.17.4: ラベル/コンテンツの2カラム flex layout で全ボタンを左揃え */
.cfaq-work-info > li.cfaq-wi-row {
	display: flex;
	align-items: flex-start;
	flex-wrap: nowrap;
	gap: 8px;
}
.cfaq-work-info .cfaq-wi-label {
	flex: 0 0 auto;
	min-width: 5.5em;       /* 「レーベル」「ハイビジョン」等の最長ラベル想定 */
	padding-top: 9px;       /* ボタンの上padding(10px)とほぼ揃える */
	font-weight: 500;
	color: #333;
	white-space: nowrap;
}
.cfaq-work-info .cfaq-wi-label::after {
	content: '：';
}
.cfaq-work-info .cfaq-wi-content {
	flex: 1 1 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 4px;
	min-width: 0;
}

/* コンテンツ内に直書きされた全角スペース (元HTMLの「　」) を視覚的に潰す */
.cfaq-work-info .cfaq-wi-content {
	text-indent: 0;
}

@media (max-width: 600px) {
	/* スマホ: ラベル幅をやや縮小、行間調整 */
	.cfaq-work-info .cfaq-wi-label {
		min-width: 4.5em;
		font-size: 13px;
		padding-top: 7px;
	}
	.cfaq-work-info > li.cfaq-wi-row {
		gap: 6px;
	}
}

/* 3Dフリップボタン本体 */
.cfaq-work-info a.btn-3d-flip,
.cfaq-work-info a.btn-3d-flip2 {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	width: auto;
	min-width: 130px;
	margin: 4px 6px 4px 0;
	padding: 0;
	cursor: pointer;
	-webkit-user-select: none;
	user-select: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: 0.06em;
	color: #212529;
	border-radius: 4px;
	-webkit-perspective: 600px;
	perspective: 600px;
}

/* ホバー時: Y軸90度回転で裏面表示 */
.cfaq-work-info a.btn-3d-flip2:hover .btn-3d-flip-box2 {
	-webkit-transform: translateX(-50%) rotateY(-90deg);
	transform: translateX(-50%) rotateY(-90deg);
}

/* フリップボックス (表/裏面のコンテナ) */
.cfaq-work-info .btn-3d-flip-box2 {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	margin: auto;
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
	-webkit-transform: rotateY(0);
	transform: rotateY(0);
	text-decoration: none;
	text-transform: uppercase;
	color: #fff;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
}

/* 各面 (表/裏共通) */
.cfaq-work-info .btn-3d-flip-box-face {
	display: block;
	position: relative;
	width: 100%;
	padding: 10px 32px 10px 14px;
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	box-sizing: border-box;
}

/* 表面 (デフォルト): 白背景・黒文字・黒枠 */
.cfaq-work-info .btn-3d-flip-box-face--front2 {
	color: #000;
	border: 2px solid #000;
	background: #fff;
}

/* 裏面 (ホバー時表示): 黒背景・白文字 */
.cfaq-work-info .btn-3d-flip-box-face--back2 {
	position: absolute;
	top: 0;
	left: 100%;
	-webkit-transform: translateX(-1px) rotateY(90deg);
	transform: translateX(-1px) rotateY(90deg);
	-webkit-transform-origin: 0 0;
	transform-origin: 0 0;
	color: #fff;
	border: 2px solid #000;
	background: #000;
}

/* 右側に矢印アイコン (SVG, v1.17.3: stroke方式シェブロン) */
.cfaq-work-info .cfaq-btn3d-icon {
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	display: inline-block;
	vertical-align: middle;
}

/* 区切りスペース (元HTMLの全角スペース) を控えめに */
.cfaq-work-info > li > a + a {
	margin-left: 0;
}

/* スマホ調整 */
@media (max-width: 600px) {
	.cfaq-work-info a.btn-3d-flip,
	.cfaq-work-info a.btn-3d-flip2 {
		font-size: 12px;
		min-width: 110px;
	}
	.cfaq-work-info .btn-3d-flip-box-face {
		padding: 8px 28px 8px 12px;
	}
}
