/*-------------------------------
media query (custom media)
-------------------------------*/
/*-------------------------------
meta setting
-------------------------------*/
html {
	font-size: max(16px, min(1vw, 1.78vh));
}
@media(max-width: 1024px){
html {
		font-size: max(15px, min(1vw, 1.78vh));
}
	}
@media(max-width: 599px){
html {
		font-size: max(14px, min(1vw, 1.78vh));
}
	}
body {
	margin: 0;
	overflow-x: hidden;
}
body * {
		font-family: "Shippori Mincho B1", serif;
		color: #796759;
		color: var(--color-font);
	}
/*-------------------------------
color
-------------------------------*/
:root {
	--color-main: #FCFAC5;
	--color-sub: #EBCF96;
	--color-white: #FFFFFF;
	--color-font: #796759;
	--color-bg: #F2F0EF;
}
/*-------------------------------
font(rem:16px)
-------------------------------*/
/* ボタン */
/* ヘッダー */
/* フッター */
/*-------------------------------
hタグ
-------------------------------*/
.has-small-font-size {
	font-size: 0.875rem !important;
}
.has-medium-font-size {
	font-size: 1.125rem !important;
}
.has-large-font-size {
	font-size: 1.5rem !important;
}
@media (max-width: 599px) {
.has-large-font-size {
		font-size: 1.23rem !important;
}
	}
.has-x-large-font-size {
	font-size: 2.5rem !important;
}
@media (max-width: 599px) {
.has-x-large-font-size {
		font-size: 1.85rem !important;
}
	}
h1, h2, h3, h4, h5, h6, p {
	margin: 0;
}
h1,h2  {
	font-size: 2.5rem;
	font-weight: 400;
	letter-spacing: 0.2em;
	line-height: 1.8;
	color: #796759;
	color: var(--color-font);
}
@media (max-width: 599px) {
h1,h2  {
		font-size: 1.8rem;
		letter-spacing: 0.15em;
}
	}
h3 {
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.66;
	color: #796759;
	color: var(--color-font);
}
@media (max-width: 599px) {
h3 {
		font-size: 1.23rem;
}
	}
.page-title {
	text-align: center;
	margin-bottom: 2.5rem;
}
@media (max-width: 599px) {
.page-title {
		margin-top: 20px;
}
	}
.page-title h1, .page-title h2 {
		font-size: 2.5rem;
		font-weight: 400;
		letter-spacing: 0.2em;
		line-height: 1.8;
		color: #796759;
		color: var(--color-font);
	}
@media (max-width: 599px) {
.page-title h1, .page-title h2 {
		font-size: 1.8rem;
		letter-spacing: 0.15em;
	}
	}
.page-title h1 span, .page-title h2 span {
			font-size: 0.875rem;
			font-weight: 500;
			letter-spacing: 0.1em;
			line-height: 1.875;
			color: #796759;
			color: var(--color-font);
			display: block;
			margin-top: 5px;
		}
.section-title {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap:0;
	gap:0;
	margin-bottom: 2.5rem;
}
@media (max-width: 1024px) {
.section-title {
		margin-bottom: 2rem;
}
	}
@media (max-width: 599px) {
.section-title {
		margin-bottom: 1.5rem;
}
	}
.section-title span,.section-title p {
		font-size: 1.5rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.66;
		color: #796759;
		color: var(--color-font);
		display: block;
		line-height: 1.5;
	}
@media (max-width: 599px) {
.section-title span,.section-title p {
		font-size: 1.23rem;
	}
	}
.section-title h2 {
		font-size: 2.5rem;
		font-weight: 400;
		letter-spacing: 0.2em;
		line-height: 1.8;
		color: #796759;
		color: var(--color-font);
	}
@media (max-width: 599px) {
.section-title h2 {
		font-size: 1.8rem;
		letter-spacing: 0.15em;
	}
	}
.home .section-title {
		margin-bottom: 1.5rem;
	}
h3, h4, h5, h6 {
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.66;
	color: #796759;
	color: var(--color-font);
}
@media (max-width: 599px) {
h3, h4, h5, h6 {
		font-size: 1.23rem;
}
	}
.is-style-underline {
	padding-bottom: 0.5rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid #796759;
	border-bottom: 1px solid var(--color-font);
}
.wp-block-image.is-style-round-2rem img {
	border-radius: 2rem;
}
.wp-block-list.is-style-kome {
	padding-left: 0;
}
.wp-block-list.is-style-kome li {
		list-style: none;
		position: relative;
		padding-left: 1rem;
	}
.wp-block-list.is-style-kome li::before {
			content: "※";
			position: absolute;
			left: 0;
			top: 0;
		}
.font-set-s{
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
}
.font-set-m{
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
}
.font-set-l{
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.66;
	color: #796759;
	color: var(--color-font);
}
@media (max-width: 599px) {
.font-set-l{
		font-size: 1.23rem;
}
	}
.font-set-xl{
	font-size: 2.5rem;
	font-weight: 400;
	letter-spacing: 0.2em;
	line-height: 1.8;
	color: #796759;
	color: var(--color-font);
}
@media (max-width: 599px) {
.font-set-xl{
		font-size: 1.8rem;
		letter-spacing: 0.15em;
}
	}
/* カラムブロック：シフトカラム(1カラム目=画像、2カラム目=テキストを想定) */
.wp-block-columns.is-style-shift {
	align-items: flex-start!important;
	gap:0;
}
@media (max-width: 1440px) {
.wp-block-columns.is-style-shift {
		align-items: center;
}
	}
@media (max-width: 1024px) {
.wp-block-columns.is-style-shift {
		flex-direction: column;
}
	}
.wp-block-columns.is-style-shift > .wp-block-column:first-child {
		flex: 1 1 0% !important;
		margin-right: -5%;
	}
@media (max-width: 1024px) {
.wp-block-columns.is-style-shift > .wp-block-column:first-child {
			margin-right: 0;
			margin-bottom: -0.5rem;
	}
		}
.wp-block-columns.is-style-shift > .wp-block-column:first-child img {
			display: block;
			width: 100%;
			aspect-ratio: 1 / 1;
			border-radius: 2rem;
			-o-object-fit: cover;
			   object-fit: cover;
		}
@media (max-width: 1024px) {
.wp-block-columns.is-style-shift > .wp-block-column:first-child img {
				aspect-ratio: 3 / 2!important;
		}
			}
.wp-block-columns.is-style-shift > .wp-block-column:last-child {
		flex: 1 1 0% !important;
		margin-top: 2rem;
	}
@media (max-width: 1024px) {
.wp-block-columns.is-style-shift > .wp-block-column:last-child {
			margin-top: -2rem;
	}
		}
/* 枠線付きカード風にしたいブロックへ手動で付与するクラス */
.block-border {
	background: #FFFFFF;
	background: var(--color-white);
	border: 1.5px solid #796759;
	border: 1.5px solid var(--color-font);
	border-radius: 2rem;
	padding: 3rem 5%;
	box-sizing: border-box;
}
@media (max-width: 1024px) {
.block-border {
		padding: 2rem 7%;
}
	}
