/*
Theme Name: AAA Starter Theme
Theme URI: https://afi-support.net/
Author: 青山健（afi-support）
Author URI: https://afi-support.net/
Description: アフィリエイトサイトの立ち上げに必要な骨格をひとつに束ねたスターターテーマ。アメコミ・漫画ポップ調のライトテーマ×アクセント1色（既定はライムグリーン）。白いピル型ナビ・注目記事スライダー・極太枠の記事カード・黒帯バナー見出しのサイドバー。カスタマイザーだけで色・表示切替・キャッチコピー・画像・CTA・ASPリンク・解析タグを設定でき、コードを触らずに運用を開始できます。完全オリジナル実装・プラグイン必須機能なし・jQuery非依存。
Version: 0.9.33
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aaa-starter
Tags: blog, two-columns, right-sidebar, custom-colors, custom-logo, custom-menu, featured-images, footer-widgets, translation-ready
*/

/* ==========================================================================
   0. デザイントークン（CSS変数）
   --aaa-accent などはカスタマイザー「1. 色」からインライン出力で上書きされる
   ========================================================================== */
:root {
	--aaa-accent: #c4cd32;
	--aaa-accent-soft: rgba(196, 205, 50, 0.16);
	--aaa-ink: #191919;
	--aaa-head: #191919;
	--aaa-foot: #191919;
	--aaa-pop1: #4fc3f7;
	--aaa-pop2: #f7b32b;
	--aaa-pop3: #f06292;
	--bg: #ffffff;
	--card: #ffffff;
	--frame: #cccccc;
	--line: #dcdfe4;
	--muted: #555c63;
	--radius: 10px;
	--pill: 100px;
	--maxw: 1080px;
	--sidew: 302px;
	--shadow: 0 2px 10px rgba(25, 25, 25, 0.08);
	--comic-shadow: 4px 4px 0 rgba(25, 25, 25, 0.85);
	/* 取り込みCSS（kaiun.css）が使う色。実際の値は配色プリセットから上書きされる */
	--aaa-soft: #eeeeee;
	--aaa-dark: #101920;
	--aaa-deco1: #4d375d;
	--aaa-deco2: #0068b7;
	--aaa-deco3: #960000;
}

/* ==========================================================================
   1. ベース（ライトテーマ・スマホファースト）
   ========================================================================== */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--bg);
	color: var(--aaa-ink);
	font-family: Lato, "游ゴシック体", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	/* ⚠️ font-size / line-height はここで指定しない。
	   移植元の base.min.css（html 62.5% / body 1.2rem）が組版の基準で、
	   ここで 16px / 1.9 を上書きすると本文・カード・リンクが全部大きくなり、
	   元サイト（aijinmonogatari.com）と文字サイズが揃わなくなる。 */
	overflow-wrap: break-word;
}

/* 背景のポップなコラージュ模様（CSSグラデーション＋自作インラインSVGのみ・外部画像なし）
   上に linear-gradient(rgba(255,255,255,.6), #fff) を重ね、下に行くほど白へ。
   カスタマイザーの基調色を変えた場合は functions.php が同じ構造のCSSを上書き出力する */

img {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--aaa-ink);
	text-decoration: underline;
	text-decoration-color: var(--aaa-accent);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

a:hover,
a:focus {
	color: color-mix(in srgb, var(--aaa-accent) 55%, #191919);
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background: #fff;
	border: 3px solid var(--aaa-head);
	border-radius: 8px;
	clip: auto !important;
	clip-path: none;
	color: var(--aaa-ink);
	display: block;
	height: auto;
	left: 8px;
	line-height: normal;
	padding: 14px 22px;
	top: 8px;
	width: auto;
	z-index: 100000;
}

.wrap {
	max-width: var(--maxw);
	margin: 0 auto;
	padding: 0 18px;
}

/* WPコア互換クラス（Theme Check 必須） */
.alignleft { float: left; margin: 0 24px 16px 0; }
.alignright { float: right; margin: 0 0 16px 24px; }
.aligncenter { display: block; margin: 0 auto 16px; }
.wp-caption { max-width: 100%; }
.wp-caption-text { color: var(--muted); font-size: 13px; text-align: center; }
.sticky { outline: 3px solid var(--aaa-accent); outline-offset: -3px; }
.gallery-caption { color: var(--muted); font-size: 13px; }
.bypostauthor { outline: none; }

/* ==========================================================================
   2. ボタン・チップ（アメコミ調：極太枠＋ずらし影）
   ========================================================================== */
.aaa-btn {
	display: inline-block;
	padding: 13px 30px;
	border: 3px solid var(--aaa-head);
	border-radius: var(--pill);
	background: var(--aaa-accent);
	color: #191919;
	font-weight: 900;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	box-shadow: var(--comic-shadow);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.aaa-btn:hover,
.aaa-btn:focus {
	color: #191919;
	text-decoration: none;
	transform: translate(-1px, -1px);
	box-shadow: 5px 5px 0 rgba(25, 25, 25, 0.85);
}


.aaa-chip {
	display: inline-block;
	padding: 2px 13px;
	border: 2px solid rgba(25, 25, 25, 0.85);
	border-radius: var(--pill);
	background: var(--aaa-accent);
	color: #191919;
	font-size: 11px;
	font-weight: 900;
	line-height: 1.8;
	text-decoration: none;
}

.aaa-chip:hover,
.aaa-chip:focus {
	color: #191919;
	filter: brightness(1.08);
	text-decoration: none;
}

/* ==========================================================================
   3. ブランド＋画面上部右に浮かぶ白いピル型ナビ
   ========================================================================== */

.brand-name {
	color: var(--aaa-head);
	font-size: 22px;
	font-weight: 900;
	letter-spacing: 0.02em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-decoration: none;
}

.brand-name:hover,
.brand-name:focus {
	color: var(--aaa-head);
	text-decoration: none;
	opacity: 0.8;
}


/* ==========================================================================
   4. FV（漫画風キャッチ＋マスコット＋バッジ＋装飾バースト）
   ========================================================================== */
.fv {
	position: relative;
	padding: 64px 0 48px;
	background-size: cover;
	background-position: center top;
	overflow: hidden; /* 装飾バーストのはみ出しをクリップ（横スクロール防止） */
}

.fv-in {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 24px;
}

.fv-copy {
	flex: 1;
	min-width: 0;
}

/* 装飾：集中線バースト（clip-path描画・画像不要） */
.fv::before,
.fv::after {
	content: "";
	position: absolute;
	z-index: 0;
	pointer-events: none;
	clip-path: polygon(50% 0, 56% 30%, 80% 8%, 66% 36%, 100% 30%, 70% 52%, 98% 68%, 64% 64%, 74% 96%, 52% 68%, 38% 100%, 38% 66%, 8% 84%, 30% 56%, 0 44%, 32% 40%, 12% 12%, 42% 30%);
}

.fv::before {
	top: -60px;
	right: -60px;
	width: 240px;
	height: 240px;
	background: var(--aaa-accent-soft);
}

.fv::after {
	bottom: -70px;
	left: -50px;
	width: 200px;
	height: 200px;
	background: rgba(247, 179, 43, 0.22);
}

/* 白抜き極太の漫画風キャッチ（黒縁取り・数度の傾き） */
.fv-catch {
	margin: 0 0 16px;
	transform: rotate(-2deg);
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: 0.03em;
}

.fv-catch .fv-line {
	display: inline-block;
	color: #fff;
	font-size: clamp(28px, 6.4vw, 52px);
	-webkit-text-stroke: 2px var(--aaa-head);
	paint-order: stroke fill;
	text-shadow:
		2px 2px 0 var(--aaa-head),
		-2px 2px 0 var(--aaa-head),
		2px -2px 0 var(--aaa-head),
		-2px -2px 0 var(--aaa-head),
		5px 5px 0 var(--aaa-accent);
}

.fv-catch .fv-line2 {
	display: inline-block;
	margin-top: 2px;
	transform: translateX(0.6em);
}

.fv-sub {
	margin: 0 0 26px;
	color: var(--muted);
	font-size: clamp(14px, 3.8vw, 17px);
	font-weight: 700;
}

/* FVマスコット（未設定なら出力自体なし＝崩れない） */
.fv-mascot {
	flex: 0 0 auto;
	width: min(230px, 30vw);
}

.fv-mascot img {
	display: block;
	width: 100%;
	height: auto;
}

/* ヒーロー背景画像が設定されたときの可読性オーバーレイ */
.fv.has-image::after {
	content: "";
	inset: 0;
	width: auto;
	height: auto;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.88));
	clip-path: none;
	z-index: 1;
}

.fv-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
}

.fv-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 96px;
	padding: 12px 18px;
	border: 3px solid var(--aaa-head);
	border-radius: var(--radius);
	background: #fff;
	box-shadow: var(--comic-shadow);
	text-align: center;
}

.fv-badge .num {
	font-size: clamp(20px, 5.4vw, 30px);
	font-weight: 900;
	line-height: 1.2;
	color: var(--aaa-ink);
	white-space: nowrap;
}

.fv-badge .unit {
	font-size: 12px;
	font-weight: 700;
	color: var(--muted);
	white-space: nowrap;
}

.fv-cta {
	font-size: 17px;
	width: min(420px, 100%);
}

@media (max-width: 600px) {
	.fv-in {
		flex-direction: column-reverse;
		align-items: flex-start;
	}

	.fv-mascot {
		width: min(150px, 44vw);
		align-self: flex-end;
	}
}

/* ==========================================================================
   5. 注目記事スライダー（vanilla JS・前後矢印・太いアクセント枠）
   ========================================================================== */

/* ==========================================================================
   6. 2カラムレイアウト（メイン約740px＋右サイドバー302px）
   ========================================================================== */
.layout {
	display: flex;
	align-items: flex-start;
	gap: 38px;
	padding-top: 8px;
}

.main-col {
	flex: 1;
	min-width: 0;
}

.side-col {
	width: var(--sidew);
	flex: 0 0 var(--sidew);
}

.layout.no-side .main-col {
	max-width: 100%;
}

@media (max-width: 767px) {
	.layout {
		flex-direction: column;
	}

	.side-col {
		width: 100%;
		flex: 1 1 auto;
	}
}

/* ==========================================================================
   7. 記事カード一覧（白背景×8px極太グレー枠×サムネ上チップ）
   ========================================================================== */

/* ページネーション */
.pagination {
	margin-top: 40px;
}

.pagination .nav-links,
.pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pagination ul.page-numbers li {
	margin: 0;
	list-style: none;
}

/*
 * ⚠️ セレクタは a / span に限定すること。
 *    paginate_links( 'type' => 'list' ) は外側の <ul> にも class="page-numbers" を付けるため、
 *    `.pagination .page-numbers` と書くとその <ul> にも枠線と角丸が当たり、
 *    数字のまわりを大きな枠がぐるりと囲んでしまう（実際にそうなった）。
 */
/*
 * ⚠️ 参照サイト（wp_theme_2024）と同一デザインに合わせる（2026-09-05 KEN指示「デザインが違う」）。
 *    四角い箱（50×50・角丸5px・黒1px枠・白地黒字）＋現在ページ／ホバーは黒地白字。
 *    数字は参照どおり Oswald（functions.php で読み込み）。以前のピンク角丸ピルから変更。
 */
.pagination a.page-numbers,
.pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	padding: 0;
	border: 1px solid #000;
	border-radius: 5px;
	background: #fff;
	color: #000;
	font-family: "Oswald", "Lato", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

/* 前へ／次への矢印（自前SVG）を箱いっぱいに大きく・上下中央に。
   ⚠️SVGにインラインの vertical-align があるが flex 配置では無視される。CSSでサイズだけ上書き。 */
.pagination a.page-numbers svg {
	width: 24px;
	height: 24px;
	vertical-align: middle;
}

.pagination a.page-numbers:hover,
.pagination a.page-numbers:focus {
	background: #000;
	color: #fff;
	text-decoration: none;
}

.pagination a.page-numbers.current,
.pagination span.page-numbers.current {
	background: #000;
	color: #fff;
}

.pagination span.page-numbers.dots {
	width: 20px;
	border-color: transparent;
	background: transparent;
	color: #000;
}

/* ==========================================================================
   8. 記事ページ（single）・固定ページ
   ========================================================================== */

/* 記事内CTAボックス（自動挿入） */
.aaa-cta-box {
	margin: 44px 0;
	padding: 26px 22px;
	border: 3px solid var(--aaa-head);
	border-radius: var(--radius);
	background: var(--aaa-accent-soft);
	box-shadow: var(--comic-shadow);
	text-align: center;
}

.aaa-cta-box .cta-lead {
	margin: 0 0 16px;
	color: var(--aaa-ink);
	font-size: 15px;
	font-weight: 700;
}

.aaa-cta-box .aaa-btn {
	width: min(420px, 100%);
}

/* 前後記事ナビ */
.post-navigation .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: space-between;
	margin-top: 44px;
}

