/*
theme Name: career-step-lab
Author: Career Step Lab
Description: original theme
version： 1.0.0
*/

:root {
	--color-main: #333;
	--color-theme: #033059;
	--color-background: #fff;
	--font-main: "Noto Sans JP", sans-serif;
	--font-menu: fot-tsukuardgothic-std, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
	--font-en: "Cormorant Garamond", serif;
	--font-en2: "Crimson Text", serif;
	--gradient-primary: linear-gradient(300deg, #ffd688, #ffe3af);
}


html {
	font-size: 16px;
	scroll-behavior: smooth;
}

@media (min-width: 743px) {
	html {
		scroll-padding-top: 8vh;
	}

	[id] {
		scroll-margin-top: 8vh;
	}
}

@media (max-width: 767px) {
	[id] {
		scroll-margin-top: 4vh;
	}
}

body {
	font-family: var(--font-main);
	line-height: 1.8;
	color: var(--color-main);
	font-weight: 500;
}

.container {
	max-width: 100%;
	margin: 0 auto;
	overflow: hidden;
}

a:hover {
	opacity: .7;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

@media (max-width: 743px) {
	.main-nav {
		position: fixed;
		inset: 0;
		background: rgba(255, 255, 255, 0.95);
		-webkit-transform: translateX(-100%);
		-ms-transform: translateX(-100%);
		transform: translateX(-100%);
		-webkit-transition: all 0.3s ease;
		-o-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}

	.main-nav.is-active {
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
		transform: translateX(0);
	}

	.nav-list {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		padding: 2vw;
	}
}


.pc_block {
	display: block;
}

.sp_block {
	display: none !important;
}

br.sp_block,
.sp_inlineblock {
	display: none !important;
}

.pc_inlineblock {
	display: inline-block;
}

p.center {
	text-align: center;
}

.flex-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.flex-wrap.sb {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/*---------------------------------------------------------
アニメーション
---------------------------------------------------------*/

.js-animation {
	opacity: 0;
	visibility: hidden;
	-webkit-transform: translateY(10px);
	-ms-transform: translateY(10px);
	transform: translateY(10px);
	-webkit-transition: all 2s;
	-o-transition: all 2s;
	transition: all 2s;
}

.js-animation.is-show {
	opacity: 1;
	visibility: visible;
	-webkit-transform: translateY(0px);
	-ms-transform: translateY(0px);
	transform: translateY(0px);
}

/*---------------------------------------------------------
ヘッダー
---------------------------------------------------------*/

/* ヘッダー全体 */
.site-header {
	text-align: center;
	box-shadow: 0px 3px 6px rgb(0 0 0 / 9%);
}

p.site-subtitle {
	    background-image: linear-gradient(135deg, #00d6c0 10%, #1db9ff 100%);
	color: #fff;
	font-size: .9vw;
}

.site-title-wrap img {
	display: inline-block;
	max-width: 25vw;
	height: auto;
	margin: 2vh auto 1vh;
}

/* グローバルナビ */
#g-navi {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1vw;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
	list-style: none;
}

#g-navi li {
	display: inline-block;
	position: relative;
}

#g-navi li:not(:last-child)::after {
	content: "";
	position: absolute;
	right: -0.5vw;
	/* 文字との間隔を調整 */
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 2vh;
	/* 縦線の高さ */
	background-color: #ccc;
	/* 線の色 */
}

#g-navi li a {
	display: block;
	padding: 1vh 1.5vw;
	text-decoration: none;
	font-weight: 600;
	font-size: 1.05vw;
	/* フォントサイズをvw基準に */
	color: #333;
	transition: color 0.3s ease;
	letter-spacing: .1vw;
	font-family: var(--font-menu);
}

#g-navi li a:hover,
#g-navi li a:focus {
	color: #c3a68b;
}


/* TOPコンテンツ */
p.mb {
	margin-bottom: .7em;
}

.site-contents,
.container {
	background: #f9fafb;
}

.layout-wrap {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 20vw;
	gap: 2vw;
	width: 80%;
	padding: 8vh 0;
	margin: 0 auto;
}

.section-block {
	width: 100%;
}

.section-title.align-center {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 3vh;
	font-weight: 700;
	font-family: var(--font-menu);
	font-size: 2vw;
	letter-spacing: .1vw;
	gap: .5vw;
}

/* .section-title.align-center::before {
	content: "";
	display: inline-block;
	width: 2.3vw;
	height: 2.3vw;
	background: url("https://freelance-money-lab.com/wp-content/uploads/2025/10/new-icon-y.svg") no-repeat center center;
	background-size: contain;
}
.archive .section-title.align-center::before{
	content: "";
	display: inline-block;
	width: 2.3vw;
	height: 2.3vw;
	background: url("https://freelance-money-lab.com/wp-content/uploads/2025/09/favicon.png") no-repeat center center;
	background-size: contain;
} */

.archive .section-title.align-center{
	    justify-content: unset;
}


/* ===== カードリスト（クラス名変更版） ===== */
.cards-wrap {
	width: 100%;
}

@media (max-width: 748px) {
	.post-cards.grid-2col {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

/* カード本体 */
.post-card {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 0.4vw;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
	transition: transform .2s ease, box-shadow .2s ease;
}

.post-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
}

.post-card+.post-card {
	margin-top: 3vh;
}

/* サムネイル */
.card-thumb {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #f3f4f6;
	width: 35%;
}

.card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

:where(figure) {
	margin: 0 auto!important;
}

/* テキスト */
.card-link {
	text-decoration: none;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.card-body {
	padding: 2vh 1.5vw;
	width: 65%;
}

.card-title {
	font-size: 1.3vw;
	font-weight: 600;
	line-height: 1.8;
	margin-bottom: 1vh;
}

.card-excerpt {
	font-size: 1.1vw;
	color: #4b5563;
	line-height: 1.75;
	min-height: 2.8em;
}

.card-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 0.9vw;
	margin-top: 0.8em;
	color: #666;
}

.card-cat .cat-name {
	background: #7b98a6;
	color: #fff;
	font-size: 0.8vw;
	padding: .5vh 1vw;
	border-radius: 50px;
	line-height: 1;
	letter-spacing: .05vw;
}

.card-date {
	display: flex;
	align-items: center;
	gap: 0.3em;
	white-space: nowrap;
}

.card-date i {
	color: #999;
	font-size: 0.9em;
}

.card-date {
	font-size: .9vw;
	color: #6b7280;
	display: block;
	text-align: right;
}

.card-date i {
	margin-right: .35em;
}

/* ===== ページネーション（クラス名変更版） ===== */
.pager {
	margin: 28px 0 8px;
	text-align: center;
}

.pager-links {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
}

.pager .page-numbers {
    display: inline-flex
;
    align-items: center;
    justify-content: center;
    min-width: 2.7vw;
    height: 2.7vw;
    padding: 0 1vw;
    border: 1px solid #e5e7eb;
    border-radius: 50px;
    font-weight: 600;
    color: #111827;
    text-decoration: none;
    transition: background .2s 
ease, color .2s 
ease, border-color .2s 
ease;
    font-size: 1.3vw;
}

.pager .page-numbers:hover {
	background: #c3a68b;
	color: #fff;
	border-color: #c3a68b;
}

.pager .page-numbers.current {
	    background: #c3a68b;
    color: #fff;
    border-color: #c3a68b;
}


/* ===== サイドバー ===== */

.sidebar {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	min-width: 0;
	width: 100%;
}

aside#sidebar .widget+.widget {
	margin-top: 4vh;
}

aside#sidebar section#block-18 {
    margin-top: 2vh;
}

/* searchform */
.searchform {
	display: flex;
	gap: 8px;
}

.search-input {
	flex: 1;
	min-width: 0;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	padding: .6em .8em;
	    font-size: 16px;
}

.search-submit {
	border-radius: 8px;
	padding: .5vh .7vw;
	    background: #00c4dd;
	color: #fff;
	font-weight: 600;
	 font-size: 1vw;
}

.search-input:focus {
	outline: 1px solid #c3a68b;
	border-color: #c3a68b;
	box-sizing: border-box;
}

/* サイドバーの各ウィジェットは自分の積層コンテキストを持つ */
aside#sidebar .widget {
  position: relative;
  isolation: isolate;   /* ← 擬似要素のオーバーレイが隣まで侵入するのを防ぐ */
}

/* 検索フォームを最前面に */
aside#sidebar .searchform {
  position: relative;
  z-index: 10;
}

/* 念のためフォーム配下はクリック可 */
aside#sidebar .searchform,
aside#sidebar .searchform * {
  pointer-events: auto;
}

/* もし“カード全体リンク”系があるなら、カード内に閉じ込める（任意） */
aside#sidebar .profile-card {        /* プロフィールのラッパーのクラスに合わせて変更可 */
  position: relative;
  overflow: hidden;                   /* オーバーレイが外に出ないようにする */
}

.search-submit:hover,
.search-submit:focus-visible {
  filter: brightness(0.95);
  outline: 2px solid #c3a68b33;
  outline-offset: 2px;
}


.sidebar-area .widget {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	padding: 16px;
	margin-bottom: 16px;
}

.sidebar-area .widget-title {
	font-size: clamp(1vw, 1.3vw, 1.1vw);
	margin: 0 0 .6vw;
	font-weight: 700;
}

.sidebar-area ul {
	margin: 0;
	padding-left: 1vw;
}

.sidebar-area li {
	margin: .3vw 0;
}


/* ---- Sidebar Profile Card ---- */
.profileCard {
	    --avatar-size: 8vw;
	--radius: .7vw;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: var(--radius);
	box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
	overflow: hidden;
	text-align: center;
}

/* カバー画像（16:9でトリミング） */
.profileCard__cover {
	margin: 0;
	line-height: 0;
	background: #f3f4f6;
}

.profileCard__cover img {
	width: 100%;
	height: auto;
	aspect-ratio: 16/9;
	object-fit: cover;
	display: block;
}

/* アバター（カバーに半分重ねる） */
.profileCard__avatarWrap {
	width: var(--avatar-size);
	height: var(--avatar-size);
	margin: calc(var(--avatar-size) * -0.5) auto 0;
	/* かぶせる */
	border-radius: 50%;
	/*   border: 4px solid #fff; */
	overflow: hidden;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .12);
}

