@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.2.6
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ===== 比較表 スクロールテーブル ===== */
.scroll-table {
	width: 100%;
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
}
.scroll-table table, .scroll-table thead, .scroll-table tbody, .scroll-table tr, .scroll-table th, .scroll-table td {
	display: block;
	font-size: 11px;
}
.scroll-table table {
	table-layout: fixed;
	margin-bottom: 3px;
	border: none;
}
.scroll-table thead { float: left; }
.scroll-table th, .scroll-table td {
	min-height: 27px;
	border: 1px solid #e7e7e7;
	padding: 6px;
}
.scroll-table th {
	width: 100px;
	background-color: #f7f7f7;
	font-weight: normal;
}
.scroll-table tbody {
	white-space: nowrap;
	letter-spacing: -.4em;
}
.scroll-table tbody tr {
	display: inline-block;
	letter-spacing: normal;
}
.scroll-table td {
	width: 143px;
	white-space: normal;
	overflow-wrap: break-word;
}
.scroll-table.four-service td { width: 161.5px; }
.scroll-table.td-5 td { width: 170px; }
.scroll-table tr td:first-child, .scroll-table tr th:first-child {
	border-bottom: solid 2px #e7e7e7;
}
.scroll-table .service-logo {
	display: flex; justify-content: center; align-items: center;
	height: 31px; margin: 5px 0 5px 0;
}
.scroll-table .service-logo img {
	max-width: 85%; height: auto; max-height: 100%; margin: 0;
}
.scroll-table .link-btn {
	display: block; text-decoration: none; text-align: center;
	color: var(--ty-color-btn); font-size: 13px; font-weight: 700;
	border: solid 2px var(--ty-color-btn); border-radius: 3px; padding: 6px; margin: 0 5px;
}
.scroll-table .link-btn:hover { color: #ffffff; background-color: var(--ty-color-btn); }
.scroll-table p { margin: 0 0 1.5em; line-height: 1.8; }

/* =========================================================
   リニューアル: my-best.com 寄せ タイポグラフィ
   ========================================================= */

:root {
	--ty-color-main: #5c5c5c;
	--ty-color-accent: #F57B02;
	--ty-color-accent-soft: #ffb03f;
	/* CTAボタン共通カラー (全ショートコード [alice]/[mario]/[fotowa]/[lovegraph]/[cbtn]/[btn]/[fbtn] で統一) */
	--ty-color-btn: #e94235;
	--ty-color-btn-hover: #c9382d;
	--ty-color-info: #57BCDA;
	--ty-color-text: #313131;
	--ty-color-heading: #111;
	--ty-color-sub: #999;
	--ty-color-border: #e7e7e7;
	--ty-color-bg-soft: #f7f7f7;
	--ty-color-footer-bg: #f4f5f7;
	--ty-hero-offset: 332px;

	--ty-font-family:
		-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "BIZ UDPGothic",
		arial, helvetica, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3",
		sans-serif;
	--ty-font-size-base: 14px;
	--ty-line-height-base: 1.5;
	--ty-line-height-readable: 1.7;
	--ty-heading-letter-spacing: .04em;

	/* FontAwesome ファミリー (v6 solid) */
	--ty-fa-family: "Font Awesome 6 Free", "FontAwesome", "Font Awesome 5 Free";

	/* SWELL が参照する本文サイズ変数を上書き */
	--swl-fz--content: 14px;
}

/* --- ベース --- */
html, body {
	font-family: var(--ty-font-family);
}
body {
	color: var(--ty-color-text);
	background: #fff;
	line-height: var(--ty-line-height-base);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	letter-spacing: 0;
}
input, textarea, button, select, pre {
	font-family: var(--ty-font-family);
}
a:hover { text-decoration: none; opacity: .8; }

/* 見出し共通: palt */
h1, h2, h3, h4, h5, h6,
.ty-section__title,
.ty-paged-header__title,
.ty-hero__title,
.ty-profile__name,
.l-sidebar .c-widget__title,
.l-sidebar .widget-title,
.l-sidebar .widgettitle,
.l-footer .c-widget__title,
.l-footer .widget-title {
	font-feature-settings: "palt" 1;
	letter-spacing: var(--ty-heading-letter-spacing);
}

/* 本文 bold */
#main_content .post_content strong,
#main_content .post_content b,
.p-articleContent strong,
.p-articleContent b,
.post_content strong,
.post_content b,
.c-postContent strong,
.c-postContent b {
	font-weight: 700;
	background: none;
}

/* --- ヘッダー --- */
.l-header {
	border-bottom: 1px solid var(--ty-color-border);
	box-shadow: none !important;
}
.l-header__inner,
.l-header__body { padding-top: 2px; padding-bottom: 2px; }
.l-header.-parallel_bottom .c-headLogo,
.l-header .c-headLogo { justify-content: center; }
.l-header .c-headLogo img,
.l-header .c-headLogo a img {
	max-height: 40px;
	width: auto;
}
.l-header__gnav {
	justify-content: center;
	border-top: 1px solid var(--ty-color-border);
}
.l-header__gnavInner,
.c-gnav { justify-content: center; }
.c-gnav > .menu-item > a {
	font-size: 14px;
	letter-spacing: .04em;
	padding: 12px 18px;
	color: var(--ty-color-main);
	font-weight: 700;
	border-right: 1px solid var(--ty-color-border);
}
.c-gnav > .menu-item:first-child > a {
	border-left: 1px solid var(--ty-color-border);
}
.c-gnav > .menu-item > a:hover { color: var(--ty-color-accent); }
.c-gnav > .menu-item > a::after,
.c-gnav > .menu-item > a::before { background: var(--ty-color-accent) !important; }

/* ドロップダウン */
.c-gnav .sub-menu {
	background: #5c5c5c;
	min-width: 200px;
	max-height: 70vh;
	overflow-y: auto;
	box-shadow: 0 6px 18px rgba(0,0,0,.12);
	padding: 6px 0;
	border: none;
}
.c-gnav .sub-menu .menu-item > a {
	color: #fff;
	font-size: 13px;
	padding: 12px 18px;
	letter-spacing: .04em;
	border: none;
	font-weight: 400;
}
.c-gnav .sub-menu .menu-item > a:hover {
	background: #4a4a4a; color: #fff; opacity: 1;
}

.c-gnav__search,
.p-spMenu__searchBtn { color: var(--ty-color-main); }

/* --- コンテンツ --- */
.l-mainContent { background: #fff; }
.c-pageTitle { border-bottom: 1px solid var(--ty-color-border); }

/* 記事冒頭のアイキャッチ画像を非表示 */
.l-article .p-articleThumb,
.p-articleThumb { display: none !important; }

/* --- 記事カード/サムネ (トップ / 一覧) --- */
.p-postList .p-postList__figure,
.p-postList .c-postThumb__figure {
	aspect-ratio: 2 / 1;
}
.p-postList__figure img,
.p-postList .c-postThumb img,
.p-postList__img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.p-postList__meta,
.p-postList__title { color: var(--ty-color-text); }
.p-postList__title {
	font-weight: 700;
	line-height: 1.55;
	font-feature-settings: "palt" 1;
	letter-spacing: .04em;
}
.p-postList__thumb img { transition: transform .4s ease; }
.p-postList__thumb:hover img { transform: scale(1.03); }

/* --- SWELL ブログカード (あわせて読みたい): サムネ正方形 --- */
.p-blogCard .c-postThumb__figure,
.p-blogCard .p-postList__figure {
	aspect-ratio: 1 / 1 !important;
	padding-top: 0 !important;
	overflow: hidden;
	border-radius: 4px;
}
.p-blogCard .c-postThumb__figure:before {
	content: none !important;
}
.p-blogCard .c-postThumb__img,
.p-blogCard .c-postThumb__figure img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	position: absolute;
	inset: 0;
}
.p-blogCard__thumb {
	flex-shrink: 0;
	width: 140px !important;
	margin-right: 16px !important;
}
@media (max-width: 599px) {
	.p-blogCard__thumb {
		width: 100px !important;
	}
}

/* --- 記事末尾「関連記事」サムネ正方形 + コンパクト化 --- */
.p-relatedPosts .c-postThumb__figure,
.p-relatedPosts .p-postList__figure {
	aspect-ratio: 1 / 1 !important;
	padding-top: 0 !important;
	overflow: hidden;
	border-radius: 4px;
	max-width: 160px;
	margin-left: auto;
	margin-right: auto;
}
.p-relatedPosts .c-postThumb__figure::before {
	content: none !important;
}
.p-relatedPosts .c-postThumb__img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}
.p-relatedPosts .p-postList__item {
	padding: 0 6px;
}
.p-relatedPosts .p-postList__title {
	font-size: 13px;
	line-height: 1.5;
	margin-top: 8px;
	color: var(--ty-color-text);
}
.p-relatedPosts .p-postList__meta,
.p-relatedPosts .p-postList__times {
	font-size: 10px;
	color: var(--ty-color-sub);
	letter-spacing: 0;
}
@media (max-width: 599px) {
	.p-relatedPosts .c-postThumb__figure,
	.p-relatedPosts .p-postList__figure {
		max-width: 120px;
	}
	.p-relatedPosts .p-postList__item {
		width: 50% !important;
		padding: 0 4px;
		margin-bottom: 1em !important;
	}
	.p-relatedPosts .p-postList__title {
		font-size: 12px;
		line-height: 1.45;
		margin-top: 6px;
	}
	.p-relatedPosts .p-postList__meta,
	.p-relatedPosts .p-postList__times {
		font-size: 9px;
	}
}