.post-navigation a {
	display: inline-block;
	padding: 11px 20px;
	border: 3px solid var(--aaa-head);
	border-radius: var(--radius);
	background: #fff;
	box-shadow: 2px 2px 0 rgba(25, 25, 25, 0.25);
	color: var(--aaa-ink);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.post-navigation a:hover,
.post-navigation a:focus {
	background: var(--aaa-accent-soft);
	text-decoration: none;
}

/* ==========================================================================
   9. サイドバー（黒帯バナー見出し＋アイコン付きリスト）
   ========================================================================== */
.side-col .widget {
	margin-bottom: 30px;
}

/* 黒帯バナー風見出し：左に星アイコン・白文字・右端にマスコットスロット */
.side-col .widget-title {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	padding: 12px 52px 12px 16px;
	border-radius: 7px;
	background: var(--aaa-head);
	box-shadow: 3px 3px 0 var(--aaa-accent);
	color: #fff;
	font-size: 15px;
	font-weight: 900;
	letter-spacing: 0.04em;
	line-height: 1.4;
}

.side-col .widget-title::before {
	content: "";
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
	background: var(--aaa-accent);
	clip-path: polygon(50% 0, 63% 33%, 98% 35%, 70% 57%, 79% 91%, 50% 72%, 21% 91%, 30% 57%, 2% 35%, 37% 33%);
}

.side-col .widget-title .wt-txt {
	min-width: 0;
}

/* マスコット画像スロット（帯の右端）。未設定なら空のまま＝崩れない */
.side-col .widget-title .wt-mascot {
	position: absolute;
	right: 6px;
	bottom: 0;
	width: 44px;
	height: 52px;
	pointer-events: none;
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
}

.side-col ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.side-col li {
	margin: 0;
	border-bottom: 1px dashed var(--line);
	font-size: 14px;
}

.side-col li a {
	position: relative;
	display: block;
	padding: 9px 4px 9px 20px;
	color: var(--aaa-ink);
	font-weight: 700;
	text-decoration: none;
}

/* リストのアイコン（右向き三角・アクセント色） */
.side-col li a::before {
	content: "";
	position: absolute;
	left: 4px;
	top: 50%;
	margin-top: -5px;
	width: 9px;
	height: 10px;
	background: var(--aaa-accent);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.side-col li a:hover,
.side-col li a:focus {
	background: var(--aaa-accent-soft);
	text-decoration: none;
}

.side-col .widget p,
.side-col .widget-text {
	font-size: 14px;
}

/* ==========================================================================
   10. フッター（CTA帯＋ダーク帯）
   ========================================================================== */
.footer-cta {
	padding: 48px 0;
	border-top: 3px solid var(--aaa-head);
	background:
		radial-gradient(ellipse 80% 100% at 50% 0%, var(--aaa-accent-soft), transparent 70%),
		#fff;
	text-align: center;
}

.footer-cta .cta-title {
	margin: 0 0 20px;
	color: var(--aaa-head);
	font-size: clamp(18px, 4.8vw, 24px);
	font-weight: 900;
}

.footer-cta .aaa-btn {
	width: min(420px, 100%);
	font-size: 17px;
}

.footer-cta .asp-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 22px;
}

.footer-cta .asp-btn {
	display: inline-block;
	padding: 9px 22px;
	border: 2px solid rgba(25, 25, 25, 0.85);
	border-radius: var(--pill);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.footer-cta .asp-btn:hover,
.footer-cta .asp-btn:focus {
	filter: brightness(1.12);
	color: #fff;
}

/* ダーク帯フッター */

/* ==========================================================================
   12. アクセシビリティ・微調整
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		transition: none !important;
		animation: none !important;
	}
}

/* ==========================================================================
   13. 診断ツール（page-shindan.php / js/shindan.js）
   ライトテーマのカード/ピル文法を踏襲
   ========================================================================== */
.shindan {
	max-width: 760px;
	margin: 8px auto 40px;
	padding: 0 10px;
}

.shindan-card {
	padding: 26px 22px 28px;
	border: 5px solid var(--frame);
	border-radius: var(--radius);
	background: var(--card);
	box-shadow: var(--shadow);
	animation: shindan-in 0.25s ease;
}

@keyframes shindan-in {
	from {
		opacity: 0;
		transform: translateY(6px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

.shindan-progress {
	margin-bottom: 18px;
}

.shindan-progress-label {
	display: inline-block;
	margin-bottom: 8px;
	padding: 2px 14px;
	border: 2px solid rgba(25, 25, 25, 0.85);
	border-radius: var(--pill);
	background: var(--aaa-accent);
	color: #191919;
	font-size: 12px;
	font-weight: 900;
}

.shindan-bar {
	height: 10px;
	border: 1px solid var(--line);
	border-radius: var(--pill);
	background: #f0f1f4;
	overflow: hidden;
}

.shindan-bar-in {
	display: block;
	height: 100%;
	border-radius: var(--pill);
	background: var(--aaa-accent);
	transition: width 0.3s ease;
}

.shindan-resume {
	margin: 0 0 14px;
	color: var(--muted);
	font-size: 12px;
}

.shindan-q {
	margin: 0 0 20px;
	color: var(--aaa-head);
	font-size: clamp(17px, 4.6vw, 21px);
	font-weight: 900;
	line-height: 1.6;
}

.shindan-choices {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.shindan-choice {
	padding: 13px 22px;
	border: 3px solid var(--aaa-head);
	border-radius: var(--pill);
	background: #fff;
	box-shadow: 2px 2px 0 rgba(25, 25, 25, 0.2);
	color: var(--aaa-ink);
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
	text-align: left;
	cursor: pointer;
	transition: background-color 0.15s ease, transform 0.15s ease;
}

.shindan-choice:hover,
.shindan-choice:focus {
	background: var(--aaa-accent-soft);
	transform: translateY(-1px);
}

.shindan-back {
	margin-top: 18px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--muted);
	font-family: inherit;
	font-size: 13px;
	cursor: pointer;
}

.shindan-back:hover,
.shindan-back:focus {
	color: var(--aaa-ink);
	text-decoration: underline;
}

/* 結果画面 */
.shindan-result {
	text-align: center;
}

.shindan-result-label {
	display: inline-block;
	margin: 0 0 18px;
	padding: 3px 18px;
	border: 2px solid rgba(25, 25, 25, 0.85);
	border-radius: var(--pill);
	background: var(--aaa-accent);
	color: #191919;
	font-size: 13px;
	font-weight: 900;
}

.shindan-result-lead {
	margin: 0 0 4px;
	color: var(--muted);
	font-size: 13px;
	font-weight: 700;
}

.shindan-type-name {
	margin: 0 0 16px;
	color: var(--aaa-head);
	font-size: clamp(20px, 5.4vw, 28px);
	font-weight: 900;
	line-height: 1.5;
}

.shindan-type-desc {
	margin: 0 0 24px;
	font-size: 15px;
	line-height: 2;
	text-align: left;
}

.shindan-reco {
	width: min(420px, 100%);
	margin-bottom: 16px;
}

.shindan-compare {
	display: block;
	margin-bottom: 20px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: underline;
}

.shindan-retry {
	padding: 9px 22px;
	border: 3px solid var(--frame);
	border-radius: var(--pill);
	background: #fff;
	color: var(--muted);
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.shindan-retry:hover,
.shindan-retry:focus {
	border-color: var(--aaa-head);
	color: var(--aaa-ink);
}

.shindan-privacy,
.shindan-noscript {
	margin: 14px 0 0;
	color: var(--muted);
	font-size: 12px;
}

/* ==========================================================================
   14. ダークモード（カスタマイザーで選択時のみ。既定はライト）
   ========================================================================== */
body.aaa-dark {
	--bg: #14161c;
	--card: #1d2130;
	--frame: #394050;
	--line: #323847;
	--muted: #9aa3b2;
	--aaa-ink: #edf0f5;
	--aaa-head: #ffffff;
	--shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
	--comic-shadow: 4px 4px 0 rgba(0, 0, 0, 0.6);
	background-image: none;
}

body.aaa-dark .pagination a.page-numbers,
body.aaa-dark .pagination span.page-numbers,
body.aaa-dark .post-navigation a,
body.aaa-dark .fv-badge,
body.aaa-dark .shindan-choice,
body.aaa-dark .shindan-retry {
	background: var(--card);
	border-color: var(--frame);
	color: var(--aaa-ink);
}


body.aaa-dark .footer-cta {
	background: #181b24;
	border-top-color: var(--frame);
}


body.aaa-dark .fv-catch .fv-line {
	-webkit-text-stroke: 2px #000;
	text-shadow:
		2px 2px 0 #000,
		-2px 2px 0 #000,
		2px -2px 0 #000,
		-2px -2px 0 #000,
		5px 5px 0 var(--aaa-accent);
}


/* ==========================================================================
   移植：元サイトのデザイン一式（wp_theme_2024 由来）

   ここから下は、購入者が見る画面の基礎になるスタイル。
   ・サイトルート直下の Image フォルダを指していた画像参照20件は処理済み
       - 装飾6点（罫線・見出し背景・ランキング枠など）は images/ に同梱
       - ロゴ・写真素材はカスタマイザーで設定する方式に変更（未設定なら none）
   ・上の :root で定義した配色トークンを使えば、この下のスタイルも
     配色プリセットに連動させられる（順次置き換えていく）
   ========================================================================== */
@media screen and (max-width: 768px) {
.responsive-text {
font-size: 120% !important;
}
}
/* サイト全体に背景色と複数の背景画像を適用 */
body {
background:
linear-gradient(to bottom, rgba(255,255,255,0.6), rgba(255,255,255,1.0)), /* 背景色としてのグラデーション */
none 0% 0%,
none 0% 0%;
background-size:
auto,    /* グラデーションはauto */
500px,   /* 既存の背景画像 */
800px;   /* 新しい背景画像 */
background-attachment: scroll;
margin: 0;
padding: 0;
}
/* モバイル用のスタイル */
@media (max-width: 780px) {
body {
background-size: 500px;
background-position: 0% 9%; /* モバイル時に背景画像の位置を変更 */
}
}
/* 初期状態で非表示にする */
.bottom {
opacity: 0;
visibility: hidden; /* 完全に非表示 */
transition: opacity 0.6s ease-out, visibility 0.6s ease-out; /* なめらかな表示 */
z-index:999999999999999999999;
}

/* サイト幅を必ず100% */
.animated-background {
width: 100%;
max-width: 100%;
}

/* 一瞬非表示 */
.count-up {
display: none;
}
#box4 .count-up,#box1 .count-up {
font-family: 'Oswald', sans-serif;
}

.my-font {
font-family: "Noto Sans JP", serif;
font-weight: 900 !important;
font-style: normal;
font-size: 200%; /* デフォルトのフォントサイズ */
/*text-shadow: 0px 0px 5px #555 ;*/
}
@media (max-width: 780px) {
.my-font {
font-size: 5.5vw;
}
}

button.age-gate-submit-no, button.age-gate-submit-yes, button.age-gate__submit--no, button.age-gate__submit--yes{
font-size :20px !important;
margin-top: 20px;
padding: 5px 10px !important;
}


/*ホバー緑線*/
a.animated-border-link:link {
position: relative;
padding: 10px;
display: inline-block;
transition: all 0.3s ease;
color:#333 !important;
font-size: 95%;
font-weight: none !important;
text-decoration: none; /* リンクの下線を削除 */
color: inherit; /* 任意の色を設定することができます */
}
a.animated-border-link:after {
content: '';
position: absolute;
margin-top: 20px !important;/* テキストのすぐ下に線を配置 */
left: 50%;
transform: translateX(-50%);  /* 追加 */
height: 2px;  /* 線の太さ。この値を調整で変更可能 */
width: 0;
background-color: #222;  /* 線の色。この値を調整で変更可能 */
transition: width 0.3s ease;
}
a.animated-border-link:hover{
color:#000 !important;
text-decoration:none;
}
a.animated-border-link:hover:after {
width: 90%;
}
a.animated-border-link:visited,a.animated-border-link:active{
color:#222;
text-decoration:none;
}

a:link {color:#222; text-decoration:underline}
a:visited {color:#222; text-decoration:none}
a:active {color:#222; text-decoration:none}
a:hover {color:#555; text-decoration:none}

a.post:link {color:#222; text-decoration:underline}
a.post:visited {color:#222; text-decoration:none}
a.post:active {color:#222; text-decoration:none}
a.post:hover {color:#555; text-decoration:none}

a.post_link:link {color:#222; text-decoration:none}
a.post_link:visited {color:#222; text-decoration:none}
a.post_link:active {color:#222; text-decoration:none}
a.post_link:hover {color:#f0f0f0; text-decoration:none}

a.footer_no:link {color:#fff; text-decoration:underline}
a.footer_no:visited {color:#fff; text-decoration:none}
a.footer_no:active {color:#fff; text-decoration:none}
a.footer_no:hover {color:#f0f0f0; text-decoration:none}

a.footer:link {color:#fff; text-decoration:underline}
a.footer:visited {color:#fff; text-decoration:none}
a.footer:active {color:#fff; text-decoration:none}
a.footer:hover {color:#f0f0f0; text-decoration:none}

a:hover img {
opacity: 0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha(opacity=70)";
}


.my-small {
font-size: 1.5em;
color: ;
}
/*ウェブアイコン1.6倍の大きさに*/
/*text-shadow: 0px 0px 2px #fff, 0px 0px 3px #fff, 0px 0px 4px #fff, 0px 0px 5px #fff, 0px 0px 6px #fff;*/
/* 元テーマにあった、対応する開き括弧を持たない余分な閉じ括弧（そのままだと以降のスタイルが崩れる） */

div.zure{
display: block;
margin-top:-120px;
padding-top:120px;
}

.container {
max-width: 1080px;
margin-right: auto;
margin-left: auto;
padding: 0px 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
text-align: left;
}

#sidebar {
margin: 20px 0;
font-size: 12px;
line-height: 150%;
}

.contents {
margin: 20px 0 -10px;
}

@media (min-width: 780px) {
/*コンテンツとサイドバーを横に並べる*/
.container:after {
display: block;
clear: both;
content: '';
}
.contents {
float: left;
width: 70%;
margin-right: 2%;
text-align: left;
}
#sidebar {
float: left;
width: 28%;
text-align: left;
font-size: 14px;
}
}

/* 記事一覧 */
/* デフォルトのスタイル */
.article-list {
  background-color: #fff;
  border: 8px solid #ccc;
  border-radius: 10px;
  padding: 0;
  width: calc(33.33% - 10px);
  box-sizing: border-box;
  margin: 3px;
  display: inline-block;
  box-shadow: 0px 0px 5px #f1f1f1 !important;
  overflow: hidden; /* ここが超重要！ */
  position: relative;
}

.article-list:hover {
  border-color: #333;
  background-color: #f1f1f1;
}

.article-list .img-wrap {
  width: 100%;
  height: 150px;
  position: relative;
  overflow: hidden;
}

.article-list .img-wrap img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  transition: transform 0.5s ease;
  display: block;
  transform: scale(1); /* 初期値 */
}

.article-list:hover .img-wrap img {
  transform: scale(1.3); /* 拡大しても角からはみ出ない */
}


.article-list .text {
  padding: 10px;
  background-color: #fff;
}

.article-list .text h2 {
  font-size: 16px;
  font-weight: bold;
  padding-top: 10px;
  margin-bottom: .5rem;
  line-height: 1.5;
}

.article-list .text .article-date,
.article-list .text .article-author {
  font-size: 13px;
  display: inline-block;
  margin-bottom: 1.0rem;
  color: #333;
}

.article-list .text .article-date {
  margin-right: .5rem;
}

.article-list .text .article-author i {
  margin-right: .3rem;
}

.article-list .text p {
  font-size: 12px;
  line-height: 180%;
}

/* 780px以下の画面幅で2列表示に変更 */
@media (max-width: 780px) {
.article-list {
width: calc(50% - 10px);
}
.article-list .img-wrap img:hover{
transform:scale(1.05,1.05);
transition:0.5s all;
opacity: 1.0;
}
}

/* 576px以下の画面幅で1列表示に変更 */
@media (max-width: 576px) {
.article-list {
width: calc(50% - 6px);
}
.article-list .img-wrap img:hover{
transform:scale(1.05,1.05);
transition:0.5s all;
opacity: 1.0;
}
/*.article-list {
width: 100%;
margin: 5px 0; /* 上下のマージンを追加して要素を垂直に配置 */
/*display: block;
}
.article-list .img-wrap img {
width: 100%;
height: auto;
object-fit: cover; /* 画像のアスペクト比を保ちつつ、コンテナに合わせて画像をトリミング /
display: block; / 画像をブロック要素として扱い、指定したwidthに合わせて表示 */
/*} */
.article-list .text p {
display: none;
}
.article-list .text .article-date,
.article-list .text .article-author {
font-size: 12px;
margin-bottom: 10px;
}
.article-list .text .article-date {
margin-right: .2rem;
}
}

/*ページネーション*/
.parent {
display: flex;
justify-content: center;
}
.pagination {
display: flex;
align-items: center;
justify-content: center;
}
.pagination {
margin: 40px 0% 40px 0%;
text-align: center;
line-height: -80px;
display: flex;
align-items: center;
}
.pagination ul {	
margin: 0;
list-style: none;
}
.pagination li {	
width: auto;
margin: 0 0px;
display: inline-block;
vertical-align: middle;
}
.pagination li a, .pagination li > span {
font-size: 1.3em;
font-weight:bold;
font-family: 'Oswald', sans-serif;
display: block;
width: 50px;
height: 50px;
padding-top: 15px;
padding-bottom: 5px;
padding-right: 0px;
padding-left: 0px;

text-decoration: none;
color: #000;
background-color: #fff;
border: solid 1px #000;
border-radius: 5px;
}

.pagination li > span {	
color: #fff;
background-color: #000;
}

.pagination li a:hover {	
color: #fff;
background-color: #000;
}

.pagination li .dots {	
width: 20px;
padding-top: 10px;
color: #000;
border-color: transparent;
background-color: transparent;
}

.pagination li a.prev.page-numbers, .pagination li a.next.page-numbers {
padding-top: 15px !important; /* 他のリンクと同じ高さに調整 */
}

/* 必要に応じて、以下のような追加スタイルも検討してください。*/
.pagination li a.prev.page-numbers:before, .pagination li a.next.page-numbers:after {
content: ''; /* 矢印を表示するためのコンテンツ */
display: inline-block !important;
vertical-align: middle !important;
/* ここに矢印のスタイルを追加 */
}

.contents > h1 {	
font-size: 1.5em;
margin: 0 0 20px;
}

@media (max-width: 599px) {	
.contents > h1 {
font-size: 1.3em;
}
}

.kiji {	
font-size: 1em;
margin: 0;
padding: 0 25px 25px;
}
	
	
.kiji-img {	
max-width: 780px;
margin: 30px 0px;
text-align: center;
display: block;
text-align: center;
transition: none 0s ease 0s;
outline: none;
border: none;
padding: 0px;
border-spacing: 0px;
margin-left: -10px;
margin-right: -10px;
z-index: 30;
}

/*タグ*/
.kiji-tag {
text-align: left;
}

.kiji-tag ul {
display: flex;
flex-wrap: wrap;
margin: 0;
padding: 0;
list-style: none;
}

.kiji-tag li {
margin-right: 3px;
margin-bottom: 3px;
white-space: nowrap;
}

.kiji-tag li a {
display: inline-block;
text-align: center;
font-size: 12px;
text-decoration: none !important;
margin: 2px;
padding: 5px 10px;
white-space: nowrap;
background: #fff;
color: #333 !important;
border: solid 2px #333;
border-radius: 50px;
transition: .4s;
}

.kiji-tag li a:before {
font-size: 1.0em;
color: #333;
content: "#";
padding-right: 3px;
transition: .4s;
}

.kiji-tag li a:hover {
background: #333;
color: #fff !important;
border: solid 2px #333;
}

.kiji-tag li a:hover:before {
color: #fff !important;
}
 
.kiji p {
margin-top: 0;
margin-bottom: 30px;
color: ;
line-height: 200%;
}

/*記事中のタイトルタグ*/

.kiji h1 {
font-size: 30px;
margin: .3em 0;
color: #222;
}

/*.kiji h3 {
color: #000;
font-weight: bold;
font-size: 1.3em;
margin-top: 0px;
margin-bottom: 20px;
padding-bottom:0px;
line-height: 200%;
border-left: 10px solid #000;
padding-left: 20px;
}*/
	
.kiji h4 {
position: relative;
z-index: 1;
color: #222;
font-size: 1.2em;
margin-top: 10px;
margin-bottom: 10px;
margin-left: -10px;
margin-right: -10px;
line-height: 150%;
padding: 15px 10px;
}

.kiji h4::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(172, 164, 193, 0.2); /* 半透明グレー */
z-index: -1;
border-radius: 5px; /* 必要なら角丸 */
}

/* モバイル閲覧時の角丸削除 */
@media screen and (max-width: 780px) {
.kiji h4::before {
border-radius: 0; /* モバイル表示時に角丸を削除 */
}
}

.kiji h5 {
position: relative;
z-index: 1;
color: #222;
font-size: 1.2em;
margin-top: 30px;
margin-bottom: 10px;
margin-left: -10px;
margin-right: -10px;
line-height: 150%;
padding: 15px 10px;
}

.kiji h5::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(172, 164, 193, 0.2); /* 半透明グレー */
z-index: -1;
border-radius: 0px; /* 必要なら角丸 */
}

/* モバイル閲覧時の角丸削除 */
@media screen and (max-width: 780px) {
.kiji h5::before {
border-radius: 0; /* モバイル表示時に角丸を削除 */
}
}

/*ここまで*/
@media only screen and (max-width:780px){
}

@media (max-width: 599px) {	
.kiji {
font-size: 92%;
padding: 0 10px 25px;
}
	
/*スマホサイズの記事中タイトルタグ*/
.kiji h1 {
font-size: 1.7em;
}


	
/*.kiji h3 {
color: #000;
font-weight: bold;
font-size: 1.2em;
margin-top: 60px 0 20px 0;
line-height: 180%;
border-left: 10px solid #000;
padding-left: 15px;
}*/

.kiji h4 {
color:#222 ;/*文字色*/
font-size: 1.3em;
margin-top: 0px;
margin-bottom: 10px;
line-height: 150%;
}

.kiji h5 {
color:#222 ;/*文字色*/
font-size: 1.2em;
margin-top: 20px;
margin-bottom: 10px;
line-height: 150%;
}
}
/*ここまで*/

/*------サイドバー------*/
.sidebar-wrapper {
margin-bottom: 1.8em;
padding: 0px;
color: #222;
}

.sidebar-wrapper h4 {
font-family:;
font-size: 1.5em;
margin-top: 0;
margin-bottom: 0px;
padding: 0px 0px;
color: #ddd;
font-weight:normal;
}


/*デフォルトウィジェット*/
.widget_recent_entries ul, .widget_meta ul, .widget_recent_comments ul, .widget_pages ul, .widget_meta ul, .widget_archive ul, .widget_nav_menu ul {
padding: 0;
list-style: none;
}

.widget_recent_entries li, .widget_meta li, .widget_recent_comments li, .widget_pages li, .widget_meta li, .widget_archive ul, .widget_nav_menu li {
position: relative;
padding: 0px;
}

.widget_recent_entries li, .widget_nav_menu li {
padding-left: 25px;
}
	
.widget_recent_entries a, .widget_meta a, .widget_recent_comments a, .widget_pages a, .widget_meta a, .widget_archive a, .widget_nav_menu a {
color: #ddd;
}

.widget_recent_entries a:hover, .widget_meta a:hover, .widget_recent_comments a:hover, .widget_pages a:hover, .widget_meta a:hover, .widget_archive a:hover, .widget_nav_menu a:hover {
color: #ddd;
}

/* カテゴリウィジェット基本スタイル */
.widget_categories ul li {
position: relative;
border-bottom: 1px #ddd dotted;
padding-bottom: 10px;
padding-top: 10px;
padding-left: 40px;
list-style: none;
}

.widget_categories ul li a {
display: flex;
justify-content: space-between;
align-items: center;
color: #333;
font-size: 100%;
line-height: 1.2em;
padding-left: 0px;
}

.widget_categories ul li a .post-count {
margin-right: 15px !important;
text-decoration: none !important;
padding: 4px 8px;
border-radius: 5px;
color: #fff;
background: #333;
font-size: 0.8em;
}

.widget_categories a:hover {
color: #555 !important;
}

.widget_categories li {
position: relative;
padding-left: 25px;
}

.widget_categories li:before {
content: "";
width: 1.8em;
height: 1.8em;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23333'%3E%3Cpath d='M3 6a1 1 0 011-1h5l2 2h9a1 1 0 011 1v10a1 1 0 01-1 1H4a1 1 0 01-1-1V6z'/%3E%3C/svg%3E");
background-size: contain;
background-repeat: no-repeat;
display: inline-block;
text-align: center;
position: absolute;
top: 12px;
left: 10px;
margin-right: 0px;
}

/* スラッグごとに画像を指定 */
.widget_categories li.cat-item-9:before {
content: ""; /* ライフスタイル */
width: 1.8em;
height: 1.8em;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2357bc41'%3E%3Cpath d='M3 6a1 1 0 011-1h5l2 2h9a1 1 0 011 1v10a1 1 0 01-1 1H4a1 1 0 01-1-1V6z'/%3E%3C/svg%3E");
background-size: contain;
background-repeat: no-repeat;
display: inline-block;
text-align: center; /* アイコンを中央に配置 */
left: 10px !important;
}

/* スラッグごとに画像を指定 */
.widget_categories li.cat-item-11:before {
content: ""; /* テクノロジー */
width: 1.8em;
height: 1.8em;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2320bfd1'%3E%3Cpath d='M3 6a1 1 0 011-1h5l2 2h9a1 1 0 011 1v10a1 1 0 01-1 1H4a1 1 0 01-1-1V6z'/%3E%3C/svg%3E");
background-size: contain;
background-repeat: no-repeat;
display: inline-block;
text-align: center; /* アイコンを中央に配置 */
left: 10px !important;
}

/* スラッグごとに画像を指定 */
.widget_categories li.cat-item-12:before {
content: ""; /* 旅行・観光 */
width: 1.8em;
height: 1.8em;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f28c28'%3E%3Cpath d='M3 6a1 1 0 011-1h5l2 2h9a1 1 0 011 1v10a1 1 0 01-1 1H4a1 1 0 01-1-1V6z'/%3E%3C/svg%3E");
background-size: contain;
background-repeat: no-repeat;
display: inline-block;
text-align: center; /* アイコンを中央に配置 */
left: 10px !important;
}

/* スラッグごとに画像を指定 */
.widget_categories li.cat-item-13:before {
content: ""; /* ファッション・美容 */
width: 1.8em;
height: 1.8em;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e75480'%3E%3Cpath d='M3 6a1 1 0 011-1h5l2 2h9a1 1 0 011 1v10a1 1 0 01-1 1H4a1 1 0 01-1-1V6z'/%3E%3C/svg%3E");
background-size: contain;
background-repeat: no-repeat;
display: inline-block;
text-align: center; /* アイコンを中央に配置 */
left: 10px !important;
}

/* スラッグごとに画像を指定 */
.widget_categories li.cat-item-2:before {
content: ""; /* 健康・フィットネス */
width: 1.8em;
height: 1.8em;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2342a5f5'%3E%3Cpath d='M3 6a1 1 0 011-1h5l2 2h9a1 1 0 011 1v10a1 1 0 01-1 1H4a1 1 0 01-1-1V6z'/%3E%3C/svg%3E");
background-size: contain;
background-repeat: no-repeat;
display: inline-block;
text-align: center; /* アイコンを中央に配置 */
left: 10px !important;
}

/* スラッグごとに画像を指定 */
.widget_categories li.cat-item-3:before {
content: ""; /* グルメ・レシピ */
width: 1.8em;
height: 1.8em;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ff7043'%3E%3Cpath d='M3 6a1 1 0 011-1h5l2 2h9a1 1 0 011 1v10a1 1 0 01-1 1H4a1 1 0 01-1-1V6z'/%3E%3C/svg%3E");
background-size: contain;
background-repeat: no-repeat;
display: inline-block;
text-align: center; /* アイコンを中央に配置 */
left: 10px !important;
}

/* スラッグごとに画像を指定 */
.widget_categories li.cat-item-4:before {
content: ""; /* マネー */
width: 1.8em;
height: 1.8em;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffb300'%3E%3Cpath d='M3 6a1 1 0 011-1h5l2 2h9a1 1 0 011 1v10a1 1 0 01-1 1H4a1 1 0 01-1-1V6z'/%3E%3C/svg%3E");
background-size: contain;
background-repeat: no-repeat;
display: inline-block;
text-align: center; /* アイコンを中央に配置 */
left: 10px !important;
}

/* スラッグごとに画像を指定 */
.widget_categories li.cat-item-5:before {
content: ""; /* エンタメ・趣味 */
width: 1.8em;
height: 1.8em;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%238e44ad'%3E%3Cpath d='M3 6a1 1 0 011-1h5l2 2h9a1 1 0 011 1v10a1 1 0 01-1 1H4a1 1 0 01-1-1V6z'/%3E%3C/svg%3E");
background-size: contain;
background-repeat: no-repeat;
display: inline-block;
text-align: center; /* アイコンを中央に配置 */
left: 10px !important;
}

/* 子カテゴリーを初期状態で非表示に設定し、適切な幅と改行設定を追加 */
.widget_categories li > ul.children {
max-width: 280px; /* 最大幅を設定 */
display: none; /* 初期状態で非表示 */
position: relative;
flex-wrap: wrap;
padding-top: 20px;
overflow-wrap: break-word;
word-break: break-all; /* 適切な改行設定 */
}

/* エリアスタイル */
area {
cursor: pointer;
}

/* 子カテゴリーのアイコン変更とスタイル */
.widget_categories ul.children li:before {
content: '\f07c';
font-size: 150%;
color: #555;
}

.widget_archive ul li a .post-count {
line-height: 1.0em;
float: right; /* 右端に寄せる */
margin: 15px 10px 0px 8px; /* 位置の調整 */
padding: 5px 8px; /* 文字周りの余白 */
border-radius: 4px; /* 角の丸み */
color: #fff; /* 文字色 */
font-size: 0.7em;
background: #777; /* 背景色 */
}

/*カテゴリウィジェットとアーカイブウィジェットのドロップダウン表示*/
.widget_categories .screen-reader-text {
display: none;
}

.widget_archive .screen-reader-text {
position: relative;
display: block;
height: 0;
text-indent: -9999999px;
}

.widget_categories form ,
.widget_archive form {
position: relative;
left: 0;
}

.widget_categories form::after,
.widget_archive form::after {
position: absolute;
top: 49%;
right: 8%;
content: "";
display: inline-block;
width: 1em;
height: 1em;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9L12 15L18 9'/%3E%3C/svg%3E");
background-size: contain;
background-repeat: no-repeat;
color: #333; /* 文字色 */
transform: translateY(-50%);
pointer-events: none;
}

/* 親要素にセンタリングのためのスタイルを適用 */
.widget_categories, {
text-align: center; /* 子要素をセンター揃え */
}

/* select要素やpostformを中央に配置 */
.widget_categories .postform,
.widget_archive select {
font-size: 100%;
width: 95%;
padding: 12px 12px;
cursor: pointer;
border: 5px solid #aaa;
border-radius: 0px;
background-color: #f4f5f9;
color: #777; /* 文字色 */
-webkit-appearance: none;
-moz-appearance: none;
margin: 0 auto; /* 横方向の余白を自動設定し中央揃え */
display: block; /* ブロック要素として扱う */
}

.widget_categories .postform:hover {
border: 5px solid #000 !important;
}

/* タグクラウド */
.tagcloud {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
}

.tagcloud a {
    display: inline-block;
    margin: 3px;
    padding: 8px 12px;
    font-size: 12px !important;
    text-decoration: none !important;
    text-align: center;
    white-space: nowrap;
    color: #333;
    background-color: #fff;
    border: 2px solid #333;
    border-radius: 50px;
    transition: .4s;

    /* 文字数が長い場合に省略する */
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 150px; /* 必要に応じて適切な幅に調整 */
}

.tagcloud a:before {
    display: inline-block;
    font-size: 12px !important;
    content: "#";
    padding-right: 3px;
    color: #333;
    transition: .4s;
}

.tagcloud a:hover {
    background-color: #333;
    color: #fff;
    border: 2px solid #333;
}

.tagcloud a:hover:before {
    color: #fff;
}


/*アーカイブウィジェット*/
.widget_archive ul li {
position: relative;
border-bottom: 1px #ddd dotted ;
padding-bottom:0px;
padding-top:5px;
}

.widget_archive li a {
line-height: 3.0em;
font-size: 120%;
color: #222;
text-decoration: underline;
margin: -37px 0 0px 0px;
padding-left: 10px;
}

.widget_archive li:before {
color: #222;
content: "";
display: inline-block;
width: 1.3em;
height: 1.3em;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23222' d='M13.5 4.5a1.8 1.8 0 012.5 0l2.5 2.5a1.8 1.8 0 010 2.5L9 19H5v-4L13.5 4.5z'/%3E%3Cpath stroke='%23222' stroke-width='2' stroke-linecap='round' fill='none' d='M3 21H21'/%3E%3C/svg%3E");
background-size: contain;
background-repeat: no-repeat;
padding-left: 10px;
}

.widget_archive a:hover {
color: #555 !important;
text-decoration: none;
}

/* PREV NEXT */
#prev_next{
background: linear-gradient(to right, rgba(255,255,255,0), rgba(247,248,250,1.0), rgba(255,255,255,0));
width:100%;
margin: 36px 0 24px;
padding:0;
display: table;
}
#prev_next  #prev, #prev_next  #next{
width: 50%;
padding: 30px 10px 10px;
border-top:#ccc 1px solid;
border-bottom:#ccc 1px solid;
display: table-cell;
position:relative;
text-decoration:none;
}

#prev_next #prev:hover, #prev_next #next:hover{
background-color: rgba(238,238,238,0.7);
}
#prev_next #prev{
border-right:#ccc 1px solid;
}
#prev_next #prev_title, #prev_next #next_title{
font-size:90%;
top:-1em;
position:absolute; 
border: 1px #ccc solid;
background:#fff; 
text-align: center;
padding:3px;
color:#666;
}
#prev_next #next_title{
right:10px;
}
#prev_next #prev img, #prev_next #next img{
margin:10;
}
#prev_next #prev_no, #prev_next #next_no{
width: 50%;
height:140px;
padding:0 10px;
display: table-cell;
}
#prev_next #prev_no{
border-right:#ccc 1px solid;
}
/*-- ここまで --*/

/*media Queries タブレットサイズ
----------------------------------------------------*/
@media only screen and (max-width: 780px) {
}
#prev_next #prev p, #prev_next #next p{
font-size:80%;
line-height:1.45;
}
/*media Queries タブレットサイズ
----------------------------------------------------*/
@media only screen and (min-width: 380px) {
}
/*media Queries PCサイズ
----------------------------------------------------*/
@media only screen and (min-width: 780px) {
/*-- ここから --*/
/*--------------------------------------
768px PREV NEXT
--------------------------------------*/
#prev_next #prev, #prev_next #prev::before, #prev_next #prev::after,
#prev_next #next, #prev_next #next::before, #prev_next #next::after {	
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-transition: all .3s;
transition: all .3s;
}
	
#prev_next #prev p, #prev_next #next p{
font-size:90%;
line-height:1.5;
}
	
#prev_next #prev_title, #prev_next #next_title{
padding:3px 10px;
}
#prev_next #next_title{
right:10px;
}
#prev_next #prev img{
float:left;
margin:10px
}
#prev_next #next img{
float:right;
margin:10px;
}
/*-- ここまで --*/
}
/*ホーム表示ブロック*/
#prev_next_home{
display: none;	
}
#prev_next_home:hover{
display: none;
}
#prev_next_home i{
display: none; 
}


/*  ボタンの上に置く top */
.balloon_top {
position: relative;
background: #fcfcfc;
border: 1px solid gray; /*#242a2e;*/
font-size:11px;
text-align:center;
margin-bottom:5px; padding:3px;
font-family: arial, "",sans-serif;
border-radius: 5px;        
}
.balloon_top:after, .balloon_top:before {
top: 100%;
left: 50%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
}

.balloon_top:after {
border-color: rgba(252, 252, 252, 0);
border-top-color: #fcfcfc;
border-width: 5px;
margin-left: -5px;
}
.balloon_top:before {
border-color: rgba(36, 42, 46, 0);
border-top-color: gray; /*#242a2e;*/
border-width: 6px;
margin-left: -6px;
}

/* ボタンの右に置く right */
.balloon_right {
position: relative;
background: #ffffff;
border: 1px solid gray; /*#0a0c0d;*/
font-size:11px;
text-align:center;
margin-left:5px; padding:3px; margin-top:30px;
font-family: arial, "",sans-serif;
border-radius: 5px;
}
.balloon_right:after, .balloon_right:before {
right: 100%;
top: 50%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
}

.balloon_right:after {
border-color: rgba(255, 255, 255, 0);
border-right-color: #ffffff;
border-width: 3px; /*5px;*/
margin-top: -3px; /*5px;*/
}
.balloon_right:before {
border-color: rgba(10, 12, 13, 0);
border-right-color: gray; /*#0a0c0d;*/
border-width: 4px; /*6px;*/
margin-top: -4px;  /*6px;*/
}

/* ぬるっと出現するテキスト・画像 */
.fadeInDown {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:1s;
 -webkit-animation-name: fadeInDown;
 animation-name: fadeInDown;
 visibility: visible !important;
}
@-webkit-keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}

