/*
Theme Name: 最善
Template: lightning
Author: 株式会社 FEAT.
Version: 0.6.1
*/

/*
font-family: "Zen Maru Gothic", sans-serif;
*/

/***********************************
 * 共通
************************************/
:root {
	--header-width: 310px;
	--green-color: #7ac220;
	--font-color: #1b2e1b;
}
html {
	scroll-behavior: smooth;
}
body {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	background: #fff;
	color: var(--font-color);
}
.site-body,
.site-footer .site-footer-content {
	max-width: unset;
	width: calc(97% - var(--header-width));
	margin: 0 0 0 auto;
}
.site-body {
	margin-top: 1rem;
}
.site-body-container {
	max-width: 100%;
	padding: 0;
}
.content_side {
	padding-right: 1rem;
}
.content_side .vk_outer_container {
	max-width: 1200px !important;
	max-width: 95%;
	margin: 0 auto;
}
.vk_outer_container {
	padding: 0 !important;
}
img {
	width: 100%;
}
h1 {
	font-size: 32px;
}
h2 {
	font-size: 30px;
}
h3 {
	font-size: 28px;
}
h4 {
	font-size: 26px;
}
h5 {
	font-size: 24px;
}
.grecaptcha-badge {
	display: none;
	bottom: 85px !important;
}
body:has(.contact_content) .grecaptcha-badge {
	display: block;
}
@media screen and (max-width: 1500px) {
	:root {
		--header-width: 250px;
	}
}
@media screen and (max-width: 1300px) {
	:root {
		--header-width: 180px;
	}
	.site-body,
	.site-footer .site-footer-content {
		width: calc(97% - var(--header-width));
	}
}
@media screen and (max-width: 1024px) {
	:root {
		--header-width: 100%;
	}
	.site-body {
		margin-top: 7px;
	}
	.site-body,
	.site-footer .site-footer-content {
		width: 100%;
	}
	.site-body-container {
		max-width: 90%;
	}
	.content_side {
		padding-right: 0;
	}
	h1 {
		font-size: 24px;
	}
	h2 {
		font-size: 22px;
	}
	h3 {
		font-size: 20px;
	}
	h4 {
		font-size: 18px;
	}
	h5 {
		font-size: 17px;
	}
}
@media screen and (max-width: 767px) {
	h1 {
		font-size: 22px;
	}
	h2 {
		font-size: 20px;
	}
	h3 {
		font-size: 18px;
	}
	h4 {
		font-size: 17px;
	}
	h5 {
		font-size: 16px;
	}
}

/* タイトル */
.title01_box {
	margin-bottom: clamp(3rem, 0.943rem + 3.21vw, 4.8rem);
}
.title01 {
	font-size: 40px;
}
.sub_title01 {
	font-size: 24px;
	font-weight: 500;
	line-height: 1.4;
}

.title02_box {
	margin-bottom: 3rem;
}
.title02 {
	font-size: 46px;
	letter-spacing: 0.04em;
	text-align: center !important;
}
.sub_title02 {
	position: relative;
	font-size: 20px;
	letter-spacing: 0.04em;
	line-height: 1.4;
	color: var(--green-color);
	font-weight: 500;
	max-width: 100%;
	width: max-content;
	margin: 0 auto;
	padding: 0 15px;
}
.sub_title02::before,
.sub_title02::after {
	content: '';
	width: 2px;
	height: 80%;
	background: var(--green-color);
	position: absolute;
	bottom: 0;
}
.sub_title02::before {
	left: 0;
	transform: rotate(-30deg);
}
.sub_title02::after {
	right: 0;
	transform: rotate(30deg);
}
@media screen and (max-width: 1024px) {
	.title01_box {
		margin-bottom: 2.5rem;
	}
	.title01 {
		font-size: 32px;
	}
	.sub_title01 {
		font-size: 18px;
	}
	.title02_box {
		margin-bottom: 2rem;
	}
	.sub_title02 {
		font-size: 18px;
	}
	.title02 {
		font-size: 32px;
	}
}
@media screen and (max-width: 767px) {
	.title01_box {
		margin-bottom: 2rem;
	}
	.title01 {
		font-size: 24px;
	}
	.sub_title01 {
		font-size: 15px;
	}
	.sub_title02 {
		font-size: 15px;
		padding: 0 10px;
	}
	.title02 {
		font-size: 24px;
	}
}

/* ボタン */
.btn01 a {
	position: relative;
	min-width: 170px !important;
    font-size: 16px !important;
    text-align: left;
	padding: 0.95rem 1.5rem !important;
    background: url('../../../wp-content/uploads/2026/01/btn_bg.png') center / contain no-repeat !important;
    border-radius: 0 !important;
	box-shadow: none !important;
}
.btn01 a::before {
	content: '';
	width: 15px;
	height: 8.4853px;
	background: url('../../../wp-content/uploads/2026/01/btn_arrow.png') center / contain no-repeat;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	transition: right .3s;
}
.btn01 a:hover::before {
	right: 15px;
}
@media screen and (max-width: 767px) {
	.btn01 a {
		min-width: 150px !important;
		font-size: 14px !important;
	}
	.sp_center {
		text-align: center !important;
	}
}


/***********************************
 * ヘッダー
************************************/
.site-header {
	position: fixed;
    top: 0;
    left: 0;
	width: var(--header-width);
	height: 100vh;
	max-height: 900px;
	background: transparent;
	padding-top: 24px;
	box-shadow: none;
}
.site-header-container {
	flex-direction: column !important;
	padding: 0 !important;
	height: 100%;
}
.global-nav {
	margin-left: 0;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    background: var(--green-color);
    border-radius: 0 35px 35px 0;
/*     height: calc(100vh - 115px); */
	height: 100%;
    padding: 2.2rem 3rem;
	box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
.global-nav .menu {
	flex-direction: column;
}
.global-nav-list>li:before {
	display: none;
}
.global-nav-list>li::after {
	content: '';
    width: 0%;
    height: 3px;
    background: url(../../../wp-content/uploads/2026/01/nav_bar.png) left / cover no-repeat;
    position: absolute;
    bottom: 0 !important;
    left: 0 !important;
	transition: width .3s !important;
	transform: translate(0, 0) !important;
	border: unset !important;
}
.global-nav-list>li:hover::after {
	width: 100%;
}
.global-nav-list>li a {
	text-align: left !important;
}
.global-nav-list>li .global-nav-name {
	font-size: 20px;
	font-weight: 500;
	color: #fff;
	transition: color .5s ease-in-out;
}
.global-nav-list>li a:hover .global-nav-name {
	color: #000;
}
.global-nav-list>li.contact_nav_btn {
	margin-top: 3.8rem;
}
.site-header-logo {
	margin-right: 0 !important;
	padding-top: 0;
	margin-bottom: 14px;
}
.site-header-logo a {
	margin: 0 auto;
}
.site-header-logo img {
	max-height: 62px;
}
.global-nav-list>li>ul.sub-menu {
	top: 0;
    right: -250px;
	left: unset;
	background-color: transparent;
	border-radius: 10px;
	overflow: hidden;
}
.global-nav-list>li>ul.sub-menu a {
	background-color: #f7f736;
	color: var(--font-color);
	font-weight: bold;
	font-size: 16px;
}

.vk-mobile-nav-menu-btn {
/* 	display: block !important; */
	width: 60px;
	height: 60px;
	border-radius: 50%;
	border: 1px solid var(--main-color);
    right: 10px !important;
    top: 5px !important;
	background: url("../../../wp-content/themes/lightning/_g3/inc/vk-mobile-nav/package/images/vk-menu-btn-black.svg") center 50% no-repeat #fff;
	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}
.vk-mobile-nav-menu-btn.menu-open {
	background: url("../../../wp-content/themes/lightning/_g3/inc/vk-mobile-nav/package/images/vk-menu-close-black.svg") center 50% no-repeat #fff;
	border: 1px solid var(--main-color);
}
/* body.device-pc .vk-mobile-nav {
	display: block !important;
} */
.vk-mobile-nav {
	max-width: 500px;
	padding: 7rem 25px 45px 25px;
	background: var(--green-color);
	overflow: hidden;
}
.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-right-in {
	left: calc(100% - 500px);
}
.vk-mobile-nav nav ul li a {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.04em;
	color: #fff;
}
.vk-mobile-nav nav ul li a,
.vk-mobile-nav nav>ul {
	border-color: #000;
}
body {
	position: relative;
}
body::before {
	content: '';
	width: 100%;
	height: 100vh;
	background: #000;
	opacity: 0;
	position: fixed;
	top: 0;
	left: 0;
	transition: all .3s;
	pointer-events: none;
	z-index: 1001;
}
body:has(.vk-mobile-nav-open)::before {
	opacity: .7;
	pointer-events: auto;
}
.vk-mobile-nav .acc-btn {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--vk-menu-acc-icon-open-black-bg-src) center 50% no-repeat #fff;
	transform: rotate(0deg);
}
.vk-menu-acc .acc-btn-close {
	transform: rotate(180deg);
}
@media screen and (max-width: 1500px) {
	.global-nav {
		padding: 2.2rem 2rem;
		border-radius: 0 25px 25px 0;
	}
}
@media screen and (max-width: 1300px) {
	.global-nav {
		padding: 2.2rem 1rem;
		border-radius: 0 20px 20px 0;
	}
	.global-nav-list>li .global-nav-name {
		font-size: 15px;
	}
	.global-nav-list>li>ul.sub-menu {
		width: 160px;
		right: -170px;
	}
	.global-nav-list>li>ul.sub-menu a {
		font-size: 13px;
	}
}
@media screen and (max-width: 1024px) {
	.site-header {
		position: static;
		height: auto;
		padding-top: 10px;
	}
	.site-header-logo {
		margin-bottom: 0;
	}
	.site-header-logo a {
		display: block;
		max-width: 100%;
		width: max-content;
	}
	.site-header-logo img {
		object-fit: contain;
	}
	.global-nav {
		display: none !important;
	}
	.vk-mobile-nav-menu-btn {
		display: block !important;
		width: 45px;
		height: 45px;
	}
}
@media screen and (max-width: 767px) {
	.site-header-logo img {
		max-height: 40px;
	}
	.vk-mobile-nav {
		max-width: 80%;
	}
	.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-right-in {
		left: 20%;
	}
	.vk-mobile-nav nav ul li a {
		font-size: 16px;
		padding: 15px 5px;
	}
	.vk-mobile-nav-menu-btn {
		width: 40px;
		height: 40px;
	}
	.vk-mobile-nav .acc-btn {
		width: 30px;
		height: 30px;
		top: 13px;
	}
}

