/*
Theme Name: 河建コーポレーション
Template: lightning
Author: 株式会社 FEAT.
Version: 0.6.1
*/


/*
	font-family: "Barlow", sans-serif;
	font-family: "Noto Sans JP", sans-serif;
*/

/* -----------------------------------------
	共通
----------------------------------------- */
:root {
	--vk-color-text-body: #3B4452;
}
html {
	scroll-behavior: smooth;
	scroll-padding-top: 100px;
}
body {
	--main-color: #0D2D4E;
	--sub-color: #1B4FD9;
	--btn-color: #2647A0;
	--gray-color: #CDDDFF;
	--dark-blue-color: #152033;
	--sub-text-color: #5B6470;
	--max-width: 1120px;
	--sub-width: 1120px;
	
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	padding-top: 90px;
}
a,
p a {
	color: var(--main-color);
	text-decoration: none;
}
.btn.focus,
.btn:focus {
	box-shadow: none;
}
.grecaptcha-badge {
	display: none !important;
	bottom: 75px !important;
}
body:has(.contact_form) .grecaptcha-badge {
	display: block !important;
}
@media screen and (max-width: 1250px){
	body {
		--max-width: 90cqw;
		--sub-width: 90cqw;
	}
}
@media screen and (max-width: 991px){
	html {
		scroll-padding-top: 15px;
	}
	body {
		padding-top: 0;
	}
}
@media screen and (max-width: 767px){
	body {
		--max-width: calc(90cqw - 20px);
		--sub-width: calc(90cqw - 20px);
	}
}
/* コンテナ */
body .container,
body .container-lg,
body .container-md,
body .container-sm,
body .container-xl,
.vk_outer-width-full.vk_outer-paddingLR-none>div>.vk_outer_container {
	max-width: var(--max-width);
	padding-left: 0;
	padding-right: 0;
}
.vk_outer-width-full.vk_outer-paddingLR-none {
	padding-left: 0;
	padding-right: 0;
}
.alignfull, 
.alignfull:is(.swiper-container,
.vk_slider,
.wp-block-image,
.wp-block-cover-image,.wp-block-cover) {
	margin-left: calc(50% - 50cqw);
    margin-right: calc(50% - 50cqw);
}
.site-body {
	margin-top: 0 !important;
}
.page_top_btn {
	background-color: var(--main-color);
	background-size: 65%;
	box-shadow: 0 0 0 1px #fff,0 0 0 2px var(--main-color);
}
@media screen and (max-width: 1024px){
	body .container,
	body .container-lg,
	body .container-md,
	body .container-sm,
	body .container-xl,
	.vk_outer-width-full.vk_outer-paddingLR-none>div>.vk_outer_container {
		padding-left: 0;
		padding-right: 0;
	}
}

/* ヘッダー */
.site-header {
	position: fixed;
	top: 0;
    left: 0;
	z-index: 1000;
	animation: none !important;
}
header .site-header-container {
	align-items: center;
	max-width: unset;
}
.site-header-logo {
	width: unset;
	padding-top: 0;
    margin-left: 2.5rem !important;
	margin-bottom: 0;
}
.site-header-logo img {
	width: 300px;
	max-height: unset !important;
}
.global-nav > #menu-header-menu {
	align-items: center;
}
.device-pc .global-nav-list>li>a {
	padding: 14px 17px;
}
.global-nav-list>li:before {
	border-color: var(--dark-blue-color);
}
.global-nav-list>li.header_contact {
	background-color: var(--btn-color);
	margin-left: 15px;
	transition: all .3s;
}
.global-nav-list>li.header_contact:hover {
	background-color: var(--main-color);
}
.global-nav-list>li.header_contact > a {
	position: relative;
	padding: 24px 26px 22px;
}
.global-nav-list>li.header_contact > a::before {
	content: '';
	display: block;
	background-image: url('../../../wp-content/uploads/2026/06/mail_white.png');
	background-repeat: no-repeat;
	background-size: contain;
	width: 22px;
	aspect-ratio: 1 / 1;
	margin-bottom: 5px;
}
.global-nav-list>li .global-nav-name {
	color: var(--dark-blue-color);
	font-size: 15px;
	font-weight: 600;
}
.global-nav-list>li.header_contact .global-nav-name {
	color: #fff;
	font-size: 12px;
	font-weight: 400;
}

.vk-mobile-nav-menu-btn {
	color: #fff;
	background: var(--main-color);
	font-size: 8px;
	text-align: center;
	text-indent: 0;
	width: 45px;
	height: 45px;
	border: 1px solid #fff;
	border-radius: 0;
	transition: none;
}
.vk-mobile-nav-menu-btn::before {
	content: '';
	display: block;
	position: relative;
	top: 0px;
	left: 50%;
	transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	background: url("../../../wp-content/themes/lightning/_g3/inc/vk-mobile-nav/package/images/vk-menu-btn-white.svg");
	background-repeat: no-repeat;
	background-size: contain;
	width: 32px;
	aspect-ratio: 1 / 1;
	margin-bottom: -5px;
	transition: all .3s;
}
.vk-mobile-nav-menu-btn.menu-open {
	border-color: var(--main-color);
    background: var(--main-color);
}
.vk-mobile-nav-menu-btn.menu-open::before {
	background: url("../../../wp-content/themes/lightning/_g3/inc/vk-mobile-nav/package/images/vk-menu-close-white.svg");
}
.vk-mobile-nav {
	color: #fff;
	background: var(--main-color);
	width: 300px;
	padding: 20px 20px 45px;
    overflow: auto;
    border: none;
}
.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-left-in,
.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-right-in {
	left: calc(100vw - 300px);
	box-shadow: -2px 0 3px rgba(0, 0, 0, .2);
}
.mobile-nav-logo {
	width: 200px;
	margin-bottom: 2.5rem;
}
.mobile-nav-logo img {
	width: 100%;
	vertical-align: bottom;
}
.vk-mobile-nav nav>ul,
.vk-mobile-nav .widget_nav_menu ul li a,
.vk-mobile-nav nav ul li a {
	border-color: rgba(255, 255, 255, 0.25) !important;
}
.vk-mobile-nav .widget_nav_menu ul li a,
.vk-mobile-nav nav ul li a {
	color: #fff;
}
.vk-mobile-nav nav ul li.header_contact {
	margin-top: 2rem;
}
.vk-mobile-nav nav ul li.header_contact a {
	position: relative;
	text-align: center;
	text-indent: 14px;
	border: 1px solid #fff !important;
	transition: all .3s;
}
.vk-mobile-nav nav ul li.header_contact a:hover {
	color: var(--main-color);
	background-color: #fff;
}
.vk-mobile-nav nav ul li.header_contact a::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
    left: calc(50% - 53px);
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	background-image: url('../../../wp-content/uploads/2026/06/mail_white.png');
	background-repeat: no-repeat;
	background-size: contain;
	width: 22px;
	aspect-ratio: 1 / 1;
	transition: all .3s;
}
.vk-mobile-nav nav ul li.header_contact a:hover::before {
	background-image: url('../../../wp-content/uploads/2026/06/mail_main.png');
}
.mobile-nav-tel.vk_button .vk_button_link.btn {
	background-color: transparent !important;
    width: 100%;
	padding: 0;
	border: none;
}
.mobile-nav-tel.vk_button .vk_button_link_caption {
	font-family: "Barlow", sans-serif;
	font-size: 24px;
	font-weight: 900;
	letter-spacing: .08em;
}
.mobile-nav-tel.vk_button .vk_button_link_caption i {
	font-size: .85em;
    margin-right: .3em;
}
@media screen and (max-width: 991px){
	.site-header {
		position: relative;
	}
	.site-header-logo {
		padding: 1rem 1rem;
		margin-left: auto !important;
	}
	.site-header-logo img {
		width: 200px;
	}
}