/* ふわふわする画像 */
.float {
animation: float_7667 1s linear infinite;
transform-origin: 50% 50%;
}

@keyframes float_7667 {
0% { transform: translateY(0) }
20% { transform: translateY(-6px) }
40% { transform: translateY(0) }
100% { transform: translateY(0) }
}

/*時計アイコンを横に並べる*/
.time { 	
float: left;
margin-right: 5px; 
margin-top: 18.5px; 
}

/*引用枠*/
blockquote {
position: relative;
padding: 10px 20px;
box-sizing: border-box;
color: #777777;
border: solid 3px #777777;
}
blockquote:before{
display: inline-block;
position: absolute;
top: -20px;
left: -20px;
width: 40px;
height: 40px;
line-height: 40px;
border-radius: 50%;
text-align: center;
content: "";
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h4v4a3 3 0 01-3 3H5'/%3E%3Cpath d='M15 8h4v4a3 3 0 01-3 3h-1'/%3E%3C/svg%3E") no-repeat center / 20px 20px, #777777;
color: #ffffff;
font-size: 20px;
}

blockquote:after{
display: inline-block;
position: absolute;
bottom: -20px;
right: -20px;
width: 40px;
height: 40px;
line-height: 40px;
border-radius: 50%;
text-align: center;
content: "";
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 16H5v-4a3 3 0 013-3h1'/%3E%3Cpath d='M19 16h-4v-4a3 3 0 013-3h1'/%3E%3C/svg%3E") no-repeat center / 20px 20px, #777777;
color: #ffffff;
font-size: 20px;
}