p, ul, ol, li, details, summary {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
}
strong {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
}
time {
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
}
img {
	width: 100%;
	height: auto;
	-o-object-fit: contain;
	   object-fit: contain;
}
.text-clamp {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.lh-large,
.lh-large p {
	line-height: 2.5;
}
@media (max-width: 1024px) {
.lh-large,
.lh-large p {
		line-height: 2;
}
	}
/*-------------------------------
reset css
-------------------------------*/
a {
	-webkit-text-decoration: none;
	text-decoration: none;
}
a:hover {
		-webkit-text-decoration: none;
		text-decoration: none;
		opacity: 0.7;
	}
@media (max-width: 1024px) {
a:hover {
			opacity: 1;
	}
		}
ul, ol {
	margin: 1rem 0;
	padding-left: 1.4rem;
}
.list-none {
	margin: 0;
	padding-left: 0;
}
.list-none li {
		list-style: none;
	}
/*-------------------------------
ボタン
-------------------------------*/
.btn-normal {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 2.5rem;
}
@media (max-width: 1024px) {
.btn-normal {
		margin-top: 2rem;
}
	}
.btn-normal a {
		font-size: 1rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.875;
		color: #796759;
		color: var(--color-font);
		display: inline-block;
		position: relative;
		background: #FCFAC5;
		background: var(--color-main);
		border: 1.5px solid #796759;
		border: 1.5px solid var(--color-font);
		border-radius: 300px;
		padding: 0.8rem 5rem;
		box-sizing: border-box;
	}
@media (max-width: 1024px) {
.btn-normal a {
			border: 1px solid #796759;
			border: 1px solid var(--color-font);
			max-width: 100%;
	}
		}
.btn-normal a:after {
			content: "";
			position: absolute;
			right: 1rem;
			top: 50%;
			transform: translateY(-50%);
			width: 1.5rem;
			height: 1.5rem;
			background: center / contain no-repeat url("../images/icon/icon-toggle.svg");
		}
.btn-normal.btn-sub a {
			background: #EBCF96;
			background: var(--color-sub);
		}
.btn-normal.icon-blank a:after {
				background: center / contain no-repeat url("../images/icon/icon-blank.svg");
			}
.btn-center{
	justify-content: center;
}
.wp-block-button.is-style-toggle,
.wp-block-button.is-style-blank {
	margin-top: 2rem;
}
.wp-block-button.is-style-toggle .wp-block-button__link, .wp-block-button.is-style-blank .wp-block-button__link {
		font-size: 1rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.875;
		color: #796759;
		color: var(--color-font);
		display: inline-block;
		position: relative;
		background: #FCFAC5;
		background: var(--color-main);
		border: 1.5px solid #796759;
		border: 1.5px solid var(--color-font);
		border-radius: 300px;
		padding: 0.8rem 5rem;
		box-sizing: border-box;
	}
@media (max-width: 1024px) {
.wp-block-button.is-style-toggle .wp-block-button__link, .wp-block-button.is-style-blank .wp-block-button__link {
			border: 1px solid #796759;
			border: 1px solid var(--color-font);
	}
		}
.wp-block-button.is-style-toggle .wp-block-button__link:after, .wp-block-button.is-style-blank .wp-block-button__link:after {
			content: "";
			position: absolute;
			right: 1rem;
			top: 50%;
			transform: translateY(-50%);
			width: 1.5rem;
			height: 1.5rem;
		}
.wp-block-button.is-style-toggle .wp-block-button__link:after {
	background: center / contain no-repeat url("../images/icon/icon-toggle.svg");
}
.wp-block-button.is-style-blank .wp-block-button__link:after {
	background: center / contain no-repeat url("../images/icon/icon-blank.svg");
}
/*-------------------------------
grid
-------------------------------*/
.column-block {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
@media (max-width: 1024px) {
.column-block {
		grid-template-columns: 1fr;
}
	}
.column-block .wrap-img img {
			width: 100%;
		}
/*-------------------------------
画像リサイズ
-------------------------------*/
.img-thumb {
	position: relative;
	width: 100%;
}
.img-thumb:before {
		content: "";
		display: block;
		padding-top: 100%;
	}
.img-thumb img {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
	}
.img-thumb.img-square:before {
			padding-top: 56.25%;
		}
/*-------------------------------
背景・効果
-------------------------------*/
.overflow-wrap {
	overflow: hidden;
}
.bg-white {
	background-color: #FFFFFF;
	background-color: var(--color-white);
}
.bg-gray {
	background-color: #F2F0EF;
	background-color: var(--color-bg);
}
.text-marker {
	background: #FCFAC5;
	background: var(--color-main);
	padding: 0 2px;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}
@media(max-width: 1024px){
.text-marker {
		line-height: 2.3;
}
	}
.frame-wave-white {
	position: relative;
}
.frame-wave-white::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 80px;
		transform: translateY(-99%);
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0,64 C240,120 480,0 720,32 C960,64 1200,120 1440,64 L1440,120 L0,120 Z' fill='%23ffffff'/%3E%3C/svg%3E") no-repeat;
		background-size: 100% 100%;
		pointer-events: none;
	}
@media (max-width: 599px) {
.frame-wave-white::before {
			height: 40px;
	}
		}
@media (prefers-reduced-motion: no-preference) {
		.frame-wave-white.is-inview::before {
			animation: wave-sway 4s ease-in-out infinite;
		}
	}
@keyframes wave-sway {
	0%, 100% {
		transform: translateY(-99%) translateY(0);
	}
	50% {
		transform: translateY(-99%) translateY(6px);
	}
}
.wp-block-paragraph + .wp-block-paragraph{
	margin: 1rem 0;
}
.wp-block-group-is-layout-flex .wp-block-paragraph + .wp-block-paragraph{
		margin: 0;
	}
/*-------------------------------
スクロールで要素がふわっと出てくるアニメーション
(JS側でIntersectionObserverが.is-inviewを付与)
-------------------------------*/
.reveal,
.section-title,
.reveal-group > *,
.column-block-list > *,
.pages-head-container > *,
.wp-block-columns.is-style-shift > * {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.is-inview,
.section-title.is-inview,
.reveal-group.is-inview > *,
.column-block-list.is-inview > *,
.pages-head-container.is-inview > *,
.wp-block-columns.is-style-shift.is-inview > * {
	opacity: 1;
	transform: none;
}
.reveal-group > *:nth-child(1),
.column-block-list > *:nth-child(1),
.pages-head-container > *:nth-child(1),
.wp-block-columns.is-style-shift > *:nth-child(1) {
	transition-delay: 0.15s;
}
.reveal-group > *:nth-child(2),
.column-block-list > *:nth-child(2),
.pages-head-container > *:nth-child(2),
.wp-block-columns.is-style-shift > *:nth-child(2) {
	transition-delay: 0.25s;
}
.reveal-group > *:nth-child(3),
.column-block-list > *:nth-child(3),
.wp-block-columns.is-style-shift > *:nth-child(3) {
	transition-delay: 0.35s;
}
.reveal-group > *:nth-child(4),
.column-block-list > *:nth-child(4) {
	transition-delay: 0.45s;
}
.reveal-group > *:nth-child(5),
.column-block-list > *:nth-child(5) {
	transition-delay: 0.55s;
}
.reveal-group > *:nth-child(6),
.column-block-list > *:nth-child(6) {
	transition-delay: 0.65s;
}
.reveal-delay-1 {
	transition-delay: 0.15s;
}
.reveal-delay-2 {
	transition-delay: 0.3s;
}
.reveal-delay-3 {
	transition-delay: 0.45s;
}
@media (prefers-reduced-motion: reduce) {
	.reveal,
	.section-title,
	.reveal-group > *,
	.column-block-list > *,
	.pages-head-container > *,
	.wp-block-columns.is-style-shift > * {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
/*-------------------------------
コンテンツ要素
-------------------------------*/
.contents-width {
	width: 80%;
	margin: 0 auto;
}
@media (max-width: 1440px) {
.contents-width {
		width: 90%;
}
	}
@media (max-width: 1024px) {
.contents-width {
		width: 80%;
}
	}
@media (max-width: 599px) {
.contents-width {
		width: 90%;
}
	}
.slim-width {
	max-width: 80%;
	margin: 0 auto;
}
@media (max-width: 1440px) {
.slim-width {
		max-width: 90%;
}
	}
@media (max-width: 1024px) {
.slim-width {
		max-width: 100%;
}
	}
.slim-width-text{
	max-width: 70%;
}
@media (max-width: 1440px) {
.slim-width-text{
		max-width: 70%;
}
	}
@media (max-width: 1024px) {
.slim-width-text{
		max-width: 100%;
}
	}
.section-full {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
.cap-text-s p{
		font-size: 0.875rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.875;
		color: #796759;
		color: var(--color-font);
	}
/* グループブロックをsection化して背景色を選んだ場合、背景だけ全幅に広げる */
section.wp-block-group.has-background {
	position: relative;
	z-index: 0;
}
section.wp-block-group.has-background::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		left: 50%;
		width: 100vw;
		margin-left: -50vw;
		background: inherit;
		z-index: -1;
	}
/* ページパディング */
.page-padding {
	padding-top: 10rem;
	padding-top: var(--header-height, 10rem);
	padding-bottom: 30px;
}
.page-padding:has(.pages-body .cta-container:last-child) {
		padding-bottom: 0;
	}
/* ブロックパディング */
.section-padding {
	padding-top: 5rem;
	padding-bottom: 5rem;
}
@media (max-width: 599px) {
.section-padding {
		padding-top: 3.5rem;
		padding-bottom: 3.5rem;
}
	}
.section-padding-top-none{
	padding-top: 0;
}
@media (max-width: 599px) {
.section-padding-top-none{
		padding-top: 0;
}
	}
.padding-top-s{
	padding-top: 3rem;
}
@media (max-width: 599px) {
.padding-top-s{
		padding-top: 3.5rem;
}
	}
.gap-l{
	gap:7rem;
}
.pad-m{
	padding: 2.5rem 5%;
	box-sizing: border-box;
}
.mt-ss{
	margin-top: 1rem;
}
/* 改行 */
.pc-br {
	display: block;
}
@media (max-width: 599px) {
.pc-br {
		display: none;
}
	}
.tab-br {
	display: block;
}
@media (max-width: 1024px) {
.tab-br {
		display: none;
}
	}
.sp-br {
	display: none;
}
@media (max-width: 599px) {
.sp-br {
		display: block;
}
	}
.main-header {
	width: 100%;
	position: fixed;
	top: 0;
	z-index: 900;
}
.main-header .header-wrap {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap: 1rem;
		max-width: 90%;
		margin: 0 auto;
		padding-top: 1.5rem;
	}
@media (max-width: 1024px) {
.main-header .header-wrap {
			padding: 1.5rem 0;
			align-items: center;
	}
		}
.main-header .header-wrap .header-logo {
			flex-shrink: 0;
			position: relative;
			z-index: 120;
		}
.main-header .header-wrap .header-logo img {
				display: block;
				width: 6rem;
				height: auto;

			}
@media (max-width: 1024px) {
.main-header .header-wrap .header-logo img {
					width: 10rem;

			}
				}
.main-header .header-wrap .header-logo img.logo-sp {
				display: none;
			}
@media (max-width: 1024px) {
				.main-header .header-wrap .header-logo img.logo-pc {
					display: none;
				}
				.main-header .header-wrap .header-logo img.logo-sp {
					display: block;
				}
			}
.main-header .header-wrap .header-nav {
			background: #FCFAC5;
			background: var(--color-main);
			border-radius: 999px;
			padding: 0.7rem 2rem;
			box-sizing: border-box;
		}
@media (max-width: 1440px) {
.main-header .header-wrap .header-nav {
				padding: 0.7rem 1.5rem;
		}
			}
@media (max-width: 1024px) {
.main-header .header-wrap .header-nav {
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				border-radius: 0;
				z-index: 100;
				transform: translateY(-100%);
				transition: transform 0.3s;
				overflow-y: auto;
				padding: 6rem 5% 4rem;
				box-sizing: border-box;
		}
				.main-header .header-wrap .header-nav.is-active {
					transform: translateY(0);				}
			}
.main-header .header-wrap .header-nav > ul {
				display: flex;
				align-items: center;
			}
@media (max-width: 1024px) {
.main-header .header-wrap .header-nav > ul {
					flex-direction: column;
					align-items: flex-start;
					gap: 0;
					width: 100%;
			}
				}
.main-header .header-wrap .header-nav > ul li {
					width: 100%;
					position: relative;
				}
.main-header .header-wrap .header-nav > ul li a {
						font-size: 0.875rem;
						font-weight: 500;
						letter-spacing: 0.1em;
						line-height: 1.875;
						color: #796759;
						color: var(--color-font);
						position: relative;
						display: block;
						padding: 0.5rem 1rem;
						cursor: pointer;
						white-space: nowrap;
					}
@media (max-width: 1024px) {
.main-header .header-wrap .header-nav > ul li a {
		font-size: 1.15rem;
					}
	}
@media (max-width: 599px) {
.main-header .header-wrap .header-nav > ul li a {
		font-size: 1rem;
					}
	}
@media (max-width: 1440px) {
.main-header .header-wrap .header-nav > ul li a {
							padding: 0.5rem 0.8rem;
					}
						}
@media (max-width: 1024px) {
.main-header .header-wrap .header-nav > ul li a {
							padding: 1rem 1rem;
					}
						}
@media not (max-width: 1024px) {
							.main-header .header-wrap .header-nav > ul li a::after {
								content: "";
								position: absolute;
								left: 50%;
								bottom: 0;
								width: 0;
								height: 1px;
								background: #796759;
								background: var(--color-font);
								transform: translateX(-50%);
								transition: width 0.25s ease;
							}
							.main-header .header-wrap .header-nav > ul li a:hover::after {
								width: 100%;
							}
						}
.main-header .header-wrap .hamburger-btn {
			display: none;
			position: relative;
		}
@media (max-width: 1024px) {
.main-header .header-wrap .hamburger-btn {
				display: block;
				width: 30px;
				height: 15px;
				position: relative;
				z-index: 110;
				cursor: pointer;
				flex-shrink: 0;
		}
				.main-header .header-wrap .hamburger-btn span {
					position: absolute;
					left: 0;
					width: 100%;
					height: 2px;
					background: #796759;
					background: var(--color-font);
					transition: 0.3s;
				}
					.main-header .header-wrap .hamburger-btn span:nth-child(1) {
						top: 0;
					}
					.main-header .header-wrap .hamburger-btn span:nth-child(2) {
						top: 50%;
						transform: translateY(-50%);
					}
					.main-header .header-wrap .hamburger-btn span:nth-child(3) {
						bottom: 0;
					}
						.main-header .header-wrap .hamburger-btn.is-active span:nth-child(1) {
							top: 50%;
							transform: translateY(-50%) rotate(45deg);
						}
						.main-header .header-wrap .hamburger-btn.is-active span:nth-child(2) {
							opacity: 0;
						}
						.main-header .header-wrap .hamburger-btn.is-active span:nth-child(3) {
							top: 50%;
							transform: translateY(-50%) rotate(-45deg);
						}
			}
.nav-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, 0.4);
	z-index: 90;
	opacity: 0;
	visibility: hidden;
	transition: 0.3s;
}
.nav-overlay.is-active {
		opacity: 1;
		visibility: visible;
	}
.archive-description {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
	margin-top: 20px;
	margin-bottom: 40px;
}
.post-list {
	display: grid;
	grid-template-columns: 1fr;
	margin-bottom: 2rem;
}
.post-list a {
		display: grid;
		grid-template-columns: 16rem 1fr;
		grid-gap: 2.5rem;
		gap: 2.5rem;
		align-items: center;
		padding: 30px 0;
	}
@media (max-width: 1024px) {
.post-list a {
			grid-template-columns: 12rem 1fr;
			gap: 1.5rem;
	}
		}
@media (max-width: 599px) {
.post-list a {
			grid-template-columns: 7rem 1fr;
			gap: 1rem;
	}
		}
.post-thumb {
	border-radius: 50%;
	overflow: hidden;
}
.post-content .post-date {
		font-size: 0.875rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.875;
		color: #796759;
		color: var(--color-font);
		display: block;
	}
.post-content .post-title {
		margin: 8px 0;
		font-size: 1.5rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.66;
		color: #796759;
		color: var(--color-font);
	}
@media (max-width: 599px) {
.post-content .post-title {
		font-size: 1.23rem;
	}
	}
@media (max-width: 1024px) {
.post-content .post-title {
			margin: 5px 0;
	}
		}
@media (max-width: 599px) {
.post-content .post-title {
			font-size: 1rem;
			font-weight: 500;
			letter-spacing: 0.1em;
			line-height: 1.875;
			color: #796759;
			color: var(--color-font);
			overflow: hidden;
			display: -webkit-box;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 2;
	}
		}
@media (max-width: 599px) {
.post-content .post-excerpt{
			font-size: 0.875rem;
			font-weight: 500;
			letter-spacing: 0.1em;
			line-height: 1.875;
			color: #796759;
			color: var(--color-font);
	}
		}
.archive-pagination {
	display: flex;
	justify-content: center;
	margin: 3rem 0 2rem;
}
.archive-pagination .page-numbers {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 10px;
		list-style: none;
		margin: 0;
		padding: 0;
	}
.archive-pagination a, .archive-pagination span {
		font-size: 1rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.875;
		color: #796759;
		color: var(--color-font);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 2rem;
		padding: 5px;
		box-sizing: border-box;
	}
.archive-pagination .dots {
		cursor: default;
	}
.archive-pagination .current {
		background-color: #FCFAC5;
	}
.archive-pagination .pagination-arrow {
		display: block;
		width: 1.5rem;
		height: 1.5rem;
	}
.archive-pagination .pagination-arrow-next {
		transform: scaleX(-1);
	}
.faq-archive-box {
	border-radius: 2.5rem;
	padding: 4rem 0;
}
@media (max-width: 1024px) {
.faq-archive-box {
		border-radius: 1.5rem;
		padding: 0;
}
	}
@media (max-width: 1024px) {
body.post-type-archive-faq{
		background-color: #F2F0EF;
		background-color: var(--color-bg);
}
	}
.faq-item.is-locked summary {
		cursor: default;
		pointer-events: none;
	}
/*-------------------------------
プラン問い合わせ先一覧ブロック
-------------------------------*/
.contact-list-desc {
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
}
.contact-list-accordion summary {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 1rem;
		cursor: pointer;
		list-style: none;
		padding-bottom: 0.75rem;
		border-bottom: 2px solid #796759;
		border-bottom: 2px solid var(--color-font);
		font-size: 1.5rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.66;
		color: #796759;
		color: var(--color-font);
	}
@media (max-width: 599px) {
.contact-list-accordion summary {
		font-size: 1.23rem;
	}
	}
.contact-list-accordion summary::-webkit-details-marker {
			display: none;
		}
.contact-list-accordion summary::after {
			content: "";
			flex-shrink: 0;
			width: 0.5rem;
			height: 0.5rem;
			border-right: 1.5px solid #796759;
			border-right: 1.5px solid var(--color-font);
			border-bottom: 1.5px solid #796759;
			border-bottom: 1.5px solid var(--color-font);
			transform: rotate(45deg);
			transition: transform 0.2s ease;
		}
.contact-list-accordion:not([open]) summary::after {
		transform: rotate(225deg);
	}
.contact-list-table {
	margin-top: 0.5rem;
}
.contact-list-row {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	grid-gap: 1rem;
	gap: 1rem;
	align-items: center;
	padding: 1rem 0;
	border-bottom: 1px dashed #796759;
	border-bottom: 1px dashed var(--color-font);
}
@media (max-width: 599px) {
.contact-list-row {
		font-size: 0.875rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.875;
		color: #796759;
		color: var(--color-font);
		padding: 1rem 0;
		grid-template-columns: 1fr 7rem 4.5rem;
}
	}
.contact-list-row .col-status {
		text-align: center;
	}
.contact-list-head {
	font-weight: bold;
	border-bottom: 1px solid #796759;
	border-bottom: 1px solid var(--color-font);
}
.contact-list-head span{
		font-weight: 700;
	}
/*-------------------------------
ご利用の流れブロック
-------------------------------*/
.flow-block{
	border-radius: 2rem;
}
.flow-steps {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.flow-step {
	display: grid;
	grid-template-columns: 20rem 1fr;
	grid-gap: 3rem;
	gap: 3rem;
	align-items: center;
	width: 100%;
}
@media (max-width: 1024px) {
.flow-step {
		grid-template-columns: 0.5fr 1fr;
		gap: 1.5rem;
}
	}
@media (max-width: 599px) {
.flow-step {
		grid-template-columns: 1fr;
		gap: 1.5rem;
}
	}
@media (max-width: 599px) {
.flow-step-img {
		max-width: 80%;
		margin: 0 auto;
}
	}
.flow-step-img img{
		border-radius: 50%;
	}
.flow-step-text h3 {
		font-size: 1.5rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.66;
		color: #796759;
		color: var(--color-font);
		margin-bottom: 0.75rem;
		border-bottom: 1px solid #796759;
		border-bottom: 1px solid var(--color-font);
	}
@media (max-width: 599px) {
.flow-step-text h3 {
		font-size: 1.23rem;
	}
	}
.flow-arrow {
	width: 0;
	height: 0;
	border-left: 1rem solid transparent;
	border-right: 1rem solid transparent;
	border-top: 1.5rem solid #FCFAC5;
	border-top: 1.5rem solid var(--color-main);
	margin: 1rem auto;
}
/*-------------------------------
プラン一覧ブロック
-------------------------------*/
.plan-list-item {
	padding: 4rem 0;
}
@media (max-width: 599px) {
.plan-list-item {
		padding: 2.5rem 0;
}
	}
.plan-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 3rem;
	gap: 3rem;
	align-items: center;
}
@media (max-width: 1024px) {
.plan-row {
		gap: 1.5rem;
		grid-template-columns: 0.8fr 1fr;
}
	}
@media (max-width: 599px) {
.plan-row {
		grid-template-columns: 1fr;
}
	}
.plan-img {
	border-radius: 1.5rem;
	overflow: hidden;
}
@media (max-width: 599px) {
.plan-img {
		border-radius: 1rem;
}
		.plan-img:before {
			padding-top: 66.67%;
		}
	}
.plan-title {
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.66;
	color: #796759;
	color: var(--color-font);
}
@media (max-width: 599px) {
.plan-title {
		font-size: 1.23rem;
}
	}
.plan-sub {
	margin-top: 0.5rem;
}
.plan-box {
	margin-top: 1.5rem;
	padding: 1.5rem 2rem;
	border-radius: 1rem;
}
.plan-box p {
		margin-bottom: 0.3rem;
	}
.plan-box p:first-child {
		margin-top: 0;
	}
.plan-box p:last-child {
		margin-bottom: 0;
	}
.plan-box ul{
		margin: 0;
	}
/*-------------------------------
地域別利用料金ブロック
-------------------------------*/
.region-price-desc {
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
}
.region-price-list {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 1.5rem;
	gap: 1.5rem;
}
.region-price-item {
	background-color: #FFFFFF;
	background-color: var(--color-white);
	border-radius: 1.5rem;
}
.region-price-summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding: 1.5rem 5%;
	box-sizing: border-box;
	cursor: pointer;
	list-style: none;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.66;
	color: #796759;
	color: var(--color-font);
}
@media (max-width: 599px) {
.region-price-summary {
		font-size: 1.23rem;
}
	}
.region-price-summary::-webkit-details-marker {
		display: none;
	}
.region-price-name {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 0.75rem;
}
@media (max-width: 599px) {
.region-price-name {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.25rem;
}
	}
.region-price-name .text-marker{
		padding: 0 0.5rem;
	}
@media (max-width: 599px) {
.region-price-name .text-marker{
		font-size: 0.875rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.875;
		color: #796759;
		color: var(--color-font);
	}
	}
.region-price-toggle {
	flex-shrink: 0;
	width: 2rem;
	height: 2rem;
	background: center / contain no-repeat url("../images/icon/icon-toggle-sub.svg");
	transform: rotate(90deg);
	transition: transform 0.2s ease;
}
.region-price-item[open] .region-price-toggle {
	transform: rotate(-90deg);
}
.region-price-body {
	padding: 0 5% 2rem;
	box-sizing: border-box;
}
.region-price-body .price-col {
		margin-bottom: 1rem;
	}
.region-price-note {
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
}
/* このブロック内の価格カードだけ、通常のprice-colと違う配色・バッジ表現にする */
.region-price-block .color-table-card:nth-child(1) .color-table-head {
	background-color: #FCFAC5;
	background-color: var(--color-main);
}
.region-price-block .color-table-card:nth-child(2) .color-table-head {
	background-color: #EBCF96;
	background-color: var(--color-sub);
}
.region-price-block .color-table-row {
	border-bottom: none;
	align-items: center;
	justify-content: center;
	padding: 0;
	gap: 0.5rem;
}
.region-price-block .color-table-rows {
	text-align: center;
}
.region-price-entry {
	border-bottom: 1px solid #EBCF96;
	border-bottom: 1px solid var(--color-sub);
	padding: 0.5rem 1rem 1rem;
	box-sizing: border-box;
}
.region-price-entry:last-child {
		border-bottom: none;
	}
.region-price-block .color-table-badge {
	background-color: #FFFFFF;
	background-color: var(--color-white);
	color: #796759;
	color: var(--color-font);
	width: auto;
	min-width: 3.5rem;
}
.region-price-age {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
}
.region-price-fee {
	display: inline-block;
	padding: 0.3rem 3rem;
	margin-top: 0.5rem;
	border-radius: 999px;
	text-align: center;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
}
.region-price-badge-6a {
	border: 1.5px solid #E6E69D;
}
.region-price-fee-6a {
	background-color: #E6E69D;
}
.region-price-badge-6b {
	border: 1.5px solid #E3E2C5;
}
.region-price-fee-6b {
	background-color: #E3E2C5;
}
.region-price-badge-3a {
	border: 1.5px solid #E3D5CA;
}
.region-price-fee-3a {
	background-color: #E3D5CA;
}
.region-price-badge-3b {
	border: 1.5px solid #F5D5C4;
}
.region-price-fee-3b {
	background-color: #F5D5C4;
}
.region-price-tel {
	display: flex;
	align-items: center;
	gap: 1rem;
	max-width: 30rem;
	margin: 1.5rem auto 0;
	background: #FCFAC5;
	background: var(--color-main);
	border: 1.5px solid #796759;
	border: 1.5px solid var(--color-font);
	border-radius: 1rem;
	padding: 1rem 2rem;
	box-sizing: border-box;
}
@media (max-width: 599px) {
.region-price-tel {
		padding: 1rem;
		gap: 0.5rem;
}
	}
.region-price-tel-icon {
	flex-shrink: 0;
	width: 3rem;
	height: 3rem;
	background: center / contain no-repeat url("../images/icon/icon-tel-l.svg");
}
.region-price-tel-text {
	flex: 1;
	display: flex;
	flex-direction: column;
}
@media (max-width: 599px) {
.region-price-tel-office {
		font-size: 0.875rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.875;
		color: #796759;
		color: var(--color-font);
}
	}
.region-price-tel-number {
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.66;
	color: #796759;
	color: var(--color-font);
	font-weight: bold;
}
@media (max-width: 599px) {
.region-price-tel-number {
		font-size: 1.23rem;
}
	}
.region-price-tel-arrow {
	flex-shrink: 0;
	width: 1.875rem;
	height: 1.875rem;
	background: center / contain no-repeat url("../images/icon/icon-toggle-sub.svg");
}
.region-price-legend {
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
	margin-top: 1.5rem;
}
/*-------------------------------
セクションリストブロック
-------------------------------*/
.section-list-item {
	background-color: #F2F0EF;
	background-color: var(--color-bg);
}
.section-list-item:nth-child(odd) {
		background-color: #FFFFFF;
		background-color: var(--color-white);
	}
.section-list-item .grid-col {
		display: flex;
		align-items: center;
		gap: 3rem;
		margin-right: calc(50% - 50vw);
		margin-left: 0;
	}
.section-list-item .grid-col .wrap-text {
			flex-basis: 40%;
		}
@media (max-width: 1024px) {
.section-list-item .grid-col .wrap-text {
				padding-right: 10%;
		}
			}
@media (max-width: 599px) {
.section-list-item .grid-col .wrap-text {
				padding-right: 5%;
		}
			}
.section-list-item .grid-col .wrap-img {
			flex-basis: 60%;
			aspect-ratio: 2 / 1;
		}
@media (max-width: 1440px) {
.section-list-item .grid-col .wrap-img {
				aspect-ratio: 3 / 2;
		}
			}
.section-list-item .grid-col .wrap-img img {
				border-radius: 0;
				border-top-left-radius: 20px;
				border-bottom-left-radius: 20px;
			}
@media (max-width: 1024px) {
.section-list-item .grid-col {
			flex-direction: column !important;
			gap: 1.5rem;
	}
		}
.section-list-detail {
	margin-top: 1.5rem;
}
.section-list-detail p,.section-list-detail ul {
		margin: 0.5rem 0;
	}
/*-------------------------------
カラーテーブルブロック
-------------------------------*/
.price-col .wp-block-group__inner-container{
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-gap: 2.5rem;
		gap: 2.5rem;
	}
@media (max-width: 1024px) {
.price-col .wp-block-group__inner-container{
			grid-template-columns:1fr;
			gap: 1.5rem;
	}
		}
.color-table-card {
	border: 1px solid #796759;
	border: 1px solid var(--color-font);
	border-radius: 1.5rem;
	overflow: hidden;
}
.color-table-head {
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
	font-weight: bold;
	text-align: center;
	padding: 0.5rem;
	border-bottom: 1px solid #796759;
	border-bottom: 1px solid var(--color-font);
}
.color-table-row {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 1rem 5%;
	box-sizing: border-box;
	border-bottom: 1px solid #EBCF96;
	border-bottom: 1px solid var(--color-sub);
}
.color-table-row:last-child {
		border-bottom: none;
	}
.color-table-badge {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 7rem;
	border-radius: 999px;
	text-align: center;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
}
.color-table-text p {
		margin: 0;
	}
/*-------------------------------
ポイントリストブロック
-------------------------------*/
.point-list-item {
	border: 1px solid #796759;
	border: 1px solid var(--color-font);
	border-radius: 2rem;
	margin-bottom: 2rem;
	background-color: #FFFFFF;
	background-color: var(--color-white);
}
.point-list-item:last-child {
		margin-bottom: 0;
	}
@media (max-width: 599px) {
.point-list-item {
		padding: 2rem 1.5rem;
}
	}
.point-list-item.has-img {
		display: grid;
		grid-template-columns: 1fr 18rem;
		grid-gap: 2rem;
		gap: 2rem;
		align-items: center;
	}
@media (max-width: 1024px) {
.point-list-item.has-img {
			grid-template-columns: 1fr 0.5fr;
			gap: 1.5rem;
	}
		}
@media (max-width: 599px) {
.point-list-item.has-img {
			grid-template-columns: 1fr;
	}
		}
.point-list-badge {
	display: inline-block;
	background: #FCFAC5;
	background: var(--color-main);
	border-radius: 999px;
	padding: 0.4rem 1.5rem;
	margin-bottom: 1rem;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
}
.point-list-title {
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.66;
	color: #796759;
	color: var(--color-font);
	margin-bottom: 1rem;
}
@media (max-width: 599px) {
.point-list-title {
		font-size: 1.23rem;
}
	}
.point-list-body p {
		margin: 0.5rem 0;
	}
.point-list-body h3{
		font-size: 1rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.875;
		color: #796759;
		color: var(--color-font);
		padding-bottom: 0.3rem;
		margin-top: 1rem;
		position: relative;
	}
.point-list-body h3:after {
			content: '';
			position: absolute;
			bottom: 0;
			left: 0;
			width: 100%;
			max-width: 10rem;
			height: 1px;
			background-color: #796759;
			background-color: var(--color-font)
		}
.point-list-body ul{
		margin: 0.3rem 0;
	}
.point-list-img {
	border-radius: 50%;
	overflow: hidden;
}
@media (max-width: 599px) {
.point-list-img {
		max-width: 80%;
		margin: 0 auto;
}
	}
.cta-btn-only .cta-container{
		background-color: #FFFFFF;
		background-color: var(--color-white);
		padding: 0;
	}
.cta-btn-only .cta-list {
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}
.cta-btn-only .section-title,.cta-btn-only .cta-caption{
		display: none;
	}
.cta-btn-only .cta-list{
		grid-template-columns: 1fr;
	}
.cta-btn-only .cta-list .cta-item:not(.line) {
			display: none;
		}
.cta-btn-only + .contact-container{
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	border-top: 0;
}
.contact-container {
	background-color: #F2F0EF;
	background-color: var(--color-bg);
	border-radius: 2.5rem;
	padding: 4rem 10%;
	border: 1px solid #796759;
	border: 1px solid var(--color-font);
}
@media (max-width: 1024px) {
.contact-container {
		padding: 3rem 7.5%;
		border-radius: 1.5rem;
}
	}
@media (max-width: 599px) {
.contact-container {
		padding: 3rem 5%;
}
	}
.contact-container > .wp-block-group__inner-container > p {
			margin-top: 1rem;
		}
.wpcf7-form {
	margin-top: 2.5rem;
}
.cf-row {
	margin-bottom: 2rem;
}
.cf-inner-label {
	display: grid;
	grid-template-columns: 15rem 1fr;
	align-items: center;
	grid-gap: 1.5rem;
	gap: 1.5rem;
}
@media (max-width: 1024px) {
.cf-inner-label {
		grid-template-columns: 1fr;
		gap: 1rem;
}
	}
.cf-row.cf-cradio,
.cf-row.cf-check {
	display: grid;
	grid-template-columns: 15rem 1fr;
	align-items: center;
	grid-gap: 1.5rem;
	gap: 1.5rem;
}
@media (max-width: 1024px) {
.cf-row.cf-cradio,
.cf-row.cf-check {
		grid-template-columns: 1fr;
		gap: 1rem;
}
	}
.cf-row.cf-cradio .cf-inner-label, .cf-row.cf-check .cf-inner-label {
		display: block;
	}
.cf-label-text {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.required-mark::before {
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
	content: "必須";
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	background-color: #796759;
	background-color: var(--color-font);
	border-radius: 0.4rem;
	padding: 0.2rem 0.7rem;
	color: #FFFFFF;
	color: var(--color-white);
}
.cf-input-field {
	display: block;
}
.cf-input-field .wpcf7-form-control-wrap {
		display: block;
	}
.cf-input-field input[type="text"],
	.cf-input-field input[type="tel"],
	.cf-input-field input[type="email"],
	.cf-input-field textarea {
		display: block;
		width: 100%;
		box-sizing: border-box;
		border: 1px solid #796759;
		border: 1px solid var(--color-font);
		border-radius: 0.5rem;
		padding: 0.8rem 1rem;
		background-color: #FFFFFF;
		background-color: var(--color-white);
		font-family: inherit;
		font-size: 1rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.875;
		color: #796759;
		color: var(--color-font);
	}
.cf-input-field input[type="text"]::-moz-placeholder, .cf-input-field input[type="tel"]::-moz-placeholder, .cf-input-field input[type="email"]::-moz-placeholder, .cf-input-field textarea::-moz-placeholder {
			color: #796759;
			color: var(--color-font);
			font-size: 1rem;
			font-weight: 500;
			letter-spacing: 0.1em;
			line-height: 1.875;
			color: var(--color-font);
			opacity: 0.5;
		}
.cf-input-field input[type="text"]::placeholder, .cf-input-field input[type="tel"]::placeholder, .cf-input-field input[type="email"]::placeholder, .cf-input-field textarea::placeholder {
			color: #796759;
			color: var(--color-font);
			font-size: 1rem;
			font-weight: 500;
			letter-spacing: 0.1em;
			line-height: 1.875;
			color: var(--color-font);
			opacity: 0.5;
		}
@media (max-width: 599px) {
.cf-input-field input[type="text"],
	.cf-input-field input[type="tel"],
	.cf-input-field input[type="email"],
	.cf-input-field textarea {
			font-size: 16px;
	}
		}
.cf-input-field textarea {
		min-height: 12rem;
		resize: vertical;
	}
.wpcf7-radio,
.wpcf7-checkbox {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 2rem;
}
.wpcf7-radio .wpcf7-list-item, .wpcf7-checkbox .wpcf7-list-item {
		margin: 0;
	}
.wpcf7-radio label, .wpcf7-checkbox label {
		display: flex;
		align-items: center;
		gap: 0.5rem;
		cursor: pointer;
	}
.wpcf7-radio input[type="radio"],
	.wpcf7-checkbox input[type="radio"],
	.wpcf7-radio input[type="checkbox"],
	.wpcf7-checkbox input[type="checkbox"] {
		width: 1.1rem;
		height: 1.1rem;
		margin: 0;
		accent-color: #796759;
		accent-color: var(--color-font);
	}
.acceptance-block {
	margin: 2rem 0;
	text-align: center;
}
.acceptance-block .wpcf7-list-item {
		margin: 0;
	}
.acceptance-block label {
		display: flex;
		align-items: center;
		gap: 0.5rem;
		cursor: pointer;
	}
.acceptance-block input[type="checkbox"] {
		width: 1.1rem;
		height: 1.1rem;
		margin: 0;
		accent-color: #796759;
		accent-color: var(--color-font);
	}
.wpcf7-spinner{
	position: absolute;
}
.submitbtn {
	text-align: center;
	margin-top: 2.5rem;
}
.submitbtn .wpcf7-submit {
		font-size: 1rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.875;
		color: #796759;
		color: var(--color-font);
		display: inline-block;
		background-color: #796759;
		background-color: var(--color-font);
		color: #FFFFFF;
		color: var(--color-white);
		border: none;
		border-radius: 999px;
		padding: 0.5rem 6rem;
		box-sizing: border-box;
		cursor: pointer;
		transition: opacity 0.2s;
	}
.submitbtn .wpcf7-submit:hover {
			opacity: 0.8;
		}
.submitbtn .wpcf7-submit:disabled {
			opacity: 0.5;
			cursor: not-allowed;
		}
.wpcf7-response-output {
	margin-top: 1.5rem;
	border-radius: 0.75rem;
	text-align: center;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
}
.single-post-content .slim-width{
		max-width: 50rem;
	}
.single-post-content .page-title{
		text-align: left;
		margin-bottom: 1rem;
	}
.single-post-content .page-title span{
			margin-bottom: 1.5rem;
		}
.single-post-content .post-lead {
		font-size: 1rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.875;
		color: #796759;
		color: var(--color-font);
		margin-bottom: 2rem;
	}
.single-post-content .single-content h1,.single-post-content .single-content h2 {
			font-size: 1.5rem;
			font-weight: 500;
			letter-spacing: 0.1em;
			line-height: 1.66;
			color: #796759;
			color: var(--color-font);
			margin: 3rem 0 1rem;
		}
@media (max-width: 599px) {
.single-post-content .single-content h1,.single-post-content .single-content h2 {
		font-size: 1.23rem;
		}
	}
.single-post-content .single-content h3,.single-post-content .single-content h4,.single-post-content .single-content h5,.single-post-content .single-content h6{
			font-size: 1.125rem;
			font-weight: 500;
			letter-spacing: 0.05em;
			line-height: 1.875;
			color: #796759;
			color: var(--color-font);
			margin: 2rem 0 1rem;
		}
.single-post-content .single-content ul, .single-post-content .single-content ol, .single-post-content .single-content img, .single-post-content .single-content p, .single-post-content .single-content iframe {
			margin: 1rem 0;
		}
.single-post-content .single-content ul li, .single-post-content .single-content ol li {
				line-height: 1.6;
				margin: 5px 0;
			}
.single-pagination {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 5rem;
}
@media (max-width: 599px) {
.single-pagination {
		margin-top: 60px;
}
	}
.single-pagination .prev, .single-pagination .home, .single-pagination .next {
		flex: 1 1 0;
		min-width: 0;
	}
.single-pagination .prev a, .single-pagination .next a {
			display: flex;
			align-items: center;
			gap: 0.5rem;
		}
@media (max-width: 599px) {
.single-pagination .prev a, .single-pagination .next a {
				gap: 5px;
		}
			}
.single-pagination .prev a {
			justify-content: flex-start;
		}
.single-pagination .prev a:before {
				content: "";
				display: inline-block;
				flex-shrink: 0;
				width: 0.5rem;
				height: 0.5rem;
				border-top: 1.5px solid #796759;
				border-top: 1.5px solid var(--color-font);
				border-left: 1.5px solid #796759;
				border-left: 1.5px solid var(--color-font);
				transform: rotate(-45deg);
			}
.single-pagination .home {
		text-align: center;
	}
.single-pagination .home a {
			-webkit-text-decoration: underline;
			text-decoration: underline;
		}
.single-pagination .next {
		text-align: right;
	}
.single-pagination .next a {
			justify-content: flex-end;
		}
.single-pagination .next a:after {
				content: "";
				display: inline-block;
				flex-shrink: 0;
				width: 0.5rem;
				height: 0.5rem;
				border-top: 1.5px solid #796759;
				border-top: 1.5px solid var(--color-font);
				border-right: 1.5px solid #796759;
				border-right: 1.5px solid var(--color-font);
				transform: rotate(45deg);
			}
.fv-container {
	position: relative;
	min-height: 100vh;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	z-index: 0;
	overflow: hidden;
}
@media (max-width: 1024px) {
.fv-container {
		min-height: 0;
		padding: 6rem 0 3rem;
}
	}
.fv-container::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background: url("../images/bg_texture.png") repeat;
		z-index: -2;
	}
.fv-decor {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100vw;
	margin-left: -50vw;
	opacity: 0.8;
	pointer-events: none;
	z-index: -1;
}
.fv-decor svg {
		display: block;
		width: 100%;
		-o-object-fit: contain;
		   object-fit: contain;
	}
@media (max-width: 1024px) {
.fv-decor svg {
			width: auto;
			height: 80%;
	}
		}
@media (prefers-reduced-motion: no-preference) {
		.fv-decor .blob {
			animation: blob-float 8s ease-in-out infinite;
		}
		.fv-decor .blob-1 {
			animation-duration: 7s;
		}
		.fv-decor .blob-2 {
			animation-duration: 9s;
			animation-delay: -2s;
		}
		.fv-decor .blob-3 {
			animation-duration: 8s;
			animation-delay: -4s;
		}
		.fv-decor .blob-4 {
			animation-duration: 10s;
			animation-delay: -1s;
		}
		.fv-decor .blob-5 {
			animation-duration: 9s;
			animation-delay: -5s;
		}
		.fv-decor .blob-6 {
			animation-duration: 7.5s;
			animation-delay: -3s;
		}
	}
@keyframes blob-float {
	0%, 100% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(25px, -30px);
	}
}
.fv-inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
@media (max-width: 1024px) {
.fv-inner {
		gap: 0;
		flex-direction: column;
		padding: 1rem 0 2rem;
		box-sizing: border-box;
}
	}