.profileCard__avatar {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* 本文 */
.profileCard__body {
	padding: .5vw 1vw 1vw;
}

.profileCard__name {
	font-weight: 700;
	font-size: 1.2vw;
	margin-bottom: 1vh;
}

.profileCard__name span {
	display: block;
	font-size: .95vw;
	font-weight: 500;
	    margin-top: .3vh;
}

.profileCard__bio {
	color: #374151;
	line-height: 1.9;
	font-size: .95vw;
	margin: 0;
	text-align: left;
}

section#block-15 .btn a {
/*     background: #c3a68b; */
	    background-image: linear-gradient(135deg, #00d6c0 10%, #1db9ff 100%);
    width: fit-content;
    display: block;
    color: #fff;
    font-size: .95vw;
    border-radius: 50px;
    padding: 0 3vw;
    margin: 2vh auto 0;
}

/* 任意：SNSリンク */
.profileCard__links {
	margin-top: 12px;
	display: flex;
	gap: 10px;
	justify-content: center;
}

.profileCard__links a {
	display: inline-block;
	padding: .4em .8em;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	text-decoration: none;
	font-size: .85vw;
	color: #111827;
	background: #fff;
	transition: background .2s ease, border-color .2s ease;
}

.profileCard__links a:hover {
	background: #111827;
	color: #fff;
	border-color: #111827;
}

/* ダークモード（お好みで） */
@media (prefers-color-scheme: dark) {
	.profileCard {
		background: #111315;
		border-color: #23262a;
		box-shadow: none;
	}

	.profileCard__bio {
		color: #d1d5db;
	}

	.profileCard__links a {
		border-color: #2b2f35;
		color: #e5e7eb;
		background: #16181b;
	}

	.profileCard__links a:hover {
		background: #e5e7eb;
		color: #111827;
	}
}


.popular-posts.wpp-ajax {
	counter-reset: rank_number;
}

/* ▼ ランキング番号の初期化はリスト(ul)に付ける */
section#block-16 ul.wpp-list {
	counter-reset: rank_number;
}

/* 各アイテム行 */
section#block-16 ul.wpp-list li {
	display: flex;
	justify-content: space-between;
	position: relative;
	margin-top: 1.5vh;
}

/* 左上に順位バッジ */
section#block-16 ul.wpp-list li::before {
	counter-increment: rank_number;
	content: counter(rank_number);
	position: absolute;
	left: 0;
	top: 0;
	width: 2vw;
	height: 1.5vw;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(123, 152, 166, 0.89);
	color: #fff;
	font-size: .9vw;
	font-weight: 700;
	line-height: 1;
	z-index: 1;
}

/* サムネとタイトルの幅 */
section#block-16 li a:first-of-type {
	width: 40%;
}

ul.wpp-list a img {
	width: 100%;
	object-fit: cover;
	aspect-ratio: 4 / 3;
}

ul.wpp-list a.wpp-post-title {
	width: 57%;
    font-size: .9vw;
    font-weight: 600;
    line-height: 1.7;
}


/* ---- サイドバー：カテゴリー ---- */

section#block-16 h2,
aside#sidebar h4,
.profileCard h2 {
	font-size: 1.25vw;
	letter-spacing: .1vw;
	font-weight: 700;
	font-family: var(--font-menu);
/* 	background: #c3a68b; */
	color: #fff;
	text-align: center;
	padding: .5vh 0;
	border-radius: .2vw .2vw 0 0;
	background-image: linear-gradient(135deg, #00d6c0 10%, #1db9ff 100%);
}

/* タイトル */
aside#sidebar .widget_categories .widget-title,
aside#sidebar .wp-block-categories .wp-block-heading {
	color: #c3a68b;
	font-weight: 800;
	letter-spacing: .06em;
	margin: 0 0 12px;
	font-size: 1.1vw;
}

/* リスト全体 */
aside#sidebar .widget_categories ul,
aside#sidebar .wp-block-categories-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* 各カテゴリー項目 */
aside#sidebar .widget_categories li,
aside#sidebar .wp-block-categories-list li {
	position: relative;
    padding: 2vh 2vw;
    border-bottom: 1px solid #c3a68b;
    background: #fff;
    font-size: 1.1vw;
}

aside#sidebar .widget_categories li:last-child {
	border-bottom: none;
}

/* 左の小さな三角アイコン */
aside#sidebar .widget_categories li::before,
aside#sidebar .wp-block-categories-list li::before {
	content: "";
	position: absolute;
	left: 1vw;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 8px solid #c3a68b;
	opacity: .95;
}

/* リンクのスタイル */
aside#sidebar .widget_categories a,
aside#sidebar .wp-block-categories-list a {
	color: #333;
	text-decoration: none;
	display: inline-block;
	transition: color .2s ease, opacity .2s ease;
}

aside#sidebar .widget_categories a:hover,
aside#sidebar .wp-block-categories-list a:hover {
	color: #c3a68b;
}

/* 子カテゴリ（階層ON時の見た目） */
aside#sidebar .widget_categories ul.children,
aside#sidebar .wp-block-categories-list .children {
	margin-top: 6px;
	margin-left: 12px;
	border-left: 1px dashed #e7e2de;
	padding-left: 12px;
}

aside#sidebar .widget_categories ul.children li::before,
aside#sidebar .wp-block-categories-list .children li::before {
	border-left-color: #c7bbb0;
}

section#block-18 img,
section#block-19 img {
	width: 100%;
	border-radius: .5vw;
}



/*---------------------------------------------------------
  footer
  ---------------------------------------------------------*/

footer#footer {
	position: relative;
}

.footer-menu {
	text-align: center;
	padding: 1.5vh 0;
	background-image: linear-gradient(135deg, #00d6c0 10%, #1db9ff 100%);
}

/* リストを横並びに */
.footer-menu__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: inline-flex;
	gap: 3vw;
}

/* 各リンク */
.footer-menu__list li a {
	color: #fff;
	text-decoration: none;
	font-size: 1.1vw;
	transition: color 0.3s ease;
	font-weight: 700;
	font-family: var(--font-menu);
	letter-spacing: .05vw;
}

.copyright p {
	text-align: center;
	font-size: .85vw;
	font-weight: 500;
	letter-spacing: .05vw;
	padding-left: 1vw;
}

#topBtn {
	    position: fixed;
    right: 1vw;
        bottom: 5vw;
    opacity: .8;
    z-index: 10;
}

#topBtn a {
	text-decoration: none;
}

#topBtn a::before {
	    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f139';
    font-size: 3vw;
    color: #00d6c0;
}

a#topBtn:hover {
	opacity: 0.6;
}

/*---------------------------------------------------------
Table of Contents Plus
---------------------------------------------------------*/

/* TOC全体の枠 */
#toc_container {
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 6px;
	padding: 1vh 1.5vw !important;
	margin: 3vh 0;
	counter-reset: toc-h1 !important;
}

div#toc_container{
	    width: 100% !important;
}

/* 目次タイトル */
#toc_container .toc_title {
	font-size: 1.4vw;
	font-weight: 700;
	text-align: center;
	margin-bottom: 0;
	color: #333;
}

.single article p.toc_title {
       margin-top: 0;
    line-height: 1.8;
}
span.toc_toggle {
    color: #c3a68b;
}

/* TOCリスト */
#toc_container ul.toc_list {
	list-style: none!important;
	padding-left: 0;
	margin: 0;
}

.single .blog-main div#toc_container ul {
    padding: 0;
    background: #fff;
}

/* 親リスト（大見出し） */
#toc_container ul.toc_list>li {
	margin: 0.8em 0;
	position: relative;
	padding-left: 2.2em;
	font-weight: 600;
	    list-style: none;
}

/* 親リストの番号デザイン（赤丸） */
#toc_container ul.toc_list>li::before {
	content: counter(toc-counter);
	counter-incvwent: toc-counter;
	position: absolute;
	left: 0;
	top: 0.2em;
	width: 1.6em;
	height: 1.6em;
	border-radius: 50%;
	background: #c3a68b;
	color: #fff;
	font-size: 1.1vw;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* カウンター初期化 */
#toc_container {
	counter-reset: toc-counter;
}

#toc_container ul.toc_list>li::before {
	counter-increment: toc-h1;
	content: counter(toc-h1);
	/* 丸の中の数字 */
}

/* 子（第2階層）…親ごとにリセットして 1.1, 1.2 … */
#toc_container ul.toc_list>li>ul {
	counter-reset: toc-h2;
}

#toc_container ul.toc_list>li>ul>li::before {
	counter-increment: toc-h2;
	content: counter(toc-h1) "." counter(toc-h2);
}

/* 孫（第3階層）… 1.1.1 形式 */
#toc_container ul.toc_list>li>ul>li>ul {
	counter-reset: toc-h3;
}

#toc_container ul.toc_list>li>ul>li>ul>li::before {
	counter-increment: toc-h3;
	content: counter(toc-h1) "." counter(toc-h2) "." counter(toc-h3);
}

/* 子リスト（小見出し） */

#toc_container ul ul {
	margin-left: 0 !important;
}

.single .blog-main div#toc_container ul ul {
    padding: 0;
}

#toc_container ul.toc_list ul {
	margin-top: 0.5em;
	font-weight: normal;
}

#toc_container ul.toc_list ul li {
	margin: 0.3em 0;
	position: relative;
	padding-left: 2.5em;
	font-weight: 500;

}

div#toc_container ul li {
	font-size: 1.1vw !important;
}

/* 子リストの番号デザイン */
#toc_container ul.toc_list ul li::before {
	content: counters(toc-counter, ".") " ";
	counter-incvwent: toc-counter;
	position: absolute;
	left: 0;
	top: 0;
	color: #c3a68b;
	font-weight: 600;
}

#toc_container a {
    color: #333;
}

#toc_container span.toc_toggle a {
    color: #c3a68b;
}

/*---------------------------------------------------------
  TOP記事
  ---------------------------------------------------------*/





.single .blog-main ul.ui-checkgate__list li {
    list-style: none;
}

.ui-checkgate{
  width: 100%;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  padding: 18px;
  background: #fff;
}

.single article p.ui-checkgate__title {
    text-align: center;
    margin-top: 0;
    margin-bottom: 0;
    background: #607D8B;
    color: #fff;
    padding: .2vw 0;
}

.ui-checkgate__list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}

.ui-checkgate__item{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  padding: 10px 12px;
  background: #fff;
}

.ui-checkgate__label{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  line-height: 1.6;
}

.ui-checkgate__check{
      margin-top: 2px;
    width: 1vw;
    height: 1vw;
    position: relative;
    top: .3vw;
}