/* フッター */
.site-footer {
	font-size: 14px;
	font-weight: 400;
	border: none;
}
.site-footer .site-footer-content {
	padding-top: 2.65rem;
}
.widget_block:has(.footer_logo) {
	margin-bottom: 19px;
}
.footer_logo {
	width: 300px;
	margin-top: 2px;
}
.footer_logo img {
	width: 100%;
	vertical-align: bottom;
}
.footer_info,
.footer_info a {
	color: #fff;
	line-height: 1.2;
	margin-bottom: 0;
	transition: all .3s;
}
.footer_info a:hover {
	opacity: .5;
}
.footer_menu_box {
	margin-right: -17px;
}
.footer_menu_box .widget_nav_menu {
	margin-bottom: 0;
}
.footer_menu_box .widget_nav_menu + .widget_nav_menu {
	margin-top: 20px;
}
.footer_menu_box .widget_nav_menu ul.menu {
	display: flex;
	justify-content: flex-end;
}
.footer_menu_box .widget_nav_menu>div>ul li a {
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	padding: 3px 17px;
	border: none;
}

.site-footer-copyright {
	padding-top: 2.9rem;
    padding-bottom: 2.6rem;
}
.site-footer-copyright p {
	color: rgba(255, 255, 255, .7);
	font-size: 12px;
	font-weight: 300;
	letter-spacing: .015em;
	margin: 0;
}
@media screen and (max-width: 1024px){
	.site-footer {
		font-size: 12px;
	}
	.footer_logo {
		width: 250px;
	}
	.footer_info,
	.footer_info a {
		line-height: 1.4;
	}
	.footer_menu_box {
		margin-right: -13px;
	}
	.footer_menu_box .widget_nav_menu + .widget_nav_menu {
		margin-top: 10px;
	}
	.footer_menu_box .widget_nav_menu>div>ul li a {
		font-size: 14px;
		padding: 3px 13px;
	}
	.site-footer-copyright {
		padding-top: 1.9rem;
		padding-bottom: 1.6rem;
	}
	.site-footer-copyright p {
		font-size: 10px;
	}
}
@media screen and (max-width: 767px){
	.site-footer-content > .row {
		gap: 2rem;
	}
	.footer_logo {
		width: 200px;
	}
	.footer_menu_box {
		margin-right: 0;
	}
	.footer_menu_box .widget_nav_menu + .widget_nav_menu {
		margin-top: 7px;
	}
	.footer_menu_box .widget_nav_menu ul.menu {
		justify-content: center;
	}
	.footer_menu_box .widget_nav_menu>div>ul li a {
		font-size: 12px;
	}
}

/* フッター上 */
.footer_top {
	color: #fff;
	background-color: var(--btn-color);
	padding: 5rem 0;
}
.footer_top_column {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1.5rem 2rem;
	font-size: 14px;
	font-weight: 300;
}
.footer_top_column_right {
	flex-shrink: 0;
}
.footer_top_column_left > div > *:last-child {
	margin-bottom: 0;
}
.footer_top_column_left .wp-block-heading {
	font-size: 26px;
	line-height: 1.7;
	letter-spacing: .04em;
	margin-bottom: 0.3rem;
}
.footer_top_column_left p {
	color: var(--gray-color);
}
.footer_top_btn {
	display: flex;
	align-items: center;
	gap: 0 .9em;
	position: relative;
	color: var(--main-color);
	background-color: #fff;
    background-image: linear-gradient(45deg, var(--main-color) 50%, transparent 50%);
    background-position: 100%;
    background-size: 300%;
	font-size: 16px;
	font-weight: 600;
	padding: 1.25rem 2.2rem;
	transition: all 500ms ease-in-out;
}
.footer_top_btn::before,
.footer_top_btn::after {
	content: '';
	display: block;
	flex-shrink: 0;
	background-repeat: no-repeat;
	background-size: contain;
	transition: all 500ms ease-in-out;
}
.footer_top_btn::before {
	background-image: url('../../../wp-content/uploads/2026/06/mail_main.png');
	width: 22px;
	aspect-ratio: 1 / 1;
}
.footer_top_btn::after {
	background-image: url('../../../wp-content/uploads/2026/06/arrow_main.png');
	width: 18px;
	aspect-ratio: 1 / 1;
}
.footer_top_btn:hover {
	color: #fff;
	background-position: 0;
}
.footer_top_btn:hover::before {
	background-image: url('../../../wp-content/uploads/2026/06/mail_white.png');
}
.footer_top_btn:hover::after {
	background-image: url('../../../wp-content/uploads/2026/06/arrow_white.png');
}
@media screen and (max-width: 1024px){
	.footer_top {
		text-align: center;
		padding: 3.5rem 0;
	}
	.footer_top_column {
		flex-wrap: wrap;
		justify-content: center;
	}
	.footer_top_column .footer_top_column_left {
		width: 100%;
	}
	.footer_top_column_left .wp-block-heading {
		font-size: 22px;
		text-align: center;
	}
	.footer_top_btn {
		font-size: 14px;
		padding: 1rem 1.65rem;
	}
}
@media screen and (max-width: 767px){
	.footer_top {
		padding: 2.5rem 0;
	}
	.footer_top_column {
		font-size: 12px;
	}
	.footer_top_column_left .wp-block-heading {
		font-size: 18px;
	}
	.footer_top_btn {
		gap: 0 .65em;
		padding: .9rem 1.65rem;
	}
	.footer_top_btn::before {
		width: 18px;
	}
	.footer_top_btn::after {
		width: 16px;
	}
}

/* パンくず */
.breadcrumb {
	color: #fff;
	background-color: #14213a;
	padding: 0.75rem 1.25rem;
	margin-top: 0 !important;
	border: none;
}
.breadcrumb .container {
	max-width: unset;
}
.breadcrumb-list li {
	font-size: 12px;
}
.breadcrumb-list li:after {
	margin-left: 1.125em;
    margin-right: 1.125em;
}
.breadcrumb-list li a {
	color: #9AB0FF;
	text-decoration: none;
	transition: all .3s;
}
.breadcrumb-list li a:hover {
	opacity: .6;
}
.breadcrumb-list .fa-house {
	display: none;
}
@media screen and (max-width: 1024px){
	.breadcrumb {
		padding: .25rem .75rem;
	}
}
@media screen and (max-width: 767px){
	.breadcrumb-list li {
		font-size: 10px;
	}
	.breadcrumb-list li:after {
		margin-left: 1em;
		margin-right: 1em;
	}
}