.fv-text {
	flex: 1 1 50%;
}
@media (max-width: 1024px) {
.fv-text {
		display: contents;
}
	}
.fv-catch {
	font-size: 2.5rem;
	font-weight: 400;
	letter-spacing: 0.2em;
	line-height: 1.8;
	color: #796759;
	color: var(--color-font);
	font-size: 2.2rem;
	width: 100%;
}
@media (max-width: 599px) {
.fv-catch {
		font-size: 1.8rem;
		letter-spacing: 0.15em;
}
	}
@media (max-width: 1440px) {
.fv-catch {
		font-size: 1.8rem;
}
	}
@media (max-width: 1024px) {
.fv-catch {
		order: 1;
}
	}
@media(max-width: 599px){
.fv-catch {
		font-size: 1.7rem;
		letter-spacing: 0.05em;
}
	}
.fv-message {
	margin-top: 1.5rem;
	max-width: 35rem;
}
@media (max-width: 1024px) {
.fv-message {
		order: 2;
		max-width: 100%;
		margin: 1rem 0;
}
	}
.fv-btn {
	margin-top: 2.5rem;
}
@media(max-width: 1024px){
.fv-btn {
		justify-content: center;
		order: 4;
		margin-top: 1.5rem;
}
	}
.fv-image {
	position: relative;
	flex: 1 1 50%;
}
@media (max-width: 1024px) {
.fv-image {
		width:70%;
		order: 3;
}
	}