/***********************************
 * フッター
************************************/
.site-footer {
	position: relative;
	border-top: none;
}
.site-footer-content {
	padding-top: 3.5rem;
}
.site-footer .site-footer-content > .row {
	max-width: 1200px;
	margin: 0 auto;
}
.site-footer .site-footer-content > .row > div {
	padding: 0;
}
.widget_media_image:has(.footer_logo) {
	margin-bottom: 0;
}
.site-footer p {
	font-size: 16px;
}
.widget_nav_menu>div>ul li.current_page_item>a {
	background: transparent;
}
.site-footer .menu  {
	display: flex;
	flex-wrap: wrap;
	gap: 5%;
}
.site-footer .menu > li > a {
	position: relative;
	font-weight: 500;
}
.site-footer .menu > li > a::before {
	content: '';
	width: 11px;
	height: 11px;
	background: #249124;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.site-footer .menu li a {
	padding: 5px 15px;
	border-bottom: none;
	color: #000;
	font-weight: 500;
	font-size: 20px;
}
.site-footer .menu li .sub-menu a {
	position: relative;
	font-size: 15px;
}
.site-footer-copyright {
	max-width: 1200px;
    padding: 3.7rem 1rem 1rem;
}
.site-footer-copyright p {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
	font-size: 14px;
}
.site-footer-copyright a {
	text-decoration: none;
	color: var(--font-color);
}
@media screen and (max-width: 1024px) {
	.footer_logo {
		max-width: 230px;
	}
	.site-footer .menu {
		gap: 3%;
	}
	.site-footer .menu li a {
		font-size: 16px;
	}
	.site-footer .menu li .sub-menu a {
		font-size: 14px;
		padding: 3px 15px;
	}
	.site-footer-copyright {
		padding: 2rem 1rem 1rem;
	}
}
@media screen and (max-width: 767px) {
	.site-footer p {
		font-size: 14px;
	}
	.site-footer .menu {
		flex-direction: column;
		gap: 5px;
	}
	.site-footer .menu > li > a::before {
		width: 8px;
		height: 8px;
	}
	.site-footer .menu li a {
		font-size: 14px;
		padding: 3px 15px;
	}
	.site-footer .menu li .sub-menu a {
		font-size: 12px;
		padding: 3px 15px;
	}
	.site-footer-copyright {
        padding: 1.5rem 1rem .5rem;
    }
	.site-footer-copyright p { 
		font-size: 12px;
		flex-direction: column;
		gap: 0;
	}
}

/***********************************
 * トップFV
************************************/
.fv_box {
	position: relative;
	max-width: 1400px;
	margin: 6.6vw auto 0;
}
.fv_title {
	font-size: 50.44px;
    line-height: 1.5;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: absolute;
    top: -0.2vw;
    left: 5.2vw;
    margin: 0;
}
@media screen and (max-width: 1300px) {
	.fv_title {
		font-size: 40px;
	}
}
@media screen and (max-width: 1024px) {
	.fv_box {
		width: 100vw;
    	margin: 2rem calc(50% - 50vw) auto;
		padding: 0 1rem;
	}
	.fv_title {
        font-size: 36px;
    }
}
@media screen and (max-width: 767px) {
	.fv_box {
		margin: 1rem calc(50% - 50vw) auto;
		padding: 0 10px;
	}
	.fv_title {
        font-size: 5.5vw;
    }
}


/***********************************
 * ページFV
************************************/
.page_fv_box {
	position: relative;
	padding: 0 1rem 0 0;
}
.page_fv_img {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	margin-bottom: 0;
}
.page_fv_img::before {
	content: '';
	inset: 0;
	background: #249124;
	position: absolute;
	opacity: .4;
}
.page_fv_title_box {
	position: absolute;
	bottom: 1.5rem;
	left: 2.5rem;
	color: #fff;
}
.page_fv_title {
	font-size: 3.75vw;
    letter-spacing: 0.04em;
}
.page_fv_sub_title {
	position: relative;
	font-size: clamp(1rem, 0.714rem + 0.45vw, 1.25rem);
    font-weight: bold;
    letter-spacing: 0.04em;
    padding-left: 1.3rem;
}
.page_fv_sub_title::before {
	content: '';
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #f7f736;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
	.page_fv_box {
		width: 100vw;
		margin: auto calc(50% - 50vw);
		padding: 0 1rem;
	}
	.page_fv_title_box {
		bottom: 1rem;
		left: 2rem;
	}
	.page_fv_sub_title {
		font-size: 18px;
	}
	.page_fv_title {
		font-size: 48px;
	}
	.page_fv_img {
		border-radius: 15px;
	}
}
@media screen and (max-width: 767px) {
	.page_fv_box {
		padding: 0 5px;
	}
	.page_fv_img {
		border-radius: 10px;
	}
	.page_fv_img.wp-block-image img:not([style*=object-fit]) {
		aspect-ratio: 1 / .6;
    	object-fit: cover;
	}
	.page_fv_title_box {
		position: absolute;
		bottom: 0.5rem;
		left: 1.5rem;
	}
	.page_fv_sub_title {
		font-size: 15px;
		padding-left: 12px;
		margin-bottom: -5px !important;
	}
	.page_fv_sub_title::before {
		width: 8px;
		height: 8px;
		top: 52%;
	}
	.page_fv_title {
		font-size: 28px;
	}
}

/***********************************
 * トップページ
************************************/
/* 事業内容 */
.top_service_content {
	padding-top: 8.8rem;
	padding-bottom: 7.3rem;
}
.top_service_items {
	margin-bottom: 4rem;
}
.top_service_items > .row {
	margin: 0;
	gap: 4.375rem 5%;
	justify-content: center;
}
.top_service_items .vk_gridColumn_item {
	position: relative;
	padding: 0;
	max-width: 100%;
	flex: 0 0 30%;
	border: 1px solid var(--font-color);
	border-radius: 20px;
	overflow: hidden;
}
.top_service_name {
	font-size: 20px;
	background: #fff;
	border-radius: 10px 10px 0 0;
	border: 1px solid var(--font-color);
	border-bottom: none;
	max-width: 280px;
	width: 90%;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	padding: 8px 10px;
}
@media screen and (max-width: 1024px) {
	.top_service_content {
		padding-top: 4rem;
		padding-bottom: 3rem;
	}
	.top_service_items {
		margin-bottom: 2rem;
	}
	.top_service_items > .row {
		gap: 2rem 3%;
	}
	.top_service_items .vk_gridColumn_item {
		flex: 0 0 31.333%;
		border-radius: 10px;
	}
	.top_service_name {
		max-width: 200px;
		font-size: 17px;
		border-radius: 7px 7px 0 0;
		padding: 5px 10px;
	}
}
@media screen and (max-width: 767px) {
	.top_service_content {
		padding-top: 2rem;
	}
	.top_service_items > .row {
        gap: 1.5rem 3%;
    }
	.top_service_items .vk_gridColumn_item {
        flex: 0 0 48.333%;
		border-radius: 7px;
    }
	.top_service_name {
		font-size: 14px;
		letter-spacing: -0.06em;
		padding: 5px;
		border-radius: 5px 5px 0 0;
	}
}

/* 最善について */
.top_about_content {
	overflow: visible;
	padding-top: 5rem;
	padding-bottom: 4.7rem;
	margin-bottom: 3vw;
	margin-top: 3vw;
}
.top_about_content::before {
	content: '';
	width: 100vw;
	height: 100%;
	background: #249124;
	position: absolute;
	top: 0;
	left: -176px;
}
.top_about_content::after,
.top_about_content .vk_outer-background-area::after {
	content: '';
    width: 100vw;
    height: 6vw;
    background: url(../../../wp-content/uploads/2026/01/top_about_bg_top-scaled.png) center / contain no-repeat;
    position: absolute;
    top: -3vw;
    left: -176px;
}
.top_about_content .vk_outer-background-area::after {
	background: url(../../../wp-content/uploads/2026/01/top_about_bg_bt-scaled.png) center / contain no-repeat;
	top: unset;
	bottom: -3vw;
}
.top_about_content.vk_outer-width-full.vk_outer-paddingLR-none {
	padding-right: calc(50svw - 48%);
}
.top_about_item {
	gap: 0;
    justify-content: space-between;
}
.top_about_item > .wp-block-column:first-child {
	flex-basis: 43% !important;
	padding-top: 5rem;
}
.top_about_item > .wp-block-column:last-child {
	flex-basis: 54.5% !important;
}
.top_about_content .title01_box {
	margin-bottom: 3.6rem;
}
.top_about_text {
	font-size: clamp(1rem, 0.857rem + 0.22vw, 1.125rem);
	line-height: 2.277;
	margin-bottom: 4.5rem;
}
@media screen and (max-width: 1500px) {
	.top_about_content::after,
	.top_about_content .vk_outer-background-area::after {
		left: -140px;
	}
}
@media screen and (max-width: 1300px) {
	.top_about_content::after,
	.top_about_content .vk_outer-background-area::after {
		left: -108px;
	}
}
@media screen and (max-width: 1024px) {
	.top_about_content  {
		padding-top: 4rem;
		padding-bottom: 1.5rem;
	}
	.top_about_content::after,
	.top_about_content .vk_outer-background-area::after {
		left: 0;
	}
	.top_about_content.vk_outer-width-full.vk_outer-paddingLR-none {
		padding-right: calc(50svw - 50%);
	}
	.top_about_item > .wp-block-column:first-child {
		padding-top: 0;
	}
	.top_about_content .title01_box {
		margin-bottom: 1.6rem;
	}
	.top_about_text {
		font-size: 16px;
		line-height: 1.666;
		margin-bottom: 2.5rem;
	}
}
@media screen and (max-width: 767px) {
	.top_about_content .top_about_item {
		flex-wrap: wrap !important;
	}
	.top_about_item {
		gap: 0;
	}
	.top_about_item > .wp-block-column:first-child,
	.top_about_item > .wp-block-column:last-child {
		flex-basis: 100% !important;
		display: contents !important;
	}
	.top_about_content .title01_box {
		order: -2;
	}
	.top_about_img {
		order: -1;
	}
	.top_about_text {
		font-size: 14px;
	}
	.top_about_content .btn01 {
		width: 100%;
	}
}