/* --- post_list type="list" (アーカイブ) --- */
.p-postList.-type-list { list-style: none; padding: 0; margin: 0; }
.p-postList.-type-list .p-postList__item {
	border-bottom: 1px solid var(--ty-color-border);
	padding: 16px 0;
	list-style: none;
	margin: 0;
}
.p-postList.-type-list .p-postList__item:first-child { padding-top: 4px; }
.p-postList.-type-list .p-postList__item::before { display: none; }
.p-postList.-type-list .p-postList__link {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	text-decoration: none;
	color: inherit;
}
.p-postList.-type-list .p-postList__thumb {
	flex: 0 0 140px;
	width: 140px;
	margin: 0;
	position: relative;
}
.p-postList.-type-list .c-postThumb__figure,
.p-postList.-type-list .p-postList__figure {
	aspect-ratio: 1 / 1;
	width: 100%;
	height: auto;
	overflow: hidden;
	border-radius: 4px;
	margin: 0;
	background: var(--ty-color-bg-soft);
}
.p-postList.-type-list .c-postThumb__figure img,
.p-postList.-type-list .p-postList__figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.p-postList.-type-list .c-postThumb__cat { display: none !important; }
.p-postList.-type-list .p-postList__body {
	flex: 1 1 auto;
	min-width: 0;
}
.p-postList.-type-list .p-postList__title {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.55;
	margin: 0 0 8px;
	color: var(--ty-color-text);
	font-feature-settings: "palt" 1;
	letter-spacing: .04em;
}
.p-postList.-type-list .p-postList__meta {
	font-size: 12px;
	color: var(--ty-color-sub);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 6px 0 0;
	letter-spacing: 0;
}
.p-postList.-type-list .p-postList__excerpt {
	font-size: 13px;
	line-height: 1.7;
	color: var(--ty-color-sub);
	margin: 0 0 8px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
@media (max-width: 959px) {
	.p-postList.-type-list .p-postList__excerpt { display: none; }
}
@media (max-width: 599px) {
	.p-postList.-type-list .p-postList__thumb { flex-basis: 96px; width: 96px; }
	.p-postList.-type-list .p-postList__link { gap: 12px; }
	.p-postList.-type-list .p-postList__title { font-size: 14px; margin-bottom: 6px; }
}

/* --- トップページ --- */
.ty-container {
	max-width: 1200px; margin: 0 auto;
	padding: 0 24px; box-sizing: border-box;
}

@media (min-width: 960px) {
	.home:not(.paged) .l-sidebar,
	.page-id-front:not(.paged) .l-sidebar {
		margin-top: var(--ty-hero-offset);
	}
}
.home .c-postListWrap,
.home .p-postListWrap { max-width: 1200px; margin: 0 auto; }

.top #content,
body.top #content,
.home #content { padding-top: 0 !important; }
.home:not(.paged) .l-mainContent,
.home:not(.paged) .l-mainContent__inner,
.page-id-front:not(.paged) .l-mainContent,
.page-id-front:not(.paged) .l-mainContent__inner {
	padding-top: 0 !important;
	margin-top: 0 !important;
}
.home:not(.paged) .w-frontTop,
.home:not(.paged) .w-frontTop > .c-widget:first-child,
.home:not(.paged) .w-frontTop .widget_custom_html:first-child,
.home:not(.paged) .w-frontTop .custom-html-widget,
.page-id-front:not(.paged) .w-frontTop,
.page-id-front:not(.paged) .w-frontTop > .c-widget:first-child,
.page-id-front:not(.paged) .w-frontTop .widget_custom_html:first-child,
.page-id-front:not(.paged) .w-frontTop .custom-html-widget {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
.home:not(.paged) .ty-hero,
.page-id-front:not(.paged) .ty-hero {
	margin-top: 0;
}

/* ページヘッダー */
.ty-paged-header {
	padding: 8px 0 20px;
	border-bottom: 1px solid var(--ty-color-border);
	margin-bottom: 24px;
}
.ty-paged-header__title {
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 6px;
	color: var(--ty-color-heading);
	display: flex;
	align-items: center;
	gap: 10px;
}
.ty-paged-header__title::before {
	content: '';
	width: 6px; height: 20px;
	background: var(--ty-color-accent);
	display: inline-block;
	border-radius: 2px;
}
.ty-paged-header__sub {
	font-size: 12px;
	color: var(--ty-color-sub);
	margin: 0;
	letter-spacing: 0;
}

/* ページネーション */
.c-pagination {
	display: flex; justify-content: center; align-items: center;
	gap: 6px; flex-wrap: wrap; margin: 40px 0 20px;
}
.c-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 36px; height: 36px; padding: 0 10px;
	font-size: 13px; color: var(--ty-color-text);
	background: #fff; border: 1px solid var(--ty-color-border);
	border-radius: 3px; text-decoration: none;
	transition: all .2s ease; font-weight: 400;
}
.c-pagination .page-numbers:hover {
	background: var(--ty-color-main); color: #fff;
	border-color: var(--ty-color-main); opacity: 1;
}
.c-pagination .page-numbers.current {
	background: var(--ty-color-accent); color: #fff;
	border-color: var(--ty-color-accent); font-weight: 700;
}
.c-pagination__dot { color: var(--ty-color-sub); padding: 0 4px; }

/* --- ヒーロー --- */
.ty-hero {
	position: relative;
	width: 100vw;
	max-width: 100vw;
	margin-left: min(calc(-1 * var(--swl-pad_container, 16px)), calc((1200px - 100vw) / 2));
	margin-right: min(calc(-1 * var(--swl-pad_container, 16px)), calc((1200px - 100vw) / 2));
	background-color: #ffed65;
	background-image: url('https://toreruyo.jp/wp-content/uploads/2019/06/PC_header.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	min-height: 300px;
	display: flex; align-items: center; justify-content: center;
	color: var(--ty-color-text); text-align: center;
	margin-bottom: 32px;
}
.ty-hero__inner {
	padding: 22px 22px;
	max-width: 640px;
	background: rgba(255,255,255,.72);
	border-radius: 4px;
}
.ty-hero__catch {
	font-size: 13px; font-weight: 700;
	letter-spacing: .04em; margin: 0 0 8px;
	color: var(--ty-color-main);
	font-feature-settings: "palt" 1;
}
.ty-hero__title {
	font-size: 28px; font-weight: 700;
	letter-spacing: .04em; margin: 0 0 10px;
	line-height: 1.4;
	color: var(--ty-color-heading);
	font-feature-settings: "palt" 1;
}
.ty-hero__desc {
	font-size: 14px; line-height: 1.7;
	color: var(--ty-color-text);
	margin: 0 auto; max-width: 520px;
	font-weight: 400; letter-spacing: 0;
}
.ty-hero__desc--sp { display: none; }
@media (max-width: 959px) {
	.ty-hero {
		min-height: 220px;
		background-image: url('https://toreruyo.jp/wp-content/uploads/2019/06/SP_header.jpg');
		background-size: contain;
		background-position: center bottom;
		background-color: #ffed65;
		align-items: flex-start;
		padding: 12px 12px 0;
	}
	.ty-hero__inner { padding: 12px 14px; max-width: 86%; background: rgba(255,255,255,.85); }
	.ty-hero__catch { font-size: 11px; margin: 0 0 4px; }
	.ty-hero__title { font-size: 18px; line-height: 1.35; margin: 0 0 6px; }
	.ty-hero__desc { font-size: 13px; line-height: 1.7; max-width: 100%; }
	.ty-hero__desc--pc { display: none; }
	.ty-hero__desc--sp { display: block; }
}

/* カテゴリバナー */
.ty-cat-banners {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin: 48px 0 56px;
}
.ty-cat-banners__item {
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: 6px;
	text-decoration: none !important;
	}
.ty-cat-banners__item img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 6 / 5;
	object-fit: cover;}
/* 旧・色付きラベル表示（画像未使用時のフォールバック用に保持） */
.ty-cat-banners__label {
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	color: #fff; font-weight: 700;
	font-size: 16px; letter-spacing: .04em;
	text-shadow: 0 2px 8px rgba(0,0,0,.25);
	text-align: center; padding: 8px;
	background: linear-gradient(135deg, rgba(0,0,0,.05), rgba(0,0,0,.2));
	font-feature-settings: "palt" 1;
}
@media (max-width: 767px) {
	.ty-cat-banners { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.ty-cat-banners__label { font-size: 14px; }
}

/* セクション */
.ty-section { margin: 56px 0; }
.ty-section__title {
	font-size: 22px; font-weight: 700;
	margin: 0 0 24px; padding: 0 0 12px;
	border-bottom: 2px solid var(--ty-color-main);
	display: flex; align-items: center; gap: 10px;
	color: var(--ty-color-heading);
}
.ty-section__title::before {
	content: ''; width: 6px; height: 20px;
	background: var(--ty-color-accent);
	display: inline-block; border-radius: 2px;
}
.ty-section__more { text-align: center; margin-top: 28px; }
.ty-section__more a {
	display: inline-block;
	padding: 8px 20px;
	border: 1px solid var(--ty-color-main);
	color: var(--ty-color-main);
	font-size: 13px; letter-spacing: .04em;
	border-radius: 2px; text-decoration: none;
	font-weight: 400;
}
.ty-section__more a:hover {
	background: var(--ty-color-main); color: #fff; opacity: 1;
}

/* プロフィール */
.ty-profile {
	display: flex; gap: 24px; align-items: center;
	background: var(--ty-color-bg-soft); padding: 28px;
	border-radius: 6px; border: 1px solid var(--ty-color-border);
}
.ty-profile__avatar {
	flex: 0 0 96px; width: 96px; height: 96px;
	border-radius: 50%; overflow: hidden; background: #ddd;
}
.ty-profile__avatar img { width: 100%; height: 100%; object-fit: cover; }
.ty-profile__body { flex: 1; }
.ty-profile__name { font-weight: 700; font-size: 17px; margin: 0 0 6px; color: var(--ty-color-heading); }
.ty-profile__desc { font-size: 14px; line-height: 1.7; color: var(--ty-color-text); margin: 0; font-weight: 400; }
@media (max-width: 599px) {
	.ty-profile { flex-direction: column; text-align: center; }
	.ty-profile__avatar { flex-basis: auto; }
}

/* サイドバーウィジェット */
.l-sidebar .p-widget,
.l-sidebar .widget { margin-bottom: 36px; }
.l-sidebar .c-widget__title,
.l-sidebar .widget-title,
.l-sidebar .widgettitle {
	font-size: 15px; font-weight: 700;
	padding: 0 0 10px; margin: 0 0 16px;
	border-bottom: 2px solid var(--ty-color-main);
	position: relative; color: var(--ty-color-heading);
}
.l-sidebar .c-widget__title::before,
.l-sidebar .widget-title::before,
.l-sidebar .widgettitle::before {
	content: ''; position: absolute;
	left: 0; bottom: -2px;
	width: 40px; height: 2px; background: var(--ty-color-accent);
}
.l-sidebar ul li a {
	font-size: 13px; color: var(--ty-color-text); font-weight: 400;
}
.l-sidebar ul li a:hover { color: var(--ty-color-accent); }

/* フッター */
.l-footer {
	background: var(--ty-color-footer-bg);
	color: var(--ty-color-text);
	border-top: 1px solid var(--ty-color-border);
}
.l-footer__widgetArea { padding: 56px 0 24px; }
.l-footer .p-footerWidgets__inner,
.l-footer .p-footerWidget__inner {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px;
}
.l-footer .c-widget__title,
.l-footer .widget-title {
	color: var(--ty-color-heading);
	font-size: 14px; font-weight: 700;
	border-bottom: 1px solid var(--ty-color-border);
	padding-bottom: 10px; margin-bottom: 14px;
}
.l-footer ul li { list-style: none; margin: 0 0 8px; }
.l-footer ul li a {
	color: var(--ty-color-text); font-size: 13px;
	text-decoration: none; font-weight: 400;
}
.l-footer ul li a:hover { color: var(--ty-color-accent); }
.l-footer__copyright,
.c-footerCopyright {
	text-align: center; font-size: 12px;
	padding: 18px 0; color: var(--ty-color-sub);
	background: #eceef1;
	border-top: 1px solid var(--ty-color-border);
	letter-spacing: 0;
}
@media (max-width: 767px) {
	.l-footer .p-footerWidgets__inner,
	.l-footer .p-footerWidget__inner {
		grid-template-columns: 1fr; gap: 28px;
	}
}

/* --- 記事本文 --- */
#main_content .post_content,
#main_content .p-articleContent,
#main_content .c-postContent,
#lp-content .post_content,
.p-articleContent,
.post_content,
.c-postContent {
	font-size: 14px;
	line-height: var(--ty-line-height-readable);
	color: var(--ty-color-text);
	font-weight: 400;
}
#main_content .post_content p,
#lp-content .post_content p,
.p-articleContent p,
.post_content p,
.c-postContent p {
	margin: 0 0 24px; font-size: inherit;
}

/* =========================================================
   記事見出し h2/h3/h4 - tsukiminimal.com 風
   ========================================================= */
#main_content .post_content h2,
.p-articleContent h2,
.post_content h2:not(.merit-title):not(.demerit-title),
.c-postContent h2 {
	position: relative;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	color: var(--ty-color-heading);
	font-feature-settings: "palt" 1;
	margin: 48px 0 20px;
	padding: .75em 1em;
	border: none;
	border-left: solid 8px var(--ty-color-main);
	background:
		linear-gradient(135deg,
			transparent 25%,
			rgba(92, 92, 92, 0.06) 25%,
			rgba(92, 92, 92, 0.06) 50%,
			transparent 50%,
			transparent 75%,
			rgba(92, 92, 92, 0.06) 75%,
			rgba(92, 92, 92, 0.06));
	background-size: 4px 4px;
}

#main_content .post_content h3:not(.merit-title):not(.demerit-title),
.p-articleContent h3:not(.merit-title):not(.demerit-title),
.post_content h3:not(.merit-title):not(.demerit-title),
.c-postContent h3:not(.merit-title):not(.demerit-title) {
	position: relative;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	color: var(--ty-color-heading);
	font-feature-settings: "palt" 1;
	margin: 36px 0 16px;
	padding: 0 .5em .5em;
	border: none;
	background: none;
}
#main_content .post_content h3:not(.merit-title):not(.demerit-title)::before,
.p-articleContent h3:not(.merit-title):not(.demerit-title)::before,
.post_content h3:not(.merit-title):not(.demerit-title)::before,
.c-postContent h3:not(.merit-title):not(.demerit-title)::before {
	content: "";
	display: block;
	position: absolute;
	left: 0; right: 0; bottom: 0;
	width: 100%; height: 4px;
	background:
		linear-gradient(135deg,
			transparent 25%,
			var(--ty-color-main) 25%,
			var(--ty-color-main) 50%,
			transparent 50%,
			transparent 75%,
			var(--ty-color-main) 75%,
			var(--ty-color-main));
	background-size: 4px 4px;
	opacity: .5;
}

#main_content .post_content h4,
.p-articleContent h4,
.post_content h4,
.c-postContent h4 {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	color: var(--ty-color-heading);
	font-feature-settings: "palt" 1;
	margin: 28px 0 12px;
	padding: 0 0 0 14px;
	border: none;
	border-left: solid 2px var(--ty-color-main);
}

/* SP */
@media (max-width: 599px) {
	#main_content .post_content h2,
	.p-articleContent h2,
	.post_content h2:not(.merit-title):not(.demerit-title),
	.c-postContent h2 {
		font-size: 19px;
		padding: .6em .75em;
		border-left-width: 6px;
	}
	#main_content .post_content h3:not(.merit-title):not(.demerit-title),
	.p-articleContent h3:not(.merit-title):not(.demerit-title),
	.post_content h3:not(.merit-title):not(.demerit-title),
	.c-postContent h3:not(.merit-title):not(.demerit-title) {
		font-size: 16px;
	}
	#main_content .post_content h4,
	.p-articleContent h4,
	.post_content h4,
	.c-postContent h4 {
		font-size: 15px;
	}
}

/* =========================================================
   メリット / デメリット (toreruyo 本番踏襲)
   ========================================================= */
#main_content .post_content h3.merit-title,
#main_content .post_content h3.demerit-title,
#main_content .p-articleContent h3.merit-title,
#main_content .p-articleContent h3.demerit-title,
#main_content .c-postContent h3.merit-title,
#main_content .c-postContent h3.demerit-title,
.post_content h3.merit-title,
.post_content h3.demerit-title,
.p-articleContent h3.merit-title,
.p-articleContent h3.demerit-title,
.c-postContent h3.merit-title,
.c-postContent h3.demerit-title {
	position: relative;
	font-size: 20px !important;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	color: var(--ty-color-heading);
	background: none !important;
	border: none !important;
	padding: 0 !important;
	margin: 40px 0 16px !important;
	display: flex;
	align-items: center;
	gap: .5em;
}
#main_content .post_content h3.merit-title::before,
#main_content .post_content h3.demerit-title::before,
#main_content .p-articleContent h3.merit-title::before,
#main_content .p-articleContent h3.demerit-title::before,
#main_content .c-postContent h3.merit-title::before,
#main_content .c-postContent h3.demerit-title::before,
.post_content h3.merit-title::before,
.post_content h3.demerit-title::before,
.p-articleContent h3.merit-title::before,
.p-articleContent h3.demerit-title::before,
.c-postContent h3.merit-title::before,
.c-postContent h3.demerit-title::before {
	position: static !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	width: auto !important;
	height: auto !important;
	background: none !important;
	background-size: auto !important;
	opacity: 1 !important;
	display: inline-block !important;
	margin: 0 !important;
	font-family: var(--ty-fa-family) !important;
	font-weight: 900 !important;
	font-style: normal !important;
	font-variant: normal !important;
	text-rendering: auto !important;
	-webkit-font-smoothing: antialiased !important;
	font-feature-settings: normal !important;
	letter-spacing: 0 !important;
}
#main_content .post_content h3.merit-title::before,
#main_content .p-articleContent h3.merit-title::before,
#main_content .c-postContent h3.merit-title::before,
.post_content h3.merit-title::before,
.p-articleContent h3.merit-title::before,
.c-postContent h3.merit-title::before {
	content: "\f058" !important;
	color: var(--ty-color-accent) !important;
}
#main_content .post_content h3.demerit-title::before,
#main_content .p-articleContent h3.demerit-title::before,
#main_content .c-postContent h3.demerit-title::before,
.post_content h3.demerit-title::before,
.p-articleContent h3.demerit-title::before,
.c-postContent h3.demerit-title::before {
	content: "\f057" !important;
	color: var(--ty-color-info) !important;
}

.post_content ul.merit-list,
.post_content ul.demerit-list,
.p-articleContent ul.merit-list,
.p-articleContent ul.demerit-list,
.c-postContent ul.merit-list,
.c-postContent ul.demerit-list {
	border: 2px solid var(--ty-color-accent-soft);
	border-radius: 6px;
	margin: 0 0 32px;
	padding: 1.25em 1.5em 1.25em 1.75em;
	background: #fff;
	list-style: none;
}
.post_content ul.demerit-list,
.p-articleContent ul.demerit-list,
.c-postContent ul.demerit-list {
	border-color: var(--ty-color-info);
}
.post_content ul.merit-list > li,
.post_content ul.demerit-list > li,
.p-articleContent ul.merit-list > li,
.p-articleContent ul.demerit-list > li,
.c-postContent ul.merit-list > li,
.c-postContent ul.demerit-list > li {
	list-style: none;
	position: relative;
	padding-left: 1.75em;
	margin-bottom: .75em;
	line-height: 1.7;
}
.post_content ul.merit-list > li:last-child,
.post_content ul.demerit-list > li:last-child,
.p-articleContent ul.merit-list > li:last-child,
.p-articleContent ul.demerit-list > li:last-child,
.c-postContent ul.merit-list > li:last-child,
.c-postContent ul.demerit-list > li:last-child {
	margin-bottom: 0;
}
.post_content ul.merit-list > li::before,
.post_content ul.demerit-list > li::before,
.p-articleContent ul.merit-list > li::before,
.p-articleContent ul.demerit-list > li::before,
.c-postContent ul.merit-list > li::before,
.c-postContent ul.demerit-list > li::before {
	content: "\f00c";
	font-family: var(--ty-fa-family);
	font-weight: 900;
	font-style: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	position: absolute;
	left: 0; top: .15em;
	color: var(--ty-color-accent-soft);
	background: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	width: 1.25em; height: auto;
}
.post_content ul.demerit-list > li::before,
.p-articleContent ul.demerit-list > li::before,
.c-postContent ul.demerit-list > li::before {
	color: var(--ty-color-info);
}
.post_content > ul.merit-list,
.post_content > ul.demerit-list,
.p-articleContent > ul.merit-list,
.p-articleContent > ul.demerit-list,
.c-postContent > ul.merit-list,
.c-postContent > ul.demerit-list {
	padding: 1.25em 1.5em 1.25em 1.75em;
	background: #fff;
}

/* --- 記事本文 通常リスト (merit/demerit 除外) --- */
.p-articleContent > ul:not(.merit-list):not(.demerit-list),
.p-articleContent > ol:not(.merit-list):not(.demerit-list),
.post_content > ul:not(.merit-list):not(.demerit-list),
.post_content > ol:not(.merit-list):not(.demerit-list),
.c-postContent > ul:not(.merit-list):not(.demerit-list),
.c-postContent > ol:not(.merit-list):not(.demerit-list) {
	border: 1px solid var(--ty-color-border);
	border-radius: 6px;
	padding: 18px 24px 18px 42px;
	margin: 16px 0 24px;
	background: #fff;
	list-style-position: outside;
}
.p-articleContent ul:not(.merit-list):not(.demerit-list) li,
.post_content ul:not(.merit-list):not(.demerit-list) li,
.c-postContent ul:not(.merit-list):not(.demerit-list) li,
.p-articleContent ol:not(.merit-list):not(.demerit-list) li,
.post_content ol:not(.merit-list):not(.demerit-list) li,
.c-postContent ol:not(.merit-list):not(.demerit-list) li {
	line-height: var(--ty-line-height-readable);
	margin-bottom: 8px;
}
.p-articleContent ul:not(.merit-list):not(.demerit-list) li:last-child,
.post_content ul:not(.merit-list):not(.demerit-list) li:last-child,
.c-postContent ul:not(.merit-list):not(.demerit-list) li:last-child,
.p-articleContent ol:not(.merit-list):not(.demerit-list) li:last-child,
.post_content ol:not(.merit-list):not(.demerit-list) li:last-child,
.c-postContent ol:not(.merit-list):not(.demerit-list) li:last-child {
	margin-bottom: 0;
}
.p-articleContent ul ul,
.p-articleContent ul ol,
.p-articleContent ol ul,
.p-articleContent ol ol,
.post_content ul ul,
.post_content ul ol,
.post_content ol ul,
.post_content ol ol,
.c-postContent ul ul,
.c-postContent ul ol,
.c-postContent ol ul,
.c-postContent ol ol {
	border: none;
	padding: 6px 0 0 24px;
	margin: 6px 0 0;
	background: transparent;
}
.p-toc, .p-toc ul, .p-toc ol {
	border: 0; background: transparent;
}
.p-toc > ul, .p-toc > ol { padding: 0; }
#toc_container,
#toc_container ul, #toc_container ol,
.toc_list, .toc_list ul, .toc_list ol {
	border: none !important;
	padding: 0 !important;
	background: transparent !important;
}

/* =========================================================
   blockquote - 本番 toreruyo 風
   ========================================================= */
.post_content blockquote:not(.instagram-media):not(.twitter-tweet),
.p-articleContent blockquote:not(.instagram-media):not(.twitter-tweet),
.c-postContent blockquote:not(.instagram-media):not(.twitter-tweet) {
	position: relative;
	background: var(--ty-color-bg-soft);
	border: 1px solid var(--ty-color-border);
	border-radius: 4px;
	padding: 2.25em 2em 1.5em;
	margin: 2.5em 0 2.5em;
	font-size: 14px;
	line-height: 1.8;
	color: var(--ty-color-text);
}
.post_content blockquote:not(.instagram-media):not(.twitter-tweet)::before,
.post_content blockquote:not(.instagram-media):not(.twitter-tweet)::after,
.p-articleContent blockquote:not(.instagram-media):not(.twitter-tweet)::before,
.p-articleContent blockquote:not(.instagram-media):not(.twitter-tweet)::after,
.c-postContent blockquote:not(.instagram-media):not(.twitter-tweet)::before,
.c-postContent blockquote:not(.instagram-media):not(.twitter-tweet)::after {
	position: absolute;
	display: block;
	font-family: var(--ty-fa-family);
	font-weight: 900;
	font-style: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	font-size: 1.4em;
	width: 1.4em;
	height: 1.4em;
	line-height: 1.4em;
	text-align: center;
	color: var(--ty-color-sub);
	background: #fff;
	border: 1px solid var(--ty-color-border);
	border-radius: 50%;
}
.post_content blockquote:not(.instagram-media):not(.twitter-tweet)::before,
.p-articleContent blockquote:not(.instagram-media):not(.twitter-tweet)::before,
.c-postContent blockquote:not(.instagram-media):not(.twitter-tweet)::before {
	content: "\f10d";
	top: -.7em;
	left: -.2em;
}
.post_content blockquote:not(.instagram-media):not(.twitter-tweet)::after,
.p-articleContent blockquote:not(.instagram-media):not(.twitter-tweet)::after,
.c-postContent blockquote:not(.instagram-media):not(.twitter-tweet)::after {
	content: "\f10e";
	bottom: -.7em;
	right: -.2em;
}
.post_content blockquote cite {
	display: inline-block;
	margin-top: .75em;
	font-size: .85em;
	color: var(--ty-color-sub);
	font-style: normal;
}
.post_content blockquote.instagram-media,
.post_content blockquote.twitter-tweet,
.p-articleContent blockquote.instagram-media,
.p-articleContent blockquote.twitter-tweet,
.c-postContent blockquote.instagram-media,
.c-postContent blockquote.twitter-tweet {
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
}

/* =========================================================
   SWELL TOC (.p-toc.-double) my-best 風
   ========================================================= */
.p-toc.-double,
#main_content .p-toc.-double {
	background: var(--ty-color-bg-soft);
	border: 1px solid var(--ty-color-border);
	border-radius: 6px;
	padding: 1.25em 1.25em 1em;
}
@media (min-width: 600px) {
	.p-toc.-double,
	#main_content .p-toc.-double {
		padding: 1.5em 1.75em 1.25em;
	}
}
.p-toc.-double .p-toc__ttl {
	font-size: 1.1em;
	font-weight: 700;
	letter-spacing: .04em;
	font-feature-settings: "palt" 1;
	color: var(--ty-color-heading);
}
.p-toc .p-toc__expandBtn {
	color: var(--ty-color-main);
	background-color: #fff;
}
.p-toc .p-toc__expandBtn:hover {
	color: var(--ty-color-accent);
}