blockquote p {
padding: 16px;
margin: 10px 10px;
color: #666666;
line-height: 1.7;
}

blockquote cite {
display: block;
text-align: right;
color: #666666;
font-size: 0.9em;
}

/* リストの黒丸を消す */
ul {
list-style: none;
background-image:none;
}

::marker {
color: rgba( 255,255,255, 0.1 );
}

/*スライダー*/
/* 1.親スタイルリセットとペース設定 ++++++++++ */
.slider-box p, .slider-box div, .loop-box ul, .loop-box li {
box-sizing: border-box; margin: 0 !important; padding: 0 !important;
}

/* 2.ベースBOXの設定 +++++++++++++++++++++ */
.slider-box {
box-sizing: border-box;
overflow: hidden;
width: 100%; /* 画面又は親要素に対するサイズ - 変更可 */
background: ; /* 背景色 - 変更可・削除可 */
border: solid 0px #ccc; /* 囲み線 - 変更可・削除可 */
margin: 0 auto; /* Box外の余白 - 変更可 */
padding: 0px 0 0px 0; /* 上端からスライダーまでの距離 - 変更可・削除可 */
}

/* 3.チェックボックスを利用した停止・再生などの設定 +++++++++++++++++ */
.slider-check {
display: none;
}
.slider-check:checked ~ .loop-box > .loop {
animation-play-state: paused;
}

/* 4.スライダー本体とアニメーションの基本設定 ++++++++++++++ */
.loop-box{
position: relative;
width: 100%;
overflow: hidden; 
}
.loop-box, .loop-box ul {
height: 70px; /* スライダーの高さ - 変更注意 */
}
.loop-box ul {
position: absolute; left: 0; top: 0;
display: flex; 
justify-content: space-between;
background: ; /* スライダーの背景色 - 変更可 */
list-style: none;
max-width: 10000%; 
min-width: 100%;
width: calc(60px * 4.0 * 10); /* 画像の横幅×枚数 - 変更注意・変更可・変更注意 */
animation: 150s linear infinite; /* アニメーション設定 - 変更可 */
}
.loop-box li {
display: flex;
align-items: center; 
justify-content: center;
color: #fff;
}
.loop-box img {
height: auto;
width: 100%;
}

/* 5.アニメーション個別設定 ++++++++++ */
.loop-box ul.loop1 {
animation-name: loop1;
}
.loop-box ul.loop2 {
animation-name: loop2;
}
@keyframes loop1 {
0% {transform: translateX(0); }
49.99999% {transform: translateX(-100%); }
50% {transform: translateX(100%); }
}
@keyframes loop2 {
0% {transform: translateX(100%); }
100%{transform: translateX(-100%); }
}

@keyframes shiny {
0% {
transform: scale(0) rotate(25deg);
opacity: 0;
}

50% {
transform: scale(1) rotate(25deg);
opacity: 1;
}

100% {
transform: scale(50) rotate(25deg);
opacity: 0;
}
}

.shiny-btn {
position: relative;
display: block;
width: 100%;
line-height: 100%;
text-align: center !important;
text-decoration: none;
color: #fff;
background-color: ;
overflow: hidden;
}

.shiny-btn::after {
content: '';
position: absolute;
top: -100px;
left: -100px;
width: 50px;
height: 50px;
background-image: linear-gradient(100deg,  rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 1) 100%, rgba(255, 255, 255, 0) 0%);
    
/* アニメーション */
animation-name: shiny;
animation-duration: 3s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
}

/* 目次を中央寄せ 下余白 */
#ez-toc-container {
width: 100%;
}

/* タイトル前のアイコン（自前SVG。2026-09-06にアイコンフォント依存を撤去） */
#ez-toc-container .ez-toc-title:before{
content: "";
display: inline-block;
width: 12px;
height: 12px;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='4' cy='6' r='1'/%3E%3Ccircle cx='4' cy='12' r='1'/%3E%3Ccircle cx='4' cy='18' r='1'/%3E%3Cpath d='M9 6H21'/%3E%3Cpath d='M9 12H21'/%3E%3Cpath d='M9 18H21'/%3E%3C/svg%3E");
background-size: contain;
background-repeat: no-repeat;
padding-right: 6px;
vertical-align: 10px;
}

#ez-toc-container p.ez-toc-title+ul.ez-toc-list>li {
margin-top: 1.5em;
padding-bottom: 0.4em;
}

#ez-toc-container p.ez-toc-title+ul.ez-toc-list {
margin-top: 1em;
margin-right: 1em;
}

#ez-toc-container li {
padding-left: 1em !important;
}

#ez-toc-container ul ul {
margin-bottom: 20px;
}

#ez-toc-number {
margin-left: -0.5em;
margin-right: 0.5em;
}

#ez-toc-container ul>li>ul>li {
font-size: 100% !important;/*小見出しの文字サイズ*/
}

#ez-toc-container .ez-toc-toggle > a {
color: #fff !important;/*［hide］の文字色*/
letter-spacing: 0.1em;/*文字間の余白*/
}

/*リンクの色など*/
#ez-toc-container a {
text-decoration: none;
text-shadow: none;
color: #333 !important;
margin: 10px 0;
line-height: 180% !important;
}

#ez-toc-container a:hover {
text-decoration:underline
}

#ez-toc-container {
width: 100%;
background-color: rgba(247,247,247,0.7) !important;/*背景色*/
background: none no-repeat 98% 97%; background-size:100px;
margin: 80px auto 100px auto;
padding:60px 30px 50px 20px;
display: table;
border: solid 5px #333 !important;/*外枠*/
position: relative;
border-radius: 0px;/*角丸*/
box-shadow: 0px 0px 0px 3px rgba(235, 235, 235, 0.8);

}

.ez-toc-title-container {
width: auto;
padding: 5px 20px;
border-radius: 20px;
background-color: #333 !important;
background-image: url();
background-size: 5px;
position: absolute;
top: -20px;
left: 20px;
letter-spacing: 0.05em;
display: inline-block;
}

.ez-toc-title{
font-size:120% !important;
color:#fff;
}

/*サイドバーランキング順位　ここから*/
.wpp-list {
counter-reset: wpp-ranking ;
}
.wpp-list li {
position: relative;
list-style-type: none;
margin: 10px 10px 0 5px;
}
.taxonomies{
margin: 20px 0 0 !important;
font-size: 120%;
}
.wpp-list a {
margin: 0px 0 0 !important;
font-size:95% !important;
line-height: 150%;
}

.wpp-list li:before {
counter-increment: wpp-ranking;
content: counter(wpp-ranking, decimal);
background: linear-gradient(180deg, rgba(236,100,56,1.0) 0%, rgba(236,100,56,1.0) 50%, rgba(212,79,37,1.0) 50%, rgba(212,79,37,1.0) 100%);
border: 2px solid #f0f0f0;
box-shadow: 0px 0px 0px #000;
color: #fff;
font-weight: bold;
font-size: 15px;
font-family: 'Oswald', sans-serif;
line-height: 1;
padding: 4px 4px;
margin: 0 0px 0 0px;
position: absolute;
left: 0;
top: 0;
border-radius: 20%; /* 円形にする */
z-index: 1;
width: 28px;
text-align: center;
}

/* 1位 */
.wpp-list li:nth-child(1):before {
background: linear-gradient(180deg, rgba(253,203,76,1.0) 0%, rgba(253,203,76,1.0) 50%, rgba(253,188,25,1.0) 50%, rgba(253,188,25,1.0) 100%);
border: 2px solid #f0f0f0 !important;
}

/* 2位 */
.wpp-list li:nth-child(2):before {
background: linear-gradient(180deg, rgba(192,192,192,1.0) 0%, rgba(192,192,192,1.0) 50%, rgba(169,169,169,1.0) 50%, rgba(169,169,169,1.0) 100%);
border: 2px solid #f0f0f0 !important;
}

/* 3位 */
.wpp-list li:nth-child(3):before {
background: linear-gradient(180deg, rgba(205,127,50,1.0) 0%, rgba(205,127,50,1.0) 50%, rgba(139,69,19,1.0) 50%, rgba(139,69,19,1.0) 100%);
border: 2px solid #f0f0f0 !important;
}

.wpp-list li:after {
content: ""; /* アイコンコードを修正 */
position: absolute;
top: -2px; /* この値を調整してアイコンの位置を変更します */
left: 16px; /* この値を調整してアイコンの位置を変更します */
color: #000;
text-shadow: 0px 0px 0px #000; 
font-size: 100%;
z-index: 2;
}
.wpp-list li img {
width: 100px; /* 例 */
height: 100px; /* 例 */
object-fit: cover !important;
object-position: top !important;
border-radius: 10px;
margin: -5px 5px 10px -5px;
border: 3px solid #ccc;
}


/* 6位以降のランキング　ここから */
.wpp-list_02 {
counter-reset: wpp-ranking 5; /* 6位からカウント開始するので、最初の要素が6になります */
}
.wpp-list_02 li {
position: relative;
list-style-type: none;
margin: 10px 10px 20px 5px;
}
.wpp-list_02 a {
margin: 10px 0px;
font-size: 110%;
}

/* 各順位の背景色などのスタイルを維持 */
.wpp-list_02 li:before {
counter-increment: wpp-ranking;
content: counter(wpp-ranking, decimal); /* カウント値を表示 */
background: linear-gradient(180deg, rgba(236,100,56,1.0) 0%, rgba(236,100,56,1.0) 50%, rgba(212,79,37,1.0) 50%, rgba(212,79,37,1.0) 100%);
border: 2px solid #f0f0f0;
color: #fff;
font-weight: none;
font-size: 14px;
    font-family: 'Oswald', sans-serif;
    line-height: 1;
    padding: 4px 2px;
    margin: 0 0px 0 0px;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 20%; /* 円形にする */
    z-index: 1;
    width: 28px;
    text-align: center;
}

/* 6位以降に1位、2位、3位の特殊表示は不要 */
/* 1位 */
.wpp-list_02 li:nth-child(1):before {
background: linear-gradient(180deg, rgba(236,100,56,1.0) 0%, rgba(236,100,56,1.0) 50%, rgba(212,79,37,1.0) 50%, rgba(212,79,37,1.0) 100%);
border: 2px solid #f0f0f0 !important;
}
/* 2位 */
.wpp-list_02 li:nth-child(2):before {
background: linear-gradient(180deg, rgba(236,100,56,1.0) 0%, rgba(236,100,56,1.0) 50%, rgba(212,79,37,1.0) 50%, rgba(212,79,37,1.0) 100%);
border: 2px solid #f0f0f0 !important;
}
/* 3位 */
.wpp-list_02 li:nth-child(3):before {
background: linear-gradient(180deg, rgba(236,100,56,1.0) 0%, rgba(236,100,56,1.0) 50%, rgba(212,79,37,1.0) 50%, rgba(212,79,37,1.0) 100%);
border: 2px solid #f0f0f0 !important;
}
/* アイコンを調整 */
.wpp-list_02 li:after {
content: ""; /* アイコンコードを修正 */
position: absolute;
top: -2px; /* アイコン位置調整 */
left: 16px; /* アイコン位置調整 */
color: #000;
text-shadow: 0px 0px 0px #000;
font-size: 100%;
z-index: 2;
}

.wpp-list_02 li img {
margin: -5px 5px 10px -5px;
border-radius: 10px; /* 円形にする */
}


/* グローバルメニュー */