/* お知らせ */
.news_content {
	padding-top: 6.4rem;
	padding-bottom: 4rem;
	overflow: visible;
}
.news_content .title01_box {
	margin-bottom: 4.3rem;
}
.news_post_slider {
	overflow: visible;
	margin-bottom: 4.3rem;
}
.news_post_slider .vk_post {
	margin: 0;
}
.vk_post-postType-news {
	position: relative;
/* 	border: 1px solid var(--font-color) !important; */
	border: none !important;
/* 	border-radius: 20px !important; */
	overflow: hidden;
	cursor: pointer;
}
.vk_post-postType-news::before {
	content: '';
    width: 83.5%;
    height: 11%;
    background: url(../../../wp-content/uploads/2026/01/news_post_asset.png) center / contain no-repeat;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    pointer-events: none;
}
.vk_post-postType-news::after {
	content: '';
    width: 59.5px;
    height: 59.5px;
    background: url(../../../wp-content/uploads/2026/01/news_post_hover.png) center / contain no-repeat;
    position: absolute;
    bottom: -2px;
    right: -1px;
	transition: all .3s ease-in-out;
	transform: translate(60px, 60px);
}
.vk_post-postType-news:hover::after {
	opacity: 1;
	transform: translate(0, 0);
}
.vk_post-postType-news .vk_post_imgOuter {
	border-radius: 20px 20px 0 0;
	border: 1px solid var(--font-color);
	border-bottom: none;
	margin-top: 24.5px;
}
.vk_post-postType-news .vk_post_body {
	display: flex;
	flex-direction: column;
	padding: 1.25rem 1.9rem 2.1rem !important;
	border: 1px solid var(--font-color);
	border-top: none;
	border-radius: 0 0 20px 20px;
}
.vk_post-postType-news .vk_post_date {
	order: -1;
	font-size: 16px;
	margin-top: 0;
	color: var(--font-color);
}
.vk_post-postType-news .vk_post_title {
	font-size: 20px;
	line-height: 1.75;
	margin-bottom: 2.5rem;
}
.vk_post-postType-news .vk_post_btnOuter {
	position: static;
}
.vk_post-postType-news .vk_post_btnOuter a {
	position: relative;
    background: transparent;
    border: none;
    border-radius: 0;
    color: var(--font-color);
    font-size: 16px;
    font-weight: 500;
    padding: 4px 2rem 4px 0;
}
.vk_post-postType-news .vk_post_btnOuter a::before {
	content: '';
	width: 15px;
	height: 8.4853px;
	background: url('../../../wp-content/uploads/2026/01/news_arrow.png') center / contain no-repeat;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
.vk_post-postType-news .vk_post_btnOuter a::after {
	content: '';
	width: 100%;
	height: 5px;
	background: url('../../../wp-content/uploads/2026/01/news_btn_bar.png') center / contain no-repeat;
	position: absolute;
	bottom: 0;
	left: 0;
}
.news_post_slider.vk_post_list_slider .swiper-button-next {
	background: url('../../../wp-content/uploads/2026/01/slider_arrow_right.png') center / contain no-repeat;
	width: 55px;
	height: 51.5px;
	transition: all .3s;
	right: var(--swiper-navigation-sides-offset, -10px);
    left: auto;
    filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, .3));
}
.news_post_slider.vk_post_list_slider .swiper-button-next::after {
	display: none;
}
.news_post_slider.vk_post_list_slider .swiper-button-prev {
	background: url('../../../wp-content/uploads/2026/01/slider_arrow_left.png') center / contain no-repeat;
	width: 55px;
	height: 51.5px;
	transition: all .3s;
	left: var(--swiper-navigation-sides-offset, -10px);
    right: auto;
    filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, .3));
}
.news_post_slider.vk_post_list_slider .swiper-button-next:hover,
.news_post_slider.vk_post_list_slider .swiper-button-prev:hover {
	opacity: .7;
}
.news_post_slider.vk_post_list_slider .swiper-button-prev::after {
	display: none;
}

@media screen and (max-width: 1024px) {
	.news_content {
		padding-top: 4rem;
	}
	.news_content .title01_box {
		margin-bottom: 3.5rem;
	}
	.news_post_slider {
		margin-bottom: 3rem;
	}
	.vk_post-postType-news .vk_post_imgOuter {
		border-radius: 10px 10px 0 0;
		margin-top: 17px;
	}
	.vk_post-postType-news .vk_post_body {
		padding: 1rem 1.2rem 1.5rem !important;
		border-radius: 0 0 10px 10px;
	}
	.vk_post-postType-news .vk_post_date {
		font-size: 14px;
	}
	.vk_post-postType-news .vk_post_title {
		font-size: 16px;
		line-height: 1.4;
		margin-bottom: 1.2rem;
	}
	.vk_post-postType-news::after {
		width: 40px;
		height: 40px;
		bottom: 0px;
		transform: translate(40px, 40px);
	}
	.news_post_slider.vk_post_list_slider .swiper-button-next {
		right: auto;
        left: 5rem;
        bottom: -4.8rem;
        top: unset;
	}
	.news_post_slider.vk_post_list_slider .swiper-button-prev {
        bottom: -4.8rem;
		left: 0;
        top: unset;
	}
}
@media screen and (max-width: 767px) {
	.news_content .title01_box {
		margin-bottom: 2.5rem;
	}
	.vk_post-postType-news {
		border-radius: 7px !important;
	}
	.vk_post-postType-news .vk_post_imgOuter {
		border-radius: 7px 7px 0 0;
	}
	.vk_post-postType-news .vk_post_body {
		padding: 1rem .8rem 1.5rem !important;
		border-radius: 0 0 7px 7px;
	}
	.vk_post-postType-news .vk_post_date {
		font-size: 13px;
	}
	.vk_post-postType-news .vk_post_title {
		font-size: 15px;
	}
	.vk_post-postType-news .vk_post_btnOuter a {
		font-size: 14px;
	}
	.vk_post-postType-news::after {
		width: 35px;
		height: 35px;
		bottom: 0px;
		transform: translate(35px, 35px);
	}
	.news_post_slider {
		margin-bottom: 7rem;
	}
	.news_post_slider.vk_post_list_slider .swiper-button-next {
		width: 45px;
		height: 40px;
		right: auto;
        left: calc(50% + 30px);
        bottom: -4.8rem;
        top: unset;
		transform: translateX(-50%) !important;
		filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, .1));
	}
	.news_post_slider.vk_post_list_slider .swiper-button-prev {
		width: 45px;
		height: 40px;
        bottom: -4.8rem;
		left: calc(50% - 30px);
        top: unset;
		transform: translateX(-50%) !important;
		filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, .1));
	}
}

/* 採用情報 */
.top_recruit_content {
	padding-top: 10.2rem;
	padding-bottom: 12.8rem;
	overflow: visible;
}
.top_recruit_box {
	position: relative;
	background: #ebf6dd;
	border: 1px solid var(--font-color);
	border-radius: 30px;
	padding: 4.5rem 1rem 2.7rem;
}
.top_recruit_content .title01_box {
	margin-bottom: .8rem;
}
.top_recruit_text {
	font-size: 18px;
	line-height: 1.5;
	margin-bottom: 2rem;
}
.top_recruit_asset {
	position: absolute;
	margin-bottom: 0;
}
.top_recruit_img1 {
	bottom: -15%;
    left: -10%;
    width: 31.8%;
}
.top_recruit_img2 {
	top: -24%;
    right: -8%;
	width: 32.2%;
}
@media screen and (max-width: 1600px) {
	.top_recruit_img1 {
		bottom: -25%;
		left: -4%;
		width: 24.8%;
	}
	.top_recruit_img2 {
		top: -24%;
		right: -2%;
		width: 24.2%;
	}
}
@media screen and (max-width: 1024px) {
	.top_recruit_content {
		padding-top: 6rem;
		padding-bottom: 4rem;
	}
	.top_recruit_box {
		border-radius: 20px;
	}
	.top_recruit_text {
		font-size: 16px;
		line-height: 1.666;
	}
	.top_recruit_img1 {
		bottom: -13%;
		left: -5%;
		width: 27.8%;
	}
	.top_recruit_img2 {
		top: -17%;
		right: -5%;
		width: 28.2%;
	}
}
@media screen and (max-width: 767px) {
	.top_recruit_content {
		padding-top: 4rem;
	}
	.top_recruit_content .title01_box {
		margin-bottom: 1.5rem;
	}
	.top_recruit_box {
		border-radius: 15px;
		padding: 2.5rem 1rem 1.5rem;
	}
	.top_recruit_text {
		font-size: 14px;
	}
	.top_recruit_img1 {
		width: 35%;
	}
	.top_recruit_img2 {
		width: 35%;
	}
}

/* お問い合わせ */
.top_contact_content {
	padding-top: 4rem;
	padding-bottom: 7.8rem;
}
.top_contact_btns {
	max-width: 1110px;
    margin: 0 auto;
}
.top_contact_btns .vk_buttons_col {
	justify-content: space-between;
}
.top_contact_btn {
	width: 48%;
}
.top_contact_btn a {
	position: relative;
    display: block;
    font-size: 24px !important;
	font-weight: 500;
    color: var(--font-color) !important;
    background: url(../../../wp-content/uploads/2026/01/top_contact_bg.png) center / contain no-repeat !important;
    border-radius: 0;
    padding: 13% 1rem !important;
    padding-left: 32.4% !important;
    text-align: left;
	box-shadow: none !important;
}
.top_contact_btn a::before {
	content: '';
	width: 20%;
	aspect-ratio: 1 / 1;
	position: absolute;
	top: 50%;
	left: 7%;
	transform: translateY(-50%);
}
.top_contact_phone_btn a::before {
	background: url('../../../wp-content/uploads/2026/01/phone_icon.png') center / contain no-repeat;
}
.top_contact_mail_btn a::before {
	background: url('../../../wp-content/uploads/2026/01/mail_icon.png') center / contain no-repeat;
}
@media screen and (max-width: 1200px) {
	.top_contact_btn a {
		font-size: 20px !important;
	}
}
@media screen and (max-width: 1024px) {
	.top_contact_btn a {
		font-size: 18px !important;
	}
}
@media screen and (max-width: 767px) {
	.top_contact_btns {
		max-width: 400px !important;
	}
	.top_contact_btn {
		width: 100%;
	}
}