/* --- ボタン --- */
.swell-block-button.is-style-btn_solid .swell-block-button__link,
.c-btn {
	background: var(--ty-color-accent);
	color: #fff;
	font-weight: 700;
	letter-spacing: .04em;
}
.swell-block-button.is-style-btn_solid .swell-block-button__link:hover,
.c-btn:hover { opacity: .9; }

.l-header.-shadow { box-shadow: 0 1px 3px rgba(0,0,0,.04) !important; }

/* =========================================================
   旧 jstork_custom から移植したレガシー装飾
   - スタジオ比較テーブル: .studio-info / .studio-name / .stdo-*
   - ボタンメッセージ: .btn-msg
   - CTA ボタン: .btn-wrap / .btn-alice / .btn-mario / .btn-lovegraph
   - インライン擬似リンク: .niju
   - SP固定追従ボタン: .fixed-footer-btn
   ========================================================= */

/* --- スタジオ比較テーブル --- */
.post_content .studio-info table,
.p-articleContent .studio-info table,
.c-postContent .studio-info table {
	font-size: 1em;
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}
.post_content .studio-info table td p,
.p-articleContent .studio-info table td p,
.c-postContent .studio-info table td p {
	margin: 1em 0 0 0;
}
.post_content .studio-info th,
.p-articleContent .studio-info th,
.c-postContent .studio-info th {
	padding: .5em;
	border: 1px solid var(--ty-color-border);
	vertical-align: middle;
}
.post_content .studio-info td,
.p-articleContent .studio-info td,
.c-postContent .studio-info td {
	width: 50%;
	padding: .6em .8em;
	border: 1px solid var(--ty-color-border);
	vertical-align: middle;
}
/* セクション見出し行（th colspan="2"）は全幅・中央寄せ */
.post_content .studio-info tr:not(.studio-name) th,
.p-articleContent .studio-info tr:not(.studio-name) th,
.c-postContent .studio-info tr:not(.studio-name) th {
	background-color: #f1f2f4;
	text-align: center;
	font-weight: 700;
}
.post_content .studio-name,
.p-articleContent .studio-name,
.c-postContent .studio-name {
	background-color: transparent;
}
.post_content .studio-name th,
.p-articleContent .studio-name th,
.c-postContent .studio-name th {
	width: 50%;
	background-color: transparent;
	text-align: center;
	font-weight: 600;
}
.post_content .studio-name img,
.p-articleContent .studio-name img,
.c-postContent .studio-name img {
	margin-bottom: .3em;
	max-width: 100%;
	height: auto;
}
.post_content .studio-name a:hover,
.p-articleContent .studio-name a:hover,
.c-postContent .studio-name a:hover {
	color: var(--ty-color-accent);
}