/* サイドバー吹き出し */
.arrow_box_02{
position:relative;
width:100%;
height:auto;
background: linear-gradient(110deg, #9c3749 0%, #9c3749 60%, #9c3749 40%, #9c3749 100%);
padding:10px 0px 10px 0px;
margin:15px 0px 0px 0px;
text-align:left;
color:#fff;
font-size:80%;
border-radius: 0px !important;
-webkit-border-radius:0px;
-moz-border-radius:0px;
}

.arrow_box_02:after{
border: solid transparent;
content:'';
height:0;
width:0;
pointer-events:none;
position:absolute;
border-color: rgba(255, 40, 100, 0);
border-top-width:10px;
border-bottom-width:10px;
border-left-width:10px;
border-right-width:10px;
margin-left: -10px;
border-bottom-color:#9c3749;
bottom:100%;
left:50px;
}

.arrow_box_00{
position:relative;
width:100%;
height:auto;
background: linear-gradient(110deg, #000 0%, #000 60%, #000 40%, #000 100%);
padding:15px 55px 10px 15px;
margin:-20px 0px 0px 0px;
text-align:left;
color:#fff;
font-size:80%;
-webkit-border-radius:0px;
-moz-border-radius:0px;
}

.arrow_box_00:after{
border: solid transparent;
content:'';
height:0;
width:0;
pointer-events:none;
position:absolute;
border-color: rgba(255, 40, 100, 0);
border-top-width:10px;
border-bottom-width:10px;
border-left-width:10px;
border-right-width:10px;
margin-left: -10px;
border-bottom-color:#000;
bottom:100%;
left:50px;
}

.arrow_box_pan{
position:relative;
width:100%;
height:auto;
padding:10px 10px;
margin:0px 0px 0px 0px;
text-align:left;
color:#e0387b;
font-size:80%;
border-radius: 0px !important;
-webkit-border-radius:0px;
-moz-border-radius:0px;
border: 0px solid; /* border width and style */
background: linear-gradient(110deg, rgba(156,55,73,1.0) 0%, rgba(156,55,73,1.0) 5%, rgba(156,55,73,1.0) 90%);
border-image-slice: 1;
}

/*サンプル動画　ここから*/
.youtube {
position: relative;
width: 100%;
padding-top: 100%;
margin-bottom: -80% !important;
margin-top: -13px !important;
}
.youtube iframe {
position: absolute;
top: 0;
right: 0;
width: 100% !important;
height: 47.5% !important;
}

/* 吹き出し */
.arrow_box_03 {
position:relative;
width:100%;
background-color: rgba(247,247,247,0.7) !important;/*背景色*/
background-image: none;
background-size: 230px;
background-position: 0px 45px;
background-repeat: no-repeat;
margin: 30px auto;
padding:80px 30px 30px 30px;
text-align:left;
color: #222 !important;
word-break: break-all;
border:5px solid #000;
line-height:220% !important;
font-size:13px;
-webkit-border-radius:0px;
-moz-border-radius:0px;
}

.arrow_box_03:after,.arrow_box_03:before{
border: solid transparent;
content:'';
height:0;
width:0;
pointer-events:none;
position:absolute;
bottom:100%;
left:10%;
}
/*.arrow_box_03:after{
border-color: rgba(255, 255, 255, 0);
border-top-width:10px;
border-bottom-width:10px;
border-left-width:10px;
border-right-width:10px;
margin-left: -10px;
border-bottom-color:;
}

.arrow_box_03:before{
border-color: rgba(164, 18, 92, 0);
border-top-width:13px;
border-bottom-width:13px;
border-left-width:13px;
border-right-width:13px;
margin-left: -13px;
margin-bottom: 0px;
border-bottom-color:#000;
}*/

.logo img {
position: absolute;
bottom: 10px;
left: 10px;
width: 90px !important;
height: 33px !important;
}

.logo_02 img {
position: absolute;
bottom: 10px;
left: 10px;
width: 60px !important;
height: 22px !important;
}

.ico_play img {
position: absolute;
bottom: 30%;
left: 90px;
width: 100px !important;
height: 100px !important;
}

.kiji-img_02 {
background-size:cover;
background-position: 50% 50%;
background-repeat: no-repeat;
}
/* 記事中画像エフェクト */
.frame {
display: inline-block;
position: relative;
}
.frame:after {
position: absolute;
display: block;
content: "";
top: 0;
left: 0;
width: 100%;
height: 100%;
box-shadow: 0 4px 10px rgba(75, 72, 72, 0.1);
transform: rotate(3deg); /* 回転させる */
background: #fff;
z-index: -1;
}
/* 背景斜め加工 */
.triangle01 {
display: table;
width: 100%;
height: auto;
background-color: ;
transform: skewY(-2deg);
margin-top: 5vw;
padding:10px;
} 
.triangle01 > * {
transform: skewY(2deg);
}

.triangle02 {
display: table;
width: 100%;
height: auto;
background-color: ;
transform: skewY(-2deg);
margin-top: 5vw;
} 
.triangle02 > * {
transform: skewY(2deg) translateY(0px);
}

/* カードタイトル文字数制限 */
.cardt {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2; /* 制限したい行数が2の場合 */
overflow: hidden;
line-height: 1.5em; /* 行の高さを設定 */
height: 3em; /* 2行分の高さを設定 (line-height * 2) */
}

/* 記事中ボタン */
.tug_bottom {
min-width:200px;
width:80%;
text-align:center;
/*font-size: 22px;*/
text-decoration:none !important;
line-height: 180%;
padding: 20px 10px;
margin: -10px -20px 30px -20px;
background: linear-gradient(180deg, #e6002d 0%, #e6002d 40%, #bf082f 40%, #bf082f 100%);
white-space: nowrap;
color: #fff !important;
font-weight: bold;
border: solid 8px #ffcc63;
border-radius: 70px !important;
transition: .4s;
}

.tug_bottom:before {
color: #fff;
content: "";
display: inline-block;
width: 1em;
height: 1em;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a1 1 0 01-1 1H5a1 1 0 01-1-1V7a1 1 0 011-1h6'/%3E%3Cpath d='M14 4h6v6'/%3E%3Cpath d='M10 14L20 4'/%3E%3C/svg%3E");
background-size: contain;
background-repeat: no-repeat;
padding-right: 3px;
transition: .4s;
}

.tug_bottom:hover{
background: linear-gradient(180deg, #e64949 0%, #e64949 40%, #d2011b 40%, #d2011b 100%);
color: #f5f6f9 !important;
font-weight: bold;
border: solid 8px #ffcc63;
cursor: pointer;
}

.tug_bottom input[type="submit"] {
background-color: transparent; /* 背景色を透明にして親divのデザインを活かす */
border: none;
color:#fff;
cursor: pointer;
}

.wpcf7-response-output {
color: #ffb900;
}

/* 前面 */
.zenmen{
z-index: 1 !important;
position: relative;
}
.zenmen_02{
z-index: 10 !important;
position: relative;
}
/* 2026-09-06監査差し戻し対応：参照の実HTMLに存在するが現ページのどの要素にも
   使われていない（購入者が投稿本文で class="zenmen footer" を使う場合に備えた
   装飾クラス集の一部と判断）。値は参照どおり。 */
.zenmen.footer {
display: inline-block;
margin-right: 10px;
}

/* 投稿ページに新着一覧レスポンシブ */
.recent-posts-wrapper {
display: flex;
flex-wrap: wrap;
margin: 0 0px;
font-size: 90%;
line-height: 150%;
}

.recent-post-item {
width: calc(16.66% - 7px);
margin: 0 0 10px 5px;
}

@media screen and (max-width: 1024px) {
.recent-post-item {
width: calc(33.33% - 7px);
margin: 0 0 10px 5px;
}
}

@media screen and (max-width: 767px) {
.recent-post-item {
width: calc(50% - 7px);
margin: 0 0 10px 5px;
}
}


@media screen and (max-width: 499px) {
.recent-post-item {
width: calc(100% - 7px);
margin: 0 0 10px 5px;
}
}

/* 移植元にあった外部アイコンフォントの @font-face は、フォント実体が同梱されておらず
   url が path/to/… というプレースホルダのまま404を出すだけだったため削除。
   アイコンは includes/class-aaa-icons.php の自作インラインSVGを使う。 */
.star-list {
color: #fac225;
}

/* 自動改行 */
.post-content p {
white-space: pre-wrap;
}

/* 一覧看板 */
.diagonal{
z-index: 0 !important;
text-align:center;
color: #fff;
font-size: 10px;
background-color: #222;
border-radius: 50px;
padding: 8px 12px;
margin-right: 15px;
/*transform: skew(-10deg);
display: flex;
align-items: center;
justify-content: center;*/
}

/* アバター背景円形白設定 */
.circular-image {
background-color: #000; /* 背景色を白に設定 */
border-radius: 50%; /* 円形にする */
display: inline-block; /* ブロック要素として表示 */
overflow: hidden; /* 枠外の画像を非表示 */
}

/* 基本の.tatesenクラスのスタイル */
.tatesen {
padding: 0.8em 1.0em; /* 上下 左右の余白 */
background: transparent; /* 背景透明に */
border-left: solid 2px !important; /* 左線 */
z-index: 9999 !important; /* 要素を前面に持ってくる */
}

/* table全体がホバーされたときに.tatesenクラスの左線を白に変更 */
table:hover .tatesen {
border-left-color: white;
z-index: 9998; /* 要素を前面に持ってくる */
}

/* アニメ見出し */
.content_txt {
position: relative;
margin: 80px -41px 0px;
padding: 80px 0 10px 30px;
background-image:
linear-gradient(to right,rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.0)),
none,
url(images/header_bg.svg),
none;
background-position:
0% 0%,
50% -20px,
0% 0%,
0% 100%;
background-repeat: no-repeat;
background-size:
cover,
400px,
100%,
cover;
color: #000;
font-size: 150% !important;
font-weight: bold;
line-height: 44px;
clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 100%);
z-index: 1;
}

.content_txt_02 {
position: relative;
display: block;
width: 99.9%;
color: #000;
font-size: 100% !important;
text-align: left;
padding: 25px 140px 18px 30px;
background-color: rgba(255, 255, 255, 1.0);
border-bottom: 10px solid rgba(254,100,125,1.0);
box-sizing: border-box;
-webkit-box-shadow: -2px -3px 10px #011a33;
-moz-box-shadow: -2px -3px 10px #011a33;
box-shadow: -2px -3px 10px #011a33;
border-top-left-radius: 10px; /* 左上を角丸にする */
z-index: 2; /* 追加 */
}
.content_txt_02::before {
content: '';
position: absolute;
top: -10px; /* 親要素の中央に配置 */
left: 0px; /* 左端に配置 */
width: 80px; /* 画像の横幅 */
height: 83px; /* 画像の縦幅 */
background-image: none; /* 画像のURLを指定 */
background-size: cover; /* 画像を要素に合わせて拡大縮小 */
background-position: center !important; /* 画像の位置を中央に調整 */
transform: translateY(-50%); /* 画像を中央に調整 */
z-index: 1; /* 画像がテキストより前に表示されないように調整 */
}

@media screen and (max-width: 599px) {
.content_txt_02 {
font-size: 90% !important;
line-height: 130%;
}
}

.content_txt_03 {
position: relative;
display: block;
width: 99.9%;
color: #333;
font-size: 100% !important;
line-height: 140%;
text-align: left;
padding: 20px 120px 7px 20px; /* 参照 live 実測 120px：JSで差し込むキャラ画像の逃げ（保存原本の20pxは古い） */
border-top-left-radius: 5px; /* 左上を角丸にする */
border-bottom-left-radius: 0px; /* 左下を角丸にする */
background-color: rgba(255, 255, 255, 0.9);
border-bottom: 6px solid rgba(181, 202, 216, 0.5);
box-sizing: border-box;
-webkit-box-shadow: -2px -3px 5px #ccc;
-moz-box-shadow: -2px -3px 5px #ccc;
box-shadow: -2px -3px 5px #ccc;
z-index: 2; /* 追加 */
}

.content_txt_03::before {
content: '';
position: absolute;
top: 0%; /* 親要素の中央に配置 */
left: 0px; /* 左端に配置 */
width: 60px; /* 画像の横幅 */
height: 62px; /* 画像の縦幅 */
background-image: none; /* 画像のURLを指定 */
background-size: cover; /* 画像を要素に合わせて拡大縮小 */
background-position: center !important; /* 画像の位置を中央に調整 */
transform: translateY(-50%); /* 画像を中央に調整 */
z-index: 1; /* 画像がテキストより前に表示されないように調整 */
}

.search-box{
background-color: #fff;
box-shadow: 0px 0px 5px #ccc;
padding:2px 5px;
margin-top:-10px;
}

.search-box label{
display: inline-flex;
color:#222;
font-size:70%;
margin:10px 0px 15px 10px;
text-indent: 0px; /* テキスト（女優名）を10px右に移動 */
line-height: 1.5;
width:170px;
}

.search-box label span {
display: inline-flex;
position:fixed
bottom: 5px; /* テキストを下に5px移動 */
}

.search-box h3 {
cursor: pointer;
color:#222;
background-color: #fff;
padding: 15px;
margin: 5px 0 5px;
border: 1px solid #ddd;
}

.search-box .accordion-icon {
position: sticky;
left: 100%; /* 右端に配置 */
transform: translateY(-50%); /* 垂直方向の中央に配置 */
font-size: 14px;
pointer-events: none; /* クリックイベントを無視する */
}

.search-box.active .content {
display: block; /* activeクラスが付与されたら表示する */
}

input[type="checkbox"] + * {
margin-left: 5px;
vertical-align: middle; /* 縦の位置合わせ */
}

/* レコメンド画像をコンテナにフィットさせる */
.relpost-block-single-image {
background-size: cover !important; /* 背景画像をcoverとして表示 */
background-position: center top !important; /* 背景画像の位置を中央に配置 */
}

/* レコメンド画像をセンター */
.relpost-block-container{
float: center !important;
}

/* 検索ボタン */
.feas-submit-button {
min-width:200px;
width:85%;
text-align:center;
font-size: 20px;
text-decoration:none !important;
line-height: 180%;
padding: 20px 10px;
margin: -10px -20px 30px -20px;
background: linear-gradient(180deg, #e6002d 0%, #e6002d 40%, #bf082f 40%, #bf082f 100%);
white-space: nowrap;
color: #fff !important;
font-weight: bold;
border: solid 5px #ffcc63;
border-radius: 50px;
transition: .4s;
}

.feas-submit-button:before {
color: #fff;
content: "";
display: inline-block;
width: 1em;
height: 1em;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a1 1 0 01-1 1H5a1 1 0 01-1-1V7a1 1 0 011-1h6'/%3E%3Cpath d='M14 4h6v6'/%3E%3Cpath d='M10 14L20 4'/%3E%3C/svg%3E");
background-size: contain;
background-repeat: no-repeat;
padding-right: 3px;
transition: .4s;
}

.feas-submit-button:hover{
background: linear-gradient(180deg, #e64949 0%, #e64949 40%, #d2011b 40%, #d2011b 100%);
color: #f5f6f9 !important;
font-weight: bold;
border: solid 5px #ffcc63;
cursor: pointer;
}

.feas-submit-button input[type="submit"] {
background-color: transparent; /* 背景色を透明にして親divのデザインを活かす */
border: none;
color:#fff;
cursor: pointer

/* 背景画像アニメ */
.thumbnail {
cursor: pointer; /* ポインターを表示 */
}
}

/* 「」 */
/*.bgb {
padding: 80px 20px;
background-color: rgba(250,244,195,1);
background-image: url(images/bg-beige-top.png), url(images/bg-beige-bottom.png) !important;
background-repeat: no-repeat, no-repeat;
background-position: left top, right bottom;
z-index: 1 !important;
}*/

/* 「」 */
.bga {
padding: 50px 0 50px;
margin: 20px;
background-color: rgba(0, 0, 0, 0.0);
position: relative; /* 子要素の位置指定を可能にする */
z-index: 1 !important;
}

.bga::before {
content: ""; /* 引用符アイコン（左） */
display: inline-block;
width: 2em;
height: 2em;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(0,0,0,0.3)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h4v4a3 3 0 01-3 3H5'/%3E%3Cpath d='M15 8h4v4a3 3 0 01-3 3h-1'/%3E%3C/svg%3E");
background-size: contain;
background-repeat: no-repeat;
position: absolute;
top: 0px;
bottom: 10px;
left: -10px;
}

.bga::after {
content: "" !important; /* 引用符アイコン（右） */
display: inline-block;
width: 2em;
height: 2em;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(0,0,0,0.3)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 16H5v-4a3 3 0 013-3h1'/%3E%3Cpath d='M19 16h-4v-4a3 3 0 013-3h1'/%3E%3C/svg%3E");
background-size: contain;
background-repeat: no-repeat;
position: absolute;
bottom: 0px;
right: -10px;
}
/* ランキング */
.wpp-thumbnail-container{
margin:20px 20px 0px;
}

.wpp-item-data{
margin:0 5px;
}

@media screen and (min-width: 768px) {
/* PC表示でカテゴリ名以外のテキストを90%にする */
.wpp-list.wpp-cardview .wpp-item-data {
font-size: 90%;
}
.wpp-list.wpp-cardview .wpp-excerpt {
font-size: 90%;
}
}
.wpp-list.wpp-cardview .taxonomies {
font-weight: bold; /* カテゴリー名を太字にする */
}

/* 投稿ページtable */
/* 投稿ページテーブル（統合版） */
.content table,
.article-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0px 0 0px;
  border: 1px solid #ddd;
  box-shadow: 0px 2px 2px #ddd;
  background: #fff;
  line-height: 180%;
  table-layout: fixed;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.content table th,
.article-table th,
.content table td,
.article-table td {
  border: 1px solid #ddd;
  padding: 10px;
  color: #222;
  background: #fff !important;
  font-weight: 500;
  text-align: left;
}

/* --------------------------------------------------------------------------
 * レイアウト目的のテーブル（border="0"）には、データ表の装飾を当てない
 *
 * 2026-09-12 G.TAKIGAWA指示「table背景白色にしないで」への対応。
 * 移植元サイトは本文を .content で包まないため上の装飾が当たらなかったが、
 * 本テーマは page.php / single.php が <section class="content"> で包むので、
 * 見出しブロックや作品紹介の「枠として置いただけのテーブル」にまで
 * 白背景・枠線・影・table-layout:fixed が乗ってしまっていた。
 *
 * 判別は border="0"。本テーマのPHPが出力するレイアウト表と、デモ内容
 * （サイトについて／デモ記事2・3）のレイアウト表はすべてこの属性を持ち、
 * 比較表などの「読ませるデータ表」は属性なしで書かれている。
 * セル余白は cellpadding 属性の指定（0）どおりに戻す。
 * -------------------------------------------------------------------------- */
.content table[border="0"] {
  border: none;
  box-shadow: none;
  background: transparent;
  table-layout: auto;
}

.content table[border="0"] th,
.content table[border="0"] td {
  border: none;
  padding: 0;
  background: transparent !important;
}

.article-table th {
  background-color: #f4f4f4;
}

.article-table tr:nth-child(even) {
  background-color: #f9f9f9;
}

.article-table tr:hover {
  background-color: #f1f1f1;
}

.article-table caption {
  text-align: left;
  font-weight: bold;
  margin-bottom: 8px;
}

.article-table-container {
  overflow-x: auto;
  width: 100%;
}


.wpulike {
margin: -73 0 0 0 !important;
}

/* ゲートページレイアウト */
.age-gate-fields, .age-gate__fields{
line-height: 250% !important;
}

.hogan {
/* 方眼紙模様に必須のスタイル */
background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f1f1f1 calc(100% - 1px)),
linear-gradient(90deg, transparent calc(100% - 1px), #f1f1f1 calc(100% - 1px));
background-size: 8px 8px;
background-repeat: repeat;
background-position: center center;
/* 以下任意のスタイル */
padding: 10px;
}
/* イエローアンダーライン太字 */
.yellow {
background: linear-gradient(transparent 0%, #ffd85f 0%);
display: inline;
font-size: 150%;
margin: 10px 0;
padding: 0px 5px;
line-height: 180%;
font-weight: bold;
}
/* ネイビーアンダーライン太字 */
.pink {
background: linear-gradient(transparent 0%, #fe647d 0%);
display: inline;
font-size: 150%;
color:#fff;
margin: 0 0px;
padding: 0 10px;
line-height: 180%;
font-weight: bold;
}

/*目次に戻るボタン*/
.hi-mkj {
display: inline-block;
position: fixed;
bottom: 80px;
left: 13px;
height: 60px;
width: 60px;
line-height:60px;
text-align: center;
opacity: 0.8;
border-radius: 50%;
z-index: 5;
text-decoration: none!important;
background: #fec400!important;
border: 1px solid #000;
color: #000!important;
}
.hi-mkj:after {
content: "目次へ";
position: absolute;
top: 15px;
left: 17px;
font-size: 8px;
}
.hi-mkj:before {
content: "";
display: inline-block;
width: 26px;
height: 26px;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='4' cy='6' r='1'/%3E%3Ccircle cx='4' cy='12' r='1'/%3E%3Ccircle cx='4' cy='18' r='1'/%3E%3Cpath d='M9 6H21'/%3E%3Cpath d='M9 12H21'/%3E%3Cpath d='M9 18H21'/%3E%3C/svg%3E");
background-size: contain;
background-repeat: no-repeat;
position: absolute;
top: -5px;
left: 17px;
}

.random-featured-image{
text-align: center;
}
.wp-block-image{
text-align: center;
}

/* ブログカード */
.blog-card {
position: relative;
border: 5px solid #060606;
background-color: #fff;
word-wrap: break-word;
box-sizing: border-box;
max-width: 100%;
margin: 1em 0;
border-radius: 10px;
box-shadow: 0px 0px 5px #ccc !important;
}

.blog-card:hover {
cursor: pointer;
border: 5px solid #000;
}

.blog-card a {
text-decoration: none;
display: block;
}

.blog-card a:hover {
color: #333;
text-decoration: none;
}

.blog-card-thumbnail {
width: 200px;
display: table-cell;
vertical-align: middle;
}

.blog-card-thumbnail img {
padding: 0;
max-width: 100%;
border-radius: 0px 0px 0px 5px;
}

.blog-card-content {
display: table-cell;
vertical-align: middle;
padding: 0.5em;
border-left: #e5e5e5 solid 0px;
}

.blog-card-title {
text-align: left;
font-size: 14px;
font-weight: none;
line-height: 1.4;
margin: 0 10px;
color: #333;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
text-overflow: ellipsis;
}

.blog-card-excerpt {
display: none;/*消します*/
}

.blog-card .clear {
clear: both;
}

/*ブログカードでラベルを付ける*/
.blog-card-label{
display: inline-block;
position: absolute;
background-color: rgba(6,6,6,0.9);
top: 0px;
left: 0px;
width: 90px;
height: 25px;
color: #fff;
font-size: 12px;
text-align: center;
text-decoration: none;
line-height: 170%;
transform-origin: 50% 50%;
}
	
@media screen and (max-width: 500px) {
.blog-card-title {
font-size: 12px;
}
.blog-card-thumbnail {
width: 160px;
}
}

@media only screen and (max-width: 780px) {
p {
font-size: 120%;
}
}

/*** 背景スライダー ***/
/*.background-slider {
position: relative;
overflow: hidden;
}
/* 背景画像のコンテナ */
/*.background-images {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
}
/* 共通スタイル */
/*.background-image {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-size: cover;
opacity: 0;
transition: opacity 1s ease-in-out;
}

/* 表示中の背景画像 */
/* 共通スタイル */
/*.background-image {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-size: cover;
opacity: 0;
transition: opacity 1s ease-in-out;



}
.background-image.active {
opacity: 0.9;
}

/* 各背景画像の指定 */
/*.bg1 {
background-image: none;
background-position: 50% 50%;
}
.bg2 {
background-image: none;
background-position: 50% 50%;
}
.bg3 {
background-image: none;
background-position: 50% 50%;
}


/*** 背景アニメーション記述 ***/
.animated-background {
position: absolute; /* スクロールに追従 */
top: 0;
left: 0;
width: 100%; /* 画面幅いっぱいに制限 */
height: auto; /* 高さはJavaScriptで調整 */
overflow: hidden; /* はみ出しを防止 */
z-index: 0;
opacity: 0; /* 初期状態で透明 */
transition: opacity 1.5s ease-in-out; /* フェードインのアニメーション */
}

/* 表示状態 */

/* 細長い角丸直線のスタイル */
.line {
position: absolute;
border-radius: 50px; /* 角丸の設定 */
opacity: 0.7;
animation: moveLines 6s infinite alternate ease-in-out;
max-width: 100%; /* 要素が幅を超えないよう制限 */
}
/* 太さのバリエーション */
.line-thin {
width: 50%; /* 画面幅の50% */
height: 15px;
}
.line-medium {
width: 30%; /* 画面幅の70% */
height: 60px;
}
.line-thick {
width: 10%; /* 画面幅の90% */
height: 30px;
}
/* パステルカラー */
.pastel-blue {
background: #a8d8ea; /* パステルブルー */
}
.pastel-pink {
background: #f4b6c2; /* パステルピンク */
}
/* ランダム配置と動き */
/* 軽量化（あればベースに併記OK） */
.line {
  will-change: transform, opacity;
  pointer-events: none;
}

/* —— デスクトップ（軽量表示：20個） —— */
@media (min-width: 769px) {
  /* 21個目以降は非表示で軽量化 */
  .line:nth-child(n + 21) { display: none; }
  .line:nth-child(1)  { top: 1%;  left: 8%;   transform: rotate(150deg) translateX(0); animation-delay: 0s; }
  .line:nth-child(2)  { top: 2%;  left: 46%;  transform: rotate(150deg) translateX(0); animation-delay: 0.6s; }
  .line:nth-child(3)  { top: 14.5%; left: 13.5%;  transform: rotate(150deg) translateX(0); animation-delay: 1.2s; }
  .line:nth-child(4)  { top: 13.5%; left: 38%;  transform: rotate(150deg) translateX(0); animation-delay: 1.8s; }
  .line:nth-child(5)  { top: 32%; left: 15%;  transform: rotate(150deg) translateX(0); animation-delay: 2.4s; }
  .line:nth-child(6)  { top: 28%; left: 10%;  transform: rotate(150deg) translateX(0); animation-delay: 3.0s; }
  .line:nth-child(7)  { top: 30%; left: 66%;  transform: rotate(150deg) translateX(0); animation-delay: 3.6s; }
  .line:nth-child(8)  { top: 36%; left: 90%;  transform: rotate(150deg) translateX(0); animation-delay: 4.2s; }
  .line:nth-child(9)  { top: 37%; left: 6%;   transform: rotate(150deg) translateX(0); animation-delay: 4.8s; }
  .line:nth-child(10) { top: 38%; left: 32%;  transform: rotate(150deg) translateX(0); animation-delay: 5.4s; }
  .line:nth-child(11) { top: 39%; left: 58%;  transform: rotate(150deg) translateX(0); animation-delay: 6.0s; }
  .line:nth-child(12) { top: 40%; left: 84%;  transform: rotate(150deg) translateX(0); animation-delay: 6.6s; }
  .line:nth-child(13) { top: 41%; left: 20%;  transform: rotate(150deg) translateX(0); animation-delay: 7.2s; }
  .line:nth-child(14) { top: 42%; left: 46%;  transform: rotate(150deg) translateX(0); animation-delay: 7.8s; }
  .line:nth-child(15) { top: 43%; left: 72%;  transform: rotate(150deg) translateX(0); animation-delay: 8.4s; }
  .line:nth-child(16) { top: 44%; left: 12%;  transform: rotate(150deg) translateX(0); animation-delay: 9.0s; }
  .line:nth-child(17) { top: 45%; left: 38%;  transform: rotate(150deg) translateX(0); animation-delay: 9.6s; }
  .line:nth-child(18) { top: 46%; left: 64%;  transform: rotate(150deg) translateX(0); animation-delay: 10.2s; }
  .line:nth-child(19) { top: 47%; left: 88%;  transform: rotate(150deg) translateX(0); animation-delay: 10.8s; }
  .line:nth-child(20) { top: 48%; left: 44%;  transform: rotate(150deg) translateX(0); animation-delay: 11.4s; }
}

/* —— モバイル（表現リッチ：最大50個表示） —— */
@media (max-width: 768px) {
  /* すべて表示 */
  .line { display: block; }

  /* 1〜25（上半分を中心に分散） */
  .line:nth-child(1)  { top: 0.5%;  left: 70%;   transform: rotate(150deg) translateX(0); animation-delay: 0s;z-index:-1; }
  .line:nth-child(2)  { top: 1.5%;  right: 10%;  transform: rotate(150deg) translateX(0); animation-delay: 0.3s; }
  .line:nth-child(3)  { top: 5.5%;  left: 2%;  transform: rotate(150deg) translateX(0); animation-delay: 0.6s; }
  .line:nth-child(4)  { top: 1%; left:0%;  transform: rotate(150deg) translateX(0); animation-delay: 0.9s; }
  .line:nth-child(5)  { top: 7.5%; left: 20%;  transform: rotate(150deg) translateX(0); animation-delay: 1.2s; }
  .line:nth-child(6)  { top: 42%; left: 20%;  transform: rotate(150deg) translateX(0); animation-delay: 1.5s; }
  .line:nth-child(7)  { top: 41%; left: 70%;  transform: rotate(150deg) translateX(0); animation-delay: 1.8s; }
  .line:nth-child(8)  { top: 51%; left: 10%;  transform: rotate(150deg) translateX(0); animation-delay: 2.1s; }
  .line:nth-child(9)  { top: 43%; left: 70%;  transform: rotate(150deg) translateX(0); animation-delay: 2.4s; }
  .line:nth-child(10) { top: 45.5%; left: 10%;  transform: rotate(150deg) translateX(0); animation-delay: 2.7s; }
  .line:nth-child(11) { top: 49%; left: 8%;   transform: rotate(150deg) translateX(0); animation-delay: 3.0s; }
  .line:nth-child(12) { top: 48%; left: 28%;  transform: rotate(150deg) translateX(0); animation-delay: 3.3s; }
  .line:nth-child(13) { top: 47%; left: 48%;  transform: rotate(150deg) translateX(0); animation-delay: 3.6s; }
  .line:nth-child(14) { top: 46%; left: 68%;  transform: rotate(150deg) translateX(0); animation-delay: 3.9s; }
  .line:nth-child(15) { top: 45%; left: 88%;  transform: rotate(150deg) translateX(0); animation-delay: 4.2s; }
  .line:nth-child(16) { top: 44%; left: 16%;  transform: rotate(150deg) translateX(0); animation-delay: 4.5s; }
  .line:nth-child(17) { top: 43%; left: 36%;  transform: rotate(150deg) translateX(0); animation-delay: 4.8s; }
  .line:nth-child(18) { top: 42%; left: 56%;  transform: rotate(150deg) translateX(0); animation-delay: 5.1s; }
  .line:nth-child(19) { top: 41%; left: 76%;  transform: rotate(150deg) translateX(0); animation-delay: 5.4s; }
  .line:nth-child(20) { top: 40%; left: 96%;  transform: rotate(150deg) translateX(0); animation-delay: 5.7s; }
  .line:nth-child(21) { top: 66%;  left: 10%;  transform: rotate(150deg) translateX(0); animation-delay: 6.0s; }
  .line:nth-child(22) { top: 67%; left: 30%;  transform: rotate(150deg) translateX(0); animation-delay: 6.3s; }
  .line:nth-child(23) { top: 68%; left: 50%;  transform: rotate(150deg) translateX(0); animation-delay: 6.6s; }
  .line:nth-child(24) { top: 69%; left: 70%;  transform: rotate(150deg) translateX(0); animation-delay: 6.9s; }
  .line:nth-child(25) { top: 70%; left: 90%;  transform: rotate(150deg) translateX(0); animation-delay: 7.2s; }

  /* 26〜50（下半分を中心に分散） */
  .line:nth-child(26) { top: 51%; left: 50%;   transform: rotate(150deg) translateX(0); animation-delay: 0.15s; }
  .line:nth-child(27) { top: 56%; left: 22%;  transform: rotate(150deg) translateX(0); animation-delay: 0.45s; }
  .line:nth-child(28) { top: 58%; left: 42%;  transform: rotate(150deg) translateX(0); animation-delay: 0.75s; }
  .line:nth-child(29) { top: 60%; left: 64%;  transform: rotate(150deg) translateX(0); animation-delay: 1.05s; }
  .line:nth-child(30) { top: 62%; left: 86%;  transform: rotate(150deg) translateX(0); animation-delay: 1.35s; }
  .line:nth-child(31) { top: 66%; left: 12%;  transform: rotate(150deg) translateX(0); animation-delay: 1.65s; }
  .line:nth-child(32) { top: 68%; left: 32%;  transform: rotate(150deg) translateX(0); animation-delay: 1.95s; }
  .line:nth-child(33) { top: 70%; left: 54%;  transform: rotate(150deg) translateX(0); animation-delay: 2.25s; }
  .line:nth-child(34) { top: 72%; left: 76%;  transform: rotate(150deg) translateX(0); animation-delay: 2.55s; }
  .line:nth-child(35) { top: 74%; left: 96%;  transform: rotate(150deg) translateX(0); animation-delay: 2.85s; }
  .line:nth-child(36) { top: 78%; left: 18%;  transform: rotate(150deg) translateX(0); animation-delay: 3.15s; }
  .line:nth-child(37) { top: 80%; left: 38%;  transform: rotate(150deg) translateX(0); animation-delay: 3.45s; }
  .line:nth-child(38) { top: 82%; left: 58%;  transform: rotate(150deg) translateX(0); animation-delay: 3.75s; }
  .line:nth-child(39) { top: 84%; left: 80%;  transform: rotate(150deg) translateX(0); animation-delay: 4.05s; }
  .line:nth-child(40) { top: 86%; left: 8%;   transform: rotate(150deg) translateX(0); animation-delay: 4.35s; }
  .line:nth-child(41) { top: 88%; left: 28%;  transform: rotate(150deg) translateX(0); animation-delay: 4.65s; }
  .line:nth-child(42) { top: 90%; left: 50%;  transform: rotate(150deg) translateX(0); animation-delay: 4.95s; }
  .line:nth-child(43) { top: 92%; left: 72%;  transform: rotate(150deg) translateX(0); animation-delay: 5.25s; }
  .line:nth-child(44) { top: 94%; left: 92%;  transform: rotate(150deg) translateX(0); animation-delay: 5.55s; }
  .line:nth-child(45) { top: 96%; left: 16%;  transform: rotate(150deg) translateX(0); animation-delay: 5.85s; }
  .line:nth-child(46) { top: 50%; left: 26%;  transform: rotate(150deg) translateX(0); animation-delay: 6.15s; }
  .line:nth-child(47) { top: 58%; left: 48%;  transform: rotate(150deg) translateX(0); animation-delay: 6.45s; }
  .line:nth-child(48) { top: 66%; left: 70%;  transform: rotate(150deg) translateX(0); animation-delay: 6.75s; }
  .line:nth-child(49) { top: 74%; left: 92%;  transform: rotate(150deg) translateX(0); animation-delay: 7.05s; }
  .line:nth-child(50) { top: 80%; left: 50%;  transform: rotate(150deg) translateX(0); animation-delay: 7.35s; }
}

/* アクセシビリティ：動き軽減設定のユーザーにはアニメ遅延を0に */
@media (prefers-reduced-motion: reduce) {
  .line { animation: none !important; }
}


/* アニメーション定義 */
@keyframes moveLines {
0% {
transform: rotate(150deg) translateX(0); /* 初期状態で150° */
}
50% {
transform: rotate(150deg) translateX(20px) scaleX(1.2); /* 150°維持しつつ動き */
}
100% {
transform: rotate(150deg) translateX(-20px) scaleX(1); /* 元に戻る */
}
}
/*** 背景アニメーション記述ここまで ***/

/*** 背景スライダー ***/
.background-slider {
position: relative;
overflow: hidden; /* はみ出し防止 */
}
/* 背景画像のコンテナ */
.background-images {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1; /* 背景に配置 */
}
/* 各背景画像 */
.background-image {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-size: cover;
background-position: bottom;
opacity: 0; /* 非表示 */
transition: opacity 2s ease-in-out; /* フェードイン・アウト */
}
/* 表示中の背景画像 */
.background-image.active {
opacity: 1; /* 表示 */
}
/* 各背景画像の指定 */
.bg1 {
background-image: none;
background-position: 50% 50%;
}
.bg2 {
background-image: none;
background-position: 50% 50%;
}
.bg3 {
background-image: none;
background-position: 50% 50%;
}
/*** 背景スライダーここまで ***/

.tug_top {
display: inline-block;
text-align: center;
text-decoration: none !important;
padding: 5px 10px;
white-space: nowrap;
position: relative;
border: solid 3px #fff;
border-radius: 50px;
overflow: hidden;
background-color: ;
transition: color 0.4s ease-in-out;
}
.tug_top:hover::before {
opacity: 1;
}

.tug_top::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(to right, rgba(49, 156, 241, 0.9), rgba(189, 75, 255, 0.9));
opacity: 0;
transition: opacity 0.4s ease-in-out;
}

/* 全体のスタイル */
.responsive-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0px;
  box-sizing: border-box;
}

/* 画像セクション */
.image-section {
  flex: 1; /* 余白を調整 */
  text-align: center;
  order: 2; /* 初期状態では右側 */
}

.image-section img {
max-width: 100%; /* 画像の幅を親要素内に収める */
height: auto;
clip-path: polygon(0 5vw, 100% 0, 100% calc(100% - 5vw), 0 100%);
border-top-left-radius: 0px; /* 左上を角丸にする */
border-bottom-left-radius: 0px; /* 左下を角丸にする */
box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.2); /* 影を追加 */
}
/* テキストセクション */
.text-section {
flex: 1; /* 余白を調整 */
padding: 20px;
order: 1; /* 初期状態では左側 */
}
/* PC表示のみテキストの左側にスペースを追加 */
@media (min-width: 781px) {
.text-section {
margin-left: 30px; /* テキストの左側に余白を追加 */
}
}
/* レスポンシブ対応 */
@media (max-width: 780px) {
.responsive-container {
flex-direction: column; /* 縦並びに変更 */
padding-left: 20px; /* 左側に余白を追加 */
}
.image-section {
order: 1; /* レスポンシブ時は画像を先に表示 */
margin-bottom: 10px; /* 画像とテキストの間に余白 */
}
.text-section {
order: 2; /* テキストを画像の後に配置 */
margin-left: 0; /* モバイルでは余白をリセット */
}
}

/* 全体のスタイル（逆パターン） */
.reverse-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0px;
  box-sizing: border-box;
}

/* 画像セクション（逆パターン） */
.reverse-image-section {
  flex: 1; /* 余白を調整 */
  text-align: center;
  order: 1; /* 初期状態では左側 */
}


/* ランダム画像を白黒にする */
/*.random-image {
max-width: 100%; /* 画像が親要素を超えないように */
/*display: block;
margin: 0 auto; /* 中央揃え */
/*filter: grayscale(100%); /* 画像を白黒にする */
/*}

/* ステップバーの全体設定 */
.step-bar {
    display: flex;
    justify-content: space-between;
    background-color: #ddd;
    border-radius: 50px;
    padding: 10px;
	margin: 20px 0;
    width: 100%;
    max-width: 780px;
    margin: auto;
	overflow: hidden; /* はみ出しを防ぐ */
}

/* 各ステップの設定 */
.step {
    flex: 1;
    text-align: center;
    font-size: 16px;
    color: #888;
    padding: 10px 20px; /* ステップ内のスペースを増やす */
    position: relative;
    background-color: #e0e0e0;
    border-radius: 20px;
    transition: background-color 0.3s, color 0.3s;
    /* ステップ間に区切り線 */
    margin-right: 10px; /* ステップ間を広げる */
}

/* 最後のステップは区切り線を削除 */
.step:last-child {
    margin-right: 0;
}

/* 現在アクティブなステップ */
.step-active {
    background-color: #000;
    color: white;
}

/* 横棒のカスタマイズ */
.step-active::after {
    content: '';
    position: absolute;
    top: 50%;
	left: ; /* ステップ内に収めるために左端に位置させる */
    right: -15px;
    transform: translateY(-50%);
    width: 50px; /* 横棒の長さを調整 */
    height: 4px; /* 横棒の太さを調整 */
    background-color: #000;
}

/* 現在アクティブなステップ */
.step-active_02 {
    background-color: #000;
    color: white;
}

/* 横棒のカスタマイズ */
.step-active_02::after {
    content: '';
    position: absolute;
    top: 50%;
	left: ; /* ステップ内に収めるために左端に位置させる */
    right: 0px;
    transform: translateY(-50%);
    width: 50px; /* 横棒の長さを調整 */
    height: 4px; /* 横棒の太さを調整 */
    background-color: #000;
}

/* 他のステップには横棒を表示しない */
.step:not(.step-active)::after {
content: none; /* 横棒を非表示 */
}

/* 斜めメニュー */
.nana{
clip-path: polygon(0 20%, 100% 0, 100% 80%, 0% 100%); 
}
.nanarepeat{
clip-path: polygon(0 0, 100% 20%, 100% 100%, 0 80%);
}

.tug_045 {
display: inline-block;
text-align: center;
font-size: 12px;
text-decoration: none !important;
margin: 2px;
padding: 10px 15px;
white-space: nowrap;
background: #fff;
color:#fff !important;
border: solid 2px #fff;
border-radius: 50px;
transition: .4s;
box-shadow: 0px 3px 3px #eee;
/*line-height: 1.5; 改行 */
}

.tug_045:hover{
background-color:#2e5a1f !important;
color: #fff !important;
border: solid 2px #fff;
}

/*プロフィール枠*/
#author_profile {
border: 1px solid #000;
background-color: rgba(255,255,255,0.9); !important;
max-width: 100%;
margin: 20px 10px;
overflow: hidden;
}
#author_profile p {
margin-bottom: 20px;
line-height: 1.8;
}
/*この記事を書いた人の見出し*/
#author_profile p.label {
font-size: 14px;
font-weight: bold;
color: #fff;
background: #000;
padding: 10px 15px;
}
/*名前*/
#author_profile p.author_name {
  font-size: 14px;
  font-weight: bold;
  display: inline-block;
  position: relative;
}
/*名前下の下線*/
#author_profile p.author_name::after {
  content: "";
  border-bottom: solid 3px #000;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
}
/*左側画像ブロック*/
#author_profile .left {
  width: 14%;
  float: left;
  margin: 10px 0 15px 30px;
}
/*画像サイズ*/
#author_profile .left img {
  width: 100%;
}
/*右側テキストブロック*/
#author_profile .right {
  width: 74%;
  float: left;
  font-size: 12px;
  line-height: 1.6;
  padding: 5px 0 20px 30px;
}
/*テキスト下部SNSブロック*/
#author_profile .right ul.author_sns {
  margin: 0;
  border-top: 1px dotted #dddddd;
  margin-top: 15px;
  padding-top: 20px;
}
#author_profile .right ul.author_sns li {
  float: left;
  margin-right: 15px;
  list-style: none;
}
#author_profile .right ul.author_sns li:last-child {
  margin-right: 0;
}
/*SNSアイコンを使う場合は別途アイコンCSSの設定が必要*/
/*SP時の挙動（画面サイズが小さい時）*/
@media (max-width: 480px) {
#author_profile p.author_name {
text-align: center;
}
#author_profile .left {
width: 100%;
float: none;
margin-left: 0;
margin-bottom: 0;
text-align: center;
}
#author_profile .left img {
width: 33%;
}
#author_profile .right {
width: 100%;
float: none;
padding: 10px 20px 0;
}
#author_profile .right ul.author_sns li {
margin-bottom: 20px;
}
}


