/*
theme Name: freelance-money-lab
Author: フリーランス・自営業の未来マネー研究所
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;
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

@media (min-width: 768px) {
	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: 768px) {
	.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: #66cccc; */
	background: #c3a68b;
	color: #fff;
	font-size: .9vw;
}

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

/* グローバルナビ */
#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;
}

/* スマホ対応（小さい画面で読みやすく調整） */
@media (max-width: 768px) {
	#g-navi {
		gap: 3vw;
		height: auto;
	}

	#g-navi li a {
		font-size: 3vw;
		/* スマホ用に大きめ */
		padding: 2vh 2vw;
	}
}


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

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

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

@media (max-width: 1024px) {
	.layout-wrap {
		grid-template-columns: 1fr;
	}
}

.section-block {
	width: 100%;
}

.section-title.align-center {
	text-align: center;
	margin-bottom: 3vh;
	font-weight: 700;
	font-family: var(--font-menu);
	font-size: 2vw;
	letter-spacing: .1vw;
}


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

@media (max-width: 768px) {
	.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 !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: clamp(1vw, 1.3vw, 1.15vw);
	font-weight: 600;
	line-height: 1.8;
	margin-bottom: 1vh;
}

.card-excerpt {
	font-size: clamp(.9vw, 1.1vw, 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: #c3a68b;
	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: 40px;
	height: 40px;
	padding: 0 10px;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	font-weight: 600;
	color: #111827;
	text-decoration: none;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}

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

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

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

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

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

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

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

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

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


.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: 112px;
	/* アバターの直径 */
	--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: 16px 18px 20px;
}

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

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

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

/* 任意：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: .95vw;
  font-weight: 600;
  line-height: 2;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}


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

section#block-16 h2,
aside#sidebar h4 {
	font-size: 1.15vw;
	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;
}

/* タイトル */
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: 1vh 2vw;
	border-bottom: 1px solid #ececec;
	background: #fff;
	font-size: 1vw;
}

aside#sidebar .widget_categories li:last-child,
aside#sidebar .wp-block-categories-list 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;
	/* 子カテゴリ用に淡い色 */
}

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

footer#footer {
	position: relative;
}

.footer-menu {
	text-align: center;
	padding: 1.5vh 0;
	background: #c3a68b;
}

/* リストを横並びに */
.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: 700;
	font-family: var(--font-menu);
	letter-spacing: .05vw;
	padding-left: 1vw;
}

#topBtn {
	width: 3.5vw;
	height: 3.5vw;
	position: fixed;
	right: 0;
	bottom: 7vw;
	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: 45px;
	/*         color: #66cccc; */
	color: #c3a68b;
}

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: 2em 0;
	counter-reset: toc-h1 !important;
}

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

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

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

/* 親リストの番号デザイン（赤丸） */
#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;
	/* ← 正: counter-increment */
	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;
}

#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: 2em;

}

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;
}


/*---------------------------------------------------------
下層ページ
---------------------------------------------------------*/



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

.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: 7vh 0 10vh;
	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: #66cccc;
	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: #66cccc; */
	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;
}

.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;
}

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.5vw;
	font-weight: 600;
	letter-spacing: .04vw;
	margin: 5vh auto 3vh;
	padding: 2vh 1vw;
	border-left: .35vw solid #c3a68b;
	line-height: 1;
	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 #c3a68b;
}

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

.fixed-page h4::before,
.single article .blog-main h4::before {
	content: "";
	display: block;
	position: absolute;
	top: 1.3vw;
	left: 0;
	width: .7vw;
	height: .7vw;
	background-color: var(--color-theme);
}

.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;
}

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

}

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

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

.fixed-page .inner ol li,
.single .blog-main ol li {
	font-size: 1.2vw;
	margin-bottom: .7vh;
}

.fixed-page .inner ul ul li,
.single .blog-main ul ul li {
	list-style: none;
}

.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.blog_wrap {
	width: calc(100% - 30%);
	padding-right: 3vw;
}

article.article-content {
	padding: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 0.5em;
}

article.article-content p.cat-data a {
	background-image: -o-linear-gradient(43deg, #37c1ff, #30bdff);
	background-image: linear-gradient(47deg, #37c1ff, #30bdff);
	display: inline;
	color: #fff;
	padding: 0.5vh 1em;
	border-radius: 50px;
	margin-right: 0.5em;
	font-size: .8vw;
	text-decoration: none;
}

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

section.blog_wrap table {
	margin: 3vh auto 5vh;
}

section.blog_wrap td,
section.blog_wrap th {
	border: 1.5px solid #033059 !important;
	padding: 1vh 1vw;
	font-size: 1.2vw;
}

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

.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();
	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 2vh 1vh;
	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;
}

#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: #033059;
	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: 5vh 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);
	}
}


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

.archive.date section.blog_wrap h1,
.archive.category section.blog_wrap h1,
.archive.tag section.blog_wrap h1 {
	font-size: 1.5vw;
	margin-bottom: 1vh;
	color: var(--color-theme);
	letter-spacing: .05vw;
	font-weight: 600;
}


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

.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;
}

.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: var(--color-theme);
	position: relative;
	top: -1px;
	margin-left: .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: var(--color-theme);
	font-weight: 500;
	font-size: 1.4vw;
	letter-spacing: .2em;
	-webkit-transition: .5s;
	-o-transition: .5s;
	transition: .5s;
	border: 1.5px solid #fff !important;
	border-radius: 0;
}

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

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 {
	color: var(--color-main);
	text-decoration: none;
	font-size: 1.2vw;
}

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

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