/* ページヘッダー */
.page_header_container {
/* 	padding-top: 2.5rem; */
	padding-top: 6rem;
    padding-bottom: 6rem;
	margin-bottom: 2.55rem;
}
.page_header_container > div > .vk_outer_container {
	position: static !important;
}
.page_header_title > * {
	max-width: unset !important;
}
.page_header_title .page_header_title_ja {
	font-size: 46px;
	font-weight: 900;
	letter-spacing: .045em;
	margin-bottom: 3px !important;
}
.page_header_title .page_header_title_en {
	color: #6F8CFF;
	font-family: "Barlow", sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .29em;
}
#vk_breadcrumb {
	position: absolute;
	top: .75rem;
	left: 1.75rem;
}
#vk_breadcrumb .vk_breadcrumb_list_item {
	font-size: 12px;
}
#vk_breadcrumb .vk_breadcrumb_list_item i {
	display: none;
}
#vk_breadcrumb .vk_breadcrumb_list_item:after {
	margin-left: 1.125em;
    margin-right: 1.125em;
}
#vk_breadcrumb .vk_breadcrumb_list_item a {
	color: #9AB0FF;
	text-decoration: none;
	transition: all .3s;
}
#vk_breadcrumb .vk_breadcrumb_list_item a:hover {
	opacity: .6;
}
@media screen and (max-width: 1024px){
	.page_header_container {
		padding-top: 5rem;
		padding-bottom: 4rem;
		margin-bottom: 1.5rem;
	}
	.page_header_title .page_header_title_ja {
		font-size: 26px;
	}
	.page_header_title .page_header_title_en {
		font-size: 12px;
	}
}
@media screen and (max-width: 767px){
	.page_header_title .page_header_title_ja {
		font-size: 22px;
	}
	.page_header_title .page_header_title_en {
		font-size: 12px;
	}
	#vk_breadcrumb {
		top: .25rem;
		left: 1rem;
	}
	#vk_breadcrumb .vk_breadcrumb_list_item {
		font-size: 10px;
	}
}

/* タイトル */
.title_box {
	margin-bottom: 1.05rem;
}
.title_box > * {
	max-width: unset !important;
}
.title_box .title_box_en {
	color: var(--main-color);
	font-family: "Barlow", sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .23em;
	margin-block-end: 11px !important;
}
.title_box .title_box_ja {
	color: var(--dark-blue-color);
	font-size: 34px;
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: .023em;
}
.title_bottom_info {
	color: var(--sub-text-color);
	font-size: 14px;
	font-weight: 400;
}
@media screen and (max-width: 1024px){
	.title_box .title_box_en {
		font-size: 10px;
		margin-block-end: 5px !important;
	}
	.title_box .title_box_ja {
		font-size: 24px;
	}
	.title_bottom_info {
		font-size: 12px;
	}
}

/* タイトル（下層） */
.page_title_box {
	margin-bottom: 1.1rem;
}
.page_title_box > * {
	max-width: unset !important;
}
.page_title_box .page_title_box_en {
	color: var(--sub-color);
	font-family: "Barlow", sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .23em;
	margin-block-end: 16px !important;
}
.page_title_box .page_title_box_ja {
	color: var(--dark-blue-color);
	font-size: 30px;
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: .023em;
}
@media screen and (max-width: 1024px){
	.page_title_box .page_title_box_en {
		font-size: 12px;
		margin-block-end: 5px !important;
	}
	.page_title_box .page_title_box_ja {
		font-size: 24px;
	}
	.page_message_column_content > p {
		line-height: 1.8;
	}
	.page_message_name {
		gap: 1rem 1.4rem;
	}
}

/* リスト */
.check_list {
	list-style: none;
	padding-left: 0;
}
.check_list li {
	position: relative;
	padding-left: 28px;
}
.check_list li::before {
	content: "";
	position: absolute;
	top: .2em;
	left: 0;
	background-image: url('../../../wp-content/uploads/2026/07/check_blue.png');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: 1.285em;
	aspect-ratio: 1 / 1;
}
@media screen and (max-width: 1024px){
	.check_list li {
		padding-left: 21px;
	}
}

/* page_link_btns */
.page_link_btns .vk_buttons_col {
	gap: 20px;
	counter-reset: step;
}
.page_link_btns .wp-block-vk-blocks-button {
	position: relative;
	width: calc((100% - 40px)/3);
	counter-increment: step;
}
.page_link_btns.has_num .wp-block-vk-blocks-button::before {
	content: counter(step, decimal-leading-zero);
	display: block;
	position: absolute;
    top: 48%;
    left: 1.5rem;
	transform:  translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	color: var(--sub-color);
	font-family: "Barlow", sans-serif;
	font-size: 30px;
	font-weight: 900;
	z-index: 1;
	transition: all 500ms ease-in-out;
}
.page_link_btns .vk_button .vk_button_link.btn {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	background-color: #f4f6f9;
    background-image: linear-gradient(45deg, var(--sub-color) 50%, transparent 50%);
    background-position: 100%;
    background-size: 300%;
	text-align: left;
	width: 100%;
	padding: 1.64rem 4.2rem;
	border-radius: 0;
	border-bottom: 3px solid var(--sub-color);
	transition: all 500ms ease-in-out;
}
.page_link_btns .vk_button .vk_button_link.btn:hover {
	background-position: 0;
	opacity: 1 !important;
}
.page_link_btns .vk_button .vk_button_link.btn::before,
.page_link_btns .vk_button .vk_button_link.btn::after {
	content: '';
	display: block;
	position: absolute;
	background-repeat: no-repeat;
	background-size: contain;
}
.page_link_btns .vk_button .vk_button_link.btn::before {
	top: 50%;
	right: 1.4rem;
	transform:  translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	width: 40px;
	aspect-ratio: 1 / 1;
	background-color: transparent;
	border: 1px solid #C9D0DA;
	border-radius: 50%;
	transition: all .5s;
}
.page_link_btns .vk_button .vk_button_link.btn:hover::before {
	background-color: #C9D0DA;
}
.page_link_btns .vk_button .vk_button_link.btn::after {
	top: 50%;
	right: 2.15rem;
	transform: translateY(-50%) rotate(90deg);
    -webkit-transform: translateY(-50%) rotate(90deg);
    -ms-transform: translateY(-50%) rotate(90deg);
	background-image: url('../../../wp-content/uploads/2026/07/arrow2_main.png');
	width: 16px;
	aspect-ratio: 1 / 1;
}
.page_link_btns .vk_button-color-custom a:hover {
	box-shadow: none;
}
.page_link_btns .vk_button .vk_button_link_caption {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
	transition: all 500ms ease-in-out;
}
.page_link_btns .vk_button .vk_button_link_subCaption {
	color: #7A828D;
	font-family: "Barlow", sans-serif;
	font-size: 11px;
	line-height: 1;
	letter-spacing: .1em;
	transition: all 500ms ease-in-out;
}

.page_link_btns.no_num .vk_button .vk_button_link.btn {
	padding-left: 1.45rem;
}
.page_link_btns.no_num .vk_button .vk_button_link_subCaption {
	order: -1;
	color: var(--sub-color);
	font-weight: 700;
}
.page_link_btns .vk_button .vk_button_link.btn:hover .vk_button_link_caption,
.page_link_btns .vk_button .vk_button_link.btn:hover .vk_button_link_subCaption,
.page_link_btns.no_num .vk_button .vk_button_link.btn:hover .vk_button_link_subCaption,
.page_link_btns.has_num .wp-block-vk-blocks-button:has(.vk_button_link.btn:hover)::before {
	color: #fff;
}
@media screen and (max-width: 1024px){
	.page_link_btns .vk_buttons_col {
		gap: 10px;
	}
	.page_link_btns .wp-block-vk-blocks-button {
		width: calc((100% - 20px)/3);
	}
	.page_link_btns.has_num .wp-block-vk-blocks-button::before {
		left: .85rem;
		font-size: 22px;
	}
	.page_link_btns .vk_button .vk_button_link.btn {
		padding: 1.1rem 3.2rem;
	}
	.page_link_btns .vk_button .vk_button_link.btn::before {
		right: .5rem;
		width: 30px;
	}
	.page_link_btns .vk_button .vk_button_link.btn::after {
		right: 1.13rem;
		width: 12px;
	}
	.page_link_btns .vk_button .vk_button_link_caption {
		font-size: 15px;
	}
	.page_link_btns .vk_button .vk_button_link_subCaption {
		font-size: 10px;
	}
	
	.page_link_btns.no_num .vk_button .vk_button_link.btn {
		padding-left: 1rem;
	}
}
@media screen and (max-width: 767px){
	.page_link_btns .wp-block-vk-blocks-button {
		width: calc((100% - 10px)/2);
	}
	.page_link_btns.has_num .wp-block-vk-blocks-button::before {
        left: .5rem;
        font-size: 16px;
	}
	.page_link_btns .vk_button .vk_button_link.btn {
		padding: 1.1rem 2rem;
	}
	.page_link_btns .vk_button .vk_button_link.btn::before {
		right: .18rem;
        width: 22px;
	}
	.page_link_btns .vk_button .vk_button_link.btn::after {
		right: .62rem;
        width: 9px;
	}
	.page_link_btns .vk_button .vk_button_link_caption {
		font-size: 12px;
	}
}



