/*
 * SWELL Original — 共通スタイル
 * 色・大きさは旧サイト（Avada のテーマ設定＋カスタムCSS）の値を引き継いでいる。
 *
 * 画面幅の切り替え
 *   1020px 以下: スマホ用ヘッダー（旧 Avada と同じ）
 *    800px 以下: 段組みを縦並びに、.pc を隠して .mob を表示
 */

:root {
	--font-base: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

	--color-bg: #261603;          /* ページ背景 */
	--color-text: #eee;
	--color-header: #112b12;      /* ヘッダー */
	--color-header-sticky: rgba(17, 43, 18, 0.95);
	--color-footer: #0f2510;
	--color-footer-border: #022103;
	--color-brown: #7b4e17;       /* ボタン・小見出し */
	--color-brown-hover: #46321a;
	--color-hotpepper: #a0435f;
	--color-line: #464646;        /* 点線の区切り */
	--color-meta-line: #352918;

	--site-width: 1100px;
	--side-padding: 30px;
	--topbar-height: 35px;
	--nav-height: 86px;
}

/* ---------- リセット・基本 ---------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

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

body {
	margin: 0;
	background: var(--color-bg);
	color: var(--color-text);
	font-family: var(--font-base);
	font-size: 16px;
	line-height: 2.13;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
	border: 0;
}

a {
	color: var(--color-text);
	text-decoration: none;
	transition: color 0.2s, background-color 0.2s, opacity 0.2s;
}

a:hover img {
	opacity: 0.7;
}

p {
	margin: 0 0 20px;
}

ul,
ol {
	margin: 0;
	padding: 0;
}

h1, h2, h3, h4, h5, h6 {
	color: var(--color-text);
	font-weight: 800;
}

h1 { font-size: 34px; line-height: 1.4; margin: 0; }
h2 { font-size: 19px; line-height: 1.68; margin: 2.5em 0 1em; }
h3 { font-size: 16px; line-height: 2.5; margin: 1em 0; }
h4 { font-size: 13px; line-height: 1.54; margin: 1.33em 0; }
h5 { font-size: 12px; line-height: 1.5; margin: 1.67em 0; }
h6 { font-size: 11px; line-height: 1.55; margin: 2.33em 0; }

hr {
	margin: 0 0 30px;
	border: 0;
	border-top: 1px dotted #b7b7b7;
}

blockquote {
	margin: 20px 10px;
	padding: 15px 20px;
	background-color: rgba(255, 255, 255, 0.7);
	color: #666;
	font-size: 13px;
	font-style: normal;
}

.icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	vertical-align: -0.125em;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.container {
	max-width: var(--site-width);
	margin: 0 auto;
}

/* 旧サイトのカスタムCSSにあった表示切り替え・幅指定 */
@media (max-width: 800px) { .pc { display: none !important; } }
@media (min-width: 801px) { .mob { display: none !important; } }
@media (max-width: 1020px) { .pc-header { display: none !important; } }
@media (min-width: 1021px) { .mob-header { display: none !important; } }

.haba450 { max-width: 450px; margin-right: auto; margin-left: auto; }
.haba470 { max-width: 470px; }
.haba620 { max-width: 620px; margin-right: auto; margin-left: auto; }
.haba640 { max-width: 640px; margin-right: auto; margin-left: auto; }
.haba800 { max-width: 800px; margin-right: auto; margin-left: auto; }
.haba820 { max-width: 820px; }

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

.site-header {
	position: relative;
	z-index: 100;
}

@media (min-width: 1021px) {
	/* スクロールすると上部の帯だけが画面外に出て、メインのヘッダーが上に残る */
	.site-header {
		position: sticky;
		top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--topbar-height));
	}
}

.topbar {
	background: var(--color-header);
	border-bottom: 1px solid #364036;
	padding: 0 var(--side-padding);
	font-size: 12px;
	line-height: 34px;
}

.topbar__inner {
	display: flex;
	align-items: flex-start;
	min-height: 34px;
}