.fv-image svg[width="0"] {
		position: absolute;
		width: 0;
		height: 0;
	}
.fv-slides {
	position: relative;
	width: 100%;
	aspect-ratio: 560.58 / 511.68;
}
.fv-slide {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	clip-path: url(#fv-blob-clip);
	opacity: 0;
	transition: opacity 1.8s ease;
}
.fv-slide.is-active {
		opacity: 1;
	}
.fv-mask-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
}
.fv-mask-overlay svg {
		display: block;
		width: 100%;
		height: 100%;
	}
.fv-mask-overlay .fv-mask-blob {
		display: none;
	}
.about-container {
	position: relative;
}
.about-inner {
	display: flex;
	flex-direction: column;
	gap: 3rem;
}
@media (max-width: 1024px) {
.about-inner {
		gap: 1.5rem;
}
	}
.about-inner .section-title{
		margin-bottom: 2rem;
	}
.grid-col{
	display: grid;
	grid-template-columns: 1fr 0.9fr;
	grid-gap: 5rem;
	gap: 5rem;
	align-items: center;
}
@media (max-width: 1024px) {
.grid-col{
		grid-template-columns: 1fr;
		gap: 3rem;
}
	}
.top-about-col{
	align-items: end;
}
.top-about-col .about-desc p + p{
			margin-top: 1rem;
		}