/* -----------------------------------------
	トップページ
----------------------------------------- */
/* FV */
.fv_container {
	padding: 0;
}
.fv_container > div > .vk_outer_container {
	max-width: unset !important;
}
.fv_slider {
	position: relative;
}
.fv_slider::before {
	content: '';
	display: block;
	position: absolute;
	inset: 0;
	background: linear-gradient(
		78deg,
		rgba(255, 255, 255, 1) 0%,
		rgba(255, 255, 255, 1) 26%,
		rgba(255, 255, 255, 0.85) 40%,
		rgba(255, 255, 255, 0) 62%,
		rgba(255, 255, 255, 0) 100%
	);
	z-index: 2;
}
.fv_slider .wp-block-vk-blocks-slider-item {
	padding: 0;
}
.fv_slider figure {
	width: 83.33%;
	margin-left: auto;
	margin-bottom: 0;
}
.fv_slider figure img {
	width: 100%;
	aspect-ratio: 1207 / 600;
	object-fit: cover;
	vertical-align: bottom;
}
.fv_textBox {
	position: absolute;
	top: 46.5%;
    left: 11.45%;
	transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	max-width: 45vw;
	z-index: 3;
}
.fv_textBox.ani_trigger {
	transform: translateY(calc(-50% + 150px));
    -webkit-transform: translateY(calc(-50% + 150px));
    -ms-transform: translateY(calc(-50% + 150px));
}
.fv_textBox.ani_trigger.active {
	animation: fvfadeUp .75s ease-in-out 1 normal forwards;
}
@keyframes fvfadeUp {
  from { opacity: 0; transform: translateY(calc(-50% + 150px)); }
  to { opacity: 1; transform: translateY(-50%); }
}
.fv_textBox > * {
	max-width: unset;
	text-align: justify;
}
.fv_textBox .fv_top_text {
	display: inline-block;
	font-size: .885vw;
    letter-spacing: .1em;
    padding: .31em 1.2em;
	margin-block-end: 3.15em !important;
}
.fv_textBox .fv_title {
	font-size: 4.16vw;
	line-height: 1.18;
    letter-spacing: .023em;
	margin-bottom: 0.15em;
}
.fv_textBox .fv_text {
	font-size: 1.09vw;
	font-weight: 400;
	line-height: 2;
	letter-spacing: .01em;
	text-shadow: 0 0 8px #fff;
}
@media screen and (max-width: 1024px){
	.fv_textBox {
		left: 5.45%;
	}
	.fv_textBox .fv_top_text {
		font-size: 1.56vw;
		margin-block-end: 1.75em !important;
	}
	.fv_textBox .fv_title {
		font-size: 4.5vw;
		margin-bottom: .35em;
	}
	.fv_textBox .fv_text {
		font-size: 1.5vw;
	}
}
@media screen and (max-width: 767px){
	.fv_container {
		background-color: #fff;
	}
	.fv_slider figure {
		width: 100%;
	}
	.fv_slider figure.wp-block-image img:not([style*=object-fit]) {
		aspect-ratio: 4 / 3;
		object-fit: cover;
	}
	.fv_slider::before {
		display: none;
	}
	.fv_textBox {
		position: static;
		top: auto;
		left: auto;
		transform: none;
		-webkit-transform: none;
		-ms-transform: none;
		max-width: var(--max-width);
		padding: 2.5rem 0;
		margin-left: auto;
		margin-right: auto;
	}
	@keyframes fvfadeUp {
	  from { opacity: 0; transform: translateY(150px); }
	  to { opacity: 1; transform: translateY(0); }
	}
	.fv_textBox .fv_top_text {
		font-size: 3vw;
        padding: .31em 1em;
		margin-block-end: 1em !important;
	}
	.fv_textBox .fv_title {
		font-size: 10.5vw;
	}
	.fv_textBox .fv_text {
		font-size: 3.6vw;
	}
}

/* strength */
.strength_container {
	padding-top: 5.8rem;
	padding-bottom: 5.8rem;
}
.strength_container .title_box .title_box_en {
	color: #BCCEFF;
	margin-block-end: 15px !important;
}
.strength_container .title_box {
	margin-bottom: 1.5rem;
}
.strength_container .title_box .title_box_ja {
	color: #FFF;
	font-size: 46px;
}
.strength_column {
	align-items: center !important;
	gap: 2rem 4rem;
	font-weight: 300;
}
.strength_column_left {
	text-align: justify;
}
.strength_column_left p {
	font-size: 15px;
	line-height: 2.05;
}
.strength_items > .row {
	gap: 1.1rem 0;
	margin-left: 0;
	margin-right: 0;
}
.strength_items > .row > .wp-block-vk-blocks-grid-column-item {
	width: 100%;
	padding: 0;
}
.strength_items > .row > .wp-block-vk-blocks-grid-column-item .vk_gridColumn_item_inner {
	padding: 1.2rem 1.65rem;
}
.strength_item_column {
	margin-bottom: 0;
}
.strength_item_column.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column {
	flex-basis: auto;
    flex-grow: 0;
	width: auto;
}
.strength_item_column .strength_item_title {
	flex-shrink: 0;
	font-family: "Barlow", sans-serif;
	font-size: 14px;
	font-weight: 800;
	width: 65px !important;
}
.strength_item_column .strength_item_title strong {
	font-size: 2.14em;
	line-height: 1;
}
.strength_item_column .strength_item_text {
	color: var(--gray-color);
	font-size: 12px;
}
.strength_item_column .strength_item_text strong {
	color: #fff;
	font-size: 1.25em;
	font-weight: 700;
}
@media screen and (max-width: 1024px){
	.strength_container {
		padding-top: 3.5rem;
		padding-bottom: 3.5rem;
	}
	.strength_container .title_box .title_box_ja {
		font-size: 30px;
	}
	.strength_container .title_box .title_box_en {
		margin-block-end: 8px !important;
	}
	.strength_column {
		gap: 1.5rem 2rem;
	}
	.strength_column_left p {
		font-size: 14px;
	}
	.strength_item_column {
		gap: 15px !important;
	}
	.strength_items > .row > .wp-block-vk-blocks-grid-column-item .vk_gridColumn_item_inner {
		padding: 1rem 1.2rem;
	}
	.strength_item_column .strength_item_title {
		font-size: 12px;
		width: 50px !important;
	}
	.strength_item_column .strength_item_title strong {
		font-size: 1.75em;
	}
	.strength_item_column .strength_item_text {
		font-size: 11px;
	}
}
@media screen and (max-width: 767px){
	.strength_column {
		flex-direction: column;
	}
	.strength_container .title_box {
		margin-bottom: 1rem;
	}
	.strength_container .title_box .title_box_ja {
		font-size: 24px;
	}
	.strength_container .title_box .title_box_en {
		margin-block-end: 3px !important;
	}
	.strength_column_left p {
		line-height: 1.75;
	}
	.strength_item_column {
		gap: 10px !important;
	}
}