/*---------------------------------------------------------
固定ページ
---------------------------------------------------------*/
.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;
}

.error404 main h2 {
	font-size: 2vw;
	margin-bottom: 3vh;
	color: var(--color-theme);
}

.error404 main p {
	font-size: 1.3vw;
}

.error404 main div {
	margin-top: 5vh;
}

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

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

@media screen and (max-width:743px) {

	body {
		line-height: 1.7;
	}

	.topBtn {
		display: none !important;
	}

	br.sp_block {
		display: block !important;
	}

	.sp_block {
		display: block !important;
	}

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

	span.pc_inlineblock {
		display: none !important;
	}

	.pc_block {
		display: none !important;
	}

	.pc_inlineblock {
		display: none;
	}

	header {
		position: relative;
	}



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

	.site-title-wrap img {
		width: 68%;
		margin: 0 auto;
	}


	/* margin-top */


	/* text-align */


	/* width */

	/* font-size */


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


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

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


	ul.floating {
		background: rgb(3 48 89 / 90%);
		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;
		border-top: .5px solid #ffe3af;
	}

	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: #ffe3af;
	}

	ul.floating li.one a,
	ul.floating li.three {
		letter-spacing: .5vw;
	}

	li.two {
		width: 50%;
	}

	li.two a {
		font-size: 4vw;
		font-weight: 500;
	}

	ul.floating li.three {
		border-right: unset;
	}


	/*--------------------------------
ハンバーガーメニュー
---------------------------------*/
	.g-nav-openbtn {
		display: block;
		position: absolute;
		z-index: 999999;
		top: 3vw;
		right: 3%;
		cursor: pointer;
		width: 50px;
		height: 11svh;
	}


	.g-nav-openbtn .openbtn-area {
		-webkit-transition: all .4s;
		-o-transition: all .4s;
		transition: all .4s;
	}

	.g-nav-openbtn span {
		display: inline-block;
		-webkit-transition: all .4s;
		-o-transition: all .4s;
		transition: all .4s;
		position: absolute;
		left: 14px;
		height: 2px;
		border-radius: 2px;
		width: 45%;
	}

	.nav-menu .menu-list,
	nav.globalMenuSp ul {
		display: block;
	}

	nav#g-nav {
		background: #033059;
	}

	.hamburger {
		display: block;
		height: auto;
		cursor: pointer;
		text-align: center;
		color: #ffe3af;
	}

	nav.globalMenuSp {
		position: fixed;
		z-index: 1000;
		top: 0;
		left: 0;
		color: #fff;
		background: #3ad6ff;
		text-align: center;
		width: 100%;
		-webkit-transform: translateX(100%);
		-ms-transform: translateX(100%);
		transform: translateX(100%);
		-webkit-transition: -webkit-transform 0.3s ease-in-out;
		transition: -webkit-transform 0.3s ease-in-out;
		-o-transition: transform 0.3s ease-in-out;
		transition: transform 0.3s ease-in-out;
		transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
		min-height: 100%;
	}

	nav#g-nav {
		width: 100%;
		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;
		z-index: 10000;
	}

	.g-nav_logo {
		width: 68%;
		margin: 0 auto 3svh;
	}

	nav.globalMenuSp ul#g-navi {
		margin: 0 auto;
		padding: 0;
		width: 80%;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		height: unset;
	}

	nav.globalMenuSp ul li {
		padding: 1svh 0;
		width: 100%;
	}

	nav ul li a {
		font-weight: 400;
		font-family: unset;
		border-right: unset;
	}

	.menu-list {
		width: 100%;
		top: 0;
		border: unset;
		position: relative;
	}

	.menu-list>li.one a {
		border-bottom: unset;
	}

	nav ul li.contact {
		outline: unset;
		outline-offset: unset;
		background: unset;
	}

	header nav ul li,
	nav.globalMenuSp ul li a,
	li.nav-menu {
		display: block;
		font-size: 4.5vw;
	}

	nav.globalMenuSp ul li:hover {
		background: rgb(255 255 255 / 50%);
	}

	nav.globalMenuSp ul li a,
	li.nav-menu {
		display: block;
		color: #fff;
		padding: 0;
		text-decoration: none;
		letter-spacing: 2px;
		font-weight: 500;
		text-align: center;
	}

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

	nav.globalMenuSp ul li:hover {
		background: unset;
	}

	.is-fixed {
		display: none !important;
	}

	nav#g-nav .hamburger {
		color: #171c61;
		font-size: 3.6vw;
		background: #ffffff;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		margin: 3svh auto 0;
		padding: .5svh 1.5em;
		border-radius: 50px;
	}

	nav.globalMenuSp ul li.contact a {
		padding: 1.2svh 0;
		background: var(--gradient-primary);
		height: unset;
		width: 100%;
		margin: 0 auto;
		text-align: center;
		margin-top: 1svh;
		color: var(--color-main);
		outline: .7px solid #333;
		outline-offset: -1vw;
	}

	nav ul li.contact a hr {
		border-top: 1px solid #333;
		margin: .5svh auto 0;
		width: 60%;
	}
}




@media screen and (min-width: 767px) {

	ul.floating {
		display: none !important;
	}
}



/*---------------------------------------------------------
  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 */

}


/*---------------------------------------------------------
  i pad pro landscape
  ---------------------------------------------------------*/
@media only screen and (min-device-width: 744px) and (max-device-width: 1400px) and (orientation: landscape) {


	/* font-size */

}

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

/*---------------------------------------------------------
  i pad landscape
  ---------------------------------------------------------*/
@media only screen and (min-device-width: 768px) 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 */

}