.ui-checkgate__actions{
  margin-top: 14px;
  display: grid;
  gap: 8px;
}

.blog-main .ui-checkgate__btn{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 46px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 700;
  border: 1px solid rgba(0,0,0,.12);
  background: #e9e9e9;
  color: rgba(0,0,0,.45);
  pointer-events: none; /* 無効時 */
	text-decoration: none;
}

.ui-checkgate__btn.is-active{
      background: #00c4dd;
    color: #fff;
    pointer-events: auto;
    text-decoration: none;
    font-size: 1.2vw;
}

.single article p.ui-checkgate__note {
    margin-top: 0;
    text-align: center;
    font-size: 1vw;
}

.single .blog-main ul.ui-checkgate__list {
    padding: 2vh 1vw;
}

.ui-pick{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 16px;
  padding: 18px;
  background: #fff;
}

.ui-pick__title{
  margin: 0 0 14px;
  font-size: 16px;
  font-weight: 800;
}

.ui-pick__grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.ui-pick__card{
  appearance: none;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  padding: 14px 14px 12px;
  background: rgba(0,0,0,.02);
  text-align: left;
  cursor: pointer;
  display: grid;
  gap: 6px;
  position: relative;
  transition: transform .08s ease, box-shadow .08s ease;
}

.ui-pick__card:hover{
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}

.ui-pick__card.is-active{
  border-color: rgba(0,0,0,.30);
  background: rgba(0,0,0,.04);
}

.ui-pick__badge{
      width: 4vw;
    height: 4vw;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    border: 1px solid rgba(0, 0, 0, .12);
    background: #fff;
    margin: 0 auto;
    font-size: 3vw;
   color: #00d6c0;
}

.single article p.ui-pick__title {
    margin-top: 0;
    text-align: center;
    background: #607D8B;
    color: #fff;
    padding: .2vw 0;
}

.ui-pick__head {
    font-weight: 700;
    font-size: 1.3vw;
    text-align: center;
}

.ui-pick__sub{
      font-size: 1.1vw;
    color: rgba(0, 0, 0, .60);
    text-align: center;
}

.ui-pick__result{
  margin-top: 14px;
  border-radius: 14px;
  padding: 14px;
  background: rgba(0,0,0,.03);
  border: 1px solid rgba(0,0,0,.08);
  display: grid;
  gap: 8px;
}

.single article p.ui-pick__result-title {
    font-weight: 600;
    margin-top: 0;
    text-align: center;
}

.single article p.ui-pick__result-text {
    text-align: center;
    margin-top: 0;
}
.ui-pick__cta{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 46px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 900;
  border: 1px solid rgba(0,0,0,.12);
  background: #e9e9e9;
  color: rgba(0,0,0,.45);
  pointer-events: none;
}

.blog-main a.ui-pick__cta.is-active {
        background: #00c4dd;
    color: #fff;
    pointer-events: auto;
    text-decoration: none;
    font-size: 1.3vw;
    font-weight: 700;
    padding: 1.5vw;
    letter-spacing: .1vw;
    margin-top: .5vw;
}

@media (min-width: 768px){
  .ui-pick__grid{
    grid-template-columns: repeat(3, 1fr);
  }
}

/* =========================
   Mini Compare Cards
   ========================= */

.mini-compare-cards {
  width: 100%;
}

.mini-compare-cards__grid {
  width: 100%;
  display: grid;
      gap: 1.5vw;
	grid-template-columns: 1fr;
}

.mini-compare-cards__card {
  width: 100%;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: .7vw;
  box-shadow: 0 .6vw 1.8vw rgba(0, 0, 0, .06);
}

.single article .blog-main h4.mini-compare-cards__title {
    margin: 0;
    padding: 1.1vw 1.4vw;
    font-size: 1.2vw;
    line-height: 1.25;
    letter-spacing: .04vw;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(90deg, #0cc7bf, #2aa5ff);
    text-align: center;
    border-radius: .7vw .7vw 0 0;
}

.single article .mini-compare-cards__dl {
    margin: 0;
}

.mini-compare-cards__row {
    display: grid;
   grid-template-columns: 30% 1fr;
    column-gap: 1vw;
	border-bottom: 1px solid #E0E0E0;
}

.mini-compare-cards__row:last-child {
    border-bottom: none;
}

.single article .mini-compare-cards__row dt {
    margin: 0;
    font-size: .95vw;
    line-height: 1.35;
    display: flex;
    justify-content: center;
    align-items: center;
	    border-right: 1px solid #E0E0E0;
    padding: 1vw 0;
}

.single article .mini-compare-cards__row dd {
    margin: 0;
    font-size: 1.02vw;
    line-height: 1.55;
    color: rgba(0, 0, 0, .86);
	padding: 1vw 0;
}

/* =========================
   Responsive
   ========================= */

/* 1200px以下：2カラム */
@media (max-width: 1200px) {
  .mini-compare-cards__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 3%;
  }

  .mini-compare-cards__card {
    border-radius: 1.8vw;
  }

  .mini-compare-cards__title {
    padding: 1.6vw 1.8vw;
    font-size: 2.1vw;
  }

  .mini-compare-cards__dl {
    padding: 2vw;
  }

  .mini-compare-cards__row {
    grid-template-columns: 36% 1fr;
    column-gap: 2vw;
    padding: 1.6vw 0;
  }

  .mini-compare-cards__row dt {
    font-size: 1.8vw;
  }

  .mini-compare-cards__row dd {
    font-size: 1.9vw;
  }
}

/* 768px以下：1カラム（スマホ最適） */
@media (max-width: 768px) {
  .mini-compare-cards {
    margin: 6vw 0;
  }

  .mini-compare-cards__grid {
    grid-template-columns: 1fr;
    gap: 4vw;
  }

  .mini-compare-cards__card {
    border-radius: 3.2vw;
    box-shadow: 0 1.2vw 3.2vw rgba(0, 0, 0, .08);
  }

  .mini-compare-cards__title {
    padding: 3.4vw 4vw;
    font-size: 4.2vw;
  }

  .mini-compare-cards__dl {
    padding: 4vw;
  }

  .mini-compare-cards__row {
    grid-template-columns: 34% 1fr;
    column-gap: 3vw;
    padding: 3.2vw 0;
  }

  .mini-compare-cards__row dt {
    font-size: 3.4vw;
  }

  .mini-compare-cards__row dd {
    font-size: 3.6vw;
  }
}

/* 480px以下：詰まり防止 */
@media (max-width: 480px) {
  .mini-compare-cards__row {
    grid-template-columns: 38% 1fr;
  }

  .mini-compare-cards__title {
    font-size: 4.6vw;
  }

  .mini-compare-cards__row dt {
    font-size: 3.6vw;
  }

  .mini-compare-cards__row dd {
    font-size: 3.8vw;
  }
}

.ui-compare{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.ui-compare__table{
  width:100%;
  min-width:520px;
  border-collapse:collapse;
}

table.ui-compare__table tbody td:first-of-type {
    background: #ffffff;
}

.ui-compare__table th{
  background:rgba(0,0,0,.04);
  font-weight:700;
}

/* FAQ Accordion */
.ui-faq__item{
  border: 0.08vw solid rgba(0,0,0,.12);
  border-radius: 1.0vw;
  overflow: hidden;
  margin: 1.2vw 0;
  background: #fff;
}

/* 質問（summary） */
.ui-faq__q{
  list-style: none;
  cursor: pointer;
  padding: 1.2vw 1.2vw;
  font-weight: 700;
  line-height: 1.55;
  position: relative;
  font-size: 1.15vw; /* 本文と同じ基準 */
}

/* Chrome marker消し */
.ui-faq__q::-webkit-details-marker{ display:none; }

/* 開閉アイコン */
.ui-faq__q::after{
  content: "+";
  position: absolute;
  right: 1.1vw;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 800;
  font-size: clamp(16px, 1.25vw, 20px);
  line-height: 1;
}
.ui-faq__item[open] .ui-faq__q::after{ content:"–"; }

/* 回答 */
.ui-faq__a{
  padding: 0 1.2vw 1.2vw;
  line-height: 1.8;
  font-size: clamp(14px, 1.15vw, 18px);
}

.single article .ui-faq__a p {
    margin-top: 0;
}

.ui-faq__a p{
  margin: 0.8vw 0 0;
}
.ui-faq__a p:first-child{
  margin-top: 0.6vw;
}

/* =========================
   Copy box (vw-base)
   ========================= */

.ui-copybox{
  margin-top: 1.0vw;
  border: 0.08vw solid rgba(0,0,0,.12);
  border-radius: 1.0vw;
  padding: 1.0vw;
  background: rgba(0,0,0,.03);
}

.ui-copybox__btn{
      width: 100%;
    padding: 0.95vw 1.0vw;
    border: 0;
    border-radius: 0.85vw;
    background: #00c4dd;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
    font-size: 1.15vw;
    line-height: 1.2;
}

.ui-copybox__btn.is-copied{
  opacity: .86;
}

.ui-copybox__text{
  margin: 0.9vw 0 0;
  padding: 0.9vw 1.0vw;
  background: #fff;
  border-radius: 0.85vw;
  border: 0.08vw solid rgba(0,0,0,.10);
  line-height: 1.75;
  font-size: clamp(14px, 1.15vw, 18px);
}

.ui-copybox__note{
  margin: 0.7vw 0 0;
  font-size: clamp(12px, 0.95vw, 15px);
  opacity: .75;
}

.single article p.micro-copy {
    text-align: center;
    color: #00d6c0;
}

.single article .cta-btn.mt0 a, .single article .cta-btn.mt0 {
    margin-top: 0;
}
.single article .cta-btn.mt0.mb0 a {
    margin-bottom: 0;
}

.single article p.mini {
    margin-top: 0;
    font-size: .9vw;
    text-align: center;
}

.single article p.reference {
    font-size: .9vw;
    text-align: right;
}


.page-id-60 section#block-15 {
    display: none;
}


/*---------------------------------------------------------
ブログ
---------------------------------------------------------*/

.breadcrumb {
	width: 95%;
	margin: 0 auto;
	font-size: .7vw;
	padding-top: 1vh;
}

.page.container.single .inner {
	max-width: 72%;
	width: 100%;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	    padding: 4vh 0 6vh;
	gap: 2vw;
}

