@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    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
*/

/* ==========================================================================
   ブラウンベース カラーパレット（SWELL CSS変数の上書き）
   ========================================================================== */
:root {
	--brand-brown: #6f4e37;
	--brand-brown-dark: #4e3524;
	--brand-brown-light: #8a5a3b;
	--brand-gold: #c9a24b;
	--brand-amber: #c8842f;
	--brand-cream: #faf6f1;
	--brand-card: #fffdfa;
	--brand-border: #e7ddd2;
	--brand-green: #3f7d4e;
	--brand-red: #b5544a;

	/* SWELL変数の上書き */
	--color_main: #6f4e37;
	--color_main_thin: rgba(111, 78, 55, .05);
	--color_main_dark: #4e3524;
	--color_link: #8a5a3b;
	--color_htag: #4e3524;
	--color_bg: #faf6f1;
	--color_gradient1: #8a5a3b;
	--color_gradient2: #c8842f;
	--color_header_bg: #4e3524;
	--color_header_text: #fffdfa;
	--color_footer_bg: #4e3524;
	--color_footer_text: #f5ead9;
}

/* ==========================================================================
   共通パーツ
   ========================================================================== */
.badge {
	display: inline-block;
	padding: .2em .8em;
	border-radius: 999px;
	background: var(--brand-brown);
	color: #fff;
	font-size: .8em;
	font-weight: 700;
	margin-right: .5em;
}

.price-tag {
	color: var(--brand-red);
	font-size: 1.4em;
	font-weight: 700;
}

.star-rating {
	color: var(--brand-gold);
	letter-spacing: .1em;
	font-size: 1.1em;
}

/* ==========================================================================
   ランキングカード
   ========================================================================== */
.rank-card {
	position: relative;
	background: var(--brand-card);
	border: 2px solid var(--brand-border);
	border-radius: 12px;
	padding: 2em 1.5em 1.5em;
	margin: 3em 0 2em;
	box-shadow: 0 2px 12px rgba(78, 53, 36, .08);
}

.rank-card .rank-badge {
	position: absolute;
	top: -1.2em;
	left: 1.2em;
	display: inline-block;
	padding: .35em 1.2em;
	border-radius: 8px;
	color: #fff;
	font-weight: 700;
	font-size: 1.05em;
	box-shadow: 0 2px 6px rgba(78, 53, 36, .25);
}

.rank-card--1 {
	border-color: var(--brand-gold);
	border-width: 3px;
	box-shadow: 0 4px 20px rgba(201, 162, 75, .25);
}