/* 急上昇ワードPC時、右200px空け */
/* モバイルおよびタブレット向けデフォルトスタイル */
.custom-padding {
padding: 20px 10px 134px 10px;
}

/* PC閲覧時のスタイル */
@media (min-width: 780px) {
.custom-padding {
padding: 20px 250px 134px 10px;
}
}

/* ヘッダー画像制御 */

.none_03.zenmen::after {
content: "";
position: absolute;
top: 0;
right: 0;
width: 60%; /* フィルターの幅（調整可能） */
height: 0%;
background: linear-gradient(to left, rgba(255,255,255,1.0), rgba(255,255,255,0.0));
pointer-events: none; /* クリック操作などに干渉しない */
z-index: 1;
}

zenmen_02{
z-index: 2 !important;
}

/* デフォルトの画像サイズ */
.top-midashi {
margin: -100% -25px 0px 0px;
width: 200px;
}
/* モバイル閲覧時（最大幅767px）に画像サイズを150pxに変更 */
@media (max-width: 767px) {
.top-midashi {
margin: -100% -40px 20px 0px !important;
width: 150px;
}
}

/* クラス要素に背景色と背景画像を設定 */
.custom-class {
    background-color: ; /* 背景色 */
    background-image: url('images/black.webp'); /* 背景画像 */
    background-size: cover; /* 画像をコンテナに合わせて拡大縮小 */
    background-position: center; /* 画像の位置を中央に */
}


