:root {
	--base-gap: 2em;
	--vk-color-text-link-hover: #5f6a4c;
	--color-pastel01: #ebece8;
	--color_main: var(--vk-color-primary);
	--font-serif: 'Noto Sans Serif', serif;
	--mobile-width: 425px;
}
a, a img {
	transition: all .25s;
}
a {
	color: var(--vk-color-primary);
}
.menu-item a {
	color: inherit;
}
li:not(.menu-item) a, p a {
	text-decoration-color: var(--vk-color-primary);
}

/* common */
.font-serif {
	font-family: var(--font-serif);
}
.home .site-body-container {
	padding-right: 0;
	padding-left: 0;
}
.page .site-body {
	padding-bottom: 0;
}
.page .main-section {
	margin-bottom: 0;
}
.fullwide {
	position: relative;
	width: 100vw;
	left: 50%;
	transform: translateX(-50%);
}
.content-inner {
	position: relative;
}
.wrapper:not(.fullwide) .content-inner {
	padding-right: 24px;
	padding-left: 24px;
}
.wp-block-cover .wp-block-cover__inner-container {
	max-width: 100% !important;
}
.gap-0 {
	gap: 0;
}
.page-header {
	background-image: url(/wp-content/uploads/2025/07/mv-pc.jpg);
}
.page-header:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, .7);
}
.page-header-title {
	color: #333;
	font-family: var(--font-serif);
}
.has-bg-base {
	background-color: var(--color-pastel01);
}
.has-bg-gray {
	background-color: #f4f4f4;
}
.vk_faq .vk_faq_title:before {
	background-color: var(--vk-color-primary) !important;
	border: 1px solid var(--vk-color-primary) !important;
	color: #fff !important;
}
.vk_faq .vk_faq_content:before {
	border: 1px solid var(--vk-color-primary) !important;
	color: var(--vk-color-primary) !important;
}
.archive-header-title,
aside .sub-section-title {
	font-family: var(--font-serif);
}
.global-nav-list .sub-menu li a:focus-within,
.global-nav-list .sub-menu li a:hover {
	background-color: var(--vk-color-primary-dark);
}

/* -- TOPへ戻るボタン */
.page_top_btn {
	width: 48px;
	height: 48px;
	background-color: rgba(255, 255, 255, .8);
	border: 1.5px solid var(--vk-color-primary);
	border-radius: 50%;
	box-shadow: none;
}
.page_top_btn:before {
	content: "\f077";
	position: absolute;
	width: 1em;
	height: 1em;
	font-family: 'Font Awesome 6 Free';
	font-weight: 900;
	color: var(--vk-color-primary);
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

/* home */
/* -- mv */
.mv-wrapper .content-inner {
	max-width: 100%;
}
.mv-txt-container {
	position: absolute;
	background-color: rgba(0, 0, 0, .25);
	color: #fff;
	text-shadow: rgba(0, 0, 0, .25) 2px 2px 4px;
	left: 0;
	bottom: 0;
}

/* -- news */
.p-card-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--base-gap);
}
.p-card a {
	color: #333;
}
.p-card a:hover {
	color: var(--vk-color-text-link-hover);
}
.p-card-thumb {
	margin-bottom: 0;
	background-color: #fff;
}
.p-card a:hover img {
	opacity: 0.8;
}
.p-card-thumb img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.p-card-info {
	padding: 1.5em;
	background-color: #fff;
}
.p-card-date {
	display: block;
	margin-bottom: 0.25rem;
}
.p-card-cats {
	margin-bottom: 0.5rem;
}
.p-card-cat {
	display: inline-block;
	margin-right: 0.25rem;
	padding: 0.25rem;
	color: #fff;
	font-size: 0.9rem;
	line-height: 1;
}
.p-card-cat.cat-event {
	background-color: #CF7600;
}
.p-card-cat:not(.cat-event) {
	background-color: var(--wp--preset--color--vk-color-primary);
}
.p-card-title {
	font-size: 1.15em;
}

/* l-store */
.store-info-table {
	max-width: 720px;
	margin: 0 auto;
}
.vk-table--th--bg-bright :where(tr>*:first-child) {
	background-color: var(--wp--preset--color--vk-color-custom-2);
}