@media (max-width: 1024px) {
.top-about-col .wrap-img{
			aspect-ratio: 16 / 9;
	}
		}
@media (max-width: 1024px) {
.top-about-col .wrap-img img{
				width: 80%;
		}
			}
.gallery-col {
	display: grid;
	grid-template-columns: 0.8fr 1fr;
	grid-gap: 3rem 4rem;
	gap: 3rem 4rem;
	align-items: center;
}
@media (max-width: 1024px) {
.gallery-col {
		gap: 1rem;
		align-items: flex-start;
}
	}
.wrap-img img, .about-gallery-left img, .about-gallery-right img {
		display: block;
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
		border-radius: 2rem;
	}
.wrap-img {
	aspect-ratio: 4 / 3;
}
.about-gallery-left {
	aspect-ratio: 3 / 4;
}
.about-gallery-right {
	aspect-ratio: 16 / 9;
}
@media (max-width: 1024px) {
.about-gallery-right {
		aspect-ratio: 4 / 3;
}
	}
.plans-container{
	overflow: hidden;
}
.plans-desc {
	margin-top: 1.5rem;
	max-width: 70%;
	margin-bottom: 2rem;
}
@media (max-width: 1024px) {
.plans-desc {
		max-width: 100%;
}
	}
.column-block-list {
	display: flex;
	flex-direction: column;
	gap: 3.5rem;
}
@media (max-width: 1024px) {
.column-block-list {
		gap: 2.5rem;
}
	}