/* 画像6枚横並び */
        .image-container {
            position: relative;
            width: 100%;
            max-width: 480px;
            height: 253px;
            margin-top: 30px;
            margin-left: auto;
            margin-right: auto;
            display: flex;
            justify-content: center; /* 水平方向に中央揃え */
            align-items: center; /* 垂直方向に中央揃え */
        }

        .image-container img {
            position: absolute;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .image-A {
            transform: rotate(3deg); /* 画像Aを斜めに回転 */
            box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.3); /* 画像Aに影を追加 */
        }

        .image-B {
            transform: rotate(-3deg); /* 画像Bを反対方向に斜めに回転 */
            box-shadow: -5px -5px 15px rgba(0, 0, 0, 0.3); /* 画像Bに影を追加 */
        }

        .image-C {
            transform: rotate(-3deg); /* 画像Aを斜めに回転 */
            box-shadow: -5px -5px 15px rgba(0, 0, 0, 0.3); /* 画像Aに影を追加 */
        }

        .image-D {
            transform: rotate(3deg); /* 画像Bを反対方向に斜めに回転 */
            box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.3); /* 画像Bに影を追加 */
        }




/* 親要素の設定 */
.recent-posts-wrapper {
    position: relative; /* 親要素にrelativeを設定 */
}

/* ボタンラッパー */
.more-button-wrapper {
text-align: center; /* ボタンを中央揃え */
position: relative; /* ボタンラッパーを相対的に配置 */
margin-top: 30px !important;
}

/* トップページ以外で「もっと見る」ボタンの前に100pxの空間を追加 */
body:not(.home) .more-button-wrapper {
margin-top: 50px; /* トップページ以外でのみボタンの上に空間を追加 */
bottom:-10px !important;
top:25px;
}


/* アイコンのスタイル */
.more-button i {
    margin-left: 8px; /* アイコンとテキストの間隔 */
}







.latest-posts-anchor {
  position: absolute;
  top: 80vh; /* ファーストビューの下部80% */
  left: 0;
  width: 100%;
  z-index: 5;
}

.tug_04 {
  width: 200px;
}

/*ヘッダー背景グリッド化*/
/* 背景画像のコンテナ */
.random-bg-container {
position: relative;
width: 100%;
height: auto; /* 高さを任意で調整 */
overflow: hidden;
background-color: rgba(0,0,0,0.8);
}

/* 背景グリッド */
.background-grid {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
grid-auto-rows: 150px;
gap: 2px; /* 画像間の隙間 */
z-index: -1;
opacity: 0.8;
}

/* 各画像 */
.bg-item {
width: 100%;
height: 100%;
background-size: cover;
background-position: center;
opacity: 0.7;
}

@media (max-width: 768px) {
.background-grid {
grid-template-columns: repeat(auto-fill, minmax(75px, 1fr)); /* 150px → 75px */
grid-auto-rows: 75px; /* 150px → 75px */
}
}



/* 親要素にflexを指定 */
.button-wrapper {
    display: flex;
    flex-wrap: wrap;            /* 必須：横幅超過時に自動改行 */
    justify-content: left;    /* 横方向中央寄せ */
    gap: 5px;                  /* ボタン間の余白 */
    margin: 20px auto;
    max-width: 100%;
}

/* ボタンスタイル */
.tug_06 {
    text-align: center;
    font-size: 90%;
    text-decoration: none !important;
    padding: 7px 15px;
    white-space: nowrap;
    background-color: #fff !important;
    color: #333 !important;
    border: solid 2px #333;
    border-radius: 50px;
    transition: .4s;
    display: inline-block;
    margin: 0;                  /* 上下余白は親に任せる */
}
.tug_06:hover {
    background-color: #333 !important;
    color: #fff !important;
    border: solid 2px #333 !important;
}




/* カテゴリーメニュー説明文 */
.category_description {
color: #777;
font-size: 90%;
line-height: 160%;
margin: 20px 0px;
}

/* メニューデザイン */
/* 親コンテナ */
/* 各カテゴリー */
.category {
width: calc(20.00% - 20px); /* 6個横並び、gap分を差し引いて調整 */
text-align: center;
cursor: pointer;
margin-bottom: 20px;
box-sizing: border-box; /* ボーダーも含めてサイズ計算 */
}
.category img {
width: 100px;
height: 100px;
object-fit: cover;
margin: 10px;
border-radius: 50%;
border: 5px solid #fff;
}
.category a {
	display: block; /* ← インライン→ブロック要素化 */
font-size: 90%;
font-weight :bold;
color: inherit;
text-align: center !important;
}
.category a:hover {
color: #000;
}

/* レスポンシブ対応 */


@media (max-width: 768px) {
.category {
width: calc(20.00% - 0px); /* 2個横並び */
}
}
@media (max-width: 480px) {
.category {
width: calc(50% - 0px); /* 2個横並び */
}
}




/* WPP（WordPress Popular Posts）のカードリストの背景を黒にする */
.wpp-list.wpp-cardview {
    background-color: transparent; /* 背景色は透明に */
    background-image: url('images/rank.webp'); /* 画像URLを指定 */
    background-repeat: repeat-y;
    background-position: left top;
    background-size: cover; /* 必要に応じて cover, contain に変更可 */
    padding: 20px 0;
}
@media screen and (min-width: 760px) {
.wpp-list.wpp-cardview {
border-radius: 10px;
padding: 20px 20px 50px;
}
}

/*.wpp-list.wpp-cardview {
background-color: #2b4262;
padding: 20px 0;
}*/

/* 各アイテムの背景を黒にする */
.wpp-list.wpp-cardview li {
    background-color: ;
}

/* テキストが読めるように文字色も白に */
.wpp-list.wpp-cardview .wpp-item-data,
.wpp-list.wpp-cardview .wpp-post-title,
.wpp-list.wpp-cardview .wpp-taxonomy {
    color: #fff !important;
    unicode-bidi: isolate;
}
.wpp-list.wpp-cardview {
    font-family: 'Arial', 'Helvetica', 'sans-serif' !important;
    color: #fff !important;
}



/* サムネイル画像の周囲の背景も黒に */
.wpp-thumbnail-container {
    background-color: ;
}

/* トップタグ別スライダー表示 */
.category-slider-section {
margin-bottom: 2em;
}


.category-swiper .swiper-slide {
width: auto;        /* 各スライド幅をコンテンツに合わせる */
}

.category-swiper img {
display: block;
height: auto;
max-width: 100%;
border-radius: 4px;
}
/* 例：medium が 300×200px だったら・・・ */
.category-swiper .swiper-slide img {
width: 150px !important;
height: 100px !important;
object-fit: cover;
}

/* スライダーを包むコンテナは position: relative が前提 */
.category-swiper {
position: relative;
}

/* Swiper のデフォルト矢印 */
.category-swiper .swiper-button-prev,
.category-swiper .swiper-button-next {
position: absolute;
top: 20% !important;
transform: translateY(10%);
z-index: 100;            /* スライドリンクより必ず前面 */
width: 60px;
height: 60px;
cursor: pointer;
pointer-events: auto;     /* 矢印でのクリックを許可 */
}

/* スライド内のリンクは下層に */
.category-swiper .swiper-slide a {
position: relative;
z-index: 1;
}

/* デフォルト矢印（:after）を消す */
.swiper-button-prev::after,
.swiper-button-next::after {
display: none;
}

/* アイコンをセンターに */
.swiper-button-prev,
.swiper-button-next {
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5em;      /* アイコンサイズ調整 */
color: #fff;           /* アイコン色 */
}

.slide-title {
margin: 5px;
font-size: 12px;
line-height: 1.4;
color: #222; /* 背景が暗い場合は白文字 */
text-align: left;
max-width: 150px;       /* サムネイルの幅に合わせる */
word-break: break-word; /* 長い単語でも折り返し */
white-space: normal;    /* 自然に改行を許可 */
box-sizing: border-box; /* パディング含めて幅計算 */
}

.tag-cloud{
margin: 5px 0;
}










/* テーブル自体を基準にする（はみ出し防止）*/
#background-slider { 
  position: relative; 
  overflow: hidden; 
}

/* この領域内の animated-background だけを「最前面」に */
#background-slider .animated-background {
  position: absolute;
  inset: 0;               /* top/right/bottom/left を 0 に */
  width: 100%;
  height: 100% !important;/* JSのページ全体高さ調整を打ち消し、領域内に限定 */
  z-index: 0;          /* 充分に前面 */
  pointer-events: none;   /* クリック妨害しない */
}

/* ライン要素も表に出す（念のため）*/
#background-slider .animated-background .line {
z-index: 0;
}

/* スライダーは従来どおり背面でOK（-3のままでも可）*/
#background-slider .background-images { 
  z-index: -3; 
}

/* スマホ（例: 幅768px以下）のとき margin-top を上書き */
/*@media screen and (max-width: 768px) {
img.small {
 margin-top: -150px !important;
}
}*/

/* ヘッダーキャラクター（01_左上）画像位置決め */
/* デフォルト（スマホ/タブレット）は left:0 */
.float-pos {
left:0% !important;
top:-25%;
width:200px;
position:absolute;
}

/* PC表示時 (画面幅1025px以上) のみ left:30% */
@media screen and (min-width: 1025px) {
.float-pos {
top:-40%; !important;
left:20% !important;
width:280px;
}
}
/* 画面幅780px以下のときのみ left:25% */
@media screen and (max-width: 680px) {
.float-pos {
top:-19%; !important;
width:170px;
left: -10% !important;
}
}
/* ヘッダーキャラクター（02_右下）画像位置決め */
/* デフォルト（スマホ/タブレット）は left:0 */
.float-pos_02 {
top:70%;
right:0%;
width:150px;
z-index:99 !important;
position:absolute;
}