/* バリエーション（stdo-*）はすべて2列50/50のまま。
   セクション見出し（tr:not(.studio-name) th）の背景色は上のルールで統一。 */
.post_content .stdo-accsry td,
.p-articleContent .stdo-accsry td,
.c-postContent .stdo-accsry td {
	padding: .6em .9em;
}

.post_content .insert-page,
.p-articleContent .insert-page,
.c-postContent .insert-page {
	margin: 1em 0;
}

/* --- CTA ボタンメッセージ --- */
.post_content .btn-msg,
.p-articleContent .btn-msg,
.c-postContent .btn-msg,
.entry-content .btn-msg {
	margin: 1.6em 0 .4em;
	text-align: center;
	font-weight: 700;
	color: var(--ty-color-main);
	font-feature-settings: "palt" 1;
	letter-spacing: .04em;
}
.post_content .btn-msg + .btn-wrap,
.p-articleContent .btn-msg + .btn-wrap,
.c-postContent .btn-msg + .btn-wrap {
	margin-top: .4em;
}

/* --- CTA ボタンラッパー（現在のミニマルデザインに合わせてフラット化） --- */
.post_content .btn-wrap,
.p-articleContent .btn-wrap,
.c-postContent .btn-wrap {
	margin: 1.8em auto 2.4em;
	text-align: center;
}
.post_content .btn-wrap.aligncenter,
.p-articleContent .btn-wrap.aligncenter,
.c-postContent .btn-wrap.aligncenter {
	text-align: center;
}
.post_content .btn-wrap a,
.p-articleContent .btn-wrap a,
.c-postContent .btn-wrap a {
	display: inline-block;
	position: relative;
	width: 100%;
	max-width: 440px;
	padding: 1em 2.4em 1em 1.6em;
	background-color: var(--ty-color-btn);
	border: 1px solid var(--ty-color-btn);
	border-radius: 6px;
	color: #fff !important;
	font-size: 1rem;
	font-weight: 600;
	text-align: center;
	text-decoration: none !important;
	letter-spacing: .04em;
	font-feature-settings: "palt" 1;
	box-shadow: 0 1px 2px rgba(0,0,0,.08);
	transition: background-color .2s ease, border-color .2s ease, transform .15s ease, box-shadow .2s ease;
}
.post_content .btn-wrap a::after,
.p-articleContent .btn-wrap a::after,
.c-postContent .btn-wrap a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1.1em;
	width: .55em;
	height: .55em;
	margin-top: -.08em;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: translateY(-50%) rotate(45deg);
	transition: transform .2s ease;
}
.post_content .btn-wrap a:hover,
.p-articleContent .btn-wrap a:hover,
.c-postContent .btn-wrap a:hover {
	background-color: var(--ty-color-btn-hover);
	border-color: var(--ty-color-btn-hover);
	color: #fff !important;
	text-decoration: none !important;
	box-shadow: 0 4px 10px rgba(0,0,0,.12);
	transform: translateY(-1px);
}
.post_content .btn-wrap a:hover::after,
.p-articleContent .btn-wrap a:hover::after,
.c-postContent .btn-wrap a:hover::after {
	transform: translateY(-50%) translateX(3px) rotate(45deg);
}
/* 全ショートコード ([alice]/[mario]/[fotowa]/[lovegraph]/[cbtn]/[btn]) は
 * 上記 .btn-wrap a の var(--ty-color-btn) で統一済み (個別上書きなし) */