.col-wrap {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 3rem;
}
.col-wrap .col-text{
		flex-basis: 40%;
	}
.col-wrap .col-img{
		flex-basis: 60%;
		aspect-ratio: 2 / 1;
	}
@media (max-width: 1440px) {
.col-wrap .col-img{
			aspect-ratio: 3 / 2;
	}
		}
.col-wrap .col-img img{
			display: block;
			width: 100%;
			height: 100%;
			-o-object-fit: cover;
			   object-fit: cover;
		}
.col-wrap:nth-child(odd) {
		margin-right: calc(50% - 50vw);
		margin-left: 0;
	}
@media (max-width: 1024px) {
.col-wrap:nth-child(odd) .col-text{
				padding-right: 10%;
		}
			}
@media (max-width: 599px) {
.col-wrap:nth-child(odd) .col-text{
				padding-right: 5%;
		}
			}
.col-wrap:nth-child(odd) img{
			border-top-left-radius: 20px;
			border-bottom-left-radius: 20px;
		}
.col-wrap:nth-child(even) {
		margin-left: calc(50% - 50vw);
		margin-right: 0;
		flex-direction: row-reverse;
	}
@media (max-width: 1024px) {
.col-wrap:nth-child(even) .col-text{
				padding-left: 10%;
		}
			}
@media (max-width: 599px) {
.col-wrap:nth-child(even) .col-text{
				padding-left: 5%;
		}
			}
.col-wrap:nth-child(even) img{
			border-top-right-radius: 20px;
			border-bottom-right-radius: 20px;
		}
.is-reverse .col-wrap {
		margin-left: calc(50% - 50vw);
		margin-right: 0;
		flex-direction: row-reverse;
	}
.is-reverse .col-wrap .col-text{
			padding-right: 0;
		}
@media (max-width: 1024px) {
.is-reverse .col-wrap .col-text{
				padding-left: 10%;
		}
			}