section.single_wrap {
	width: calc(100% - 30%);
	background: #fff;
	padding: 4vh 2vw;
	border-radius: .7vw;
}

article.article-list {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	margin-bottom: 3vh;
	padding: 3vh 2vh;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-box-shadow: 0px 5px 10px 0px rgb(0 0 0 / 17%);
	box-shadow: 0px 5px 7px 2px rgb(120 120 120 / 22%);
	-ms-flex-pack: distribute;
	justify-content: space-around;
	border: 1px solid #E0E0E0;
}

article.article-list .img-wrap {
	width: 37%;
	height: auto;
	display: -ms-grid;
	display: grid;
	place-items: center;
}

article.article-list .text {
	width: 60%;
	position: relative;
}

article.article-list .text h2 {
	font-size: 1.2vw;
	margin-bottom: .2em;
	line-height: 1.4;
	font-weight: 600;
}

article.article-list a {
	text-decoration: none;
	width: 100%;
}

article.article-list a img {
	width: 100%;
}

.cat-day {
	position: relative;
}

ul.post-categories {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

ul.post-categories a {
	    background: #7b98a6;
	display: inline;
	color: #fff;
	padding: .2em 1em;
	margin-right: .5em;
	font-size: .75vw;
	border-radius: 50px;
}

ul.post-categories li {
	list-style: none;
}

article.article-list p.article-date {
	position: absolute;
	top: 0;
	right: 0;
}

article.article-list .archive-text {
	margin-top: 1vh;
	line-height: 1.6;
}

.pagination {
	margin: 2vw 0;
	text-align: center;
}

.pagination ul {
	font-size: 0;
}

.pagination ul li {
	font-size: 1vw;
	display: inline-block;
	margin-right: .5vw;
}

.pagination ul li:last-child {
	border: 0;
}

.pagination ul li a,
.pagination .current {
	display: block;
	padding: .5vh 1vw;
	border: 1.5px solid #033059;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

i.fas.fa-angle-right,
i.fas.fa-angle-left {
	color: var(--color-theme);
}

.pagination ul li .prev,
.pagination ul li .next {
	border: 0;
}

.pagination ul li a {
	text-decoration: none;
	color: var(--color-theme);
	font-weight: 500;
}

.pagination ul li a:hover {
	opacity: .6;
}

.pagination .current {
	color: #fff;
	background-color: var(--color-theme);
}


/*---------------------------------------------------------
投稿ページ
---------------------------------------------------------*/

span.cat-data a {
	background: #7b98a6;
	display: inline;
	color: #fff;
	padding: .2em 1em;
	margin-right: .5em;
	font-size: .75vw;
	border-radius: 50px;
}

.single h1 {
	font-size: 1.6vw;
	font-weight: 600;
	letter-spacing: .02vw;
	line-height: 1.6;
	margin: 1vh auto 0;
    padding-bottom: .5vw;
	border-bottom: 3px solid #00d6c0;
}

.single article p.entry-date {
        margin: .5vw auto;
    text-align: right;
    font-size: .9vw;
}

.article-img img {
    width: 100%;
    height: 100%;
}

.article-meta {
	display: flex;
	justify-content: flex-end;
	gap: 1.2em;
	font-size: 0.95vw;
	color: #666;
	margin-bottom: 2vh;
	align-items: center;
}

.article-meta i {
	margin-right: 0.3em;
	color: #999;
}

.article-date {
	display: flex;
	align-items: center;
	white-space: nowrap;
}

.pr-notice {
    font-size: .9vw;
    text-align: center;
    letter-spacing: .05vw;
    background: #F5F5F5;
    padding: 1vh 0;
    border-radius: .2vw;
}

span.pr-badge {
    background: #c3a68b;
    color: #fff;
    padding: 0 .3vw;
}

span.st-mymarker-s {
	background: -o-linear-gradient(transparent 70%, #d4dff4 0%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, #d4dff4));
	background: linear-gradient(transparent 70%, #d4dff4 0%);
	font-weight: 700;
}

.fixed-page h2,
.single article h2 {
	font-size: 1.45vw;
	font-weight: 600;
	letter-spacing: .04vw;
	margin: 5vh auto 3vh;
	padding: 1.5vh 1vw;
	border-left: .35vw solid #00d6c0;
	line-height: 1.6;
	background-color: #F5F5F5;
}

.fixed-page h3,
.single article h3 {
	font-size: 1.35vw;
	font-weight: 600;
	letter-spacing: .04vw;
	margin: 3vh auto 3vh;
	padding: 0.5vw;
	border-bottom: 3px solid #00d6c0;
}

.fixed-page h4,
.single article .blog-main h4 {
	font-size: 1.3vw;
    font-weight: 600;
    letter-spacing: .04vw;
    margin: 3vh auto 1vh;
}

.fixed-page h5,
.single article h5 {
	font-size: 1.3vw;
	font-weight: 600;
	letter-spacing: .04vw;
	margin: 3vh auto 3vh;
	padding: 1vh 0 0;
	position: relative;
}

.fixed-page .inner p,
.single article p {
	font-size: 1.15vw;
	margin-top: 3vh;
	line-height: 2.2;
}

.single article dl {
  margin: 2em 0;
}
.single article dt {
  font-weight: 700;
  color: #033059;
  margin-top: 1.5em;
}
.single article dd {
  margin-left: 0;
  margin-bottom: 1em;
  line-height: 1.8;
}

.blog-main a {
    color: #7b98a6;
    text-decoration: underline;
}

.single article .cta-btn a {
    display: block;
    font-weight: bold;
    padding: 1vh 2vw;
    border-radius: 0.3vw;
    text-decoration: none;
    transition: 0.3s;
    margin: 3vh auto;
    width: 100%;
    text-align: center;
    font-size: 1.2vw;
    color: #fff;
    text-decoration: none;
    background-image: linear-gradient(135deg, #00d6c0 10%, #1db9ff 100%);
}

p.cta-btn.rakuten a {
     background: #D10F0F;
}

p.cta-btn.sbi a {
    background: #092987;
}

p.cta-btn.matsui a {
    background: #078271;
}

.wp-block-image img {
    margin-top: 3vh;
}

.fixed-page .inner ul,
.single .blog-main ul,
.fixed-page .inner ol,
.single .blog-main ol {
	margin: 3vh auto;
	padding: 3vh 1vw 3vh 2.5vw;
	        background-color: #F5F5F5;
	    border-radius: .3vw;

}

.fixed-page .inner ul ul,
.single .blog-main ul ul {
	margin-top: unset;
	margin-bottom: .7vw;
	margin-left: 0;
	padding: .5vw 0 0 1em;
}

.fixed-page .inner ul li,
.single .blog-main ul li {
	list-style-type: disc;
	font-size: 1.2vw;
	margin-bottom: 1em;
}

.fixed-page .inner ol li,
.single .blog-main ol li {
	font-size: 1.2vw;
	    margin-bottom: 1em;
}
.fixed-page .inner ol li:last-of-type,
.single .blog-main ol li:last-of-type.fixed-page .inner ul li:last-of-type,
.single .blog-main ul li:last-of-type, .single .blog-main ol li:last-of-type {
    margin-bottom: 0;
}

.single article p.box-title {
	position: relative;
	top: 5vh;
	background: #033059;
	color: #fff;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 0 2vw;
	letter-spacing: .1vw;
	margin-top: 0;
}

.fixed-page figure,
.single article figure {
	margin: 3vh 0;
}

.single article p.article-date {
	font-size: 1vw;
	margin-top: 0;
	text-align: right;
}

.page_sns {
	width: 48%;
	margin: 0 auto;
}


.single section.page-mv p.title {
	font-size: 6vw;
	font-weight: 500;
	font-family: "Josefin Sans", sans-serif;
	line-height: .9;
	position: relative;
	z-index: 1;
	text-align: center;
}

.single .contents {
	width: 60%;
	margin: 10vh auto;
	background: #fff;
	padding: 4vh 2vw;
	border-radius: .7vw;
}

section.single-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 80%;
	margin: 0 auto;
}

.page.single .inner {
	max-width: 72%;
	width: 100%;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 3vh 0;
}

section.single_wrap table {
	margin: 3vh auto 0;
	width: 100%;
}

.wp-block-table thead {
    background-image: linear-gradient(135deg, #00d6c0 10%, #1db9ff 100%);
    color: #fff;
    border-bottom: 0 !important;
}

tbody td:first-of-type {
    background: #F5F5F5;
}

.wp-block-table td, .wp-block-table th {
	text-align: center;}

section.single_wrap td,
section.single_wrap th {
	    border: 1px solid #033059 !important;
    padding: 1vw 1vw;
    font-size: 1.15vw;
}
.scroll-table-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 1.5em;
  border: 1px solid #eee;
  border-radius: 6px;
}

/* スクロール時の視覚ガイド */
.scroll-table-wrapper::-webkit-scrollbar {
  height: 8px;
}
.scroll-table-wrapper::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 4px;
}

/* テーブルデザイン */
.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
}
/* 
.wp-block-table table {
      min-width: 50vw;
} */
.wp-block-table th, .wp-block-table td {
  border: 1px solid #ddd;
  padding: 12px 14px;
  vertical-align: middle;
}
.wp-block-table th {
  background-color: #f6f8fa;
  text-align: center;
  font-weight: 600;
}

section.single_wrap th.center {
    width: 57%;
}

section.single_wrap th.right {
    width: 15%;
}

/* CTAボタン */
.blog-main a.btn-link {
        display: block;
    
    background: #f3ab42;
    color: #fff !important;
    padding: 1vh .5vw;
    border-radius: 4px;
    text-decoration: none;
    font-weight: 600;
    transition: 0.2s;
}


.article-tag ul {
	margin-bottom: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-left: 0 !important;
	    flex-wrap: wrap;
}

.single .post p.tag {
	background: #333;
	color: #fff;
	text-align: center;
	width: 10%;
	border-radius: 4px;
	font-size: .9vw !important;
	padding: 0 0;
	margin-bottom: 0;
	display: -ms-grid;
	display: grid;
	place-items: center;
}

.single .post .article-tag ul {
	margin-bottom: 0;
	margin-left: 0;
}

.single article .article-tag ul li {
	list-style-type: none;
	list-style: none;
	padding-right: 1em;
	font-size: 1.1vw;
}

.article-tag a {
	text-decoration: none;
	font-size: 1.1vw;
}

.article-tag a::before {
	background: no-repeat;
	width: 1.1vw;
	height: 2.2vh;
	background-image: url(https://freelance-money-lab.com/wp-content/uploads/2025/10/tag.svg);
	content: '';
	margin-right: .3vw;
	display: inline-block;
	top: .3vh;
	position: relative;
}

.youtube {
	width: 100%;
	aspect-ratio: 16 / 9;
	margin-bottom: 2em;
}

.youtube iframe {
	width: 100%;
	height: 100%;
}

blockquote {
	position: relative;
	border: 1px solid #7b98a6;
	border-radius: .5vw;
	padding: 5vh 2vw 4vh;
	background: #f7f7f7;
	margin: 5vh auto;
}

blockquote:before {
	margin-right: 1em;
	display: block;
	position: absolute;
	width: 1.5vw;
	height: 1.5vw;
	background-image: url("https://freelance-money-lab.com/wp-content/uploads/2025/09/block-quote.svg");
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	left: 1.5vh;
	top: 1.5vh;
}

blockquote:after {
	margin-right: 1em;
	display: block;
	position: absolute;
	width: 1.5vw;
	height: 1.5vw;
	background-image: url("https://freelance-money-lab.com/wp-content/uploads/2025/09/block-quote.svg");
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	right: 0;
	bottom: .5vh;
	-webkit-transform: scale(-1, 1);
	-ms-transform: scale(-1, 1);
	transform: scale(-1, 1);
}

blockquote cite {
	display: block;
	font-size: 1vw;
	text-align: right;
	color: #9e9e9e;
	padding-right: 5vh;
}

.single article blockquote p {
	margin-top: 0;
}

blockquote a {
	display: block;
	text-align: right;
	margin-right: 2vw;
}

:root{
  --bc-bg:#fff; --bc-border:#e6e6e6;
  --bc-shadow:0 4px 14px rgba(0,0,0,.06);
  --bc-shadow-hover:0 10px 24px rgba(0,0,0,.10);
  --bc-title:#1a1a1a; --bc-text:#4b5563;
  --bc-badge-bg:#eaf3ff; --bc-badge:#2271b1;
  --bc-radius:14px; --bc-gap:16px;
}
@media (prefers-color-scheme: dark){
  :root{ --bc-bg:#161616; --bc-border:#2b2b2b; --bc-title:#f5f5f5; --bc-text:#c7c7c7; --bc-badge-bg:#0f2940; --bc-badge:#64b0ff; }
}

/* 本体 */
.c-blogcard{
  display:block; position:relative;
  background:var(--bc-bg);
  border:1px solid var(--bc-border);
  border-radius:var(--bc-radius);
  box-shadow:var(--bc-shadow);
  text-decoration:none; color:inherit;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.c-blogcard:hover{ transform:translateY(-2px); box-shadow:var(--bc-shadow-hover); border-color:#d4d4d4; }
.c-blogcard:focus-visible{ outline:2px solid #0ea5e9; outline-offset:2px; }

.blog-main a.c-blogcard {
    text-decoration: none;
	    margin-bottom: 3vh;
}

.c-blogcard__badge {
    position: absolute;
        top: 0;
    left: 0;
    background: #c3a68b;
    color: #fff;
    font: 600 12px / 1.2 system-ui, -apple-system, "Noto Sans JP", sans-serif;
    padding: .8vh 1vw;
    border-radius: 50px;
}

/* レイアウト */
.c-blogcard__inner {
	display: flex;
	align-items: center;
	gap: var(--bc-gap);
	padding: 2vh 1vw;
}

/* サムネ */
.c-blogcard__thumb {
	flex: 0 0 240px;
	max-width: 240px;
	aspect-ratio: 3/2;
	border-radius: 12px;
	overflow: hidden;
	background: #f3f4f6;
}

.c-blogcard__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* テキスト */
.c-blogcard__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}

.c-blogcard__title {
	color: var(--bc-title);
	font-weight: 700;
	font-size: clamp(16px, 2.2vw, 20px);
	line-height: 1.4;
}

.c-blogcard__excerpt {
	color: var(--bc-text);
	font-size: 14px;
	line-height: 1.7;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.c-blogcard__meta {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #6b7280;
	font-size: 12px;
}

.c-blogcard__sep {
	opacity: .5
}

/* スマホ */
@media (max-width:640px) {
	.c-blogcard__inner {
		flex-direction: column;
		align-items: flex-start;
		padding: 2vh 3vw;
	}

	.c-blogcard__thumb {
		width: 100%;
		max-width: none;
		aspect-ratio: 16/9;
		flex: 0;
	}

	    .c-blogcard__badge {
        top: 1vh;
        left: 1vw;
			    padding: .8vh 3vw;
    }
}

#ez-toc-container {
	border-width: 2px !important;
	border-radius: 0;
	margin-top: 5vh;
}

#ez-toc-container .ez-toc-toggle:checked+label {
	width: 100%;
}

div#ez-toc-container .ez-toc-title {
	font-size: 1.2vw;
	float: left;
}

#ez-toc-container a:visited {
	color: var(--color-main);
}

#ez-toc-container label {
	float: left !important;
	margin-left: 10px;
}

ul.ez-toc-list.ez-toc-list-level-1 {
	margin-top: 5vh !important;
}

#ez-toc-container ul.ez-toc-list a {
	display: block;
	border-bottom: 1px solid #eee;
	padding: .5vh;
	font-size: 1.2vw;
}

.ez-toc-title-container {
	display: block;
	width: 100%;
}

#ez-toc-container p.ez-toc-title {
	display: block;
	text-align: center;
	margin-bottom: 5px;
}