@media screen and (max-width: 600px) {
	.post_content .btn-wrap a,
	.p-articleContent .btn-wrap a,
	.c-postContent .btn-wrap a {
		padding: .9em 2em .9em 1.2em;
		font-size: .95rem;
	}
}

/* --- インライン擬似リンク [niju] (見せかけ link → JSで遅延リダイレクト) --- */
.post_content a.niju,
.p-articleContent a.niju,
.c-postContent a.niju {
	display: inline-block;
	margin: .5em 0;
	color: var(--ty-color-link, #3992e5);
	text-decoration: none;
	cursor: pointer;
	transition: opacity .2s ease;
}
.post_content a.niju:hover,
.p-articleContent a.niju:hover,
.c-postContent a.niju:hover {
	opacity: .75;
	text-decoration: none;
}

/* --- SP固定追従ボタン [fbtn] (本番 jstork_custom 踏襲) --- */
.fixed-footer-btn {
	display: none;
	position: fixed;
	bottom: 15px;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 90%;
	padding: 1.2em;
	border-radius: 50px;
	box-shadow: 0 2px 6px 2px rgba(0, 0, 0, 0.3);
	background-color: var(--ty-color-btn);
	text-align: center;
	z-index: 9999;
	font-feature-settings: "palt" 1;
	letter-spacing: .04em;
}
.fixed-footer-btn a {
	color: #fff !important;
	font-weight: 600;
	font-size: 100%;
	text-decoration: none !important;
}
.fixed-footer-btn a:hover {
	color: #fff !important;
	text-decoration: none !important;
	opacity: .9;
}
@media screen and (min-width: 769px) {
	.fixed-footer-btn { display: none !important; }
}
@media screen and (max-width: 350px) {
	.fixed-footer-btn { font-size: 90%; }
}

/* === 口コミ引用 (本番 jstork_custom 踏襲) ============================= *
 * 本番: <blockquote class="review-comment-quote">
 *         <div class="review-comment-wrap">
 *           <div class="rc-top">
 *             <div class="rc-img men-20"></div>     ← アイコン (men-20/30/40, rc-noIcon, rc-twitter, rc-insta)
 *             <div class="rc-reviewerInfo">
 *               <div class="rcri-name">…</div>
 *               <div class="rcri-rating">
 *                 <span class="rating"><span class="rating-item" style="width:90%"></span></span>
 *               </div>
 *             </div>
 *           </div>
 *           <div class="rc-btm"><div class="rc-btm-arrow"></div><p>…</p></div>
 *         </div>
 *       </blockquote>
 * 本番では .entry-content にスコープしているので、stg では SWELL の本文ラッパ
 * (.post_content / .p-articleContent / .c-postContent) に振り直す。
 * ===================================================================== */

/* --- レーティング (★) --- */
.post_content .rating,
.p-articleContent .rating,
.c-postContent .rating {
	position: relative;
	display: inline-block;
	font-size: 18px;
}
.post_content .rating .rating-item,
.p-articleContent .rating .rating-item,
.c-postContent .rating .rating-item {
	position: absolute;
	overflow: hidden;
	white-space: nowrap;
}
.post_content .rating .rating-item:before,
.p-articleContent .rating .rating-item:before,
.c-postContent .rating .rating-item:before {
	content: "\2605\2605\2605\2605\2605";
	color: #F57B02;
}
.post_content .rating:after,
.p-articleContent .rating:after,
.c-postContent .rating:after {
	content: "\2605\2605\2605\2605\2605";
	color: #ccc;
}

/* --- レーティング表 --- */
.post_content .rating-table,
.p-articleContent .rating-table,
.c-postContent .rating-table {
	width: 100%;
	max-width: 450px;
}
.post_content .rating-table td,
.p-articleContent .rating-table td,
.c-postContent .rating-table td {
	width: 65%;
	border: solid 1.5px #ccc;
}
.post_content .rating-table td:first-child,
.p-articleContent .rating-table td:first-child,
.c-postContent .rating-table td:first-child {
	width: 35%;
	text-align: center;
	font-weight: bold;
}
.post_content .rating-table p,
.p-articleContent .rating-table p,
.c-postContent .rating-table p {
	margin: 0;
	line-height: 1;
	display: inline-block;
	font-size: 16px;
	padding-left: 5px;
}

/* --- 引用口コミ blockquote 全体 --- */
.post_content blockquote.review-comment-quote,
.p-articleContent blockquote.review-comment-quote,
.c-postContent blockquote.review-comment-quote {
	font-size: 1em;
	padding: .5em;
	margin: 2em 0;
	position: static;
	border: none;
	background: none;
	opacity: 1;
}
.post_content blockquote.review-comment-quote::before,
.post_content blockquote.review-comment-quote::after,
.p-articleContent blockquote.review-comment-quote::before,
.p-articleContent blockquote.review-comment-quote::after,
.c-postContent blockquote.review-comment-quote::before,
.c-postContent blockquote.review-comment-quote::after {
	display: none;
	content: none;
}

.review-comment-wrap {
	font-size: 1em;
	padding-bottom: 20px;
}
.review-comment-wrap:not(:last-child) {
	margin-bottom: 10px;
}

/* --- 上段: アイコン + レビュー者情報 --- */
.rc-top {
	display: flex;
	position: relative;
}
.rc-img {
	width: 50px;
	height: 50px;
	margin-right: 10px;
	border-radius: 50%;
	background-color: lightgray;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	flex-shrink: 0;
}
.men-20 { background-image: url("https://toreruyo.jp/wp-content/uploads/2019/04/men-20.jpg"); }
.men-30 { background-image: url("https://toreruyo.jp/wp-content/uploads/2019/04/men-30.jpg"); }
.men-40 { background-image: url("https://toreruyo.jp/wp-content/uploads/2019/04/men-40.jpg"); }
.woman-20 { background-image: url("https://toreruyo.jp/wp-content/uploads/2019/04/woman-20.jpg"); }
.woman-30 { background-image: url("https://toreruyo.jp/wp-content/uploads/2019/04/woman-30.jpg"); }
.woman-40 { background-image: url("https://toreruyo.jp/wp-content/uploads/2019/04/woman-40.jpg"); }
.rc-noIcon { background-image: url("https://toreruyo.jp/wp-content/uploads/2020/01/rc_noImage.jpg"); }
.rc-img.rc-twitter {
	width: 35px;
	height: 35px;
	background-image: url("https://toreruyo.jp/wp-content/uploads/2020/03/Twitter_Social_Icon_Square_Color.png");
}
.rc-img.rc-insta {
	width: 35px;
	height: 35px;
	background-image: url("https://toreruyo.jp/wp-content/uploads/2020/03/instagram_logo.png");
}

.rc-reviewerInfo {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.rcri-stars > rating,
.rcri-rating .rating {
	font-size: 15px;
}
.rc-genre {
	display: inline-block;
	margin: 10px 0;
	padding: 3px 5px;
	border: 1px solid #d1d1d1;
	border-radius: 5px;
	font-size: 12px;
}

/* --- 下段: 吹き出しコメント --- */
.rc-btm {
	position: relative;
	margin-top: 20px;
	padding: 2em;
	border-radius: 10px;
	background-color: #FFFBCD;
}
.rc-btm p {
	margin: 0 !important;
}
.rc-btm .rc-btm-arrow {
	content: "";
	position: absolute;
	top: -8px;
	left: 20px;
	width: 16px;
	height: 16px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	background-color: #FFFBCD;
}

/* 吹き出し内の引用符アイコンは表示しない (本番踏襲を打ち消し) */
.post_content blockquote.review-comment-quote .rc-btm::before,
.post_content blockquote.review-comment-quote .rc-btm::after,
.p-articleContent blockquote.review-comment-quote .rc-btm::before,
.p-articleContent blockquote.review-comment-quote .rc-btm::after,
.c-postContent blockquote.review-comment-quote .rc-btm::before,
.c-postContent blockquote.review-comment-quote .rc-btm::after {
	content: none !important;
	display: none !important;
}

/* === 記事一覧カセットのサムネ拡大エフェクト無効化 ===================
 * SWELL 既定: .p-postList__link:hover .c-postThumb__img { transform: scale(1.06); }
 * → クリック (= SP では tap で hover 状態が貼り付く) 時にサムネが
 *    拡大して見えるのを防ぐ
 * ================================================================== */
.p-postList__link:hover .c-postThumb__img,
.p-postList__link:focus .c-postThumb__img,
.p-postList__link:active .c-postThumb__img,
.p-postList__link .c-postThumb__img {
	-webkit-transform: none !important;
	transform: none !important;
	transition: none !important;
}

/* === ヒーロー直下カテゴリバナーから各セクションへのアンカー遷移 ===
 * .ty-cat-banners__item の href="#ty-sec-..." をクリックすると
 * トップページ内の対応セクションへスクロール。
 * スクロール先で見出しが固定ヘッダ等に隠れないよう余白を確保。
 * ================================================================ */
.ty-section[id^="ty-sec-"] {
	scroll-margin-top: 24px;
}
@media (min-width: 960px) {
	.ty-section[id^="ty-sec-"] {
		scroll-margin-top: 80px; /* PC のヘッダ高さに合わせて余白確保 */
	}
}