@media (max-width: 599px) {
.is-reverse .col-wrap .col-text{
				padding-left: 5%;
		}
			}
.is-reverse .col-wrap img{
			border-top-left-radius: 0;
			border-bottom-left-radius: 0;
			border-top-right-radius: 20px;
			border-bottom-right-radius: 20px;
		}
.col-wrap .btn-normal{
		margin-bottom: 1rem;
	}
@media (max-width: 1024px) {
.col-wrap {
		flex-direction: column!important;
		gap: 1.5rem;
		box-sizing: border-box;
}
	}
.home .col-wrap .col-img{
			aspect-ratio: 2 / 1;
		}
@media (max-width: 1440px) {
.home .col-wrap .col-img{
				aspect-ratio: 3 / 2;
		}
			}
.text-pill,
.section-list-detail > h3 {
	display: inline-block;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
	background: #FFFFFF;
	background: var(--color-white);
	border: 1px solid #796759;
	border: 1px solid var(--color-font);
	border-radius: 999px;
	padding: 0.3rem 2rem;
	box-sizing: border-box;
}
@media (max-width: 1024px) {
.text-pill,
.section-list-detail > h3 {
		padding: 0.2rem 2rem;
}
	}
.plans-container .text-pill{
		background: #FCFAC5;
		background: var(--color-main);
	}
.col-text h3 {
	border-bottom: 1px solid #796759;
	border-bottom: 1px solid var(--color-font);
	padding-bottom: 0.5rem;
	margin-bottom: 0.7rem;
	margin-top: 1rem;
}
.plans-btn {
	justify-content: center;
	margin-top: 4rem;
}
.shift-columns {
	display: flex;
	align-items: flex-start;
}
@media (max-width: 1440px) {
.shift-columns {
		align-items: center;
}
	}
@media (max-width: 1024px) {
.shift-columns {
		flex-direction: column;
}
	}
.shift-columns .shift-img {
		flex: 1 1 55%;
	}
.shift-columns .shift-img img {
			display: block;
			width: 100%;
			aspect-ratio: 1.5 / 1;
			border-radius: 2rem;
			-o-object-fit: cover;
			   object-fit: cover;
		}
@media (max-width: 1440px) {
.shift-columns .shift-img img {
				aspect-ratio: 1 / 1;
		}
			}
@media (max-width: 1024px) {
.shift-columns .shift-img img {
				aspect-ratio: 3 / 2;
		}
			}
.shift-columns .wrap-card {
		flex: 1 1 55%;
		margin-left: -2rem;
		margin-top: 1rem;
		background: #FFFFFF;
		background: var(--color-white);
		border: 1.5px solid #796759;
		border: 1.5px solid var(--color-font);
		border-radius: 2rem;
		padding: 3rem;
		box-sizing: border-box;
	}
@media (max-width: 1024px) {
.shift-columns .wrap-card {
			margin-left: 0;
			margin-top: -1rem;
			padding: 2rem 5%;
	}
		}
@media (max-width: 599px) {
.shift-columns .wrap-card {
			padding: 2rem;
	}
		}
.shift-columns .wrap-card h3, .shift-columns .wrap-card h4 {
			padding-bottom: 0.5rem;
			margin-bottom: 1rem;
			border-bottom: 1px solid #796759;
			border-bottom: 1px solid var(--color-font);
		}
.shift-columns .wrap-card p {
			margin-top: 1rem;
		}
.shift-columns .wrap-card ul, .shift-columns .wrap-card ol {
			margin-top: 1rem;
			padding-left: 0;
		}
.shift-columns .wrap-card ul li, .shift-columns .wrap-card ol li {
				list-style: none;
			}
.shift-columns .wrap-card ul li::before, .shift-columns .wrap-card ol li::before {
					content: "・";
				}
.seminar-container .wrap-card p > strong{
			border: 1px solid #796759;
			border: 1px solid var(--color-font);
			padding: 0.1rem 1rem;
			border-radius: 300px;
			box-sizing: border-box;
		}
.seminar-container .wrap-card ul{
			margin: 0;
			margin-top: 0.5rem;
			}
.seminar-btns {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin-top: 3rem;
}
.seminar-btn a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 2rem;
		width: -moz-max-content;
		width: max-content;
		background: #FFFFFF;
		background: var(--color-white);
		border: 1.5px solid #796759;
		border: 1.5px solid var(--color-font);
		border-radius: 300px;
		padding: 1rem 5rem;
		box-sizing: border-box;
		position: relative;
	}
.seminar-btn a img {
			position: absolute;
			top: 50%;
			right: 1rem;
			transform: translateY(-50%);
			width: 1.5rem;
			height: 1.5rem;
			-o-object-fit: contain;
			   object-fit: contain;
		}
.section-grid {
	display: grid;
	grid-template-columns: 25rem 1fr;
	grid-template-rows: min-content 1fr;
	grid-template-areas:
		"title list"
		"link list";
	grid-gap: 1rem 3rem;
	gap: 1rem 3rem;
	align-items: start;
}
@media (max-width: 1440px) {
.section-grid {
		gap: 1rem 2rem;
}
	}
@media (max-width: 1024px) {
.section-grid {
		grid-template-columns: 1fr;
		grid-template-areas:
			"title"
			"list"
			"link";
		gap: 0;
}
	}
.section-grid .section-title {
		grid-area: title;
	}
.section-grid .faq-list,
	.section-grid .news-list {
		grid-area: list;
	}
.section-grid .section-link {
		grid-area: link;
	}
@media (max-width: 1024px) {
.section-grid .section-link {
			justify-self: center;
	}
		}
.section-grid .btn-normal{
		margin-top: 0;
	}
@media (max-width: 1024px) {
.section-grid .btn-normal{
			margin-top: 3rem;
	}
		}