/* business */
.business_container {
	padding-top: 4.95rem;
	padding-bottom: 4.95rem;
}
.business_items {
	margin-block-start: 3.2rem !important;
}
.business_item_img {
	margin-bottom: 0;
	overflow: hidden;
}
.business_item_img img {
	width: 100%;
	object-fit: cover;
	aspect-ratio: 59 / 35;
	transform: scale(1);
	transition: all .5s;
}
.business_items > .row > .wp-block-vk-blocks-grid-column-item:hover .business_item_img img {
	transform: scale(1.05);
}
.business_item_content {
	position: relative;
	font-size: 13px;
	text-align: justify;
	padding: 1.95rem 1.64rem 5rem;
}
.business_item_content::before,
.business_item_content::after {
	content: '';
	display: block;
	position: absolute;
	background-repeat: no-repeat;
	background-size: contain;
}
.business_item_content::before {
	right: 1.25rem;
    bottom: 1.34rem;
	width: 40px;
	aspect-ratio: 1 / 1;
	background-color: transparent;
	border: 1px solid #C9D0DA;
	border-radius: 50%;
	transition: all .5s;
}
.business_items > .row > .wp-block-vk-blocks-grid-column-item:hover .business_item_content::before {
	background-color: #C9D0DA;
}
.business_item_content::after {
	right: 2rem;
    bottom: 2.1rem;
	background-image: url('../../../wp-content/uploads/2026/07/arrow2_main.png');
	width: 16px;
	aspect-ratio: 1 / 1;
}
.business_item_content > * {
	max-width: unset !important;
}
.business_item_content .business_item_content_title {
	font-size: 19px;
	margin-bottom: 13px;
}
.business_item_content .business_item_content_title strong {
	display: inline-block;
	font-family: "Barlow", sans-serif;
	font-size: 1.89em;
	margin-right: 8px;
}
.business_item_content p {
	font-weight: 400;
	line-height: 1.85;
}
@media screen and (max-width: 1024px){
	.business_container {
		padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }
	.business_items {
		margin-block-start: 2.5rem !important;
	}
	.business_item_content {
		font-size: 12px;
		padding: 1.3rem 1.2rem 4.2rem;
	}
	.business_item_content::before {
		right: 1.2rem;
		bottom: 1rem;
		width: 35px;
	}
	.business_item_content::after {
		right: 1.95rem;
		bottom: 1.75rem;
		width: 14px;
	}
	.business_item_content .business_item_content_title {
		font-size: 16px;
		margin-bottom: 10px;
	}
	.business_item_content .business_item_content_title strong {
		font-size: 1.7em;
		margin-right: 5px;
	}
}
@media screen and (max-width: 767px){
	.business_items {
		margin-block-start: 2rem !important;
	}
	.business_items > .row > .wp-block-vk-blocks-grid-column-item + .wp-block-vk-blocks-grid-column-item {
		margin-top: 1rem;
	}
}

/* works */
.works_container {
	padding-top: 5.75rem;
	padding-bottom: 5.55rem;
}
.works_container .title_box {
    margin-bottom: .9rem;
}
.works_items {
	margin-block-start: 2.5rem !important;
}
.works_items > .row {
	margin-left: 0;
	margin-right: 0;
}
.works_items > .row > .wp-block-vk-blocks-grid-column-item {
	flex: 0 1 auto;
	width: 23.9%;
	max-width: none;
	padding: 0;
	border: 1px solid #E7EAEF;
}
.works_items > .row > .wp-block-vk-blocks-grid-column-item + .wp-block-vk-blocks-grid-column-item {
	border-left: none;
}
.works_items > .row > .wp-block-vk-blocks-grid-column-item > .vk_gridColumn_item_inner {
	display: flex;
    flex-direction: column;
    justify-content: center;
	padding: 2.55rem 1rem;
}
.works_items .works_item_year {
	font-family: "Barlow", sans-serif;
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 1.05em !important;
}
.works_items .works_item_year strong {
	display: inline-block;
	font-size: 1.384em;
	letter-spacing: .06em;
    margin-right: .15em;
}
.works_items .works_item_num {
	font-size: 15px;
	font-weight: 700;
	margin-bottom: 0;
}
.works_items .works_item_num strong {
	font-size: 2.266em;
	margin-right: .1em;
}
.works_items > .row > .wp-block-vk-blocks-grid-column-item:last-child {
	flex-shrink: 0;
	width: 28.3%;
}
.works_items > .row > .wp-block-vk-blocks-grid-column-item:last-child .works_item_year {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: .07em;
}
.works_items > .row > .wp-block-vk-blocks-grid-column-item:last-child .works_item_num {
	font-family: "Barlow", sans-serif;
	font-size: 16px;
}
.works_items > .row > .wp-block-vk-blocks-grid-column-item:last-child .works_item_num strong {
	font-size: 2.625em;
}
.works_item_info {
	font-size: 11px;
	font-weight: 400;
	margin-block-start: .9rem !important;
}
@media screen and (max-width: 1024px){
	.works_container {
		padding-top: 3.5rem;
        padding-bottom: 3.5rem;
	}
	.works_items > .row > .wp-block-vk-blocks-grid-column-item > .vk_gridColumn_item_inner {
		padding: 1.5rem 1rem;
	}
	.works_items .works_item_year {
		font-size: 12px;
		margin-bottom: .6em !important;
	}
	.works_items .works_item_num {
		font-size: 14px;
	}
	.works_items > .row > .wp-block-vk-blocks-grid-column-item:last-child .works_item_year {
		font-size: 13px;
	}
	.works_items > .row > .wp-block-vk-blocks-grid-column-item:last-child .works_item_num {
		font-size: 15px;
	}
	.works_item_info {
		font-size: 10px;
	}
}
@media screen and (max-width: 767px){
	.works_container {
		padding-top: 2.5rem;
        padding-bottom: 2.5rem;
	}
	.works_items {
		margin-block-start: 1.5rem !important;
	}
	.works_items > .row > .wp-block-vk-blocks-grid-column-item > .vk_gridColumn_item_inner {
		padding: 1rem 0;
	}
	.works_items .works_item_year,
	.works_items .works_item_num {
/* 		font-size: 8px; */
		font-size: 2.13vw;
	}
	.works_items .works_item_year {
		margin-bottom: .4em !important;
	}
	.works_items .works_item_num strong {
		font-size: 2em;
	}
	.works_items > .row > .wp-block-vk-blocks-grid-column-item:last-child .works_item_year {
/* 		font-size: 9px; */
		font-size: 2.4vw;
	}
	.works_items > .row > .wp-block-vk-blocks-grid-column-item:last-child .works_item_num {
/* 		font-size: 10.5px; */
		font-size: 2.8vw;
	}
	.works_items > .row > .wp-block-vk-blocks-grid-column-item:last-child .works_item_num strong {
		font-size: 2.15em;
	}
	.works_item_info {
		margin-block-start: .5rem !important;
	}
}