/***********************************
 * 事業内容
************************************/
.vision_content {
	padding-top: 6rem;
	padding-bottom: 8rem;
	overflow: visible;
}
.vision_title {
	font-size: clamp(1.5rem, 0.929rem + 0.89vw, 2rem);
    margin-bottom: .5rem;
    margin-top: 1rem;
	line-height: 1.3;
}
.vision_title mark {
	font-size: clamp(2rem, 0.857rem + 1.79vw, 3rem);
}
.vision_text {
	font-size: clamp(1rem, 0.857rem + 0.22vw, 1.125rem);
    line-height: 2;
    letter-spacing: 0.1em;
}
.vision_assets {
	position: absolute;
	margin-bottom: 0;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
	z-index: -1;
}
.vision_img1 {
	bottom: 19%;
    left: -3%;
    width: 13%;
    z-index: -1;
}
.vision_img2 {
	top: -10%;
    right: -4%;
    width: 15%;
}
.vision_img3 {
	bottom: -12%;
    left: 0;
    width: 20%;
}
.vision_img4 {
	bottom: -8%;
	right: 0;
	 width: 15%;
}
@media screen and (max-width: 1024px) {
	.vision_text {
		font-size: 16px;
	}
	.vision_img1 {
		bottom: -12%;
	}
	.vision_img2 {
		width: 20%;
	}
	.vision_img3 {
		bottom: -30%;
		left: 0;
		width: 21%;
	}
	.vision_img4 {
		bottom: -33%;
		width: 25%;
	}
}
@media screen and (max-width: 767px) {
	.vision_title {
		font-size: 18px;
        line-height: 1.4;
        letter-spacing: -0.5px;
		margin-bottom: 1rem;
	}
	.vision_title mark {
		font-size: 24px;
	}
	.vision_text {
		font-size: 14px;
		line-height: 1.666;
	}
	.vision_assets {
		border-radius: 5px;
	}
	.vision_img1 {
        bottom: unset;
        width: 20%;
        top: 32%;
        left: -7%;
    }
	.vision_img2 {
        top: 0;
        width: 25%;
    }
	.vision_img3 {
        bottom: -27%;
        left: 0;
        width: 40%;
    }
	.vision_img4 {
        bottom: -17%;
        right: -8%;
        width: 35%;
    }

}

/* 各種サービス */
.service_content {
	padding-top: 6rem;
	padding-bottom: 10rem;
}
.service_item {
	margin-bottom: 0;
}
.service_item + .service_item {
	margin-top: 3.5rem;
}
.service_title {
	font-size: 32px;
	letter-spacing: 0.04em;
	margin-bottom: 1rem;
}
.service_text {
	font-size: clamp(1rem, 0.857rem + 0.22vw, 1.125rem);
	line-height: 2;
}
.service_img {
	border-radius: 15px;
	overflow: hidden;
	margin-bottom: 0;
}
@media screen and (max-width: 1024px) {
	.service_item + .service_item {
		margin-top: 2.5rem;
	}
	.service_title {
		font-size: 24px;
	}
	.service_text {
		font-size: 16px;
		line-height: 1.666;
	}
	.service_img {
		border-radius: 10px;
	}
}
@media screen and (max-width: 767px) {
	.service_content {
		padding-bottom: 6rem;
	}
	.service_content .service_item {
		flex-wrap: wrap !important;
		gap: 1rem;
	}
	.service_item > .wp-block-column {
		flex-basis: 100% !important;
	}
	.service_title {
		font-size: 20px;
		margin-bottom: .5rem;
		text-align: center !important;
	}
	.service_text {
		font-size: 14px;
	}
	.service_img {
		border-radius: 7px;
	}
	.service_item .btn01 {
		text-align: center !important;
	}
}

/***********************************
 * 最善について
************************************/
/* 代表挨拶 */
.greeting_content {
	padding-top: 6rem;
	padding-bottom: 6rem;
}
.greeting_item  {
	gap: 1.5rem 5%;
}
.greeting_item > .wp-block-column:first-child {
	flex-basis: 55% !important;
}
.greeting_item > .wp-block-column:last-child {
	flex-basis: 40% !important;
}
.greeting_text,
.greeting_post {
	font-size: clamp(1rem, 0.857rem + 0.22vw, 1.125rem);
	line-height: 2;
	letter-spacing: 0.04em;
}
.greeting_name_box {
	gap: 5px 20px;
}
.greeting_name {
	font-size: 28px;
	font-weight: bold;
	line-height: 2;
	letter-spacing: 0.04em;
}
.greeting_img {
	margin-bottom: 0;
	border-radius: 15px;
	overflow: hidden;
}
@media screen and (max-width: 1024px) {
	.greeting_content {
		padding-top: 4rem;
		padding-bottom: 2rem;
	}
	.greeting_content .title01_box {
		margin-bottom: 1.5rem;
	}
	.greeting_text,
	.greeting_post {
		font-size: 16px;
		line-height: 1.666;
	}
	.greeting_name {
		font-size: 24px;
		line-height: 1.666;
	}
	.greeting_img {
		border-radius: 10px;
	}
}
@media screen and (max-width: 767px) {
	.greeting_content .greeting_item {
		flex-wrap: wrap !important;
		gap: 0;
	}
	.greeting_item > .wp-block-column:first-child,
	.greeting_item > .wp-block-column:last-child {
		display: contents;
	}
	.greeting_content .title01_box {
		order: -2;
	}
	.greeting_text,
	.greeting_post {
		font-size: 14px;
	}
	.greeting_text {
		margin-bottom: 1rem;
	}
	.greeting_name_box {
		width: 100%;
		justify-content: flex-end;
		gap: 5px 10px;
	}
	.greeting_name {
		font-size: 20px;
	}
	.greeting_img {
		border-radius: 7px;
		order: -1;
		margin-bottom: 1rem;
	}
}