.faq-list {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
.faq-item {
	background: #FFFFFF;
	background: var(--color-white);
	border: 1px solid #796759;
	border: 1px solid var(--color-font);
	border-radius: 1rem;
	padding: 1rem 2rem;
	box-sizing: border-box;
}
@media (max-width: 599px) {
.faq-item {
		padding: 1.25rem 5%;
}
	}
.faq-item summary {
		display: flex;
		align-items: center;
		gap: 0.75rem;
		cursor: pointer;
		list-style: none;
	}
.faq-item summary::-webkit-details-marker {
			display: none;
		}
.faq-item summary::before {
			content: "";
			flex-shrink: 0;
			width: 0.5rem;
			height: 0.5rem;
			border-right: 1.5px solid #796759;
			border-right: 1.5px solid var(--color-font);
			border-bottom: 1.5px solid #796759;
			border-bottom: 1.5px solid var(--color-font);
			transform: rotate(-45deg);
			transition: transform 0.2s ease;
		}
.faq-item[open] summary::before {
		transform: rotate(45deg);
	}
.faq-answer {
	display: flow-root;
	margin-top: 0.5rem;
	padding-left: 1.5rem;
}
.faq-answer .faq-mark {
		float: left;
		margin-right: 0.5rem;
	}
.faq-answer .faq-answer-body p {
			margin: 0;
		}
.review-list {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}
.review-item {
	background: #FFFFFF;
	background: var(--color-white);
	border: 1.5px solid #796759;
	border: 1.5px solid var(--color-font);
	border-radius:2rem;
	padding: 2.5rem;
	box-sizing: border-box;
}
@media (max-width: 599px) {
.review-item {
		padding: 1.5rem;
}
	}
.review-item h3 {
		font-size: 1.125rem;
		font-weight: 500;
		letter-spacing: 0.05em;
		line-height: 1.875;
		color: #796759;
		color: var(--color-font);
		padding-bottom: 0.5rem;
		margin-bottom: 0.5rem;
		border-bottom: 1px solid #796759;
		border-bottom: 1px solid var(--color-font);
	}
.review-head {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1rem;
}
@media (max-width: 599px) {
.review-head {
		margin-bottom: 0.5rem;
}
	}
.review-icon {
	flex-shrink: 0;
}
.review-icon img {
		display: block;
		width: 4rem;
		height: 4rem;
	}
.review-badge {
	display: inline-block;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
	border: 1px solid #796759;
	border: 1px solid var(--color-font);
	border-radius: 300px;
	padding: 0.3rem 1.5rem;
	box-sizing: border-box;
}
.news-item {
	border-bottom: 1px solid #796759;
	border-bottom: 1px solid var(--color-font);
}
.news-item a {
		display: block;
		padding: 1rem 0;
	}
.news-date {
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
	display: block;
}
.news-title {
	display: block;
	margin-top: 0.3rem;
}
.slide-container {
	position: relative;
}
.slide-scroller {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.slide-scroller::-webkit-scrollbar {
		display: none;
	}
.slide-item {
	flex: 0 0 100%;
	scroll-snap-align: start;
}
.slide-catchcopy {
	position: absolute;
	left: 0;
	bottom: 40px;
	width: 100%;
	text-align: center;
	pointer-events: none;
}
.cta-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	border: 1px solid #796759;
	border: 1px solid var(--color-font);
	border-radius: 2rem;
	overflow: hidden;
}
@media (max-width: 1024px) {
.cta-list {
		grid-template-columns: 1fr;
}
	}
.cta-caption {
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
	margin-top: 1.5rem;
	text-align: center;

}
@media (max-width: 1024px) {
.cta-caption {
		text-align:left;

}
	}
.cta-item {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	padding: 2.5rem 1rem;
	box-sizing: border-box;
	border-right: 1px solid #796759;
	border-right: 1px solid var(--color-font);
	background-color: #FFFFFF;
	background-color: var(--color-white);
}
@media (max-width: 1024px) {
.cta-item {
		border-right: 0;
		border-bottom: 1px solid #796759;
		border-bottom: 1px solid var(--color-font);
		flex-direction: column;
		justify-content: flex-start;
		text-align: center;
		gap: 1.25rem;
		padding: 1.8rem 1rem 1.5rem;
}
	}
.cta-item:last-child{
		border-right: 0;
	}
@media (max-width: 1024px) {
.cta-item:last-child{
			border-bottom: 0;
	}
		}
.cta-item:first-child:nth-last-child(3) {
		grid-column: 1 / -1;
	}
.cta-item:first-child:nth-last-child(1) {
		grid-column: 1 / -1;
	}
.cta-item.tel{
		background-color: #FCFAC5;
		background-color: var(--color-main);
	}
.cta-item.mail{
		background-color: #796759;
		background-color: var(--color-font);
	}
.cta-item.mail .cta-text,
		.cta-item.mail .cta-text > span{
			color: #FFFFFF;
			color: var(--color-white);
		}
.cta-icon {
	flex-shrink: 0;
}
.cta-icon img {
		display: block;
		width: 4rem;
		height: 4rem;
		-o-object-fit: contain;
		   object-fit: contain;
	}
@media (max-width: 599px) {
.cta-icon {
		width: 3rem;
		height: 3rem;
}
	}
.cta-text {
	display: flex;
	flex-direction: column;
}
@media (max-width: 1024px) {
.cta-text {
		align-items: center;
}
	}
.cta-sub {
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.875;
	color: #796759;
	color: var(--color-font);
}
.cta-title {
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.66;
	color: #796759;
	color: var(--color-font);
}
@media (max-width: 599px) {
.cta-title {
		font-size: 1.23rem;
}
	}
.cta-toggle {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	width: 2.5rem;
	height: 2.5rem;
	-o-object-fit: contain;
	   object-fit: contain;
}
.gallery-slider {
	overflow: hidden;
	width: 100%;
}
.gallery-track {
	display: flex;
	width: -moz-max-content;
	width: max-content;
	gap: 0.5rem;
	animation: gallery-scroll 40s linear infinite;
	will-change: transform;
}
.gallery-slider:not(.is-inview) .gallery-track {
	animation-play-state: paused;
}
@media (prefers-reduced-motion: reduce) {
	.gallery-track {
		animation: none;
	}
}
.gallery-slide {
	flex: 0 0 auto;
	width: 20rem;
	aspect-ratio: 1 / 1.3;
}
.gallery-slide img {
		display: block;
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
	}
@media (max-width: 1024px) {
.gallery-slide {
		width: 16rem;
}
	}
@media (max-width: 599px) {
.gallery-slide {
		width: 12rem;
}
	}
@keyframes gallery-scroll {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}
.text-list-block .wp-block-group + .wp-block-group{
		margin-top: 0.5rem;
	}
.text-list-block .wp-block-group{
		gap: 2rem;
	}
@media (max-width: 1024px) {
.text-list-block .wp-block-group{
			gap: 1rem;
	}
		}
@media (max-width: 599px) {
.text-list-block .wp-block-group{
			gap: 0;
	}
		}
.pages-head-container {
	position: relative;
}
.pages-head-container:has(.pages-head-thumb, .pages-head-text) {
	margin-bottom: 4rem;
}
.pages-head-thumb {
	position: relative;
}
.pages-head-thumb img {
		display: block;
		width: 100%;
		aspect-ratio: 2.5 / 1;
		-o-object-fit: cover;
		   object-fit: cover;
	}
@media (max-width: 1024px) {
.pages-head-thumb img {
			aspect-ratio: 16 / 9;
	}
		}
@media (max-width: 599px) {
.pages-head-thumb img {
			aspect-ratio: 4 / 3;
	}
		}
.pages-head-thumb::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		background: rgba(0, 0, 0, 0.2);
		pointer-events: none;
	}
.pages-head-title {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #FFFFFF;
	color: var(--color-white);
	padding: 1rem;
	box-sizing: border-box;
}
.pages-head-text {
	position: relative;
	z-index: 1;
	margin: 0 7%;
	background: #FFFFFF;
	background: var(--color-white);
	border: 1.5px solid #796759;
	border: 1.5px solid var(--color-font);
}
@media (max-width: 1024px) {
.pages-head-text {
		margin: 0;
}
	}
.pages-head-text h2 {
		text-align: center;
		margin-bottom: 1rem;
		font-size: 1.5rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.66;
		color: #796759;
		color: var(--color-font);
	}
@media (max-width: 599px) {
.pages-head-text h2 {
		font-size: 1.23rem;
	}
	}
.pages-head-text.is-overlap {
		margin-top: -1.5rem;
	}
.pages-head-thumb > img,
.pages-head-thumb::before,
.pages-head-text{
	border-radius: 2rem;
}
@media (max-width: 1024px) {
.pages-head-thumb > img,
.pages-head-thumb::before,
.pages-head-text{
		border-radius: 1.5rem;
}
	}
.about-i-block .grid-col{
		align-items: center;
	}
@media (max-width: 1024px) {
		.about-i-block .section-title {
			margin-bottom: 1.5rem;
		}
		.about-i-block .btn-normal{
			margin-top: 1.5rem;
		}
	}
.circle-img-list{
	text-align: center;
	gap: 1rem;
}
@media (max-width: 1024px) {
.circle-img-list{
		display: grid!important;
		grid-template-columns: 1fr 1fr;
}
	}
body.privacy-policy h2{
		font-size: 1.5rem;
		font-weight: 500;
		letter-spacing: 0.1em;
		line-height: 1.66;
		color: #796759;
		color: var(--color-font);
		margin-top: 1.5rem;
		margin-bottom: 1rem;
	}
@media (max-width: 599px) {
body.privacy-policy h2{
		font-size: 1.23rem;
	}
	}
.main-footer {
	background: #FFFFFF;
	background: var(--color-white);
}
.main-footer .footer-wrap {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 1rem;
		width: 90%;
		max-width: 1440px;
		margin: 0 auto;
		padding: 3rem 0;
		box-sizing: border-box;
	}
@media (max-width: 1024px) {
.main-footer .footer-wrap {
			flex-direction: column;
	}
		}
@media (max-width: 599px) {
.main-footer .footer-wrap {
			padding: 2rem 0;
	}
		}
.main-footer .footer-wrap .footer-main .footer-logo {
				margin-bottom: 1rem;
			}
.main-footer .footer-wrap .footer-main .footer-logo img {
					width: 11rem;
					height: auto;
				}
.main-footer .footer-wrap .footer-main .footer-title {
				margin-top: 12px;
			}
.main-footer .footer-wrap .footer-main .footer-address,
			.main-footer .footer-wrap .footer-main .footer-tel {
				font-size: 0.875rem;
				font-weight: 500;
				letter-spacing: 0.1em;
				line-height: 1.875;
				color: #796759;
				color: var(--color-font);
			}
.main-footer .footer-wrap .footer-main .footer-map {
				margin-top: 8px;
			}
.main-footer .footer-wrap .footer-main .footer-caption {
				font-size: 0.75rem;
				font-weight: 500;
				letter-spacing: 0.1em;
				line-height: 1.875;
				color: #796759;
				color: var(--color-font);
				margin-top: 16px;
			}
.main-footer .footer-wrap .footer-nav ul {
				display: grid;
				grid-template-columns: 1fr;
				grid-gap: 0.3rem;
				gap: 0.3rem;
			}
.main-footer .footer-wrap .footer-nav ul li {
					text-align: right;
				}
@media (max-width: 1024px) {
.main-footer .footer-wrap .footer-nav ul li {
						text-align: left;
				}
					}
.main-footer .footer-wrap .footer-nav ul li a {
						font-size: 0.75rem;
						font-weight: 500;
						letter-spacing: 0.1em;
						line-height: 1.875;
						color: #796759;
						color: var(--color-font);
						-webkit-text-decoration: underline;
						text-decoration: underline;
						display: block;
					}
.main-footer .footer-wrap .footer-link {
			margin: 0.7rem 0;
		}
@media(max-width: 1024px){
.main-footer .footer-wrap .footer-link {
				margin: 1rem 0;
		}
			}
.main-footer .footer-wrap .footer-link ul {
				display: flex;
				justify-content: flex-end;
				gap: 1rem;
			}
@media(max-width: 1024px){
.main-footer .footer-wrap .footer-link ul {
					justify-content: center;
			}
				}
.main-footer .footer-wrap .footer-link ul li a {
						display: flex;
						gap: 8px;
					}
.main-footer .footer-wrap .footer-link ul li img {
						width: 1.2rem;
						height: 1.2rem;
					}
.main-footer .footer-wrap .footer-copy {
			width: 100%;
			text-align: right;
		}
@media(max-width: 1024px){
.main-footer .footer-wrap .footer-copy {
				text-align: center;
		}
			}
.main-footer .footer-wrap .footer-copy small {
				font-size: 0.75rem;
				font-weight: 500;
				letter-spacing: 0.1em;
				line-height: 1.875;
				color: #796759;
				color: var(--color-font);
				display: block;
			}
.page-404 {
	text-align: center;
}
.page-404 .page-404-text {
		margin-top: 20px;
	}
.page-404 .icon-btn a {
			margin: 0 auto;
		}

/*# sourceMappingURL=main.css.map */