/* about us */
.about_container {
	padding-top: 5.2rem;
	padding-bottom: 5.2rem;
}
.about_items {
	margin-top: 2.7rem !important;
}
.about_items .about_item_img {
	margin-bottom: 0;
	overflow: hidden;
}
.about_items .about_item_img img {
	width: 100%;
	object-fit: cover;
	aspect-ratio: 3573 / 1915;
	transform: scale(1);
	transition: all .5s;
}
.about_items > .row > .wp-block-vk-blocks-grid-column-item:hover .about_item_img img {
	transform: scale(1.08);
}
.about_items .about_item_content {
	padding: 1.95rem 1.9rem 1.7rem;
	border: 1px solid #E7EAEF;
}
.about_item_title {
	position: relative;
	padding-right: 3.5rem;
}
.about_item_title::before,
.about_item_title::after {
	content: '';
	display: block;
	position: absolute;
	background-repeat: no-repeat;
	background-size: contain;
}
.about_item_title::before {
	right: -0.05rem;
    bottom: 0.45rem;
	width: 40px;
	aspect-ratio: 1 / 1;
	background-color: transparent;
	border: 1px solid #C9D0DA;
	border-radius: 50%;
	transition: all .5s;
}
.about_items > .row > .wp-block-vk-blocks-grid-column-item:hover .about_item_title::before {
	background-color: #C9D0DA;
}
.about_item_title::after {
	right: 0.7rem;
    bottom: 1.25rem;
	background-image: url('../../../wp-content/uploads/2026/07/arrow2_main.png');
	width: 16px;
	aspect-ratio: 1 / 1;
}
.about_item_title .about_item_title_en {
	font-family: "Barlow", sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .17em;
}
.about_item_title .about_item_title_ja {
	font-size: 19px;
	font-weight: 700;
}
@media screen and (max-width: 1024px){
	.about_container {
		padding-top: 3.5rem;
        padding-bottom: 3.5rem;
	}
	.about_items {
		margin-top: 2rem !important;
	}
	.about_items .about_item_content {
		padding: 1rem 1.2rem;
	}
	.about_item_title .about_item_title_ja {
		font-size: 18px;
	}
	.about_item_title .about_item_title_en {
		font-size: 10px;
		line-height: 1;
	}
	.about_item_title::before {
		right: 0;
		bottom: 0.3rem;
		width: 32px;
	}
	.about_item_title::after {
		right: 0.65rem;
		bottom: 1rem;
		width: 13px;
	}
}
@media screen and (max-width: 767px){
	.about_container {
		padding-top: 2.5rem;
        padding-bottom: 2.5rem;
	}
	.about_items > .row {
		justify-content: center;
		gap: 1rem 0 !important;
	}
	.about_items .about_item_content {
		padding: 1rem .8rem;
	}
	.about_item_title {
		padding-right: 2.2rem;
	}
	.about_item_title::before {
		bottom: 0.35rem;
		width: 28px;
	}
	.about_item_title::after {
		right: .6rem;
        bottom: 1rem;
        width: 10px;
	}
	.about_item_title .about_item_title_ja {
		bottom: 0.4rem;
		font-size: 16px;
	}
	.about_item_title .about_item_title_en {
		font-size: 8px;
	}
	
}



/* -----------------------------------------
	事業案内
----------------------------------------- */
/* page_business_top_container */
.page_business_top_container {
	padding-top: 2.5rem;
	padding-bottom: 0.8rem;
}
.page_business_top_title {
	color: var(--dark-blue-color);
	font-size: 28px;
	font-weight: 900;
    line-height: 1.57;
	text-indent: .04em;
    letter-spacing: .04em;
	margin-bottom: 1.65rem !important;
}
.page_business_top_text {
	color: var(--sub-text-color);
	font-weight: 400;
    line-height: 2;
}
@media screen and (max-width: 1024px){
	.page_business_top_title {
		font-size: 24px;
	}
}
@media screen and (max-width: 767px){
	.page_business_top_title {
		font-size: 20px;
	}
	.page_business_top_text {
		line-height: 1.7;
	}
}

/* page_business_item_container */
#demolition.page_business_item_container {
	padding-bottom: 4.95rem;
}
#exterior.page_business_item_container {
	padding-top: 0;
	padding-bottom: 5.3rem;
}
#landscaping.page_business_item_container {
	padding-top: 0;
	padding-bottom: 5rem;
}
.page_business_item_container .page_link_btns {
	margin-bottom: 3rem;
}
.page_business_item_container .business_item_box {
	max-width: unset;
}
.business_item_box {
	position: relative;
	border: none !important;
}
.business_item_box_big {
	position: absolute;
	top: 0;
	left: -4.55rem;
	font-family: "Barlow", sans-serif;
	font-size: 200px;
	font-weight: 800;
	line-height: 1;
	margin-bottom: 0 !important;
	white-space: nowrap;
	opacity: .2;
	user-select: none;
	pointer-events: none;
}
.business_item_box:has(.business_item_column.is-vk-row-reverse) .business_item_box_big {
	left: auto;
	right: -4.55rem;
}
.business_item_column {
	gap: 3.7rem !important;
	max-width: unset;
	padding-top: 7rem;
}
.business_item_column_img figure,
.business_item_column_img figure img {
	width: 100%;
	margin-bottom: 0;
	vertical-align: bottom;
}
.business_item_column_content {
	font-size: 15px;
	text-align: justify;
}
.business_item_column_content > p {
	line-height: 2.1;
}
.business_item_column_content_title {
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: .6rem;
	margin-block-end: 1.05rem !important;
}
.business_item_column_content_title > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.business_item_column_content_title_main {
	color: var(--dark-blue-color);
	font-size: 32px;
	font-weight: 900;
	letter-spacing: .04em;
}
.business_item_column_content_title_sub {
	font-size: 14px;
	letter-spacing: .07em;
}
.business_item_list {
	background-color: transparent !important;
	margin-top: 1.7rem;
}
.business_item_list > * {
	max-width: unset !important;
}
.business_item_list_title {
	color: var(--dark-blue-color);
	font-size: 13px;
	font-weight: 700;
	padding-bottom: .5em;
	margin-bottom: .85rem !important;
	border-bottom: 2px solid var(--sub-color);
}
.business_item_list_column .check_list {
	font-size: 13px;
}
.business_item_list_column .check_list li {
	margin: 0;
}
.business_item_list_column .check_list li + li {
	margin-top: .75rem;
}
@media screen and (max-width: 1450px) {
	.business_item_column {
		padding-top: 6rem;
	}
	.business_item_box_big {
		left: -2.55rem;
		font-size: 150px;
	}
	.business_item_box:has(.business_item_column.is-vk-row-reverse) .business_item_box_big {
		right: -2.55rem;
	}
}
@media screen and (max-width: 1024px) {
	.business_item_box_big {
		left: -2.55rem;
		font-size: 100px;
	}
	.business_item_box:has(.business_item_column.is-vk-row-reverse) .business_item_box_big {
		right: -2rem;
	}
	.business_item_column {
		gap: 2rem !important;
		padding-top: 3.5rem;
	}
	.business_item_column_content_title {
		margin-block-end: .75rem !important;
	}
	.business_item_column_content_title_main {
		font-size: 24px;
	}
	.business_item_column_content_title_sub {
		font-size: 12px;
	}
	.business_item_column_content {
		font-size: 13px;
	}
	.business_item_list_title,
	.business_item_list_column .check_list {
		font-size: 12px;
	}
}
@media screen and (max-width: 767px) {
	#demolition.page_business_item_container,
	#exterior.page_business_item_container {
		padding-bottom: 2.5rem;
	}
	
	.page_business_item_container .page_link_btns {
		margin-bottom: 2rem;
	}
	.business_item_box_big {
		left: -1.8rem;
        font-size: 64px;
	}
	.business_item_box:has(.business_item_column.is-vk-row-reverse) .business_item_box_big {
		right: -1.5rem;
	}
	.business_item_column {
		padding-top: 2.75rem;
	}
	.business_item_column.wp-block-columns.is-not-stacked-on-mobile {
		flex-wrap: wrap !important;
		gap: 1.5rem !important;
	}
	.business_item_column.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column {
		flex-basis: auto;
		flex-grow: 0;
		width: 100%;
	}
	.business_item_column_content_title {
		margin-block-end: .25rem !important;
	}
	.business_item_column_content > p {
		line-height: 1.7;
	}
	.business_item_column_content_title_main {
		font-size: 20px;
	}
	.business_item_list_column.wp-block-columns.is-not-stacked-on-mobile {
		flex-wrap: wrap !important;
		gap: .3rem;
	}
	.business_item_list_column.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column {
		flex-basis: auto;
		flex-grow: 0;
		width: 100%;
	}
	.business_item_list_title {
		padding-bottom: .25em;
		margin-bottom: .7rem !important;
	}
	.business_item_list_column .check_list li + li {
		margin-top: .3rem;
	}
}