/* 沿革 */
.history_content {
	padding-top: 4rem;
	padding-bottom: 4rem;
}
.history_content .title01_box {
	margin-bottom: 1.5rem;
}
.history_box_wrap {
	background: #ebf6dd;
	border: 1px solid var(--font-color);
	border-radius: 30px;
	padding: 4rem 1rem;
}
.history_box {
	max-width: 100%;
    width: max-content;
}
.history_box .wp-block-vk-blocks-timeline-item {
	display: flex;
	gap: 100px;
	padding-left: 0;
	padding-bottom: 3rem;
}
.history_box .wp-block-vk-blocks-timeline-item:last-child {
	padding-bottom: 0;
}
.history_box .wp-block-vk-blocks-timeline-item::before {
	content: '';
    display: block;
    width: 3px;
    height: 100%;
    position: absolute;
    top: 25px;
    left: 250px;
    background-image: url('../../../wp-content/uploads/2025/12/line_dotted.png');
	background-color: transparent !important;
    background-size: 100% auto;
}
.history_box .vk_timeline_item_caption {
	width: 200px;
	font-size: 32px;
	font-weight: bold;
	letter-spacing: 0.04em;
	flex-shrink: 0;
	color: #000;
	text-align: right;
	margin-bottom: 0 !important;
}
.history_box .vk_timeline_item_style {
	left: 245px;
    top: 18px;
	background: var(--green-color) !important;
}
.history_box .vk_timeline_item_content {
	padding-top: 8px;
}
.history_box .vk_timeline_item_content p {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.04em;
	margin-bottom: 0 !important;
}
@media screen and (max-width: 1024px) {
	.history_content {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
	.history_box_wrap {
		padding: 2.5rem 1rem;
		border-radius: 20px;
	}
	.history_box .wp-block-vk-blocks-timeline-item {
		gap: 65px;
		padding-bottom: 1.5rem;
	}
	.history_box .wp-block-vk-blocks-timeline-item::before {
		top: 20px;
		left: 175px;
	}
	.history_box .vk_timeline_item_style {
		left: 172px;
        top: 15px;
        width: 10px;
        height: 10px;
	}
	.history_box .vk_timeline_item_caption {
		font-size: 24px;
		width: 140px;
	}
	.history_box .vk_timeline_item_content p {
		font-size: 16px;
	}
}
@media screen and (max-width: 767px) {
	.history_box_wrap {
		border-radius: 15px;
	}
	.history_box .wp-block-vk-blocks-timeline-item {
		flex-wrap: wrap;
		gap: 0;
		padding-left: 1rem;
	}
	.history_box .wp-block-vk-blocks-timeline-item::before {
		top: 13px;
		left: 0;
	}
	.history_box .vk_timeline_item_style {
		left: -3.5px;
        top: 9px;
        width: 10px;
        height: 10px;
	}
	.history_box .vk_timeline_item_caption {
		font-size: 18px;
		width: 100%;
		text-align: left;
	}
	.history_box .vk_timeline_item_content {
		padding-top: 5px;
	}
	.history_box .vk_timeline_item_content p {
		font-size: 14px;
	}
}

/* 会社概要 */
body:has(.outline_content) {
	overflow: visible;
}
.outline_content {
	padding-top: 4rem;
	padding-bottom: 4rem;
	overflow: visible;
}
.outline_table tr {
	border-bottom: 1px solid #c9d5da;
}
.outline_table tr:first-child {
	border-top: 1px solid #c9d5da;
}
.outline_table td {
	border: none;
    font-size: clamp(1rem, 0.857rem + 0.22vw, 1.125rem);
    letter-spacing: 0.04em;
    padding: 30px 15px;
}
.outline_table td:first-child {
	color: var(--green-color);
	font-weight: bold;
	width: 200px;
}
.outline_img {
	position: sticky;
	top: 20px;
	left: 0;
	border-radius: 15px;
	overflow: hidden;
	margin-bottom: 0;
}
@media screen and (max-width: 1024px) {
	.outline_content .outline_item {
		flex-wrap: wrap !important;
	}
	.outline_item > .wp-block-column {
		flex-basis: 100% !important;
	}
	.outline_table tr {
		display: block;
		width: 100%;
		padding: 15px 0;
	}
	.outline_table td {
		display: block;
		width: 100% !important;
		font-size: 16px;
		padding: 0 10px;
	}
	.outline_img {
		border-radius: 10px;
	}
}
@media screen and (max-width: 767px) {
	.outline_content {
		padding-bottom: 2rem;
	}
	.outline_content .outline_item {
		flex-wrap: wrap !important;
	}
	.outline_item > .wp-block-column {
		flex-basis: 100% !important;
	}
	.outline_table td {
		font-size: 14px;
	}
	.outline_table td:first-child {
		padding-bottom: 5px;
	}
	.outline_img {
		border-radius: 7px;
	}
}

/***********************************
 * 家電配送・設置
************************************/
/* サービスについて */
.service_about_content {
	padding-top: 4rem;
	padding-bottom: 2rem;
}
.service_about_item {
	max-width: 1200px;
    margin: 0 auto;
}
.service_about_title {
	font-size: clamp(1.875rem, 1.446rem + 0.67vw, 2.25rem);
	letter-spacing: 0.04em;
	line-height: 1.4;
}
.service_about_text {
	font-size: clamp(1rem, 0.857rem + 0.22vw, 1.125rem);
	line-height: 2;
	letter-spacing: 0.04em;
}
@media screen and (max-width: 1024px) {
	.service_about_title {
		font-size: 24px;
		margin-bottom: 1rem;
	}
	.service_about_text {
		font-size: 16px;
		line-height: 1.666;
	}
}
@media screen and (max-width: 767px) {
	.service_about_content .service_about_item {
		flex-wrap: wrap !important;
		gap: 0;
	}
	.service_about_item > .wp-block-column {
		flex-basis: 100% !important;
	}
	.service_about_title {
        font-size: 20px;
    }
	.service_about_text {
		font-size: 14px;
	}
}

/* 特徴 */
.feature_content {
	padding-top: clamp(2rem, -2.571rem + 7.14vw, 6rem);
	padding-bottom: 2rem;
	overflow: visible;
}
.feature_content .title01_box {
	margin-bottom: 2.5rem;
}
.feature_items > .row {
	margin: 0;
	gap: 2.5rem 3%;
}
.feature_items .vk_gridColumn_item {
	position: relative;
	padding: 0 0 1.5rem;
	max-width: 100%;
	flex: 0 0 31.3%;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}
.feature_items .vk_gridColumn_item::before {
	content: '';
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	border: 2px dashed var(--green-color);
	border-radius: 10px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	pointer-events: none;
}
.feature_title {
	font-size: 24px;
    margin-top: -20px;
    text-align: center !important;
    margin-bottom: .8rem;
	padding: 5px 20px;
}
.feature_icon {
	position: relative;
    max-width: 100px;
    width: 100%;
    aspect-ratio: 1 / 1;
    margin: -70px auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    border-radius: 50%;
    overflow: hidden;
}
.feature_icon figure {
	margin-bottom: 0;
}
.feature_icon figure img {
	width: 50px !important;
}
.feature_text {
	font-size: 16px;
	padding: 0 1.8rem;
}
@media screen and (max-width: 1024px) {
	.feature_items > .row {
		justify-content: center;
	}
	.feature_icon {
		max-width: 80px;
		margin: -50px auto 0;
	}
	.feature_icon figure img {
		width: 40px !important;
	}
	.feature_items .vk_gridColumn_item {
		flex: 0 0 45%;
	}
	.feature_items .vk_gridColumn_item::before {
		width: calc(100% - 15px);
    	height: calc(100% - 15px);
	}
	.feature_title {
		font-size: 20px;
		margin-bottom: 0.2rem;
	}
	.feature_text {
		line-height: 1.666;
	}
}
@media screen and (max-width: 767px) {
	.feature_items {
		max-width: 500px;
		margin: 0 auto;
	}
	.feature_items .vk_gridColumn_item {
		flex: 0 0 100%;
	}
	.feature_text {
		font-size: 14px;
	}
}

/***********************************
 * リフォーム・工事
************************************/
/* 対応できるリフォーム・工事 */
.apperal_content {
	padding-top: 4rem;
	padding-bottom: 6rem;
}
.apperal_content .title01_box {
	margin-bottom: 2.5rem;
}
.apperal_content .top_service_items {
	margin-bottom: 0 !important;
}
@media screen and (max-width: 767px) {
	.apperal_content {
		padding-bottom: 2rem;
	}
}

/***********************************
 * ハウスクリーニング
************************************/
/* 対応エリア */
.area_content {
	padding-top: 4rem;
	padding-bottom: 4rem;
}
.area_content .title01_box {
	margin-bottom: 2rem;
}
.area_box {
	background: #ebf6dd;
	border: 1px solid var(--font-color);
	border-radius: 30px;
	padding: 4rem 1rem;
}
.area_item {
	max-width: 900px;
    margin: 0 auto;
}
.area_img {
	max-width: 500px;
	margin: 0 auto;
}
.area_text {
	font-size: 22px;
	line-height: 1.5;
	margin-bottom: 1rem;
}
.area_text_alart {
	font-size: clamp(1rem, 0.857rem + 0.22vw, 1.125rem);
	line-height: 1.5;
}
@media screen and (max-width: 1024px) {
	.area_box {
		border-radius: 20px;
		padding: 2.5rem 1rem;
	}
	.area_item > .wp-block-column:first-child {
		flex-basis: 55% !important;
	}
	.area_item > .wp-block-column:last-child {
		flex-basis: 45% !important;
	}
	.area_text {
		font-size: 20px;
		margin-bottom: .5rem;
	}
	.area_text_alart {
		font-size: 16px;
	}
}
@media screen and (max-width: 767px) {
	.area_box {
		border-radius: 15px;
	}
	.area_content .area_item {
		flex-wrap: wrap !important;
		gap: 1rem;
	}
	.area_item > .wp-block-column:first-child,
	.area_item > .wp-block-column:last-child {
		flex-basis: 100% !important;
	}
	.area_text {
		font-size: 18px;
	}
	.area_text_alart {
		font-size: 14px;
	}
	.area_img {
		max-width: 300px;
		width: 75%;
	}
}

/* メニュー表 */
.menu_items {
	margin-bottom: 4rem;
}
.menu_items > .row {
	margin: 0;
	gap: 2rem 5%;
}
.menu_items .vk_gridColumn_item {
	padding: 0;
	max-width: 100%;
	flex: 0 0 30%;
}
.menu_img {
	border-radius: 10px;
	overflow: hidden;
}
.menu_title {
	font-size: clamp(1.25rem, 0.964rem + 0.45vw, 1.5rem);
	letter-spacing: 0.04em;
	padding: 10px;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	margin-bottom: 1rem !important;
}
.menu_price {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.04em;
}
.menu_price mark {
	font-size: 32px;
}
@media screen and (max-width: 1024px) {
	.menu_items {
		max-width: 600px;
		margin: 0 auto 2.5rem;
	}
	.menu_items > .row {
		justify-content: center;
	}
	.menu_items .vk_gridColumn_item {
		flex: 0 0 47.5%;
	}
	.menu_img {
		border-radius: 7px;
	}
	.menu_title {
		font-size: 20px;
		margin-bottom: .5rem !important;
	}
	.menu_price {
		font-size: 18px;
	}
	.menu_price mark {
		font-size: 28px;
	}
}
@media screen and (max-width: 767px) {
	.menu_content .btn01 {
		text-align: center !important;
	}
	.menu_items .vk_gridColumn_item {
		flex: 0 0 100%;
	}
	.menu_title {
		font-size: 18px;
	}
	.menu_price {
		font-size: 16px;
	}
	.menu_price mark {
		font-size: 24px;
	}
}

/* ご利用の流れ */
.flow_item {
	padding: 1.5rem 2rem;
	align-items: center !important;
	margin-bottom: 0;
}
.flow_item:nth-child(odd) {
	background: #249124;
    color: #fff;
    border-radius: 20px;
}
.flow_item .wp-block-column:has(.flow_num) {
	flex-basis: 150px !important;
	flex-shrink: 0;
}
.flow_item .wp-block-column:has(.flow_text) {
	flex-basis: calc(65% - 150px) !important;
}
.flow_num {
	font-size: 32px;
	font-weight: bold;
	letter-spacing: 0.04em;
	line-height: .9;
}
.flow_num span {
	font-size: 110px !important;
}
.flow_title {
	font-size: clamp(1.75rem, 1.464rem + 0.45vw, 2rem);
	letter-spacing: 0.04em;
    margin-bottom: 1rem;
}
.flow_text {
	font-size: clamp(1rem, 0.857rem + 0.22vw, 1.125rem);
	letter-spacing: 0.04em;
	margin-bottom: 0;
}
.flow_img {
	margin-bottom: 0;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}
@media screen and (max-width: 1024px) {
	.flow_num {
		font-size: 24px;
	}
	.flow_num span {
		font-size: 80px !important;
	}
	.flow_item:nth-child(odd) {
		border-radius: 10px;
	}
	.flow_item .wp-block-column:has(.flow_num) {
		flex-basis: 90px !important;
	}
	.flow_item .wp-block-column:has(.flow_text) {
		flex-basis: calc(65% - 90px) !important;
	}
	.flow_title {
		font-size: 20px;
		margin-bottom: .5rem;
	}
	.flow_text {
		font-size: 15px;
		line-height: 1.666;
	}
	.flow_img {
		border-radius: 7px;
	}
}
@media screen and (max-width: 767px) {
	.flow_content .flow_item {
		position: relative;
        flex-wrap: wrap !important;
        gap: 0;
        padding: 2.5rem 1rem 2rem;
        border-radius: 7px;
	}
	.flow_item .wp-block-column:has(.flow_num),
	.flow_item .wp-block-column:has(.flow_text),
	.flow_item .wp-block-column:has(.flow_img) {
		flex-basis: 100% !important;
	}
	.flow_item .wp-block-column:has(.flow_text) {
		order: 1;
	}
	.flow_num {
		display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 60px;
        height: 60px;
        font-size: 12px;
        background: #ebf6dd;
        border-radius: 50%;
        position: absolute;
        top: 10px;
        left: 5px;
        color: var(--font-color);
	}
	.flow_num span {
		font-size: 30px !important;
	}
	.flow_title {
		font-size: 18px;
	}
	.flow_text {
		font-size: 14px;
	}
	.flow_img {
		border-radius: 5px;
		margin-bottom: 1rem;
	}
}

/***********************************
 * えれネット
************************************/
/* コンセプト */
.concept_content {
	padding-top: 6rem;
	padding-bottom: 2rem;
}
.concept_title {
	position: relative;
	font-size: clamp(2rem, 1.286rem + 1.12vw, 2.625rem);
	max-width: 100%;
	width: max-content;
	padding: 0 2rem;
	margin: 0 auto 2.5rem;
}
.concept_title::before,
.concept_title::after {
	content: '';
    width: 3px;
    height: 75%;
    background: var(--green-color);
    position: absolute;
    bottom: 0;
    border-radius: 9999px;
}
.concept_title::before {
	left: 0;
	transform: rotate(-30deg);
}
.concept_title::after {
	right: 0;
	transform: rotate(30deg);
}
.concept_text {
	font-size: clamp(1rem, 0.857rem + 0.22vw, 1.125rem);
	line-height: 2;
}
@media screen and (max-width: 1024px) {
	.concept_content {
		padding-top: 4rem;
	}
	.concept_title {
		font-size: 28px;
		margin-bottom: 1.5rem;
	}
	.concept_text {
		font-size: 16px;
		line-height: 1.666;
	}
}
@media screen and (max-width: 767px) {
	.concept_title {
		font-size: 22px;
		padding: 0 1.5rem;
	}
	.concept_title::before,
	.concept_title::after {
		width: 2px;
	}
	.concept_text {
		font-size: 14px;
		margin-bottom: 0;
	}
}

/* 目指す姿 */
.ele_vision_items > .row {
	margin: 0;
	gap: 2rem 3%;
}
.ele_vision_items .vk_gridColumn_item {
	padding: 0;
	max-width: 100%;
	flex: 0 0 31.3%;
}
.ele_vision_img_box {
	position: relative;
	border: 1px solid var(--font-color);
	border-radius: 10px;
	overflow: hidden;
	margin-bottom: .8rem;
}
.ele_vision_img {
	overflow: hidden;
	margin-bottom: 0;
}
.ele_vision_title {
	position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    border-radius: 10px 10px 0 0;
    font-size: 20px;
    letter-spacing: 0.04em;
    margin: 0;
    max-width: 280px;
    letter-spacing: -0.06em;
    width: 90%;
    text-align: center !important;
    padding: 10px 15px;
    border: 1px solid var(--font-color);
    border-bottom: none;
}
.ele_vision_text {
	font-size: clamp(1rem, 0.857rem + 0.22vw, 1.125rem);
    line-height: 1.5;
    letter-spacing: 0.1em;
}
@media screen and (max-width: 1200px) {
	.ele_vision_items > .row {
		gap: 2rem 5%;
	}
	.ele_vision_items .vk_gridColumn_item {
		flex: 0 0 47.5%;
	}
}
@media screen and (max-width: 1024px) {
	.vision_content {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
	.ele_vision_title {
		font-size: 18px;
	}
	.ele_vision_text {
		font-size: 16px;
	}
}
@media screen and (max-width: 767px) {
	.vision_content {
		padding-top: 2rem;
	}
	.ele_vision_items {
		max-width: 500px;
		margin: 0 auto;
	}
	.ele_vision_items .vk_gridColumn_item {
		flex: 0 0 100%;
	}
	.ele_vision_img_box {
		border-radius: 7px;
	}
	.ele_vision_title {
		border-radius: 5px 5px 0 0;
		padding: 5px 10px;
	}
	.ele_vision_text {
		font-size: 14px;
	}
}


/* 店舗情報 */
.shop_item {
	max-width: 1200px;
	margin: 0 auto;
}
.shop_item + .shop_item {
	margin-top: 4rem;
}
.shop_item > .wp-block-column:first-child {
	flex-basis: 55% !important;
}
.shop_item > .wp-block-column:last-child {
	flex-basis: 45% !important;
}
.shop_title {
	font-size: 28px;
    padding-left: 15px;
    border-left: 5px solid var(--green-color);
	letter-spacing: 0.04em;
}
.shop_table {
	border-top: 1px solid #000;
}
.shop_table tr {
	border-bottom: 1px solid #000;
}
.shop_table td {
	border: none;
	font-size: 18px;
	letter-spacing: 0.04em;
	padding: 15px 10px;
}
.shop_table td:first-child {
	width: 180px;
	font-weight: bold;
}
.map iframe {
	height: auto !important;
	aspect-ratio: 1 / .8;
}
@media screen and (max-width: 1024px) {
	.shop_title {
		font-size: 22px;
	}
	.shop_table td {
		font-size: 16px;
	}
	.shop_table td:first-child {
		width: 110px;
	}
}
@media screen and (max-width: 767px) {
	.shop_content .shop_item {
		flex-wrap: wrap !important;
		gap: 0;
	}
	.shop_item > .wp-block-column:first-child,
	.shop_item > .wp-block-column:last-child {
		flex-basis: 100% !important;
	}
	.shop_title {
		font-size: 18px;
		padding-left: 10px;
		border-left: 3px solid var(--green-color);
	}
	.shop_table td {
		font-size: 14px;
	}
	.shop_table td:first-child {
		width: 95px;
	}
	.map iframe {
		aspect-ratio: 1 / .6;
	}
}

/***********************************
 * 不動産事業
************************************/
/* 新着物件 */
.estate_content {
	padding-top: 6rem;
	padding-bottom: 6rem;
	overflow: visible;
}
.estates_cat_btns {
	margin-bottom: 3rem;
}
.estates_cat_btns a {
	min-width: 250px !important;
	border-radius: 9999px;
	font-size: 18px !important;
	font-weight: bold !important;
}
.estate_posts {
	margin-bottom: 4rem;
}
.vk_posts-postType-estates {
	gap: 2.5rem 3%;
	margin-left: 0;
    margin-right: 0;
}
.vk_post-postType-estates {
	position: relative;
	border: none;
	border-radius: 10px;
	box-shadow: 10px 10px 0 #249124;
	filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.3));
	cursor: pointer;
	margin: 0 !important;
	width: 31.3% !important;
	will-change: filter;
}
.vk_post-postType-estates::before {
	content: '';
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border: 2px dashed var(--green-color);
    border-radius: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    pointer-events: none;
}
.vk_post-postType-estates .vk_post_title {
	display: none;
}
.vk_post-postType-estates .vk_post_body {
	padding: 1rem 1.5rem 2rem;
}
.vk_post-postType-estates .vk_post_taxonomies {
	margin-top: 0;
}
.vk_post-postType-estates .vk_post_taxonomy dd,
.vk_post-postType-estates .vk_post_taxonomy dt {
	margin-bottom: 0;
}
.vk_post-postType-estates .vk_post_taxonomy_title {
	display: none;
}
.vk_post-postType-estates .vk_post_taxonomy-estate-addr {
	display: none;
}
.vk_post-postType-estates .vk_post_taxonomy_terms {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 10px;
	padding: 0;
}
.vk_post-postType-estates .vk_post_taxonomy_terms a {
	font-size: 15px;
	background: #ebf6dd;
	border-radius: 9999px;
	padding: 2px 10px;
}
.vk_post-postType-estates .vk_post_taxonomy_terms a:hover {
	background: var(--green-color);
	color: #fff;
}
.estate_addr {
	font-size: 24px;
	padding: 0;
	border: none;
	margin-bottom: 0.5rem;
}
.estate_addr::after {
	display: none;
}
.estate_text_box p {
	margin-bottom: 0;
	font-size: 18px;
	letter-spacing: 0.04em;
}
.estate_text_box > div {
	display: flex;
	gap: 5px 15px;
}
.estate_price span {
	font-size: 24px;
	font-weight: bold;
}
@media screen and (max-width: 1024px) {
	.estate_content {
		padding-top: 4rem;
		padding-bottom: 2rem;
	}
	.estates_cat_btns .vk_buttons_col {
		gap: 10px 1%;
	}
	.estates_cat_btns .vk_button {
		width: 24%;
	}
	.estates_cat_btns a {
		min-width: unset !important;
		display: block;
		font-size: 16px !important;
        padding: 8px 10px !important;
	}
	.vk_post-postType-estates {
		border-radius: 7px;
		box-shadow: 7px 7px 0 #249124;
	}
	.vk_post-postType-estates::before {
		width: calc(100% - 10px);
    	height: calc(100% - 10px);
		border-radius: 7px;
	}
	.vk_post-postType-estates .vk_post_taxonomy_terms a {
		font-size: 13px;
	}
}
@media screen and (max-width: 767px) {
	.estate_posts {
		margin-bottom: 2.4rem;
	}
	.vk_posts-postType-estates {
		gap: 2rem 3%;
	}
	.vk_post-postType-estates {
		border-radius: 5px;
		box-shadow: 5px 5px 0 #249124;
		width: 48.5% !important;
		filter: drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.3));
	}
	.vk_post-postType-estates::before {
		border-radius: 5px;
		border: 1px dashed var(--green-color);
	}
	.vk_post-postType-estates .vk_post_body {
		padding: 1rem 1rem 1.5rem;
	}
	.vk_post-postType-estates .vk_post_taxonomy_terms {
		gap: 5px;
	}
	.vk_post-postType-estates .vk_post_taxonomy_terms a {
		font-size: 12px;
		padding: 1px 6px;
	}
	.estates_cat_btns .vk_buttons_col {
		gap: 7px 2%;
	}
	.estates_cat_btns .vk_button {
        max-width: 160px;
        width: 47.5%;
    }
	.estates_cat_btns a {
		font-size: 14px !important;
		padding: 5px 10px !important;
	}
}