/* l-contact */
form:has(.contact-field) {
	margin-bottom: 0;
}
::placeholder {
	color: #CBCBCA;
}
.contact-field {
	max-width: 640px;
	margin: 0 auto;
}
.field-head {
	margin-bottom: 1em;
}
.input-field {
	margin-bottom: 1.5em;
}
.contact-field :is(.required, .option) {
	display: inline-block;
	margin-right: 0.5rem;
	padding: 0 0.5rem;
	border-radius: 2px;
}
.contact-field .required {
	background-color: var(--color_main);
	color: #fff;
}
.contact-field .option {
	border: 1px solid var(--color_main);
	color: var(--color_main);
}
.contact-field :is(input, textarea) {
	width: 100%;
	background-color: #fff;
	border-radius: 4px;
}
.contact-field .wpcf7-form-control:not(.wpcf7-radio, .wpcf7-acceptance) :is(input, textarea, select):focus {
	border: 1px solid transparent;
	outline: 2px solid var(--color_main) !important;
}
.wpcf7-list-item.first {
	margin: 0;
}
.contact-field .wpcf7-radio label {
	display: flex;
}
.contact-field .wpcf7-radio input {
	width: initial;
	margin: 0 0.5rem 0 0;
	accent-color: var(--color_main);
}
.contact-field .privacy-policy-check {
	margin-top: 1rem;
	text-align: center;
}
.contact-field .privacy-policy-check .wpcf7-list-item {
	margin: 0;
}
.contact-field .privacy-policy-check input {
	width: auto;
}
.contact-field .submit-btn {
	margin: 2rem auto 0;
}
.contact-field .submit-btn p {
	position: relative;
	margin-bottom: 0;
}
.contact-field .submit-btn input[type="submit"] {
	border: 1px solid var(--color_main);
	border-radius: 80px;
	color: var(--color_main);
	letter-spacing: 2px;
	text-indent: 2px;
	transition: background-color .25s;
}
.contact-field .submit-btn .wpcf7-spinner {
	position: absolute;
}
.contact-field .submit-btn input:hover {
	background-color: var(--color_main);
	border-color: transparent;
	color: #fff;
}
.wpcf7 form .wpcf7-response-output {
	max-width: 640px;
	margin: 2em auto 0;
}
/* -- Cloudflare Turnstile */
.wpcf7-turnstile {
	width: fit-content;
	margin: 0 auto 3em;
}

/* l-privacy-policy */
.privacy-policy h2 {
	font-family: var(--font-serif);
}
.pp-container .wp-block-list li::marker {
	color: var(--color_main);
	font-weight: 700;
}
.pp-container .wp-block-list ol {
	margin-top: 1em;
}

/* footer */
.home .site-body-bottom .cta-wrapper {
	margin-top: 0 !important;
}

@media (max-width:959px) {
	/* common */
	.content-inner {
		max-width: var(--mobile-width);
		margin: 0 auto;
	}
	.page-header {
		min-height: 10em;
		background-position: 50% 18%;
		background-size: 180%;
	}
	.txt-left-sp {
		text-align: left !important;
	}
	.txt-center-sp {
		text-align: center !important;
	}
	.wp-block-columns.sp-column-2 > .wp-block-column {
		flex-basis: calc(50% - 1em) !important;
	}
	
	/* -- mv */
	.mv-txt-container {
		max-width: 100%;
		padding: 1.5em;
	}
	.mv-main {
		font-size: 2.5em;
	}
	.mv-sub {
		font-size: 1.35em;
	}
	.mv-txt {
		font-size: 1.05em;
	}
	
	/* header */
	.vk-mobile-nav-menu-btn {
		border: none !important;
	}
	
	/* -- news */
	.p-card {
		width: 100%;
	}
	
	/* l-contact */
	.contact-field .wpcf7-radio .wpcf7-list-item {
		width: 100%;
		margin: 0;
	}
	.contact-field .wpcf7-radio input {
		position: relative;
		top: 0.375em;
	}
	.contact-field .submit-btn {
		max-width: 240px;
	}
	
	/* footer */
	.site-footer-content .row {
		max-width: var(--mobile-width);
		margin: 0 auto;
		gap: var(--base-gap);
	}
	.site-footer-content .row > * {
		max-width: 100%;
		flex: initial;
	}
}

@media (min-width:425px) and (max-width:959px) {
	
}

@media (min-width:960px) {
	/* common */
	.page-header {
		min-height: 18em;
		background-position: 50% 18%;
		background-size: cover;
	}
	
	/* -- mv */
	.mv-img img {
		height: 720px;
	}
	.mv-txt-container {
		padding: 1.5rem 2.5rem;
	}
	.mv-main {
		font-size: 3.5rem;
	}
	.mv-sub {
		font-size: 2rem;
	}
	.mv-txt {
		font-size: 1.75rem;
	}
	
	/* -- worry */
	.worry-txt-column {
		padding: 3em;
	}
	
	/* -- news */
	.p-card {
		width: calc(calc(100% / 3) - var(--base-gap) * 2 / 3);
	}
	.p-card-info {
		min-height: 153.25px;
	}
	
	/* l-contact */
	.contact-field .submit-btn {
		width: 240px;
	}
	
}