/* -----------------------------------------
	会社案内
----------------------------------------- */
/* 代表挨拶 */
.page_company_message_container {
	padding-top: 2.4rem;
	padding-bottom: 5rem;
}
.page_company_message_container .page_link_btns {
	margin-bottom: 7.45rem;
}
.page_message_column {
	gap: 2rem 3.7rem;
}
.page_message_column > div {
	flex: 0 1 auto !important;
	flex-basis: auto !important;
}
.page_message_column > div.page_message_column_img {
	flex-shrink: 0 !important;
    width: 35.8%;
}
.page_message_column_img,
.page_message_column_img img {
	width: 100%;
	vertical-align: bottom;
	margin-bottom: 0;
}
.page_message_column_content {
	font-size: 14px;
	padding-top: 1rem;
}
.page_message_column_content > p {
	line-height: 2.14;
	margin-block-end: 1.2rem !important;
}
.page_message_column_content > p:last-child {
	margin-block-end: 0 !important;
}
.page_message_name {
	display: flex;
	justify-content: flex-end;
	gap: 1rem 2.4rem;
	margin-block-start: 2.3rem !important;
}
.page_message_name > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.page_message_name_role {
	color: var(--sub-text-color);
	font-size: 13px;
	line-height: 1;
	padding-top: 3px;
}
.page_message_name_name {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: .15em;
	line-height: 1;
}
@media screen and (max-width: 1024px){
	.page_company_message_container {
		padding-bottom: 3.5rem;
	}
	.page_company_message_container .page_link_btns {
		margin-bottom: 4.5rem;
	}
	.page_message_column {
		gap: 2rem 2.5rem;
	}
}
@media screen and (max-width: 767px){
	.page_company_message_container {
		padding-bottom: 3rem;
	}
	.page_company_message_container .page_link_btns {
		margin-bottom: 3.5rem;
	}
	.page_message_column.wp-block-columns.is-not-stacked-on-mobile {
		flex-wrap: wrap !important;
	}
	.page_message_column > div,
	.page_message_column > div.page_message_column_img {
		width: 100%;
	}
	.page_message_column_content {
		padding-top: 0;
	}
	.page_message_name {
		gap: 1rem 1.4rem;
		margin-block-start: 1.5rem !important;
	}
	.page_message_name_name {
		font-size: 18px;
	}
	.page_message_name_role {
		font-size: 12px;
	}
}