.ez-toc-title-toggle {
	position: relative;
	top: 0;
	right: 0;
}

.blog-profile {
	border: .2vw solid #c3a68b;
	position: relative;
	margin-top: 7vh;
	padding: 2vh 1vw 2vh;
	border-radius: .7vw;
	box-sizing: border-box;
}

.single article p.writhing {
	position: absolute;
	top: -2.5vh;
	margin-top: 0;
	background: #c3a68b;
	color: #FFF;
	width: 25%;
	text-align: center;
	letter-spacing: .15vw;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	border-radius: 50px;
}

.blog-profile .flex-box.left {
	width: 20%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.blog-profile .flex-box.left img {
	width: 66%;
	border-radius: 50%;
	background: #f7f7f7;
}

.single article .blog-profile p.name {
	font-size: 1.3vw;
	font-weight: bold;
	letter-spacing: .1vw;
}

.single article .blog-profile .text-wrap p {
	font-size: 1.1vw;
	margin-top: 1vh;
	line-height: 1.8;
	font-weight: 500;
}

nav.page-nav {
	margin: 5vh auto 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.page-nav .prev-link {
	width: 49%;
	text-align: left;
	text-decoration: none;
	position: relative;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color: var(--color-main);
	border: 2px solid #c3a68b;
	-webkit-transition: .4s ease-in-out;
	-o-transition: .4s ease-in-out;
	transition: .4s ease-in-out;
	font-size: .85vw;
	line-height: 1.5;
	padding: 1vh .7vw;
	font-weight: 600;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	letter-spacing: 0.1em;
}

.page-nav .next-link {
	width: 49%;
	text-align: right;
	text-decoration: none;
	position: relative;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color: var(--color-main);
	border: 2px solid #c3a68b;
	-webkit-transition: .4s ease-in-out;
	-o-transition: .4s ease-in-out;
	transition: .4s ease-in-out;
	font-size: .85vw;
	line-height: 1.5;
	padding: 1vh .7vw;
	font-weight: 600;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	letter-spacing: 0.1em;
}

.page-nav .prev-link::before {
	content: "PREV";
	position: absolute;
	top: -.9em;
	left: 0;
	line-height: 1;
	color: #c3a68b;
	font-size: 1.3vw;
	font-family: var(--font-menu);
	letter-spacing: .1vw;
	font-weight: bold;
}

.page-nav .next-link:before {
	content: "NEXT";
	position: absolute;
	top: -.9em;
	right: 0;
	line-height: 1;
	color: #c3a68b;
	font-size: 1.3vw;
	font-family: var(--font-menu);
	letter-spacing: .1vw;
	font-weight: bold;
}

nav.page-nav a:hover {
	background: #F5F5F5;
}

.share {
	margin-bottom: 7vh;
	margin-top: 3vh;
	position: relative;
	z-index: 1;
}

.home .share,
.page-id-711 .share {
	width: 55%;
	margin: 0 auto;
}

.single article .share p {
	text-align: center;
	font-size: 1.5vw;
	margin-bottom: 0;
	letter-spacing: .15vw;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 600;
	color: #7b98a6;
	font-family: var(--font-menu);
}

.single article .share ul {
	width: 40%;
	margin: 1vh auto 0;
	padding: 0;
	list-style: none;
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-pack: distribute;
	justify-content: space-around;
	margin-left: auto;
}

.share li {
	width: 31%;
	margin: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.share li a,
.share li button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 2.5vw;
	width: 2.5vw;
	border-radius: 50px;
}

.share li a {
	border-radius: 50px;
}

.share li button {
	border-radius: .2vw;
	width: 3.5vw;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.share li button img {
	width: 66%;
}

.share li a:visited {
	opacity: .6;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

.facebook_share a {
	background-color: #1877f1;
	color: #ffffff;
}

li.facebook_share a img {
	width: 32%;
}

.line_share a {
	background-color: #1dcd00;
	color: #ffffff;
}

li.line_share a img {
	width: 63%;
}

.tweet_share a {
	background-color: #444;
	color: #fff;
}

li.tweet_share a img {
	width: 50%;
}

.share li a:hover {
	opacity: 0.6;
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
}

button.share-url {
	background-color: #7b98a6;
	color: #ffffff;
}

.url-copied {
	display: none;
	position: absolute;
	bottom: -6vh;
	left: 67%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 1000;
}

.url-copied span {
	background: #7b98a6;
	color: #fff;
	padding: 6px 12px;
	border-radius: 3px;
	font-size: .8vw;
	white-space: nowrap;
}

@media(max-width: 599px) {
	.share li {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}

	.share li i {
		font-size: 1.3em;
		padding-top: 3px;
	}

	.share li a {
		font-size: .7vw;
	}

	.share li a svg {
		font-size: .95vw;
	}

	.share ul {
		width: 46%;
		margin: 3vw auto 0;
	}

	.share li a {
		height: 9.8vw;
		width: 9.8vw;
	}

	nav.page-nav {
		margin: 4vh 0;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
}

.related-post-wrap {
	margin: 5vh auto 0;
}

.related-post-wrap h4 {
	margin: 0 auto 2vh;
	font-size: 1.2vw;
	font-weight: 600;
	background: #f7f7f7;
	width: 100%;
	text-align: center;
	letter-spacing: .15vw;
	padding: .5vh 0;
}

.related-post-wrap ul {
	display: -ms-grid;
	display: grid;
	list-style: none;
	gap: .875em;
	-ms-grid-columns: 1fr .875em 1fr .875em 1fr .875em 1fr;
	grid-template-columns: repeat(4, 1fr);
}

.related-post a {
	display: block;
	text-decoration: none;
	color: #000;
}

.related-post a:hover {
	opacity: .6;
}

.related-post img {
	display: block;
	width: 100%;
	aspect-ratio: 3/2;
	margin-bottom: .5vh;
	-o-object-fit: cover;
	object-fit: cover;
}

.related-post .text-wrap {
	font-size: .8vw;
	font-weight: 600;
}

@media (max-width: 600px) {
	.related-post-wrap ul {
		-ms-grid-columns: (1fr)[2];
		grid-template-columns: repeat(2, 1fr);
	}
}


.wp-block-image.dvd img {
    width: 50%;
    margin: 0 auto;
}

/*---------------------------------------------------------
アーカイブ
---------------------------------------------------------*/

p.no-post {
    font-size: 1.2vw;
}


/*---------------------------------------------------------
お問い合わせ
---------------------------------------------------------*/

.post-412 tbody td:first-of-type {
    background: #fff;
}

.table-res-form {
	width: 100%;
	margin-top: 5vh;
}


.table-res-form tr.td_last {
	border: unset;
}

.table-res-form th,
.table-res-form td {
	padding: 3vh 3vh 3vh 0;
}

section.single_wrap .post-412 td, section.single_wrap .post-412 th {
	border: unset !important;}

.table-res-form th {
	font-size: 1.3vw;
	width: 27%;
	text-align: right;
	vertical-align: top;
	font-weight: 500;
}

.table-res-form th span.parentheses {
	font-size: 1vw;
	display: block;
	line-height: 1.5;
	margin-top: 1vh;
}

.table-res-form td {
	vertical-align: middle;
}

.table-res-form .requied {
    font-size: .8em;
    color: #fff;
    display: inline-block;
    padding: .2vh .3vw;
    background: #00c4dd;
    position: relative;
    top: -1px;
    margin-left: .2vw;
    border-radius: .2vw;
}

.wpcf7 input,
.wpcf7 textarea {
	border: 1px solid #033059 !important;
}

.wpcf7 .wpcf7-submit {
	width: 50% !important;
}

span.wpcf7-form-control.wpcf7-checkbox {
	display: -ms-grid;
	display: grid;
	text-align: left;
	font-size: 1.2vw;
}

span.wpcf7-list-item-label {
	line-height: 1.8;
}

span.wpcf7-list-item.last.has-free-text {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

span.wpcf7-list-item.last.has-free-text label {
	width: 12%;
}

span.wpcf7-list-item.last.has-free-text input.wpcf7-free-text {
	width: 30%;
	padding: 0 0.5em;
	height: 25px;
	margin-top: 4px;
}

.table-res-form input[type="text"],
input[type="email"],
textarea,
.wpcf7 input[type="tel"],
select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
select.wpcf7-form-control.wpcf7-select,
.wpcf7-text {
	padding: 0.2em 0.5em;
	height: 2.5vw;
	font-size: 1.2vw;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 0;
	width: 100%;
}

.table-res-form input[type="text"]:focus,
textarea:focus {
	background: #FFF;
	-webkit-box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
	box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
}

.wpcf7 input[type="checkbox"] {
	left: -.2vw;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 1.1vw;
	height: 1.1vw;
	border-radius: 0;
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
	top: -.2vh;
	position: relative;
}

.wpcf7 input[type="checkbox"]:checked {
	background-color: var(--color-theme);
	border-color: var(--color-theme);
	position: relative;
}

.wpcf7 input[type=checkbox]:checked:after {
	content: "";
	display: block;
	width: 1vw;
	height: .5vw;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
	position: absolute;
	left: 1px;
	top: 1px;
	z-index: 1;
}

textarea.wpcf7-form-control.wpcf7-textarea {
	height: 16em;
	padding: 0.5em;
}


.table-res-form input[type=submit] {
	    position: relative;
    padding: .5vh 0;
    color: #fff;
    background: #c3a68b;
    font-weight: 500;
    font-size: 1.2vw;
    letter-spacing: .2em;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
    border: 1.5px solid #fff !important;
    border-radius: 50px;
}

.table-res-form input[type=submit]:hover {
	-webkit-box-shadow: none;
	box-shadow: none;
	    border: 1.5px solid #1db9ff !important;
    background: #ffffff;
    color: #1db9ff;
}

.single article .table-res-form tr.td_last p {
    margin-top: 0;
}

span.wpcf7-spinner {
	display: none;
}

tr.td_last {
	text-align: center;
}

tr.td_last td {
	padding: 1.5em 0;
}

.home tr.td_last td {
	padding: 0;
}

span.wpcf7-not-valid-tip {
	color: #E91E63;
	text-align: center;
	display: block;
	font-size: 1vw;
}

.wpcf7 form .wpcf7-response-output {
	margin: 2vh auto 2vh !important;
	padding: .5em !important;
}

form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #e91e63 !important;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: #E91E63 !important;
}

.wpcf7-response-output {
	text-align: center;
	color: #e91e63;
	margin-top: 2em;
	padding: 0.5em;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

select {
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;
	border: .5px solid #333 !important;
}

.recaptcha {
	text-align: center;
	margin-bottom: 1em;
}

.recaptcha a {
	text-decoration: none;
	color: var(--color-main);
}

.grecaptcha-badge {
	visibility: hidden;
}

.screen-reader-response {
	display: none;
}

p.pp {
	text-align: center;
}

p.pp a {
    font-size: 1.1vw;
    text-decoration: underline;
}

p.pp a:hover {
	opacity: 0.6;
}

.contact_text_bottom {
	text-align: center;
	margin-top: 3vh;
	font-size: 1vw;
}

/*---------------------------------------------------------
テスト
---------------------------------------------------------*/
/* ===== CF7 予約フォーム 基本レイアウト ===== */
.wpcf7 form {
  --gap: 12px;
  --gap-lg: 16px;
  --radius: 8px;
  --bd: 1px solid #e5e7eb;
  --bd-focus: 2px solid #3b82f6;
  --label: #374151;
  --muted: #6b7280;
  --bg: #ffffff;
}

.wpcf7 form h3 {
  font-size: clamp(16px, 2.2vw, 18px);
  margin: 28px 0 10px;
  font-weight: 700;
  color: #111827;
}

/* ラベル行・説明 */
.wpcf7 form label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--label);
  font-weight: 600;
}

/* 入力の共通スタイル */
.wpcf7-form-control {
  border: var(--bd);
  background: var(--bg);
  border-radius: var(--radius);
  padding: 10px 12px;
  font-size: 16px;
  line-height: 1.2;
  width: 100%;
  box-sizing: border-box;
}

.wpcf7-form-control.wpcf7-select {
  padding-right: 32px;
  appearance: none;               /* 矢印を消してカスタム */
  background-image: linear-gradient(45deg, transparent 50%, #9ca3af 50%),
                    linear-gradient(135deg, #9ca3af 50%, transparent 50%);
  background-position: calc(100% - 18px) 55%, calc(100% - 12px) 55%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

/* フォーカス */
.wpcf7-form-control:focus {
  outline: none;
  border: var(--bd-focus);
  box-shadow: 0 0 0 3px rgba(59,130,246,.12);
}

/* エラー表示（CF7標準クラス） */
.wpcf7-not-valid {
  border-color: #ef4444 !important;
}
.wpcf7-not-valid-tip {
  color: #ef4444;
  font-size: 12px;
  margin-top: 4px;
}

/* ===== 生年月日（年・月・日） ===== */
.dob-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(110px, 1fr));
  gap: var(--gap);
  max-width: 520px;
}
.dob-row label {
  flex-direction: column;
  align-items: flex-start;
  font-weight: 600;
}
#birth_year, #birth_month, #birth_day {
  width: 100%;
  min-width: 110px;
}

/* ===== 面談希望日時（第1〜第3希望） ===== */
.wish {
  border: var(--bd);
  border-radius: 12px;
  padding: 14px;
  margin-top: 10px;
  background: #fafafa;
}
.wish > p {
  margin: 0 0 10px;
  font-weight: 700;
  color: #111827;
}

/* 中身のグリッド：
   [日付] [開始 時:分] [終了 時:分] を横並び → スマホで縦積み */
.wish .wpcf7-form-control-wrap,
.wish label {
  width: 100%;
}

.wish {
  display: grid;
  grid-template-columns: 1.2fr 1fr 0.25fr 1fr; /* 日付 | 開始 | 〜 | 終了 */
  gap: var(--gap);
  align-items: center;
}

.wish label:nth-of-type(1) { grid-column: 1 / 2; } /* 日付 */
.wish label:nth-of-type(2) { grid-column: 2 / 3; } /* 開始 */
.wish label:nth-of-type(3) { grid-column: 4 / 5; } /* 終了 */

/* 〜 の飾り */
.wish > span.sep,
.wish::before {
  content: "";
}
.wish::before {
  content: "〜";
  grid-column: 3 / 4;
  text-align: center;
  color: var(--muted);
  font-weight: 700;
}

/* 時:分 を横並びに */
.wish label select {
  width: auto;
  min-width: 88px;
}
.wish label::after {
  /* 「時:分」の「:」を疑似要素で */
  content: ":";
  margin: 0 6px;
  color: var(--muted);
  font-weight: 700;
}
.wish label select:last-of-type + * {
  display: none;
}

/* “開始/終了” の見出しっぽいテキスト */
.wish label {
  position: relative;
  padding-top: 2px;
}
.wish label > .caption {
  display: block;
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 4px;
  font-weight: 600;
}

/* date入力の幅を適度に */
input[type="date"] {
  width: 100%;
  min-width: 180px;
}

/* 送信ボタン */
.wpcf7 form input[type="submit"],
.wpcf7-submit {
  display: inline-block;
  padding: 12px 20px;
  background-image: linear-gradient(135deg, #00d6c0 10%, #1db9ff 100%);
  color: #fff;
  border: none;
  border-radius: 9999px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .02s ease, opacity .2s ease;
}
.wpcf7 form input[type="submit"]:hover {
  opacity: .9;
}
.wpcf7 form input[type="submit"]:active {
  transform: translateY(1px);
}

/* ===== レスポンシブ ===== */
@media (max-width: 880px) {
  .wish {
    grid-template-columns: 1fr;   /* すべて縦並び */
  }
  .wish::before { display: none; }
  .wish label { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; }
  .wish label::after { justify-self: center; }
  .dob-row {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 480px) {
  .dob-row { grid-template-columns: 1fr; }
  #birth_year, #birth_month, #birth_day { min-width: 100%; }
  input[type="date"] { min-width: 100%; }
  .wpcf7 form label { font-size: 15px; }
}

.wpcf7 form label br { display:none; }
.wpcf7 form p { margin:0; }
.wpcf7 form p:empty { display:none; }
/*---------------------------------------------------------
固定ページ
---------------------------------------------------------*/
.fixed-page {
	margin-top: 12vh;
}

.fixed-page .inner {
	width: 55%;
	margin: 0 auto;
	padding: 7vh 0 10vh;
}

.fixed-page h1 {
	font-size: 1.6vw;
	font-weight: 600;
	letter-spacing: .02vw;
	line-height: 1.8;
}

.fixed-page a {
	text-decoration: underline;
	color: var(--color-theme);
}

.breadcrumb a {
	text-decoration: none;
}

/*---------------------------------------------------------
404 ページ
---------------------------------------------------------*/
.error404 main {
    text-align: center;
    padding: 7vh 0 15vh;
    min-height: 70vh;
    display: flex
;
    justify-content: center;
    align-items: center;
}
.error404 h1 {
    font-size: 3.5vw;
    font-family: var(--font-menu);
    font-weight: bold;
    color: #c3a68b;
}
.error404 main p {
    font-size: 1.3vw;
}

.error404 main div a {
    width: 69%;
    padding: .7vh 0;
    display: block;
    text-align: center;
    margin: 5vh auto 0;
    background: #c3a68b;
    color: #fff;
    font-size: 1.2vw;
    letter-spacing: .05vw;
    font-weight: 500;
    position: relative;
}

/*---------------------------------------------------------
  スマホ
  ---------------------------------------------------------*/

@media screen and (min-width: 743px) {
	.footer_menu {
		display: none !important;
	}
}
@media screen and (max-width:743px) {
	.body {
		line-height: 1.8;
	}

	.sp_block {
		display: block !important;
	}

	.sp_inlineblock {
		display: inline-block !important;
	}

	.pc_block,
	.pc_inlineblock,
	span.pc_inlineblock {
		display: none !important;
	}

	#topBtn {
		display: none !important;
	}



	header {
		position: relative;
	}

	p.site-subtitle {
		background: #c3a68b;
		color: #ffffff;
		font-size: 3.4vw;
		padding: .5vh 0;
	}

	.site-title-wrap {
		width: 100%;
	}

	.site-title-wrap a {
		display: flex;
		align-items: center;
	}

	.site-title-wrap img {
		width: 100%;
		margin: 2vh auto 2vh 4vw;
	}

	.site-title-wrap img {
		display: inline-block;
		max-width: 70vw;
	}

	.layout-wrap {
		width: 92%;
		padding: 3vh 0 4vh;
		        grid-template-columns: unset;
	}

	.card-body {
		padding: 1vh 3vw 1.5vh;
	}

	.card-cat .cat-name {
		padding: .5vh 3vw;
	}

	.card-meta {
		margin-top: 1.5vh;
	}

	.section-title.align-center {
		background: #c3a68b;
		color: #fff;
		margin-bottom: 2vh;
		font-size: 5vw;
		border-radius: .7vw;
		        padding: .7vh 0;
	}

	.section-title.align-center::before {
		display: none;
	}

	.profileCard h2,
	section#block-16 h2,
	aside#sidebar h4 {
		background: #c3a68b;
		color: #fff;
		font-size: 5vw;
		border-radius: .7vw .7vw 0 0;
		padding: .25vh 0;
		text-align: center;
		font-weight: 700;
		font-family: var(--font-menu);
		letter-spacing: .1vw;
	}

	.sidebar {
		margin-top: 3vh;
	}

	.search-submit {
		padding: .5vh 2vw;
	}
	
	section#block-16 ul.wpp-list li::before {
    width: 7vw;
    height: 7vw;
		font-size: 4vw;}
	
	aside#sidebar .widget_categories li, aside#sidebar .wp-block-categories-list li {
		    padding: 1.5vh 2vw 1.5vh 8vw;}
	
	aside#sidebar .widget_categories li::before, aside#sidebar .wp-block-categories-list li::before {
    left: 3vw;
    border-top: 2vw solid transparent;
    border-bottom: 2vw solid transparent;
    border-left: 2.5vw solid #c3a68b;
}
	
	section#block-18 img, section#block-19 img {
    width: 70%;
    border-radius: 2vw;
    margin: 0 auto;
}
	
	aside#sidebar section#block-18 {
    margin-top: 2vh;
}
	
	.footer-menu__list {
    gap: 5vw;
}
.copyright p {
    padding: 3vh 0;
}

    .footer-menu__list {
        display: flex
;
        flex-wrap: wrap;
        justify-content: space-evenly;
        gap: 0;
    }
	
	ul.footer-menu__list li:first-of-type {
        border-bottom: 1px solid #fff;
        padding-bottom: 1.5vh;
    }
	
	.footer-menu {
		padding: 0;}
	
	.footer-menu__list li {
    padding: 1.5vh 0;
}
	
	li.sp_bottom.left {
    border-right: 1px solid #fff;
        border-left: 1px solid #fff;
}
	
	    .footer-menu__list li.sp_bottom {
        border-bottom: 1px solid #fff;
    }
	
	ul.floating li span {
    padding-left: 2vw;
}
	