/* PC表示時 (画面幅1025px以上) のみ left:30% */
@media screen and (min-width: 1025px) {
.float-pos_02 {
top:90%; !important;
right:10% !important;
width:180px;
z-index:99 !important;
}
}
/* 画面幅780px以下のときのみ left:25% */
@media screen and (max-width: 680px) {
.float-pos_02 {
top:70%; !important;
width:120px;
}
}

/* ヘッダーキャラクター（03_左上）画像位置決め */
/* デフォルト（スマホ/タブレット）は left:0 */
.float-pos_03 {
left:220px !important;
top:-34%;
width:450px;
position:absolute;
}

/* PC表示時 (画面幅1025px以上) のみ left:30% */
@media screen and (min-width: 1025px) {
.float-pos_03 {
top:-38%;
left:40% !important;
width:500px;
}
}
/* 画面幅780px以下のときのみ中央寄せ */
@media screen and (max-width: 680px) {
.float-pos_03 {
position: absolute;       /* 必要なら relative 親の中で絶対配置 */
left: 10%;  /* 横中央に配置 */
top: -17%;
transform: translateX(-50%); /* 左右中央補正 */
max-width: 300px !important;
text-align: center; 
}
}



.wa_chpcs_image_carousel li{
padding:10px !important;
}

/* スライダー画像位置決め */
.category-menu-wrap {
margin-top: 0px !important;  /* 上に引き上げ */
text-align: center;   /* 中央寄せ */
}







/* サイドバー内で“上に来たら引っかかる” */
@media (min-width: 780px) {
  .sticky-box{
    position: sticky;
    top: 80px;        /* ここで止めるオフセット */
  }
}



.concept {
font-size: 90% !important;
color: #fff;
background-color: var(--aaa-accent);
border-radius: 50px;
padding: 5px 10px;
}

/* --------------------------------------------------------------------------
   Swiperが読み込めなかったときの保険
   スライダーが動かなくても、記事が横並びで見える状態にする
   （何も指定しないと .swiper の overflow:hidden で2件目以降が見えなくなる）
   -------------------------------------------------------------------------- */
.category-swiper.swiper-nojs {
	overflow: visible;
}
.category-swiper.swiper-nojs .swiper-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}
.category-swiper.swiper-nojs .swiper-button-prev,
.category-swiper.swiper-nojs .swiper-button-next {
	display: none;
}

/* --------------------------------------------------------------------------
   トップの注目記事カルーセル（ヒーロー直下）
   ⚠️2026-09-06監査対応：以前は独自markup（.aaa-featured）＋このCSSで
   代替していたが、参照サイトの実測（position:static; z-index:auto）と
   食い違っており、390pxでの挙動も参照（横スクロールのカルーセル）と
   違っていた（flex-wrapで縦積みになっていた）。
   markupを参照と同じ wa_chpcs 互換に置き換えた（header.php）ため、
   見た目は vendor/chpcs/custom-style.css（プラグイン本体のCSSを同梱）が
   与える。ここでは参照の実測値に合わせて position/z-index だけ指定する。
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   .category-menu-wrap の高さについて
   参照サイト（aijinmonogatari.com）では .category-menu-wrap に padding は無く、
   高さ510pxはカルーセル（vendor/chpcs）自身が決めている（ul 422 + ページネーション等）。
   以前ここに置いていた padding-top/bottom（21/79・24）は旧カード用で、
   カルーセル化後は参照より96px高くなる原因になった（実測）ため削除した。
   .float-pos 系のキャラ位置はこの高さを基準に％で決まるので、勝手に padding を足さない。
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   サイドバーのリンク色
   ⚠️ .side-col で包む方法で色を効かせてはいけない（ランキングのリンクが
      display:block + padding を食らって1文字ずつ縦に折り返す）。
      必要な色だけを #sidebar のスコープで指定する。
   -------------------------------------------------------------------------- */
#sidebar .widget_archive a,
#sidebar .widget_categories a,
#sidebar .widget_recent_entries a {
	color: var(--aaa-ink, #191919);
}

/* ===== フッターのウィジェットエリア（AAA-FOOTER-WIDGETS） =====
   参照デザインでは紹介文とタグ一覧の直後に、運営情報のテキストが1枚入る。
   ウィジェットを1つも入れていないサイトでは要素ごと出ないので余白は生まれない。 */
.aaa-footer-widgets {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: center;
	max-width: 1080px;
	margin: 0 auto 10px;
	padding: 0 10px;
	color: #fff;
	text-align: left;
}
.aaa-footer-widgets .widget {
	margin-bottom: 10px;
}
.aaa-footer-widgets .widget-title {
	margin: 0 0 6px;
	font-size: 120%;
	color: #fff;
}
/* ⚠️ タグクラウドのピルは白地に濃い文字なので、ここで一律に白を被せると
   文字が白地に白になって消える（実際にそうなった）。tag-cloud-link は除外する。 */
.aaa-footer-widgets a:not(.tag-cloud-link) {
	color: #fff;
}


/* =====================================================================
   参照サイト（aijinmonogatari.com）の「追加CSS」（<style id="wp-custom-css">・42ルール）を
   そのまま同梱する。稼働中サイトの実HTMLから抽出（2026-09-04）。テーマ原本には無く、
   これが無いと全要素の書体（* { font-family: "Noto Sans JP" }）・ボタン・パンくず・
   フォームの見た目が参照と一致しない（実際に h1 の高さが 1px ずれていた）。
   先頭の @import は header.php の <link>（Google Fonts）で読み込むため外してある。
   ===================================================================== */


*{
font-family: "Noto Sans JP", sans-serif;
}
/*
/* ハンバーガーメニュー */
/* メニュー部分 */
#header {
/* ⚠️2026-09-12：position:fixed / top / left を削除（参照サイトは指定なし＝static）。 */
width: 100%;
z-index: 200;
background-color: ; /* お好みで背景色を変更 */
}

#header .fixheader {
position: absolute; /* 参照サイトと同一。スクロールすると一緒に流れる */
width: 100%;
z-index: 200;
background-color: ; /* 背景色を指定 */
}

#header.fixed .fixheader {
position: fixed;
top: 0px !important;
z-index: 200;
}

/* リンクボタン */
a.button {
display: block;
width: 200px;
margin: 0 auto;
padding: 10px 20px;
text-align: center;
border: 1px solid #fff;
transition: all .3s ease-out;
}
a.button:hover {
color: #811885;
background-color: #fff;
}

/* リンクボタン_02 */
a.button_02 {
display: block;
width: 300px;
margin: 0 auto;
padding: 15px 30px;
text-align: center;
border: 2px solid #00518b;
background-color: #00518b;
transition: all .3s ease-out;
}
a.button_02:hover {
color: #fff;
border: 2px solid #00518b;
background-color: #fff;
}

/* ハンバーガーメニュー */
/* チェックボックスを隠す */
.hm_menu_check {
display: none;
}
.hm_wrap {
display: inline-block;
position: fixed;
top: 0;
left: 0;
width: 100%;
padding: 10px;
background-color: ;
}

/* ハンバーガーメニューオープン時の見出し */
.hm_title {
position: relative;
color: #999999;
display: inline-block;
float: left;
font-weight: 100;
line-height: 30px;
margin: 0 0 0 15px;
opacity: 0;
transform: translate3d(0, -15px, 0);
transition: transform 0.6s, opacity 0.5s;
z-index: 3;
}

/* メニューボタン */
.hm_btn {
    position: absolute;
    top: 19px;
    right: 16px;
    width: 20px;
    height: 16px;
    cursor: pointer;
    display: block;
    float: left;
    z-index: 11;
}

.hm_btn::before {
    box-shadow: #fff 0 7px 0;
}
.hm_btn::after {
bottom: 0;
}
.hm_btn::before, .hm_btn::after {
    width: 17px;
    height: 2.0px;
    background: #fff;
    display: block;
    content: '';
    position: absolute;
    transition: box-shadow 0.2s linear, transform 0.2s 0.2s;
}

/* ハンバーガーメニュー背景とスタイル */
.hm_menu_wrap {
width: 100%;
height: 10000px;
background: url(/Image/);
background-size: 5px;
background-color: rgba(196,205,50,1.0);
position: absolute;
left: -100%;
top: 0;
transition: left 0.4s;
}

/* 開閉時のアニメーション */
.hm_menu_check:checked ~ .hm_title {
opacity: 1;
transform: none;
}

.hm_menu_check:checked ~ .hm_btn::before {
    box-shadow: transparent 0 0 0;
    transform: rotate(45deg) translate3d(0px, 0px, 0); /* 左右対称に交差する位置に修正 */
    background: #000;
    height: 2px; /* 太さを少し太く */
    width: 100%; /* 幅を100%に */
    position: absolute;
    top: 50%; /* 中央に配置 */
    left: -10%; /* 中央に配置 */
    transform-origin: center; /* 回転の基準点を中心に */
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.hm_menu_check:checked ~ .hm_btn::after {
    transform: rotate(-45deg) translate3d(0px, 0px, 0); /* 左右対称に交差する位置に修正 */
    background: #000;
    height: 2px; /* 太さを少し太く */
    width: 100%; /* 幅を100%に */
    position: absolute;
    top: 50%; /* 中央に配置 */
    left: -10%; /* 中央に配置 */
    transform-origin: center; /* 回転の基準点を中心に */
    transition: transform 0.2s ease, background-color 0.2s ease;
}



.hm_menu_check:checked ~ .hm_menu_wrap {
left: 0;
}


/*テーブル枠線なし*/
.b_less{
border:none;
}

.b_less td{
border:none;
}

/* フォーム全体の最大幅追記 */
.wpcr3_div_2 {
max-width: 100%;
line-height: 350%;
}
 
/* 画面幅600px以下で見出しと入力フォームを２段にする */
@media (max-width: 600px){
.wpcr3_table_2 td {
text-align: left;
display: block;
}
}

.breadcrumb {
display: flex;
flex-wrap: wrap;
}

/* 通常状態のボタン */
input[type="submit"] {
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;

font-size: 150%;
font-weight: 400;
width: 280px;
padding: 15px 0px;
border-radius: 50px;
background-image: url(/Image/line_bg.png), url(/Image/mail_form.png), url(/Image/send.png), linear-gradient(180deg, rgba(197, 26, 141) 0%, rgba(197, 26, 141) 50%, rgba(177, 23, 127) 50%, rgba(177, 23, 127) 100%);
background-size:7px, 25px, 130px;
background-position:	center, 95% 50%, 50% 50%;
background-repeat: repeat, no-repeat, no-repeat;
border: 5px solid #fff;
color: #fff;
cursor: pointer;
transition: background-color 0.3s, transform 0.3s; /* 変化にアニメーションを追加 */
}

/* マウスオーバー時のスタイル */
input[type="submit"]:hover {
background-color: #1a2e52; /* 背景色を変更 */
transform: scale(1.05); /* 少し大きくする */
}

/* マウスダウン時（クリック時）のスタイル */
input[type="submit"]:active {
background-color: #17274d; /* 少し暗くする */
transform: scale(1); /* クリック時に元のサイズに戻す */
}

/* ローディング中のスピナーを非表示に */
span.wpcf7-spinner {
  display: none;
}

/* ボタンラッパーのセンタリング */
.submit-btn-wrapper {
  text-align: center;
}

input[type="button"] {
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
font-size: 80%;
font-weight: bold;
width: 80px;
padding: 10px;
margin: 10px;
border-radius: 50px;
background-color: #fff;
border: none;
color: #233b6c;
border: 2px solid #233b6c;
cursor: pointer;
}

/* CF7ラジオボタンを縦並びに */
.wpcf7-radio .wpcf7-list-item {
margin:30px 0 10px;
display: block;
}
.wpcf7-form-control-wrap[data-name="radio-939"] label {
display: flex;
align-items: center;
gap: 10px; /* ラジオボタンとテキストの間隔 */
}

span.course .wpcf7-list-item:nth-of-type(1) .wpcf7-list-item-label:after {
content: url(/Image/25357864_m.webp);
}
	
.wpcf7 input[name="your-name"],
.wpcf7 input[name="your-email"] {
width: 100%;
height: 50px !important;
margin:20px 0;
padding:10px;
}

.wpcf7 textarea[name="your-message"] {
width: 100%;
height: 300px !important;
margin:20px 0;
padding:10px;
}

.required {
background: ;
padding:5px 10px;
color: #d9534f;
border-radius: 50px;
border: 0px solid #fff;
}

optional {
background: #337ab7;
border: 1px solid #2e6da4;
}

.comment-form textarea {
padding: 10px; /* コメント入力欄に10pxの余白 */
width: 100%;    /* 入力欄の幅を100%に設定 */
box-sizing: border-box; /* paddingを含めて幅を計算 */
}


/* PCヘッダーナビのアイコン：参照は FontAwesome の webfont（高さ1em＝リンク文字と同じ10.26px・幅は字形ごと・ベースライン-0.125em）。
   固定12pxだと参照より大きく見えるので em 基準にする。幅は FA の字形幅（参照実測 1920px：house 13.47／info・user-alt・envelope 11.98／lock 10.48 ＝ 1.125em／1em／0.875em）に合わせる。 */
.animated-border-link svg.aaa-nav-ico { width: 1em; height: 1em; vertical-align: -0.167em !important; } /* 参照の <i>（FontAwesome webfont・line-height:1）は箱の底がベースラインの 2px 下。実測（1920）：baseline だと上端30.6／-0.125em だと31.3、-0.167em（=2px）で参照の31.6・リンク高32.97・文字上端27.6に一致 */
.animated-border-link svg.aaa-nav-ico-house { width: 1.125em; }
.animated-border-link svg.aaa-nav-ico-narrow { width: 0.875em; }

/* PR帯のアイコン：参照の fa-2x（2em）に追随させる（固定pxだと帯の高さがスマホで10px・PCで4px太る） */
.aaa-pr-icon svg { width: 100%; height: 100%; }

/* メガメニュー見出しのアイコン：参照の「.menu-item > a i.fa-folder / i.fa-hashtag」（絶対配置・2rem・行内に高さを持たない）を
   SVG版に写す。以前は inline-flex 16px で行内に置いていたため、行箱が 24px になりリンクの高さがスマホで +5px 太っていた。 */
.menu-item > a .aaa-fa-folder { position: absolute; top: 20px; right: 120px; margin-right: 10px; transform: translateX(-50%); font-size: 2.0rem; line-height: 1; z-index: 2; display: block; width: 1em; height: 1em; }
.menu-item > a .aaa-fa-hashtag { position: absolute; top: 20px; left: -0.5px; transform: translateX(-50%); font-size: 2.0rem; line-height: 1; z-index: 10; display: block; width: 1em; height: 1em; }
.menu-item > a .aaa-fa-folder svg, .menu-item > a .aaa-fa-hashtag svg { display: block; width: 100%; height: 100%; vertical-align: 0 !important; }

/* フッターSNSアイコン：参照は i要素にクラス fa-x-twitter・fa-2x（margin:5px指定）＝ 24px＋外側余白5px（箱34×34）。SVG版にも同じ余白を付ける（2026-09-04 実測） */
.aaa-sns-ico { margin: 5px; vertical-align: -0.125em; }

/* 「急上昇ワード」のアイコン：参照は fa-arrow-trend-up（pulse付与）のiタグ＝1em（span font-size 10px）。固定14pxだと390pxで行箱が2px太る（2026-09-04 実測） */
.aaa-trend-ico { width: 1em; height: 1em; vertical-align: -0.125em; }

/* ==========================================================================
 * ページ全体の横スクロールバーを出さない（2026-09-11 G.TAKIGAWA指摘）
 *
 * 背景の装飾ライン（.line 等）やカルーセルの内部リストは、意図的に画面外へ
 * 抜ける設計。幅によってはこれが文書の横幅を押し広げ、PC表示で不要な
 * 横スクロールバーが出る。
 *
 * ⚠️ overflow-x:hidden は使わない。html/body に hidden を掛けると、その要素が
 * スクロール領域になり、サイドバーの position:sticky（style.css 4075・5689行）が
 * 追従しなくなる。clip は「はみ出しを切るがスクロール領域を作らない」ので
 * sticky を壊さずに横バーだけを消せる。
 * ========================================================================== */
html { overflow-x: clip; }
body { max-width: 100%; }

/* carouFredSel はラッパー幅をJSでpx計算して inline style に書き込むため、
   画面幅ぎりぎり（実測で5px超過）になり文書の横幅を押し広げる。
   実体の幅指定は残したまま、表示上だけ親に収める（2026-09-11 実測で特定）。 */
.caroufredsel_wrapper { max-width: 100% !important; }

/* ------------------------------------------------------------------
 * グループリンク：ロゴ画像が未設定のときに出すサイト名（2026-09-12）
 * ロゴは「外観 > デザイン画像」で任意に設定できる。未設定ならここが出る。
 * ------------------------------------------------------------------ */
.aaa-group-name {
	display: inline-block;
	padding: 10px 6px;
	font-weight: 900;
	font-size: 17px;
	line-height: 1.4;
	letter-spacing: .02em;
	color: #fff;
}