/* 沿革 */
.page_company_history_container {
	padding-top: 5.1rem;
	padding-bottom: 3.3rem;
}
.page_history_items {
	max-width: 900px;
	margin-top: 2.5rem !important;
}
.page_history_items.vk_timeline .vk_timeline_item {
	padding-left: 2.9rem;
}
.page_history_items .vk_timeline_item_lineStyle-default::before {
	background-color: #D8DDE5;
	width: 2px;
	left: 8px;
}
.page_history_items.vk_timeline .vk_timeline_item_style.vk_timeline_item_style-outlined {
	background-color: var(--sub-color);
	width: 18px;
	height: 18px;
	border: none;
}
.page_history_items .vk_timeline_item_content {
	display: flex;
	align-items: flex-start;
	gap: 2rem 4.5rem;
}
.page_history_items.vk_timeline .vk_timeline_item_content>*:last-child {
	margin-bottom: 2.5rem;
}
.page_history_items.vk_timeline .vk_timeline_item:last-child .vk_timeline_item_content>*:last-child {
	margin-bottom: 0;
}
.page_history_item_time {
	flex-shrink: 0;
	color: #8A929D;
	font-size: 11px;
	line-height: 1;
	text-align: center;
	width: 53px;
	margin-top: 3px;
	margin-bottom: 0 !important;
	border: none;
}
.page_history_item_time .page_history_item_time_big {
	color: var(--sub-color);
	font-family: "Barlow", sans-serif;
	font-size: 22px;
	font-weight: 800;
	line-height: 1;
}
.page_history_item_contents {
	margin-top: 5px;
}
.page_history_item_contents > .row {
	gap: .5rem;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.page_history_item_contents > .row > .wp-block-vk-blocks-grid-column-item {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	font-size: 13.5px;
	padding: 0;
}
.page_history_item_contents > .row > .wp-block-vk-blocks-grid-column-item > * {
	margin-bottom: 0 !important;
}
.page_history_item_content_month {
	flex-shrink: 0;
	color: var(--sub-color);
	font-family: "Barlow", sans-serif;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	width: 40px;
	padding: 6px 9px;
	margin-top: 1px;
}
@media screen and (max-width: 1024px){
	.page_company_history_container {
		padding-top: 3.5rem;
		padding-bottom: 3.5rem;
	}
	.page_history_items .vk_timeline_item_content {
		gap: 2rem 2.5rem;
	}
}
@media screen and (max-width: 767px){
	.page_history_items.vk_timeline .vk_timeline_item {
		padding-left: 1.5rem;
	}
	.page_history_items .vk_timeline_item_content {
		flex-wrap: wrap !important;
		gap: 0.5rem 2.5rem;
	}
	.page_history_items.vk_timeline .vk_timeline_item_content>*:last-child {
		margin-bottom: 1rem;
	}
	.page_history_item_time {
		font-size: 10px;
	}
	.page_history_item_time .page_history_item_time_big {
		font-size: 18px;
	}
	.page_history_item_content_month {
		font-size: 10px;
		margin-top: 0px;
	}
	.page_history_item_contents {
		width: 100%;
		margin-top: 0;
	}
	.page_history_item_contents > .row > .wp-block-vk-blocks-grid-column-item {
		font-size: 12px;
	}
}

/* 会社概要 */
.page_company_overview_container {
	padding-top: 5.4rem;
	padding-bottom: 5.65rem;
}
.page_company_overview_box {
	margin-block-start: 3.28rem !important;
	border: none !important;
}
.page_company_overview_box > * {
	max-width: unset;
}
.page_company_overview_table {
	font-size: 14px;
	margin-block-end: 0 !important;
}
.page_company_overview_box .page_company_overview_table + .page_company_overview_table {
	margin-top: 5px;
}
.page_company_overview_table,
.page_company_overview_table tr,
.page_company_overview_table tr th,
.page_company_overview_table tr td {
	border: none;
}
.page_company_overview_table tr {
	border-top: 1px solid #E7EAEF;
}
.page_company_overview_box .page_company_overview_table:first-child tr:first-child {
	border-top: none;
}
.page_company_overview_table tr td {
	font-weight: 400;
	line-height: 1.8;
	padding: 1.1rem 1.8rem;
}
.page_company_overview_table tr td:first-child {
	color: var(--dark-blue-color);
	background-color: #EEF1F5;
	font-weight: 700;
	width: 200px;
	vertical-align: top;
}
.overview_table_list {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 3rem;
}
.overview_table_list ul {
	list-style: none;
	width: 45%;
	min-width: 200px;
	padding: 0;
	margin: 0;
	margin-block-end: 0 !important;
}
.overview_table_list ul li {
	margin: 0;
}
.overview_table_list ul li + li {
	margin-top: 5px;
}
.overview_table_list_info {
	color: #9AA3AF;
	font-size: .8em;
	margin-top: .4em;
}
@media screen and (max-width: 1024px){
	.page_company_overview_container {
		padding-top: 3.5rem;
	}
	.page_company_overview_box {
		margin-block-start: 2rem !important;
	}
	.page_company_overview_table {
		font-size: 12px;
	}
	.page_company_overview_table tr td:first-child {
		width: 150px;
	}
}
@media screen and (max-width: 767px){
	.page_company_overview_table tr td,
	.page_company_overview_table tr td:first-child {
		display: block;
		width: 100%;
	}
	.page_company_overview_table tr td {
		padding: .75rem 1rem;
	}
	.overview_table_list {
		gap: 3px 3rem;
	}
	.overview_table_list ul {
		width: 100%;
	}
	.overview_table_list ul li + li {
		margin-top: 3px;
	}
}




/* -----------------------------------------
	お問い合わせ
----------------------------------------- */
.page_contact_lead {
	font-weight: 400;
	line-height: 2;
}
.contact_form {
	max-width: 640px;
	margin-block-start: 3rem !important;
	margin-left: auto;
	margin-right: auto;
}
.field,
.field__row {
	margin-bottom: 1.5rem;
}
.field p {
	margin-bottom: 0;
}
.field__row {
	display: flex;
	gap: 1.5rem 1.25rem;
}
.field__row .field {
	flex: 1;
	margin-bottom: 0;
}
.label {
	display: flex;
	align-items: center;
	gap: .625rem;
	font-weight: 700;
	margin-bottom: .625rem;
}
.badge {
	font-size: .76em;
	font-weight: 700;
	line-height: 1;
	padding: 4px 8px;
	border-radius: 3px;
	letter-spacing: .02em;
}
.badge--req {
	background: #D23B3B;
	color: #fff;
}
.badge--opt {
	background: #EEF1F5;
	color: #7A828D;
}
input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=tel],
input[type=text],
input[type=url],
select,
textarea {
	background-color: #FBFCFD;
	border: 1px solid #D3D8E0;
	border-radius: 0;
}
.wpcf7-not-valid-tip {
	font-size: .875em;
}
.privacy {
	color: var(--sub-text-color);
	background: #F4F6F9;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.9;
	padding: 1.5rem 1.75rem;
	margin: 1.5rem 0 2.375rem;
}
.privacy a {
	color: var(--sub-color);
	font-weight: 500;
	text-decoration: underline;
	transition: all .3s;
}
.privacy a:hover {
	opacity: .6;
}
.privacy-area {
	text-align: center;
}
.privacy-area p {
	margin-bottom: 0;
}
.privacy-area .wpcf7-list-item {
	color: var(--dark-blue-color);
	font-weight: 500;
	margin-left: 0;
}
.submit-area {
	text-align:center;
}
.submit-area > p {
	display: inline-block;
	margin-bottom: 0;
}
.submit-area .wpcf7-submit {
	background-color: transparent;
	font-weight: 700;
	background-color: var(--btn-color);
    background-image: linear-gradient(45deg, #fff 50%, transparent 50%);
    background-position: 100%;
    background-size: 300%;
	padding: 1.35em 5.25em;
	border: 2px solid var(--btn-color);
	border-radius: 0;
	transition: all 500ms ease-in-out;
}
.submit-area .wpcf7-submit[disabled] {
	opacity: .6;
}
.submit-area .wpcf7-submit:not([disabled]):hover {
	color: var(--btn-color);
	background-position: 0;
}
.submit-area .wpcf7-spinner {
	display: none;
}
.tel-line {
	color: #9AA3AF;
	font-size: 14px;
	font-weight: 400;
	text-align: center;
	margin-top: 30px;
}
@media screen and (max-width: 1024px){
	.submit-area .wpcf7-submit {
		font-size: 14px;
		padding: 1em 4em;
	}
}
@media screen and (max-width: 767px){
	.page_contact_lead {
		line-height: 1.7;
	}
	.field,
	.field__row {
		margin-bottom: 1rem;
	}
	.field__row {
		flex-wrap: wrap;
		gap: 1rem 1rem;
	}
	.field__row .field {
		flex: 0 1 auto;
		width: 100%;
	}
	.label {
		margin-bottom: 5px;
	}
	.privacy {
		font-size: 12px;
		margin: 1rem 0 2rem;
	}
	.tel-line {
		font-size: 12px;
		margin-top: 15px;
	}
}



/* -----------------------------------------
	プライバシーポリシー
----------------------------------------- */
.page_privacy_policy_container {
	font-weight: 400;
}
.page_privacy_policy_container p {
	line-height: 2.1;
}
.page_privacy_policy_container .num_title {
	color: var(--dark-blue-color);
	border-bottom: solid 2px var(--sub-color);
}
.page_privacy_policy_container .num_title strong {
	display: inline-block;
	font-size: 1.26em;
	margin-right: .58em;
}
.page_privacy_contact_box {
	padding: 2rem 3rem !important;
}
.page_privacy_contact_table table,
.page_privacy_contact_table table tr,
.page_privacy_contact_table table tr td {
	font-size: var(--vk-size-text);
	border: none;
}
.page_privacy_contact_table table tr td {
	font-weight: 500;
	padding: .2em .5em;
}
.page_privacy_contact_table table tr td:first-child {
	color: var(--sub-text-color);
	font-weight: 400;
	width: 100px;
}
@media screen and (max-width: 1024px){
	.page_privacy_policy_container .num_title {
		font-size: 20px;
	}
	.page_privacy_contact_table table,
	.page_privacy_contact_table table tr,
	.page_privacy_contact_table table tr td {
		font-size: calc(var(--vk-size-text) * .875);
	}
}
@media screen and (max-width: 767px){
	.page_privacy_policy_container {
		padding-bottom: 3rem;
	}
	.page_privacy_policy_container p {
		line-height: 1.7;
	}
	.page_privacy_policy_container .num_title strong {
		margin-right: .35em;
	}
	.page_privacy_contact_box {
		padding: 2rem 1.8rem !important;
	}
	.page_privacy_contact_table table tr td {
		display: block;
		width: 100%;
		padding: 0;
	}
	.page_privacy_contact_table table tr td:first-child {
		padding-top: 1rem;
		padding-bottom: .25rem;
	}
	.page_privacy_contact_table table tr:first-child td:first-child {
		padding-top: 0;
	}
}



/* -----------------------------------------
 	アニメーション
-----------------------------------------*/
/* フワッと */
.ani_trigger.ani_fadeUp {
	opacity: 0;
}
.ani_fadeUp.active {
	animation: fadeUp .75s ease-in-out 1 normal forwards;
}
.ani_fade.active {
	animation: fade .7s ease-out 1 normal forwards;
}
@keyframes fade {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(150px); }
  to { opacity: 1; transform: translateY(0); }
}