footer#footer .footer-inner {
		padding: 0 0 9svh;
	}
	
	.footer-menu__list li a, aside#sidebar .wp-block-categories-list a {
    width: 100%;
    display: block;
}
	
	.page.container.single .inner {
    max-width: 92%;
    padding: 1vh 0 3vh;
    gap: 0;
    flex-wrap: wrap;
}
	
	.sidebar {
		flex: unset;}
	
	    section.single_wrap {
        width: 100%;
        padding: 1vh 3vw 3vh;
        border-radius: 1vw;
    }
	
	.fixed-page h2, .single article h2 {
            padding: 1vh 1vw 1vh 3vw;
    border-left: 1vw solid #c3a68b;
		    margin: 4vh auto 3vh;
}
	
	.fixed-page h3, .single article h3 {
		    border-bottom: 2px solid #c3a68b;
		    padding: 0 1vw .5vh;
		margin: 3vh auto 1.5vh;}

	    .fixed-page .inner ul, .single .blog-main ul, .fixed-page .inner ol, .single .blog-main ol {
        margin: 2vh auto 2vh;
                padding: 2vh 2vw 1.5vh 8vw;
        border-radius: 1vw;
    }
	
	.blog-profile {
    border: 2px solid #c3a68b;
    margin-top: 5vh;
    padding: 2vh 3vw 1.5vh;
    border-radius: 1vw;
}
	
	.single article p.writhing {
    top: -2.7vh;
		width: 46%;}
	
	.blog-profile .flex-box.left {
    width: 100%;
		margin-top: 4vh;}
	
	.flex-box.right {
    width: 100%;
    text-align: center;
}
	
	.single article .share p {
		letter-spacing: .5vw;}
	
	.share li button {
        width: 10vw;
        height: 10vw;
        border-radius: 50px;
    }
	