/***********************************
 * 採用情報
************************************/
/* 採用メッセージ */
.message_content {
	padding-top: 6rem;
	padding-bottom: 4rem;
}
.message_item {
	gap: 1.5rem 5%;
    align-items: center !important;
	margin-bottom: 0;
}
.message_item > .wp-block-column:has(.message_img) {
	flex-basis: 40% !important;
}
.message_img {
	border-radius: 10px;
	overflow: hidden;
	margin-bottom: 0;
}
.message_text {
	font-size: clamp(1rem, 0.714rem + 0.45vw, 1.25rem);
	line-height: 2;
	letter-spacing: 0.12em;
	margin-bottom: 0;
}
@media screen and (max-width: 1024px) {
	.message_content {
		padding-top: 4rem;
	}
	.message_text {
		font-size: 16px;
		line-height: 1.666;
		letter-spacing: 0;
	}
}
@media screen and (max-width: 767px) {
	.message_content .message_item {
		flex-wrap: wrap !important;
	}
	.message_item > .wp-block-column:has(.message_img),
	.message_item > .wp-block-column:has(.message_text) {
		flex-basis: 100% !important;
	}
	.message_text {
		font-size: 14px;
	}
	.message_img {
		border-radius: 7px;
	}
}

/* 採用情報について */
.recruit_about_content {
	padding-top: 6rem;
	padding-bottom: 8rem;
}
.recruit_about_text {
	font-size: clamp(1rem, 0.714rem + 0.45vw, 1.25rem);
	line-height: 2;
}
@media screen and (max-width: 1024px) {
	.recruit_about_content {
		padding-bottom: 4rem;
		padding-bottom: 6rem;
	}
	 .recruit_about_content .title02_box {
        margin-bottom: 1rem;
    }
	.recruit_about_text {
		font-size: 16px;
		line-height: 1.666;
	}
}
@media screen and (max-width: 767px) {
	.recruit_about_text {
		font-size: 14px;
	}
}