.rank-card--1 .rank-badge {
	background: linear-gradient(135deg, #d4af37, #b8860b);
}

.rank-card--1 .rank-badge::before {
	content: "\1F451";
	margin-right: .4em;
}

.rank-card--2 .rank-badge {
	background: linear-gradient(135deg, #9fa4ad, #7d828c);
}

.rank-card--3 .rank-badge {
	background: linear-gradient(135deg, #b9722d, #96581f);
}

/* 別枠紹介カード（防ダニ布団ディーガード等、ランキング外のピックアップ） */
.rank-card--pickup {
	border-color: var(--brand-brown-light);
}

.rank-card--pickup .rank-badge {
	background: linear-gradient(135deg, var(--brand-brown-light), var(--brand-brown-dark));
}

.rank-card h3,
.rank-card .wp-block-heading {
	margin-top: .2em;
	border: none;
}

/* ==========================================================================
   比較表
   ========================================================================== */
.cmp-table {
	margin: 2em 0;
}

.cmp-table table {
	border-collapse: collapse;
	width: 100%;
	background: var(--brand-card);
	font-size: .92em;
}

.cmp-table thead th {
	background: var(--brand-brown);
	color: #fff;
	font-weight: 700;
	text-align: center;
	padding: .8em .6em;
	border: 1px solid var(--brand-brown-dark);
}

.cmp-table tbody td,
.cmp-table tbody th {
	border: 1px solid var(--brand-border);
	padding: .7em .6em;
	text-align: center;
	vertical-align: middle;
}

.cmp-table tbody tr:nth-child(even) {
	background: var(--brand-cream);
}

.cmp-table tbody td:first-child {
	background: #f0e6da;
	font-weight: 700;
	white-space: nowrap;
}

/* モバイルで横スクロール */
@media (max-width: 599px) {
	.cmp-table {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.cmp-table table {
		min-width: 560px;
	}
}

/* 表内の評価記号 */
.cmp-table .sym-best {
	color: var(--brand-red);
	font-weight: 700;
	font-size: 1.2em;
}

/* ==========================================================================
   CTAボタン
   ========================================================================== */
.cta-btn .wp-block-button__link,
.wp-block-button.cta-btn > a {
	background: linear-gradient(135deg, var(--brand-brown-light), var(--brand-amber));
	color: #fff;
	font-weight: 700;
	font-size: 1.1em;
	padding: 1em 2.5em;
	border-radius: 999px;
	box-shadow: 0 4px 12px rgba(139, 90, 59, .35);
	transition: transform .15s ease, box-shadow .15s ease;
}

.cta-btn .wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(139, 90, 59, .45);
	color: #fff;
}

.cta-btn--gold .wp-block-button__link {
	background: linear-gradient(135deg, #d4af37, #b8860b);
	box-shadow: 0 4px 12px rgba(201, 162, 75, .4);
}

@media (max-width: 599px) {
	.cta-btn,
	.cta-btn .wp-block-button__link {
		width: 100%;
		text-align: center;
	}
}

.cta-note {
	text-align: center;
	font-size: .82em;
	color: #8a7a6a;
	margin-top: .5em;
}

/* ==========================================================================
   メリット・デメリットリスト
   ========================================================================== */
ul.pros-list,
ul.cons-list {
	list-style: none;
	padding-left: 0;
	margin: 1em 0;
}

ul.pros-list li,
ul.cons-list li {
	position: relative;
	padding: .4em 0 .4em 1.8em;
	border-bottom: 1px dashed var(--brand-border);
}

ul.pros-list li::before {
	content: "\2713";
	position: absolute;
	left: .2em;
	color: var(--brand-green);
	font-weight: 700;
}

ul.cons-list li::before {
	content: "\2715";
	position: absolute;
	left: .2em;
	color: var(--brand-red);
	font-weight: 700;
}

/* ==========================================================================
   FAQ
   ========================================================================== */
.faq-q {
	background: #f0e6da;
	border-left: 4px solid var(--brand-brown);
	border-radius: 4px;
	padding: .8em 1em .8em 2.8em;
	position: relative;
	font-weight: 700;
	margin: 1.5em 0 0;
}

.faq-q::before {
	content: "Q";
	position: absolute;
	left: .9em;
	color: var(--brand-brown);
	font-weight: 700;
	font-size: 1.1em;
}

.faq-a {
	background: var(--brand-card);
	border: 1px solid var(--brand-border);
	border-radius: 0 0 4px 4px;
	padding: .8em 1em .8em 2.8em;
	position: relative;
	margin: 0 0 1em;
}

.faq-a::before {
	content: "A";
	position: absolute;
	left: .9em;
	color: var(--brand-red);
	font-weight: 700;
	font-size: 1.1em;
}

/* ==========================================================================
   スペック表（商品ページ用・2カラム表）
   ========================================================================== */
.spec-table table {
	width: 100%;
	border-collapse: collapse;
	background: var(--brand-card);
}

.spec-table td,
.spec-table th {
	border: 1px solid var(--brand-border);
	padding: .7em .9em;
}

.spec-table th,
.spec-table td:first-child {
	background: #f0e6da;
	font-weight: 700;
	width: 32%;
	white-space: nowrap;
	text-align: left;
}

/* ==========================================================================
   注意書き
   ========================================================================== */
.note-text {
	font-size: .8em;
	color: #8a7a6a;
}