section#block-15 .btn a{
	padding: 0 11vw;}
	
	#toc_container ul.toc_list>li::before {
		top: 0;}
	
	.article-tag a::before {
    width: 4.1vw;
    height: 2vh;
    margin-right: 1vw;
    top: .5vh;
}
	
	.page-nav .prev-link, .page-nav .next-link {
        padding: 1vh 3vw;
    }
	
	.page-nav .prev-link::before, .page-nav .next-link:before {
		    top: -1em;
	}
	.share {
    margin-bottom: 6vh;
		margin-top: 2vh;}
	
	.url-copied {
                bottom: -12vw;
        left: 77%;
    }
	
	.archive .section-title.align-center {
    justify-content: center;
}
	
	.archive .section-title.align-center::before{
		    content: unset;
	}
	
	blockquote::before, blockquote::after {
    width: 4vw;
		height: 4vw;}
	
	blockquote {
		padding: 4vh 2vh 3vh;
	}
	
	blockquote {
    margin: 3vh auto;
}
	
	.profileCard {
		--avatar-size: 32vw;}
	
	.pager .page-numbers {
    min-width: 7.7vw;
    height: 7.7vw;
    font-size: 4vw;
}
	
	
.pager-links {
	gap: 4vw;}
	
	section.single_wrap td, section.single_wrap th {
		        padding: 1.5vh 2vw;}
	
	.wp-block-table table {
    min-width: 120vw;
}
	    .table-res-form tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
	
	.table-res-form input[type="text"], input[type="email"], textarea, .wpcf7 input[type="tel"], select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required, select.wpcf7-form-control.wpcf7-select, .wpcf7-text {
    padding: 0.2em 0.5em;
    height: 10.5vw;
		font-size: 16px;}
	
	    .single article div#wpcf7-f414-o1 p {
        margin-top: 0;
    }
	
	    .single article div#wpcf7-f414-o1 th {
        margin-top: 1vh;
        background-color: rgb(195 166 139 / 13%);
        padding: .5vh 0;
    }
	
	.table-res-form .requied {
    font-size: 3.8vw;
    padding: 0 2vw;
    margin-left: 1vw;
    border-radius: .2vw;
    line-height: 2;
}
	.table-res-form input[type=submit] {
    padding: 0;
		font-size: 3.8vw;}
	
	section.single_wrap .post-412 th{
        text-align: center;
	}
	
	section.single_wrap .post-412 td {
     padding: 3vh 0;
}
	section.single_wrap .post-412 tr.td_last td {
    padding-top: 0;
}
	
	    .page .single h1 {
        text-align: center;
        background-color: #F5F5F5;
        padding: 1vh 0;
        border-top: 1vw solid #c3a68b;
        margin-top: 2vh;
    }
	
	/* margin-top */
	
	.page-nav .next-link {
		margin-top: 3vh;}

	.fixed-page .inner p, .single article p {
		margin-top: 1.5vh;}

	/* width */

	.wpcf7 .wpcf7-submit {
    width: 100% !important;
}
	
	.card-thumb,
	.card-body, ul.footer-menu__list li:first-of-type, .searchform a, .page-nav .next-link, .page-nav .prev-link, section.single_wrap .post-412 td, section.single_wrap .post-412 th, .wp-block-image.dvd img {
		width: 100%;
	}
	
	input#s {
    width: 85%;
}
	
	.single article .share ul {
		width: 70%;}
	

	
	.footer-menu__list li.sp_bottom {
        width: 33.3%;
    }
		img.wp-image-51 {
    width: 45vw!important;
}
	
	    .blog-profile .flex-box.left img {
        width: 38%;
        transform: scale(-1, 1);
    }
	section.single_wrap th.right {
    width: 23%;
}
	

	/* border-radius */
	.search-input,
	.search-submit,
	.search-submit {
		border-radius: .7vw;
	}

	/* line-height */
	
	.single .blog-main ul li  {
		line-height: 1.8;
	}
	
	ul.wpp-list a.wpp-post-title {
		    line-height: 1.7;
	}
	.card-title,
	.card-excerpt, .fixed-page .inner ul li, , section.single_wrap td, section.single_wrap th {
		line-height: 1.6;
	}

	/* font-size */

	.profileCard__name, ul.footer-menu__list li:first-of-type a, ul.footer-menu__list li:last-of-type a, .single article .share p, .page-nav .prev-link::before, .page-nav .next-link:before {
		font-size: 5vw;
	}
	
	.single h1{
		font-size: 4.5vw;
	}
	
	.fixed-page h2, .single article h2{
		font-size: 4.35vw;
	}
	
	.fixed-page h3, .single article h3, .single article p.writhing, #toc_container .toc_title {
		font-size: 4.3vw;}
	
	.fixed-page h4, .single article .blog-main h4{
		font-size: 4.1vw;
}

	.card-title,
	.profileCard__name span,
	.search-submit, ul.wpp-list a.wpp-post-title, aside#sidebar .wp-block-categories-list a, .footer-menu__list li a, .copyright p, .single article .blog-profile p.name, .related-post-wrap h4, .single article p, .fixed-page .inner ul li, .single .blog-main ul li, .fixed-page .inner ol li, .single .blog-main ol li, .fixed-page .inner p {
		font-size: 4vw;
	}

	.profileCard__bio,
	.search-input, section#block-15 .btn a, .single article .blog-profile .text-wrap p, section.single_wrap td, section.single_wrap th, p.pp a {
		font-size: 3.8vw;
	}

	.card-excerpt, #toc_container ul.toc_list>li::before, .single article .article-tag ul li, .article-tag a {
		font-size: 3.5vw;
	}
	div#toc_container ul li{
		font-size: 3.5vw!important;
	}
	.page-nav .prev-link, .page-nav .next-link, .related-post .text-wrap, .footer-menu__list li.sp_bottom a, .recaptcha {
		font-size: 3vw;
	}
	.card-date, .pr-notice {
		font-size: 2.8vw;
	}

	.card-cat .cat-name {
		font-size: 2.6vw;
	}
	
	.breadcrumb, span.cat-data a, .article-meta, .url-copied span {
		font-size: 2.5vw;}

	/*--------------------------------
スマホフッター固定バー
---------------------------------*/


	_::-webkit-full-page-media,
	_:future,
	:root ul.floating li {
		padding: 2svh 0 3svh;
	}

	_::-webkit-full-page-media,
	_:future,
	:root footer#footer .footer-inner {
		padding: 0 0 9svh;
	}


	ul.floating {
		background: rgb(195 166 139 / 82%);
		margin: 0 auto;
		overflow: hidden;
		display: table;
		table-layout: fixed;
		text-align: center;
		width: 100%;
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 3;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}

	ul.floating li {
		padding: 2svh 0 2svh;
		display: table-cell;
		border-right: .5px solid #ffe3af;
	}

	ul.floating li a {
		border: none;
		display: block;
		color: #fff;
		text-align: center;
		text-decoration: none;
		font-weight: 500;
		line-height: 1;
		color: #ffffff;
		font-size: 5vw;
	}

	.hamburger-open {
		font-size: 5vw;
		color: #fff;
	}


	/*--------------------------------
ハンバーガーメニュー
---------------------------------*/
	:root {
		--drawer-bg: #3ad6ff;
		--drawer-fg: #fff;
		--drawer-link-hover: rgba(255, 255, 255, .5);
		--brand-bg: #033059;
		--ease: cubic-bezier(.2, .7, .2, 1);
	}

	/* 開くボタン（右上） */
	.g-nav-openbtn {
		position: absolute;
		z-index: 100;
		inset-block-start: 3vw;
		/* top */
		inset-inline-end: 3%;
		/* right */
		inline-size: 50px;
		block-size: 50px;
		cursor: pointer;
		display: grid;
		place-items: center;
	}

	/* 3本線 */
	.g-nav-openbtn .openbtn-area {
		position: relative;
		inline-size: 100%;
		block-size: 100%;
		transition: transform .4s var(--ease);
	}

	.g-nav-openbtn .openbtn-area span {
		position: absolute;
		inset-inline-start: 14px;
		inline-size: 45%;
		block-size: 2px;
		border-radius: 2px;
		background: #c3a68b;
		transition: transform .4s var(--ease), opacity .3s var(--ease);
	}

	.g-nav-openbtn .openbtn-area span:nth-child(1) {
		inset-block-start: 16px;
	}

	.g-nav-openbtn .openbtn-area span:nth-child(2) {
		inset-block-start: 24px;
	}

	.g-nav-openbtn .openbtn-area span:nth-child(3) {
		inset-block-start: 32px;
	}

	/* ドロワー本体 */
	nav.globalMenuSp {
		position: fixed;
		inset: 0;
		/* top:0; right:0; bottom:0; left:0; */
		z-index: 10000;
		color: var(--drawer-fg);
		background: var(--drawer-bg);
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		transform: translateX(100%);
		transition: transform .3s var(--ease);
		will-change: transform;
		overflow-y: auto;
	}

	/* 表示状態 */
	nav.globalMenuSp.active {
		transform: translateX(0);
	}

	/* 中のラッパー（任意の構造でもOK） */
	nav#g-nav {
		inline-size: 100%;
		flex-direction: column;
		background: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	/* ロゴ */
	.g-nav_logo {
		inline-size: 75%;
		margin: 0 auto 2svh;
	}

	/* リスト */
	#g-navi {
		list-style: none;
		padding: 0;
		display: block;
		width: 80%;
		margin: 0 auto;
	}

	nav.globalMenuSp ul li {
		inline-size: 100%;
	}

	#g-navi li a {
		display: block;
		text-decoration: none;
		letter-spacing: 2px;
		font-size: 5vw;
		padding: 1.5svh 0;
		border-bottom: 1px solid #c3a68b;
	}

	#g-navi>li:last-child>a {
		border-bottom: none;
	}

	nav.globalMenuSp ul li:hover {
		background: var(--drawer-link-hover);
	}

	/* “閉じる”ボタン（メニュー内に置く想定） */
	.hamburger {
		display: inline-block;
		margin: 4.5svh auto 0;
		padding: .5svh 1.5em;
		color: #171c61;
		font-size: 3.6vw;
	}

	/* フォーカス可視化（キーボード操作にも優しく） */
	nav.globalMenuSp a:focus-visible,
	.g-nav-openbtn:focus-visible,
	.hamburger:focus-visible {
		outline: 3px solid rgba(255, 255, 255, .8);
		outline-offset: 2px;
		border-radius: 8px;
	}

	/* メニュー表示中は背面のスクロールを止める（JSで body に付与） */
	body.is-menu-open {
		overflow: hidden;
	}

	/* 既存の個別スタイルを維持しながら要らない指定を整理 */
	nav ul li a {
		font-weight: 400;
		border-right: none;
		font-family: inherit;
	}

	nav ul li.contact,
	nav ul li.contact a hr {
		all: unset;
	}

	/* ホバー二重指定の整理（1つだけ残す） */
	nav.globalMenuSp ul li:hover {
		background: var(--drawer-link-hover);
	}

	button.hamburger-close.sp_block {
		text-align: center;
		background: #c3a68b;
		color: #fff;
		width: fit-content;
		margin: 2vh auto 0;
		padding: 0 5vw;
		border-radius: 50px;
	}

	#g-navi li:not(:last-child)::after {
		display: none;
	}
	
	}