/* 求める人物像 */


/* 最善の魅力 */
.point_content {
	padding-top: 6rem;
	padding-bottom: 6rem;
}
.point_items > .row {
	margin: 0;
	gap: 2.5rem 5%;
}
.point_items .vk_gridColumn_item {
	position: relative;
	max-width: 100%;
	flex: 0 0 30%;
	padding: 0;
}
.point_img {
	margin-bottom: 0;
	border-radius: 10px;
	overflow: hidden;
}
.point_title {
	position: absolute;
	bottom: 15px;
	left: 0;
	display: inline-block;
	font-size: 22px;
}
.point_title strong {
	background: var(--green-color);
    padding: 2px 10px;
    display: inline-block;
    margin-top: 5px;
}

/* 募集要項 */
.requirement_content {
	padding-top: 6rem;
	padding-bottom: 6rem;
}
.requirement_box {
	max-width: 1000px;
	margin: 0 auto;
}
.requirement_box .wp-block-group {
	padding: 3.5rem 2rem 0 !important;
}
.requirement_table tr {
	border-top: 1px solid var(--green-color);
}
.requirement_table td {
	border: none;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.04em;
    padding: 20px 10px;
}
.requirement_table td:first-child {
	width: 170px;
	color: var(--green-color);
	font-weight: bold;
}
.requirement_box .vk_tab_labels {
	
	gap: 0 5px;
}
.requirement_box .vk_tab_labels .vk_tab_labels_label {
	font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.04em;
    border-radius: 5px 5px 0 0;
    overflow: hidden;
    min-width: 180px;
}
.requirement_box.is-style-vk_tab_labels-line .vk_tab_labels .vk_tab_labels_label.vk_tab_labels_label-state-active {
	color: var(--green-color);
}



/**********************************************
 * お問い合わせ
************************************************/
.contact_content {
	padding-top: 6rem;
	padding-bottom: 7rem;
}
.contact_content .simple_title {
	margin-bottom: 4.5rem;
}
.contact_box {
	background: #fff;
	border-radius: 20px;
	padding: 3.2rem 1rem 6rem;
}
.input_area,
.confirm_area,
.thanks_area {
	max-width: 1000px;
	margin: 0 auto;
}
.contact_table {
	display: block;
	width: 100%;
	border: none !important;
}
.contact_table tr,
.contact_table tr th,
.contact_table tr td {
	font-size: 18px;
	text-align: left;
	padding: 0;
	border: none;
}
.contact_table tbody {
	display: block;
	width: 100%;
}
.contact_table p {
	margin-bottom: 0;
}
.wpcf7-radio {
	font-size: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 1.3rem 5.3rem;
}
.wpcf7-radio .wpcf7-list-item {
	margin-left: 0;
}
.wpcf7-radio input {
	scale: 1.6;
	margin-right: 11px;
}
input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=tel],
input[type=text],
input[type=url],
select,
textarea {
	font-family: "Noto Sans JP", sans-serif;
	background: #fff;
	padding: .7em 1em;
	margin-bottom: 0;
	border-radius: 0;
	border: 1px solid #000 !important;
	vertical-align: bottom
}
textarea {
	resize: none;
}
td:has(select) {
	position: relative;
}
td:has(select)::before {
	content: '';
	width: 20px;
	height: 20px;
	background: url('../../../wp-content/uploads/2025/09/black_arrow.png') center / contain no-repeat;
	border-radius: 50%;
	position: absolute;
	top: 14px;
	right: 20px;
/* 	transform: translateY(-50%); */
	z-index: 1;
	pointer-events: none;
}
td:has(textarea) {
	position: relative;
	line-height: 1.6;
	resize: none;
}
td:has(textarea) .wpcf7-not-valid-tip {
	position: absolute;
	bottom: -40px;
	left: 0;
}
.contact_table tr {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 16px 0;
}
.contact_table tr:nth-child(7) {
	align-items: flex-start;
}
.contact_table tr th {
	position: relative;
	font-weight: 500;
	letter-spacing: .12em;
	width: 257px;
	padding-top: 0.6rem;
}
.contact_table tr th p {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.contact_table tr th span {
	font-size: 14px;
	letter-spacing: 0.12em;
	color: #E21413;
}
.contact_table tr td {
	width: calc(100% - 267px);
	padding: 0 !important;
}
.wpcf7-not-valid-tip {
	font-size: .875em;
}
.privacy_policy {
	font-size: 14px;
	letter-spacing: .38em;
	max-height: 157px;
	padding: 16px;
	margin-bottom: 1.2rem;
	border: 1px solid #c8c8c8;
    overflow: auto;
	-webkit-overflow-scrolling: touch;
}
.policy_box + .policy_box {
	margin-top: 1rem;
}
.policy_box .title {
	font-weight: 600;
}
.privacy-check {
	margin-top: 1.5rem;
	text-align: center;
}
.privacy-check .wpcf7-list-item {
	letter-spacing: .39em;
	margin-left: 0;
}
.privacy-check .wpcf7-list-item > label {
	display: flex;
	align-items: center;
	gap: .5em;
	font-size: 16px;
	letter-spacing: 0.12em;
	line-height: 1.2;
}
.privacy-check .wpcf7-list-item input[type="checkbox"] {
	width: 1.35em;
    height: 1.35em;
}
.submit_box {
	position: relative;
    display: block;
    text-align: center;
    max-width: 367px;
    cursor: pointer;
    border-radius: 9999px;
    margin: 1rem auto 0;
}
.contact_content:has(.wpcf7-submit[disabled]) .submit_box {
	user-select: none;
	pointer-events: none;
}
.submit_box + .submit_box {
	margin-top: 1rem;
}
.submit_box p {
	position: relative;
	margin-bottom: 0;
}
.submit_box input {
	color: var(--green-color) !important;
	background-color: #fff !important;
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.1em;
	width: 100%;
    padding: 1.78rem .5rem;
	border: 2px solid var(--green-color);
	border-radius: 9999px;
	cursor: pointer;
	transition: opacity .3s;
	box-shadow: 0 4px 4px rgba(0,0,0,0.25);
}
.submit_box input.back_button {
	background-color: var(--green-color) !important;
	color: #fff !important;
}
.submit_box input:hover {
	opacity: .6;
}
.wpcf7-spinner {
	display: none !important;
}

/*確認画面と完了画面を非表示*/
.confirm_area,
.thanks_area {
	display: none;
}
.confirm_area .contact_table,
.thanks_area .contact_table {
	margin-top: 2rem;
}
/*デフォルトのサンクスメッセージを非表示*/
.wpcf7-response-output{
	display: none;
}
.confirm_area > p,
.thanks_area > p {
	font-size: 20px;
	letter-spacing: 0.2em;
	margin-bottom: 0;
}
.confirm_area .contact_table td p span {
	display: block;
	background: #fff;
	padding: .7em 1em;
	border: 1px solid #000;
}
@media screen and (max-width: 1024px){
	body:has(.contact_content) #page_top {
		display: none;
	}
	.line_btn {
		max-width: 200px;
		top: unset;
		bottom: 10px;
		right: 10px;
		transform: unset !important;
	}
	.contact_content {
		padding-top: 4rem;
		padding-bottom: 6rem;
	}
	.contact_table tr + tr {
		margin-top: 1.5rem;
	}
	.contact_table tr th,
	.contact_table tr td {
		display: block;
		width: 100%;
		font-size: 16px;
	}
	.contact_table tr {
		padding: 0;
		gap: 5px;
	}
	.contact_table tr th p {
		display: block;
	}
	.contact_table tr th p br {
		display: none;
	}
	.contact_table tr th {
		padding-top: 0;
        padding-bottom: 0;
	}
	.contact_table tr th span {
		margin-left: 1rem;
	}
	input[type=date],
	input[type=email],
	input[type=number],
	input[type=password],
	input[type=tel],
	input[type=text],
	input[type=url],
	select,
	textarea {
		padding: .7em 1em;
	}
	.wpcf7-radio {
		gap: .5rem 1.3rem;
	}
	.wpcf7-radio input {
		scale: 1;
		margin-right: 5px;
	}
	td:has(select)::before {
		top: 11px;
	}
	.submit_box {
		display: block;
		max-width: 250px;
		margin: 1rem auto 0;
	}
	.submit_box::before {
		width: 20px;
		height: 20px;
		right: 4.5rem;
	}
	.submit_box input {
		font-size: 16px;
		padding: 1.2rem .5rem;
	}
	.submit_box .wpcf7-submit {
		font-size: 16px;
	}
	.privacy-check {
		text-align: center;
	}
	.privacy-check .wpcf7-list-item {
		letter-spacing: .3em;
	}
	
	.confirm_area > p,
	.thanks_area > p {
		font-size: 16px;
	}
	.page_contact_container .contact_title {
		font-size: 26px;
		margin-bottom: 1.5rem;
	}
	.privacy_text {
		font-size: 15px;
		margin-bottom: 1.8rem;
	}
	.privacy-check .wpcf7-list-item > label {
		font-size: 15px;
	}
	.privacy-check .wpcf7-list-item input[type="checkbox"] {
		width: 1.2em;
		height: 1.2em;
	}
	td:has(textarea) .wpcf7-not-valid-tip {
		bottom: -30px;
	}
}
@media screen and (max-width: 767px){
	.line_btn {
		max-width: 180px;
	}
	.contact_content {
		min-height: auto;
	}
	.contact_content::before {
		bottom: 0;
	}
	.contact_box {
		border-radius: 10px;
		padding: 3.2rem 1rem;
	}
	.contact_title {
		font-size: 42px;
	}
	.contact_sub_title {
		font-size: 20px;
	}
	.contact_table {
		width: 100%;
	}
	.contact_table tr th,
	.contact_table tr td {
		font-size: 14px;
	}
	.contact_table tr th span {
		font-size: 12px;
		margin-left: .5rem;
	}
	.contact_table tr th {
		letter-spacing: .04em;
	}
	td:has(select)::before {
		top: 11px;
        right: 10px;
	}
	.privacy_policy {
		font-size: 12px;
		letter-spacing: .25em;
	}
	
	.confirm_area > p,
	.thanks_area > p {
		font-size: 14px;
		letter-spacing: 0.04em;
	}
	.page_contact_container .contact_title {
		font-size: 22px;
	}
	textarea {
		height: 210px;
	}
	.privacy_text {
		font-size: 14px;
		text-align: left;
	}
	.privacy-check .wpcf7-list-item > label {
		font-size: 14px;
	}
	.submit_box {
		max-width: 200px;
	}
	.submit_box .wpcf7-submit {
		font-size: 14px;
	}
	.submit_box input {
		font-size: 14px;
		padding: 13px;
	}
	.submit_box::before {
        width: 15px;
        height: 15px;
        right: 3.5rem;
    }
}