.topbar__text {
	flex: 1;
	margin: 0;
	color: #ddd;
	font-size: 11px;
}

.sns {
	display: flex;
	margin: 0 0 0 auto;
	list-style: none;
}

.sns__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin-left: 5px;
	color: #fff;
	font-size: 16px;
}

.sns__link--facebook { background: #4c71bc; }
.sns__link--instagram { background: #b17d4e; }

.masthead {
	background: var(--color-header);
	padding: 0 var(--side-padding) 5px;
	box-shadow: rgba(0, 0, 0, 0.19) 0 2px 3px;
	transition: background-color 0.3s;
}

.site-header.is-stuck .masthead {
	background: var(--color-header-sticky);
}

/* メニューがロゴの横に収まらない幅では、旧サイトと同じくメニューをロゴの下の2段目に回す */
.masthead__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}

.site-logo-heading {
	flex-shrink: 0;
	margin: 0;
	font-size: 0;
	line-height: 0;
}

.site-logo {
	display: block;
	margin-top: 22px;
	padding-bottom: 17px;
	line-height: 0;
}

.site-logo:hover img {
	opacity: 1;
}

.menu-toggle {
	display: none;
}

/* グローバルメニュー（パソコン） */
.gnav {
	flex-shrink: 0;
	margin-left: auto;
}

.gnav .menu {
	display: flex;
	list-style: none;
}

.gnav .menu-item {
	padding-right: 25px;
	text-align: center;
}

.gnav .menu-item:last-child {
	padding-right: 0;
}

.gnav .menu-item > a {
	display: block;
	height: var(--nav-height);
	color: #fff;
	letter-spacing: 2px;
}

.gnav .menu-item__en {
	display: block;
	padding-top: 32px;
	font-size: 12px;
	font-weight: bold;
	line-height: 12px;
}

.gnav .menu-item__ja {
	display: block;
	margin-top: 9px;
	font-size: 10px;
	line-height: 10px;
}

.gnav .menu-item > a:hover .menu-item__en,
.gnav .menu-item.is-current .menu-item__en {
	color: #aaa;
}

.gnav .menu-item > a:hover .menu-item__ja,
.gnav .menu-item.is-current .menu-item__ja {
	color: #969696;
}

/* ご予約はこちら（ボタン） */
.gnav .menu-item--button > a {
	height: auto;
	margin-top: 26px;
}

.gnav .menu-item--button .menu-item__ja {
	margin: 0;
	padding: 12px 23px;
	border-radius: 2px;
	background: var(--color-brown);
	color: #fff;
	font-size: 11px;
	line-height: 16px;
}

.gnav .menu-item--button > a:hover .menu-item__ja,
.gnav .menu-item--button.is-current .menu-item__ja {
	background: var(--color-brown-hover);
	color: #fff;
}

/* ---------- ヘッダー（スマホ・タブレット: 1020px 以下） ---------- */

@media (max-width: 1020px) {
	.topbar {
		line-height: 33px;
	}

	.topbar__inner {
		align-items: center;
	}

	.topbar__reserve {
		display: flex;
		align-items: center;
		margin-left: 10px;
		padding: 9px 20px;
		color: #fff;
		font-size: 12px;
		line-height: 14px;
	}

	.topbar__reserve .icon {
		margin-right: 10px;
		font-size: 12px;
	}

	.topbar__reserve:hover {
		color: #ccc;
	}

	.sns__link {
		width: 34px;
		height: 34px;
		margin-left: 0;
		font-size: 16px;
		background: none;
	}

	.sns__link--facebook { color: #4c71bc; background: none; }
	.sns__link--instagram { color: #b17d4e; background: none; }

	.masthead {
		padding-top: 12px;
		padding-bottom: 12px;
	}

	.masthead__inner {
		flex-wrap: wrap;
		align-items: center;
		min-height: 52px;
	}

	.site-logo {
		margin-top: 0;
		padding-bottom: 0;
	}

	.menu-toggle {
		display: flex;
		flex-direction: column;
		align-items: center;
		margin: 0;
		padding: 0;
		border: 0;
		background: none;
		color: #fff;
		font-family: inherit;
		font-size: 21px;
		line-height: 1;
		cursor: pointer;
	}

	.menu-toggle__label {
		margin-top: 3px;
		font-size: 11px;
	}

	.gnav {
		display: none;
		flex-basis: calc(100% + var(--side-padding) * 2);
		margin: 12px calc(var(--side-padding) * -1) -12px;
	}

	.gnav.is-open {
		display: block;
	}

	.gnav .menu {
		display: block;
	}

	.gnav .menu-item,
	.gnav .menu-item:last-child {
		padding: 0;
		border-top: 1px solid #304431;
	}

	.gnav .menu-item > a,
	.gnav .menu-item--button > a {
		height: 35px;
		margin: 0;
		color: #fff;
		font-size: 12px;
		font-weight: bold;
		line-height: 35px;
		letter-spacing: 0;
	}

	.gnav .menu-item__en {
		display: none;
	}

	.gnav .menu-item__ja,
	.gnav .menu-item--button .menu-item__ja {
		margin: 0;
		padding: 0;
		background: none;
		font-size: 12px;
		line-height: 35px;
	}

	.gnav .menu-item > a:hover,
	.gnav .menu-item.is-current > a {
		background: #213c22;
	}

	.gnav .menu-item > a:hover .menu-item__ja,
	.gnav .menu-item.is-current .menu-item__ja,
	.gnav .menu-item--button > a:hover .menu-item__ja {
		background: none;
		color: #fff;
	}
}

/* ---------- ページ本体 ---------- */

.site-main {
	padding: 35px var(--side-padding) 40px;
}

.site-main--page {
	padding: var(--main-pt, 35px) 0 var(--main-pb, 40px);
}

@media (max-width: 640px) {
	.site-main:not(.site-main--page) {
		padding-right: 10px;
		padding-left: 10px;
	}
}

/* パンくず（旧 Avada のタイトルバー） */
.page-title-bar {
	padding: 35px var(--side-padding) 0;
	min-height: 60px;
}

.breadcrumbs {
	margin-top: 4px;
	color: #fff;
	font-size: 10px;
	line-height: 17px;
}

.breadcrumbs a {
	color: #fff;
}

.breadcrumbs a:hover {
	color: #aaa;
}

.breadcrumbs__sep {
	margin: 0 6px;
}

@media (max-width: 800px) {
	.page-title-bar {
		padding: 28px 10px 5px;
		min-height: 0;
	}
}

.page-title-bar + .site-main {
	padding-top: 35px;
}

/* 本文＋サイドバー */
.layout-sidebar {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.layout-sidebar__content {
	width: calc(100% - 290px - 80px);
	min-width: 0;
}

.layout-sidebar__aside {
	width: 290px;
	flex-shrink: 0;
}

@media (max-width: 800px) {
	.layout-sidebar {
		display: block;
	}

	.layout-sidebar__content,
	.layout-sidebar__aside {
		width: 100%;
	}

	.layout-sidebar__aside {
		margin-top: 40px;
	}
}

/* ---------- ボタン ---------- */
/* 色は --btn-bg などで個別に変えられる（旧 Fusion Builder のボタン設定） */

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 20px;
	border: 0 solid var(--btn-color, #fff);
	border-radius: 2px;
	background: var(--btn-bg, var(--color-brown));
	color: var(--btn-color, #fff);
	font-size: 12px;
	line-height: 14px;
	text-align: center;
	text-transform: uppercase;
}

.btn .icon {
	margin-right: 10px;
	font-size: 12px;
}

.btn:hover {
	background: var(--btn-bg-hover, var(--color-brown-hover));
	color: var(--btn-color-hover, #fff);
}

.btn--medium { padding: 11px 23px; font-size: 13px; line-height: 16px; }
.btn--large { padding: 13px 29px; font-size: 14px; line-height: 17px; }
.btn--xlarge { padding: 17px 40px; font-size: 18px; line-height: 21px; }

.btn--outline {
	border-width: 1px;
	border-color: #ddd;
	background: transparent;
	color: #ddd;
}

.btn--outline:hover {
	border-color: #aaa;
	background: var(--color-brown-hover);
	color: #aaa;
}

.btn--hotpepper {
	--btn-bg: var(--color-hotpepper);
	--btn-bg-hover: rgba(160, 67, 95, 0.51);
}

.btn-wrap--center { text-align: center; }
.btn-wrap--right { text-align: right; }

/* ---------- 見出し（旧サイトのカスタムCSS） ---------- */

h2.midashi1 {
	margin: 0 0 8px;
	font-size: 28px;
	line-height: 1.68;
	text-align: center;
	-webkit-font-smoothing: antialiased;
}

@media (max-width: 800px) {
	h2.midashi1 {
		line-height: 40.286px;
	}
}

h3.midashi1 {
	margin: 0 0 30px;
	color: var(--color-brown);
	font-size: 13px;
	font-weight: normal;
	line-height: 20px;
	text-align: center;
	letter-spacing: 2px;
}

h2.midashi {
	margin-top: 0;
	margin-bottom: 10px;
	line-height: normal;
	text-align: center;
}

p.submidashi {
	margin-bottom: 40px;
	text-align: center;
}

/* ---------- 固定ページの段組み（旧 Fusion Builder のコンテナ・カラム） ---------- */

.section {
	padding: var(--pt, 0) var(--pr, var(--side-padding)) var(--pb, 0) var(--pl, var(--side-padding));
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

/* 画面いっぱいに広がる帯（旧 Avada の「100% 幅」コンテナ） */
.section--full {
	padding-right: var(--pr, 10px);
	padding-left: var(--pl, 10px);
}

/* 旧サイトのカスタムCSS: 全幅テンプレートのページは 1000px 以下で左右10px */
@media (max-width: 1000px) {
	.site-main--full-width .section:not(.section--full):not(.section--keep-padding) {
		padding-right: 10px;
		padding-left: 10px;
	}
}

/* 標準テンプレートのページは、スマホ幅で本文の下にさらに 50px（旧 Avada の #content の余白） */
@media (max-width: 800px) {
	.site-main--page:not(.site-main--full-width) {
		padding-bottom: calc(var(--main-pb, 40px) + 50px);
	}
}

/* 標準テンプレートのページは 640px 以下で左右10px */
@media (max-width: 640px) {
	.site-main--page:not(.site-main--full-width) .section {
		padding-right: 10px;
		padding-left: 10px;
	}
}

.row {
	display: flex;
	flex-wrap: wrap;
	column-gap: var(--gap, 4%);
}

.row--nogap {
	--gap: 0%;
}

.col {
	width: calc(var(--w, 1) * (100% + var(--gap, 4%)) - var(--gap, 4%));
	margin-bottom: 20px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

/* 旧 Avada と同じく、列の下に 20px（1列だけの段は 0） */
.col--1-1 {
	margin-bottom: 0;
}

.col--1-1 { --w: 1; }
.col--1-2 { --w: 0.5; }
.col--1-3 { --w: 0.333333; }
.col--2-3 { --w: 0.666667; }
.col--1-4 { --w: 0.25; }
.col--3-4 { --w: 0.75; }
.col--1-5 { --w: 0.2; }
.col--2-5 { --w: 0.4; }
.col--3-5 { --w: 0.6; }
.col--1-6 { --w: 0.166667; }
.col--5-6 { --w: 0.833333; }

/* 列の高さをそろえる段（旧 Avada の「列の高さをそろえる」。折り返した行も含めて全列を同じ高さに） */
@media (min-width: 801px) {
	.row--equal {
		display: grid;
		grid-template-columns: repeat(var(--cols, 3), 1fr);
		grid-auto-rows: 1fr;
	}

	.row--equal > .col {
		width: auto;
	}
}

.col--center {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

@media (max-width: 800px) {
	.col {
		width: 100%;
	}

}

/* 余白・区切り線（旧 fusion_separator） */
.sep {
	height: 0;
	margin-top: var(--mt, 0);
	margin-bottom: var(--mb, 0);
}

.sep--line {
	max-width: var(--line-w, none);
	margin-right: auto;
	margin-left: auto;
	border-top: var(--line, 1px solid #464646);
}

/* 横並びのボックス（旧 fusion_content_boxes） */
.content-boxes {
	display: grid;
	grid-template-columns: repeat(var(--cols, 1), 1fr);
	gap: 0 30px;
}

.content-boxes--2 { --cols: 2; }
.content-boxes--3 { --cols: 3; }
.content-boxes--4 { --cols: 4; }

.content-box {
	margin-bottom: 20px;
}

@media (max-width: 800px) {
	.content-boxes {
		grid-template-columns: 1fr;
	}
}

/* 地図（旧 fusion_map） */
.map-embed {
	position: relative;
	width: 100%;
	height: var(--h, 300px);
	margin-bottom: 20px;
}

.map-embed iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

/* ---------- ブログ一覧（旧 Avada「Medium」レイアウト） ---------- */

/* 投稿情報の下余白（40px）を記事の枠の中に閉じ込め、その下に 10px 空ける（旧サイトと同じ） */
.post-list__item {
	display: flow-root;
	margin-bottom: 10px;
}

.post-medium__body {
	display: flex;
	align-items: flex-start;
}

.post-medium__thumb {
	flex-shrink: 0;
	width: 38%;
	margin-right: 25px;
}

.post-medium__thumb img {
	display: block;
	width: 100%;
}

.post-medium__content {
	flex: 1;
	min-width: 0;
}

.post-medium__title {
	margin: 0 0 25px;
	font-size: 18px;
	font-weight: bold;
	line-height: 32px;
	text-align: justify;
}

.post-medium__title a {
	color: #eee;
}

.post-medium__title a:hover {
	color: #aaa;
}

.post-medium__excerpt {
	margin-top: -6px;
	overflow: hidden;
	font-size: 14px;
	line-height: 25px;
}

.post-medium__excerpt p {
	margin: 0;
}

.post-meta {
	margin: 20px 0 40px;
	padding: 5px 0;
	border-top: 1px solid var(--color-meta-line);
	border-bottom: 1px solid var(--color-meta-line);
	font-size: 11px;
	line-height: 23px;
}

.post-meta__sep {
	margin: 0 5px;
	color: #fff;
}

/* スマホでは写真を幅いっぱいにして、その下にタイトルと抜粋（旧サイトの実際の表示） */
@media (max-width: 800px) {
	.post-medium__body {
		display: block;
	}

	.post-medium__thumb {
		width: 100%;
		margin-right: 0;
	}
}

@media (max-width: 480px) {
	.post-medium__title {
		font-size: 15px;
		line-height: 27px;
	}
}

/* ページ送り */
.pagination {
	margin-top: 40px;
	font-size: 12px;
	text-align: center;
}

.pagination .page-numbers {
	display: inline-block;
	min-width: 30px;
	margin: 0 3px 6px;
	padding: 2px 8px;
	border: 1px solid #464646;
	line-height: 24px;
}

.pagination .page-numbers.current,
.pagination a.page-numbers:hover {
	border-color: var(--color-brown);
	background: var(--color-brown);
	color: #fff;
}

.pagination .page-numbers.dots {
	border: 0;
}

/* ---------- 記事ページ ---------- */

.entry-title {
	margin: 0 0 25px;
	font-size: 18px;
	font-weight: bold;
	line-height: 32px;
	text-align: justify;
}

.entry-thumb {
	margin-bottom: 25px;
}

.entry-content {
	font-size: 16px;
}

.entry-content p {
	text-align: justify;
}

.entry-content a {
	color: #0f8aa0;
}

.entry-content a:hover {
	color: #ccc;
}

.entry-content ul,
.entry-content ol {
	margin: 0 0 20px;
	padding-left: 1.5em;
}

.entry-content .alignleft { float: left; margin: 0 20px 20px 0; }
.entry-content .alignright { float: right; margin: 0 0 20px 20px; }
.entry-content .aligncenter { display: block; margin-right: auto; margin-left: auto; }

.entry-content::after {
	content: "";
	display: table;
	clear: both;
}

.entry-content figure {
	margin: 0 0 1em;
}

.entry-content .wp-block-image img {
	height: auto;
}

.entry-content iframe {
	max-width: 100%;
}

.entry-title--single {
	margin-bottom: 28px;
	font-size: 21px;
	font-weight: 800;
	line-height: 27px;
	text-align: left;
}

/* シェアボタン */
.share {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin: 0;
	padding: 10px 0 20px;
	list-style: none;
}

.share__link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 20px;
	padding: 0 8px;
	border-radius: 3px;
	color: #fff;
	font-size: 11px;
	font-weight: bold;
	line-height: 20px;
}

.share__link .icon {
	font-size: 11px;
}

.share__link:hover {
	color: #fff;
	opacity: 0.8;
}

.share__link--facebook { background: #1877f2; }
.share__link--x { background: #000; }
.share__link--hatena { background: #00a4de; }

/* 見出し＋右に伸びる二重線（記事を書いた人・関連投稿） */
.title-sep-heading {
	display: flex;
	align-items: center;
	margin: 0 0 31px;
	font-size: 18px;
	font-weight: 400;
	line-height: 27px;
}

.title-sep-heading span {
	flex-shrink: 0;
	padding-right: 8px;
}

.title-sep-heading::after {
	content: "";
	flex: 1;
	height: 6px;
	border-top: 1px solid var(--color-line);
	border-bottom: 1px solid var(--color-line);
}

.about-author {
	margin-top: 40px;
}

.about-author__body {
	display: flex;
	font-size: 14px;
	line-height: 26px;
}

.about-author__avatar {
	flex-shrink: 0;
	margin: 5px 20px 5px 0;
}

.about-author__description {
	flex: 1;
	text-align: justify;
}

.about-author__description p {
	margin: 0;
}

/* 関連投稿 */
.related-posts {
	margin-top: 40px;
}

.related-posts__carousel {
	position: relative;
}

.related-posts__list {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	list-style: none;
}

.related-posts__list::-webkit-scrollbar {
	display: none;
}

.related-posts__item {
	flex: 0 0 calc((100% - 40px) / 3);
	scroll-snap-align: start;
}

.related-posts__thumb {
	display: block;
}

.related-posts__thumb img {
	display: block;
	width: 100%;
}

.related-posts__title {
	margin: 15px 0 3px;
	font-size: 13px;
	font-weight: 800;
	line-height: 20px;
}

.related-posts__nav {
	position: absolute;
	top: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin-top: -30px;
	padding: 0;
	border: 0;
	background: rgba(0, 0, 0, 0.6);
	color: #fff;
	font-size: 14px;
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.2s;
}

.related-posts__carousel:hover .related-posts__nav {
	opacity: 1;
}

.related-posts__nav--prev {
	left: 0;
	transform: scaleX(-1);
}

.related-posts__nav--next {
	right: 0;
}

@media (max-width: 640px) {
	.related-posts__item {
		flex-basis: calc((100% - 20px) / 2);
	}

	.related-posts__nav {
		opacity: 1;
	}
}

/* ---------- サイドバー ---------- */

.sidebar {
	font-size: 13px;
	line-height: 28px;
}

.sidebar .widget {
	margin-bottom: 54px;
}

.sidebar .widget_text {
	margin-bottom: 0;
}

.sidebar .widget-title,
.sidebar h4.widget-title {
	margin: 1.33em 0;
	padding: 0 5px 13px 0;
	border-bottom: 1px solid #fff;
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.54;
	letter-spacing: 2px;
}

.sidebar .widget-title span {
	font-size: 11px;
}

.sidebar ul {
	list-style: none;
}

.sidebar li {
	padding: 10px 10px 10px 12px;
	border-bottom: 1px dotted var(--color-line);
}

.sidebar .widget_categories li a::before,
.sidebar .widget_archive li a::before,
.sidebar .widget_recent_entries li a::before {
	content: "›";
	margin-right: 8px;
}

.sidebar .widget_recent_entries li {
	line-height: 23px;
}

.sidebar a:hover {
	color: #aaa;
}

/* WordPress Popular Posts（人気の記事） */
.sidebar .wpp-list li {
	padding: 0;
}

/* ---------- フッター ---------- */

.site-footer__main {
	padding: 40px var(--side-padding) 0;
	border-top: 12px solid var(--color-footer-border);
	background: var(--color-footer);
	text-align: center;
}

.site-footer__logo {
	display: inline-block;
	margin-bottom: 55px;
}

.footer-nav {
	padding-bottom: 40px;
}

.footer-nav .menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	font-size: 13px;
	line-height: 34px;
}

.footer-nav .menu-item + .menu-item::before {
	content: "|";
	color: #fff;
}

.footer-nav .menu-item a {
	padding: 0 14px;
	color: #fff;
}

.footer-nav .menu-item a:hover {
	color: #fff;
	opacity: 0.7;
}

.site-footer__copyright {
	padding: 10px var(--side-padding);
	border-top: 1px solid var(--color-footer);
	background: var(--color-footer);
	color: #bebdbd;
	font-size: 12px;
	line-height: 25.56px;
	text-align: center;
}

@media (max-width: 800px) {
	.site-footer__logo {
		margin-bottom: 25px;
	}

	.footer-nav {
		padding-bottom: 50px;
	}

	.footer-nav .menu {
		display: block;
		font-size: 11px;
	}

	.footer-nav .menu-item {
		padding: 10px 10px 10px 12px;
		border-bottom: 1px solid #505152;
	}

	.footer-nav .menu-item:first-child {
		padding-top: 0;
	}

	.footer-nav .menu-item + .menu-item::before {
		content: none;
	}

	.footer-nav .menu-item a {
		display: block;
		padding: 6px;
		line-height: 23.43px;
	}

	.footer-nav .menu-item a::before {
		content: "›";
		margin-right: 8px;
		font-size: 14px;
	}
}

/* ページの先頭へ */
.to-top {
	position: fixed;
	right: 25px;
	bottom: 0;
	z-index: 90;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 35px;
	border-radius: 4px 4px 0 0;
	background: #808080;
	color: #fff;
	font-size: 16px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s, visibility 0.3s;
}

.to-top.is-visible {
	opacity: 0.9;
	visibility: visible;
}

.to-top:hover {
	color: #fff;
	opacity: 1;
}

/* ---------- 本文に直接書かれた旧 Avada の部品 ---------- */

/* チェックリスト（電話番号の表示などに使われている） */
.fusion-checklist {
	margin: 0;
	padding: 0;
	list-style: none;
}

.fusion-li-icon {
	display: block;
	width: 1.1em;
	height: 1.1em;
	line-height: 1;
}

/* ---------- 旧サイトの全体用カスタムCSS・Avada の既定のうち、本文に効いていたもの ---------- */

/* 本文の段落は両端揃え（固定ページ・記事とも） */
.site-main--page p {
	text-align: justify;
}

/* 本文のリストは上に詰める */
.entry-content ul,
.site-main--page .fusion-checklist {
	margin-top: -20px;
}

/* 表の見出しセル（Avada は h4 と同じ太さ・行間にしていた） */
th {
	font-weight: 800;
	line-height: 1.54;
}

/* 導入文 */
.concept {
	max-width: 600px;
	margin: 40px auto 50px;
}

p.concepttxt {
	font-size: 14px;
	line-height: 30px;
	text-align: center;
	letter-spacing: 2px;
}