@media (min-width: 992px) {
		.g-nav-openbtn {
			display: none;
		}

		/* nav.globalMenuSp は消さない！ display:none にしない */
	}	

/* 動画酔い配慮：動きを最小化 */
	@media (prefers-reduced-motion: reduce) {

		.g-nav-openbtn .openbtn-area span,
		nav.globalMenuSp {
			transition: none;
		}
	}

	/*---------------------------------------------------------
  i pad all portrait
  ---------------------------------------------------------*/
	@media only screen and (min-device-width: 743px) and (max-device-width: 1024px) and (orientation: portrait) {


		/* height */


		/* top */



		/* padding */



		/* margin */


		/* font-size */
.search-input {
    font-size: 1vw;
}
	}


	/*---------------------------------------------------------
  i pad pro landscape
  ---------------------------------------------------------*/
	@media only screen and (min-width: 744px) and (max-width: 1400px) and (orientation: landscape) {
  .layout-wrap {
    width: 90%;
  }
		
		.page.container.single .inner {
			max-width: 85%;}

		/* font-size */
.search-input {
    font-size: 1vw;
}
	}

	/*---------------------------------------------------------
  i pad portrait
  ---------------------------------------------------------*/
	@media screen and (min-width: 767px) and (max-width: 748px) {}

	/*---------------------------------------------------------
  i pad landscape
  ---------------------------------------------------------*/
	@media only screen and (min-device-width: 748px) and (max-device-width: 1024px) and (orientation: landscape) {}

	/*---------------------------------------------------------
 小型PC～中型PC
---------------------------------------------------------*/
	@media screen and (min-width:1200px) and (max-width:1700px) {


		/* font-size */

	}


	/*---------------------------------------------------------
 大型PC
---------------------------------------------------------*/

	@media screen and (min-width:1920px) {
		/* font-size */

	}