/**********************************************
 * 物件情報一覧ページ
************************************************/
.post-type-archive .vk_posts {
	max-width: 1200px;
	margin: 0 auto;
	padding-right: 1rem;
}
.post-type-archive .page-header,
.post-type-archive .breadcrumb,
.post-type-archive-estates .archive-header {
	display: none;
}
.post-type-archive .site-body {
	padding-top: 0;
	padding-bottom: 10rem;
}

.estate_cat_box {
	max-width: 1200px;
	margin: 0 auto 4rem;
	padding-top: 6rem;
	padding-right: 1rem;
}
.cat_btn_wrap {
	display: flex;
	align-items: flex-start;
	gap: 10px 20px;
	margin-bottom: 2rem;
}
.cat_btn_title {
	font-size: 20px;
	font-weight: bold;
	border-left: 4px solid var(--green-color);
	padding-left: 10px;
	margin-bottom: 0;
	flex-shrink: 0;
}
.cat_btn_box {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 10px;
}
.cat_btn {
	display: inline-block;
    min-width: 100px;
    font-size: 18px;
    letter-spacing: 0.1em;
    color: var(--font-color);
    background: #ebf6dd;
    border: 1px solid var(--font-color);
    border-radius: 9999px;
    padding: 2px 20px;
    transition: all .3s;
    text-align: center;
}
.cat_btn:hover,
.cat_btn.active {
    background: var(--green-color) !important;
    color: #fff;
}

.pagination {
	margin-top: 4rem;
}
.page-numbers li {
	font-size: 18px;
}
ul.page-numbers li {
	margin: 0 5px;
	overflow: visible;
}
ul.page-numbers li span.page-numbers.current {
	background-color: var(--green-color);
	color: #fff;
}
ul.page-numbers li a,
ul.page-numbers li span.page-numbers {
	background-color: #fff;
	border-radius: 50% !important;
	width: 40px;
    height: 40px;
	color: #1f1f1f;
	font-weight: bold;
	padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
ul.page-numbers li a.next,
ul.page-numbers li a.prev {
	padding-bottom: 5px;
}
@media screen and (max-width: 1024px) {
	.post-type-archive .site-body {
		padding-bottom: 6rem;
	}
	.post-type-archive .vk_posts,
	.estate_cat_box {
		padding-right: 0;
	}
	.estate_cat_box {
		padding-top: 4rem;
		margin: 0 auto 2.5rem;
	}
	.cat_btn_wrap {
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 1.5rem;
	}
	.cat_btn {
		font-size: 16px;
		padding: 0 10px;
	}
	.page-numbers li {
		font-size: 15px;
	}
}
@media screen and (max-width: 767px) {
	.cat_btn_title {
		font-size: 18px;
		border-left: 2px solid var(--green-color);
		padding-left: 6px;
	}
	.cat_btn_box {
		gap: 5px;
	}
	.cat_btn {
        min-width: 80px;
        font-size: 14px;
        padding: 0 10px;
    }
	.page-numbers li {
		font-size: 13px;
	}
	ul.page-numbers li a,
	ul.page-numbers li span.page-numbers {
		width: 35px;
		height: 35px;
		font-size: 13px;
	}
	ul.page-numbers li a.next,
	ul.page-numbers li a.prev {
		padding-bottom: 3px;
	}
}

/**********************************************
 * 物件情報詳細ページ
************************************************/
.single-estates .page-header,
.single-estates .breadcrumb,
.single-estates .entry-header,
.single-estates .entry-footer {
	display: none;
}
.single-estates .site-body-container {
	max-width: 1200px;
	margin: 0 auto;
	padding-right: 1rem;
}
.estates_main_img {
	max-width: unset;
	width: calc(97% - var(--header-width));;
	margin: 1rem 0 0 auto;
	padding: 0 1rem;
}
.estates_main_img img {
	border-radius: 20px;
	overflow: hidden;
}
.single_estates_text_box {
	margin-bottom: 3rem;
}
.template01_box,
.template02_box,
.template03_box {
	margin-bottom: 5rem;
}
.single-estates p {
	font-size: 18px;
}
@media screen and (max-width: 1024px) {
	.single-estates .site-body-container {
		max-width: 90%;
		padding-right: 0;
	}
	.estates_main_img {
		width: 100%;
	}
	.estates_main_img img {
		border-radius: 15px;
	}
	.single-estates p {
		font-size: 16px;
	}
	.estates_bg_text {
		border-radius: 15px !important;
	}
}
@media screen and (max-width: 767px) {
	.estates_bg_text {
		border-radius: 10px !important;
		padding: 1.5rem 1rem;
	}
	.single-estates p {
		font-size: 14px;
	}
	.estates_main_img {
		padding: 0 10px;
	}
	.estates_main_img img {
		border-radius: 10px;
	}
}

/**********************************************
 * お知らせ一覧ページ
************************************************/
.archive.post-type-news .vk_posts-postType-news {
	padding-top: 6rem;
	gap: 4rem 3%;
}
.archive.post-type-news .vk_post-postType-news {
	width: 31.3%;
	margin-right: 0;
	margin-left: 0;
	margin-bottom: 0;
}
@media screen and (max-width: 1024px) {
	.archive.post-type-news .vk_posts-postType-news {
		padding-top: 4rem;
		gap: 2.5rem 3%;
	}
}
@media screen and (max-width: 1024px) {
	.archive.post-type-news .vk_post-postType-news {
		width: 48.5%;
	}
}

/**********************************************
 * お知らせ詳細ページ
************************************************/
.single-news .page-header,
.single-news .breadcrumb,
.single-news .entry-footer {
	display: none;
}
.single-news .site-body {
	min-height: calc(100vh - 540px);
}
.single-news .site-body-container {
	max-width: 1200px;
	margin: 0 auto;
	padding-right: 1rem;
}
.single-news p {
	font-size: 18px;
}
@media screen and (max-width: 1024px) {
	.single-news .site-body-container {
		max-width: 90%;
		padding-right: 0;
	}
	.single-news p {
		font-size: 16px;
	}
}
@media screen and (max-width: 767px) {
	.single-news p {
		font-size: 14px;
	}
}

/***********************************
 * プライバシーポリシー
************************************/
.privacy_content {
	padding-top: 6rem;
	padding-bottom: 8rem;
}
@media screen and (max-width: 1024px) {
	.privacy_content {
		padding-top: 4rem;
		padding-bottom: 6rem;
	}
}


/***********************************************
 * アニメーション
***********************************************/
.delay1 {
	transition-delay: 0.1s !important;
}
.delay2 {
	transition-delay: 0.2s !important;
}
.delay3 {
	transition-delay: 0.3s !important;
}
.delay4 {
	transition-delay: 0.4s !important;
}
.delay5 {
	transition-delay: 0.5s !important;
}
.delay6 {
	transition-delay: 0.6s !important;
}
.delay7 {
	transition-delay: 0.7s !important;
}
.delay8 {
	transition-delay: 0.8 !important;
}
.delay9 {
	transition-delay: 0.9s !important;
}
.delay10 {
	transition-delay: 1s !important;
}

.animate_en span {
	display: inline-block;
	overflow: hidden;
	transform: translateY(70%);
	opacity: 0;
	transition: all .3s var(--char-index);
}
.animate_en.class_active span {
	opacity: 1;
	transform: translate(0);
}
.animate_en span.space {
	display: inline;
}

/* opacity */
.class_key.opacity {
	opacity: 0;
	transition: all .3s;
}
.opacity.class_active {
	opacity: 1;
}

/* ふわっと上 */
.class_key.up {
	transform: translateY(30px);
	opacity: 0;
	transition: all .3s;
}
.up.class_active {
	transform: translateY(0);
	opacity: 1;
}

/* ふわっと下 */
.class_key.down {
	transform: translateY(-30px);
	opacity: 0;
	transition: all .3s;
}
.down.class_active {
	transform: translateY(0);
	opacity: 1;
}

/* 右から左 */
.class_key.right {
	transform: translateX(30px);
	opacity: 0;
	transition: all .5s;
}
.right.class_active {
	transform: translateX(0);
	opacity: 1;
}

/* 左から右 */
.class_key.left {
	transform: translateX(-30px);
	opacity: 0;
	transition: all .5s;
}
.left.class_active {
	transform: translateX(0);
	opacity: 1;
}

/* マスク */
.class_key.mask {
	mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
    -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
    mask-size: 340% 340%;
    -webkit-mask-size: 340% 340%;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-position: 130% 130%;
    -webkit-mask-position: 130% 130%;
}
.class_active.mask {
	animation: mask-animation 0.8s linear forwards;
}
@keyframes mask-animation {
	0% {
		mask-position: 130% 130%;
    	-webkit-mask-position: 130% 130%;
		mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
    -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
	}
	99% {
		mask-position: 0 0;
    	-webkit-mask-position: 0 0;
		mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
    -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0.4) 45%, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0) 100%);
	}
	100% {
		mask-image: unset;
		-webkit-mask-image: unset;
	}
}



