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


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

@media screen and (max-width: 767px) {}

/* =======================================
	共通
========================================== */
html {
  scroll-behavior: smooth;
}
body {
	--main-color: #004B07;
	--sub-color: #9FD300;
	--max-width: 1440px;
	--sub-width: 1120px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	font-weight: bold;
	background-color: #616161;
	overflow: visible;
}
/* コンテナ */
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;
}
body.home .vk_outer-width-full.vk_outer-paddingLR-none>div>.vk_outer_container {
	width: 90%;
}
body.home .fv_container.vk_outer-width-full.vk_outer-paddingLR-none>div>.vk_outer_container {
    width: 100%;
}
.vk_outer-width-full.vk_outer-paddingLR-none {
	padding-left: 0;
	padding-right: 0;
}
.vk_outer_container {
	width: 90%;
}
.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);
}
.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);
}
h1 {
	font-size: 32px;
}
h2 {
	font-size: 30px;
}
h3 {
	font-size: 28px;
}
h4 {
	font-size: 26px;
}
h5 {
	font-size: 24px;
}
.grecaptcha-badge {
	display: none !important;
	bottom: 85px !important;
	z-index: 2;
}
body:has(.contact_content) .grecaptcha-badge {
	display: block !important;
}
@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;
	}
	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) {
	body {
		font-size: 14px;
	}
	h1 {
		font-size: 22px;
	}
	h2 {
		font-size: 20px;
	}
	h3 {
		font-size: 18px;
	}
	h4 {
		font-size: 17px;
	}
	h5 {
		font-size: 16px;
	}
}

/* header */
.site-header {
	position: absolute;
	top: 0;
	left: 0;
	background-color: transparent;
	box-shadow: unset;
	padding: 3.6vw 9.6vw;
}
.site-header .site-header-container {
	max-width: unset;
}
.site-header-logo {
	display: inline-block;
    width: auto !important;
    padding: 0;
    margin: 0 !important;
}
.site-header-logo img {
/* 	width: 77px; */
	width: 200px;
	max-height: unset;
}
.global-nav-list {
	display: block;
}
.global-nav {
	position: fixed;
	top: 3.55vw;
    right: 4.35vw;
	z-index: 1001;
}
.global-nav-list>li:before {
	border-color: #fff;
}
.global-nav-list>li + li {
	margin-top: 1.3rem;
}
.global-nav-list>li a {
	font-size: 14px;
	font-weight: 900;
	color: var(--main-color);
	padding: 0 !important;
	padding-bottom: 4px !important;
	transition: all .5s ease-out;
}
.global-nav-list>li:hover a {
	color: #fff;
}
.body_header li a strong {
	position: relative;
}

.vk-mobile-nav-menu-btn {
	width: 40px;
	height: 40px;
	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);
}
.vk-mobile-nav {
	max-width: 500px;
	padding: 7rem 25px 45px 25px;
	background: var(--sub-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: 18px;
	font-weight: bold;
	letter-spacing: 0.04em;
	color: #000;
}
.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: 992px) {
	.site-header {
		padding: 10px 9.6vw;
	}
	.site-header-logo img {
/* 		width: 50px; */
		width: 130px;
	}
}
@media screen and (max-width: 767px) {
	.site-header {
		padding: 10px 15px;
	}
	.vk-mobile-nav {
		width: 80%;
		padding: 5rem 1rem 2rem;
	}
	.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-right-in {
		left: 20%;
	}
	.vk-mobile-nav nav ul li a {
		font-size: 16px;
	}
}

/* footer */
footer {
	position: relative;
	z-index: 2;
	background-image: url('../../../wp-content/uploads/2026/02/fv_demo.png');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	font-size: 14px !important;
	border-top: none !important;
}
.site-footer-content {
	padding-top: 4.8rem;
	width: 90%;
}
.widget_media_image:has(.footer_logo) {
	margin-bottom: 0;
}
.footer_logo {
	max-width: 300px;
	margin-bottom: 2.6rem;
}
.footer_info_box > p + p {
	margin-top: 6px !important;
}
.menu-header-menu-container {
	display: flex;
	justify-content: flex-end;
}
.site-footer .menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-top: 1.4rem;
}
.site-footer .menu a {
	position: relative;
	font-size: 14px;
	font-weight: bold;
	color: var(--main-color);
	transition: all .3s;
	border-bottom: none;
	padding: 10px 1.6rem;
}
.site-footer .menu a::before {
	content: '';
	width:0;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: 5px;
	left: 50%;
	transform: translateX(-50%);
	transition: width .3s;
}
.site-footer .menu a:hover {
	color: #fff;
}
.site-footer .menu a:hover::before {
	width: calc(100% - (1.6rem * 2));
}
.widget_nav_menu>div>ul li a:hover,
.widget_nav_menu>div>ul li.current_page_item>a {
	background: transparent;
}
.site-footer-copyright {
	padding-top: 3rem;
    padding-bottom: 1.6rem;
	width: 90%;
}
.site-footer-copyright p {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 12px;
}
.site-footer-copyright a {
	text-decoration: none;
}
@media screen and (max-width: 1024px) {
	.site-footer-content {
		padding-top: 3rem;
	}
	.footer_logo {
		max-width: 150px;
		margin-bottom: 1rem;
	}
	.footer_info_box > p + p {
		margin-top: 0 !important;
	}
	.site-footer .menu {
		margin-top: 0;
	}
	.site-footer .menu a {
		padding: 5px 1rem;
	}
	.site-footer-copyright {
		padding-top: 1.5rem;
		padding-bottom: 0;
	}
}
@media screen and (max-width: 767px) {
	.site-footer .menu {
		margin-top: 1.5rem;
	}
	.site-footer .menu li {
		display: block;
		width: 100%;
	}
	.site-footer .menu a {
		display: block;
		width: 100%;
		text-align: center;
		border-top: 1px solid var(--main-color);
	}
	.site-footer .menu li:last-child a {
		border-bottom: 1px solid var(--main-color);
	}
	.site-footer-copyright p {
		justify-content: center;
	}
	.site-footer .menu a:hover {
		color: var(--main-color);
	}
	.site-footer .menu a:hover::before {
		width: 0;
	}
}

/***********************************
 * ページFV
************************************/
.page_fv_box {
	position: relative;
	width: 100vw;
	margin: auto calc(50% - 50vw);
}
.page_fv_img {
	position: relative;
	overflow: hidden;
	margin-bottom: 0;
}
.page_fv_img::before {
	content: '';
	inset: 0;
	background: #2b3a2b;
	position: absolute;
	opacity: .4;
}
.page_fv_img.wp-block-image img:not([style*=object-fit]) {
	width: 100%;
    height: 550px !important;
    object-fit: cover;
}
.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: var(--sub-color);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
	.page_fv_title_box {
		bottom: 1rem;
		left: 2rem;
	}
	.page_fv_sub_title {
		font-size: 18px;
	}
	.page_fv_title {
		font-size: 48px;
	}
}
@media screen and (max-width: 767px) {
	.page_fv_img.wp-block-image img:not([style*=object-fit]) {
		height: 250px !important;
	}
	.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;
	}
}

/* タイトル */
.title_box {
	max-width: 475px;
	padding-bottom: 1.3rem;
    margin-bottom: 3rem;
    margin-left: 0 !important;
	border-bottom: 5px solid var(--sub-color);
}
.title_box .title_box_en {
	color: var(--sub-color);
	font-size: 27px;
	line-height: 1.3;
	margin-bottom: 1rem !important;
	margin-block-end: 1rem !important;
}
.title_box .title_box_ja {
	color: #fff;
	font-size: 20px;
	line-height: 1.3;
}
@media screen and (max-width: 1024px) {
	.title_box {
		max-width: 300px;
		padding-bottom: .8rem;
		border-width: 3px;
	}
	.title_box .title_box_en {
		font-size: 24px;
		margin-bottom: .5rem !important;
		margin-block-end: .5rem !important;
	}
	.title_box .title_box_ja {
		font-size: 17px;
	}
}
@media screen and (max-width: 767px) {
	.title_box {
		max-width: 250px;
		border-width: 2px;
	}
	.title_box .title_box_en {
		font-size: 20px;
	}
	.title_box .title_box_ja {
		font-size: 15px;
	}
}



/* =======================================
	トップページ
========================================== */
/* fv */
.fv_container {
	position: relative;
	z-index: 2;
	padding: 0;
	background: #616161;
}
.fv_container .vk_outer_container {
	max-width: unset !important;
}
.fv_main {
	position: relative;
	width: 93.4vw;
	margin-left: auto;
	margin-right: 0 !important;
}
.fv_movie,
.fv_movie video {
	max-width: 100% !important;
	width: 100%;
	vertical-align: bottom;
}
.fv_text_box {
	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.fv_text_box .fv_logo {
	width: 24.3vw;
	margin-left: 0 !important;
}
.fv_logo img {
	width: 100%;
	vertical-align: bottom;
}
.fv_title {
	font-size: 2.86vw;
    margin: 0 !important;
    margin-top: .6vw !important;
	white-space: nowrap;
}
.fv_scroll_box {
	position: absolute;
	left: 2.5vw;
    bottom: 10px;
}
.fv_scroll_box_text {
	color: #fff;
/* 	font-size: .51vw; */
	font-size: 14px;
    letter-spacing: .01em;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	margin-bottom: .8vw;
}
.fv_scroll_box_img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2vw;
	aspect-ratio: 1 / 1;
	border: 1px solid #fff;
	border-radius: 50%;
	animation: scrollBar 1.5s ease-in-out infinite;
}
.fv_scroll_box_img img {
	width: 40%;
}
@keyframes scrollBar {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(7px);
	}
	100% {
		transform: translateY(0);
	}
}
@media screen and (max-width: 1024px) {
	.fv_scroll_box_text {
		font-size: 12px;
	}
	.fv_scroll_box_img {
		width: 20px;
	}
}
@media screen and (max-width: 767px) {
	.fv_main {
		width: 100vw;
	}
	.fv_movie video {
		height: calc(100vh - 90px) !important;
		object-fit: cover;
	}
	.fv_text_box {
		left: 9.6vw;
		transform: translateY(-50%);
	}
	.fv_text_box .fv_logo {
		width: 45vw;
	}
	.fv_title {
		font-size: 4.2vw;
	}
	.fv_scroll_box {
		bottom: 9px;
		left: 1.7vw;
	}
	.fv_scroll_box_text {
		font-size: 12px;
		margin-bottom: 6px;
		text-shadow: 0 0 10px rgba(0,0,0,0.6);
	}
	.fv_scroll_box_img {
		width: 20px;
	}
	@keyframes scrollBar {
		0% {
			transform: translateY(0);
		}
		50% {
			transform: translateY(6px);
		}
		100% {
			transform: translateY(0);
		}
	}
}

/* about */
.about_container {
	position: relative;
	z-index: 2;
	padding-top: 0;
	padding-bottom: 1.9rem;
	background: #616161;
}
.scroll_text_slider {
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	pointer-events: none !important;
	user-select: none !important;
}
.scroll_text_slider .swiper-wrapper {
	transition-timing-function: linear;
}
.scroll_text_slider .vk_slider_item_container {
	max-width: 100%;
	padding: 0;
}
.scroll_text_slider h2 {
	color: #7D7D7D;
	font-size: 10.3vw;
	font-family: "Noto Sans", sans-serif;
	line-height: 1;
}

.about_box {
	display: block !important;
	width: 100vw;
	margin: 0 calc(50% - 50vw);
}
.about_box .about_box_text {
	position: relative;
	color: #fff;
	background: linear-gradient(
	  135deg,
	  #7F7F7F 0%,
	  #7F7F7F 87%,
	  #E5E5E5 100%
	);
/* 	font-size: 20px; */
	font-size: clamp(1rem, 0.714rem + 0.45vw, 1.25rem);
	width: 51.6%;
	padding-top: 1.7rem;
    padding-left: 2.35rem;
    padding-bottom: 1.9rem;
	margin-left: 10.8vw;
	box-shadow: inset 4px 4px 4px var(--sub-color);
	border-radius: 0 510px 0 0;
	z-index: 2;
}
.about_box .about_box_text > p {
	line-height: 3.17;
}
.about_box .about_box_text .title_box {
	margin-bottom: 2.19rem;
}
.about_box .about_box_img {
	width: 63.4%;
	margin-top: -47.8vw;
	margin-left: auto;
}
.about_img_slider {
	max-width: unset !important;
}
.about_img_slider .vk_slider_item {
	padding: 0;
}
.about_img_slider .vk_slider_item .vk_slider_item-background-area {
	background-color: transparent;
}
.about_img_slider figure,
.about_img_slider figure img {
	width: 100%;
	margin-bottom: 0;
	vertical-align: bottom;
}
@media screen and (max-width: 1360px) {
	.about_box .about_box_text {
		border-radius: 0 250px 0 0;
		width: 57%;
	}
}
@media screen and (max-width: 1024px) {
	.about_container {
		padding-bottom: 3rem;
	}
	.about_box {
		position: relative;
		padding-top: 25vw;
	}
	.about_box .about_box_text {
		margin-left: 4vw;
		width: 85.6%;
		border-radius: 0 200px 0 0;
		font-size: 15px;
		padding: 2rem 1.5rem;
		box-shadow: inset 2px 2px 2px var(--sub-color);
	}
	.about_box .about_box_text > p {
		line-height: 2.4;
	}
	.about_box .about_box_img {
		position: absolute;
		top: 0;
		right: 0;
		margin-top: 0;
	}
	.about_box .about_box_text .title_box {
		margin-bottom: 1.5rem;
	}
}
@media screen and (max-width: 767px) {
	.about_box .about_box_text {
		width: 90%;
		margin-left: 5%;
		font-size: 14px;
		padding: 2.5rem 1rem;
	}
	.about_box .about_box_text > p {
		line-height: 2;
	}
	.scroll_text_slider {
		width: 165vw;
		margin: 0 calc(50% - 82.5vw);
		padding: 1rem 0;
	}
	.scroll_text_slider h2 {
		font-size: 18vw;
	}
}

/* 事業内容 */
.service_content {
	padding-top: 4.5rem;
	padding-bottom: 4rem;
}
.service_content .title_box {
	margin-bottom: 2.4rem;
}
.service_items.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: unset !important;
}
.service_item {
	justify-content: space-between;
	transform: translateY(30px);
	opacity: 0;
	transition: all .3s;
}
.service_img_box {
	position: relative;
	border-radius: 0 40px 0 40px;
    overflow: hidden;
	box-shadow: 11px 11px 20px var(--sub-color);
}
.service_img_box img {
	width: 100%;
}
.service_num {
	position: absolute;
	font-family: "Offside", sans-serif;
	font-size: 64px;
	font-weight: 400;
	color: #fff;
	top: 23px;
	left: 31px;
	background: #676767;
	line-height: 1;
	width: 80px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
	box-shadow: inset 4px 4px 4px rgba(0,0,0,.25);
}
.service_read_text {
	margin-top: 0 !important;
    font-weight: bold;
    color: #fff;
    line-height: 1.2;
    padding-left: .4rem;
    border-left: 8px solid var(--sub-color);
	margin-bottom: 5rem !important;
}
.service_text_box {
	margin-top: 2rem !important;
    padding-left: 1rem;
	gap: 15px;
}
.service_title {
	position: relative;
	font-size: 16px;
	border-left: 8px solid var(--sub-color);
	padding-left: .7rem;
	color: #fff;
	line-height: 2;
	min-width: 150px;
	flex-shrink: 0;
}
.service_text {
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	line-height: 1.6;
}
.service_item:nth-child(2) {
	margin-top: -12.5rem !important;
	transition-delay: .6s;
}
.service_item:nth-child(3) {
	margin-top: -9.5rem !important;
	transition-delay: .3s;
}
.service_item:nth-child(3) > .wp-block-column:has(.service_img_box) {
	padding-left: 12.6%;
}
.service_items.class_active .service_item {
	transform: translateY(0);
	opacity: 1;
}

.service_box {
	justify-content: space-between;
}
.service_box > .wp-block-column:last-child {
	flex-basis: 55% !important;
}
.service_img {
	border-radius: 2rem 0 2rem 0;
    box-shadow: 5px 5px 10px rgb(159 211 0 / 50%);
    overflow: hidden;
}
@media screen and (max-width: 1300px) {
	.service_item:nth-child(2) {
		margin-top: -8.5rem !important;
	}
	.service_item:nth-child(3) {
		margin-top: -6.5rem !important;
	}
}
@media screen and (max-width: 1024px) {
	.service_content {
		padding-bottom: 2rem;
	}
	.service_content .title_box {
		margin-bottom: 2rem;
	}
	.service_read_text {
		border-width: 4px;
		font-size: 15px;
		margin-bottom: 3rem !important;
	}
	.service_img_box {
		border-radius: 0 25px 0 25px;
		box-shadow: 6px 6px 10px var(--sub-color);
	}
	.service_num {
		font-size: 32px;
		width: 50px;
		height: 50px;
		top: 10px;
		left: 10px;
	}
	.service_text_box {
		padding-left: 0;
		flex-wrap: wrap !important;
		gap: 10px;
		margin-top: 1.5rem !important;
	}
	.service_title {
		min-width: unset;
		width: 100%;
		font-size: 15px;
		border-width: 4px;
	}
	.service_text {
		width: 100%;
		font-size: 14px;
	}
	.service_item:nth-child(2) {
		margin-top: -9rem !important;
	}
	.service_item:nth-child(2) > .wp-block-column:has(.service_img_box) {
		flex-basis: 50% !important;
	}
	.service_item:nth-child(3) > .wp-block-column:has(.service_img_box) {
		flex-basis: 41.67% !important;
		padding-left: 0;
	}
	.service_item:nth-child(3) {
		margin-top: -5.5rem !important;
	}
}
@media screen and (max-width: 767px) {
	.service_content .title_box {
		margin-bottom: 1rem;
	}
	.service_items {
		display: flex;
		flex-direction: column;
	}
	.service_content .service_item {
		flex-wrap: wrap !important;
	}
	.service_item:nth-child(2),
	.service_item:nth-child(3) {
		margin-top: 0 !important;
		transition-delay: 0s;
	}
	.service_item:nth-child(2) {
		order: 1;
	}
	.service_item + .service_item {
		margin-top: 2.5rem !important;
	}
	.service_item > .wp-block-column,
	.service_item:nth-child(2) > .wp-block-column:has(.service_img_box),
	.service_item:nth-child(3) > .wp-block-column:has(.service_img_box) {
		flex-basis: 100% !important;
	}
	.service_item:nth-child(2) > .wp-block-column:last-child,
	.service_item:nth-child(3) > .wp-block-column:last-child {
		display: none !important;
	}
	.service_item:first-child > .wp-block-column:has(.service_read_text) {
		order: -1;
	}
	.service_read_text {
		margin-top: 0 !important;
		margin-bottom: 2rem !important;
		font-size: 14px;
		line-height: 1.666;
	}
	.service_img_box {
        border-radius: 0 15px 0 15px;
        box-shadow: 4px 4px 4px var(--sub-color);
    }
	.service_content .service_box {
		flex-wrap: wrap !important;
	}
	.service_box > .wp-block-column,
	.service_box > .wp-block-column:last-child {
		flex-basis: 100% !important;
	}
	.service_img {
		border-radius: 1rem 0 1rem 0;
	}
}

/* 代表挨拶 */
.message_content {
	padding-top: 5.4rem;
	padding-bottom: 4rem;
}
.message_text_box {
	position: relative;
	border-radius: 0 120px 0 120px;
	overflow: hidden;
	padding: 8.125rem 1.5rem 3.4375rem;
	color: #fff;
	z-index: 1;
}
.message_text_box::before {
	content: '';
	inset: 0;
	background: url('../../../wp-content/uploads/2026/04/message_bg.webp') center / cover no-repeat;
	position: absolute;
	z-index: -1;
	opacity: .7;
}
.message_title {
	font-size: 24px;
	font-weight: 900;
	line-height: 1.5833;
	margin-bottom: 2.6rem !important;
}
.message_text {
	font-size: 18px;
	font-weight: 900;
	line-height: 2.111;
	margin-bottom: 0 !important;
}
.message_text + .message_text {
	margin-top: 2.4rem !important;
}
.message_text_box.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: 1060px !important;
}
.message_name {
	font-size: 18px;
	font-weight: bold;
	margin-top: 2.7rem !important;
}
@media screen and (max-width: 1024px) {
	.message_content {
		padding-top: 3rem;
	}
	.message_content .title_box {
		max-width: 400px;
	}
	.message_text_box {
		border-radius: 0 60px 0 60px;
		padding: 4rem 1.5rem 2rem;
	}
	.message_title {
		margin-bottom: 2rem !important;
	}
	.message_text + .message_text {
		margin-top: 1.5rem !important;
	}
	.message_text {
		font-size: 16px;
	}
	.message_name {
		font-size: 16px;
		margin-top: 2rem !important;
	}
}
@media screen and (max-width: 767px) {
	.message_content {
		padding-bottom: 2rem;
	}
	.message_text_box {
        border-radius: 0 30px 0 30px;
		padding: 3rem 1rem 1.5rem;
    }
	.message_title {
		font-size: 20px;
		margin-bottom: 1.5rem !important;
	}
	.message_text {
		font-size: 14px;
		line-height: 1.8;
	}
}

/* 会社概要 */
.outline_content {
	padding-top: 3.6rem;
	padding-bottom: 4rem;
}
.outline_content .title_box {
	margin-bottom: 5.2rem !important;
}
.outline_table {
	max-width: 1030px;
    margin: 0 auto;
}
.outline_table td {
	position: relative;
	border: none;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	padding: 1.5rem 0;
	vertical-align: top;
}
.outline_table td:first-child {
	padding-left: 3.3rem;
    width: 280px;
}
.outline_table td:first-child::before {
	content: '';
    width: 19px;
    height: 32px;
    background: var(--sub-color);
    box-shadow: inset 4px 4px 4px rgba(0, 0, 0, 0.25);
    position: absolute;
    top: 1.5rem;
    left: 0;
}
.outline_table tr:last-child td:last-child {
	line-height: 2;
}
@media screen and (max-width: 1024px) {
	.outline_content {
		padding-top: 2rem;
	}
	.outline_content .title_box {
		margin-bottom: 2.5rem !important;
	}
	.outline_table td:first-child {
		padding-left: 20px;
		width: 160px;
	}
	.outline_table td:first-child::before {
		width: 10px;
		height: 25px;
		top: 1rem;
	}
	.outline_table td {
		font-size: 16px;
		padding: 1rem 0;
	}
}
@media screen and (max-width: 767px) {
	.outline_content {
		padding-bottom: 2rem;
	}
	.outline_table tr,
	.outline_table td,
	.outline_table td:first-child {
		display: block;
		width: 100% !important;
	}
	.outline_table tr {
		padding: 12px 0;
	}
	.outline_table td {
		padding: 0;
		font-size: 14px;
	}
	.outline_table td:first-child {
		padding-left: 15px;
		margin-bottom: 5px;
	}
	.outline_table td:first-child::before {
        width: 7px;
        height: 20px;
		top: 0;
    }
}

/* お問い合わせ */
.contact_content {
	padding-top: 1.8rem;
	padding-bottom: 5.7rem;
}
.contact_content .title_box {
	margin-bottom: 3.7rem;
}
.contact_table {
    display: block;
	max-width: 1032px;
	margin: 0 auto;
	background: #676767;
	border-radius: 0 70px 0 70px;
	padding: 1.1rem 1rem 1.5rem !important;
	color: #fff;
	box-shadow: inset 6px 6px 4px rgba(0,0,0,0.25);
}
.contact_table tbody {
	display: block;
	max-width: 480px;
	margin: 0 auto;
}
.contact_box tbody,
.tr_block,
.tr_block th,
.tr_block td {
	display: block !important;
	width: 100% !important;
}
.contact_table tr,
.contact_table th,
.contact_table td {
	display: block;
	width: 100%;
}
.tr_block td:has(.privacy-check) {
	display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
	padding-top: 5px;
}
.contact_table tr th,
.contact_table tr td {
	display: block;
}
.contact_table,
.contact_table tr,
.contact_table tr th,
.contact_table tr td {
	font-size: 16px;
	font-weight: bold;
	text-align: left;
	padding: 0;
	border: none;
}
.contact_table tr {
	padding: 1rem 0;
}
.contact_table th {
	margin-bottom: 1rem;
}
.tr_block:has(.wpcf7-radio) th {
	font-size: 26px;
	font-weight: 900 !important;
}
.wpcf7-radio {
	display: flex;
	flex-wrap: wrap;
    gap: 10px 20px;
}
.wpcf7-radio .wpcf7-list-item {
	margin-left: 0;
}
.wpcf7-radio .wpcf7-list-item label {
	display: flex;
	align-items: center;
}
.wpcf7-radio .wpcf7-list-item input {
	margin: 0 5px 0 0;
}
.contact_table p {
	margin-bottom: 0;
}
input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=tel],
input[type=text],
input[type=url],
select,
textarea {
	background: #D9D9D9;
	padding: 1em;
	margin-bottom: 0;
	border-radius: 8px;
	height: 46px;
	box-shadow: inset 4px 4px 4px rgba(0,0,0,0.25);
	font-weight: bold;
}
input[type=date]:focus-visible,
input[type=email]:focus-visible,
input[type=number]:focus-visible,
input[type=password]:focus-visible,
input[type=tel]:focus-visible,
input[type=text]:focus-visible,
input[type=url]:focus-visible,
textarea:focus-visible {
	outline: none;
	border: 2px solid var(--sub-color);
}
textarea {
	line-height: 1.6;
	resize: none;
	height: 285px;
}
span[data-name="your-addr"],
span[data-name="your-addr-num"],
span.confirm_addr,
span.confirm_addrnum {
	display: block;
	margin-top: .6rem;
}
.wpcf7-not-valid-tip {
	font-size: .875em;
}
.contact_table tr:has(span[data-name="contact-check"]) th {
	font-size: 20px;
	margin-bottom: 2.2rem;
}
input[type=radio] {
	accent-color: var(--sub-color);
}
.contact_box tr:has(.submit_box) {
	padding: 0 !important;
}
.contact_box tr:has(.submit_box) th {
	display: none !important;
}
.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: 3rem;
    margin-bottom: 2.4rem;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    text-align: center;
}
.privacy-check .wpcf7-list-item > label {
	display: flex;
	align-items: center;
	gap: .5em;
}
.privacy-check .wpcf7-list-item input[type="checkbox"] {
	width: 2.1em;
    height: 2.1em;
}
.submit_box .wpcf7-spinner {
	display: none !important;
}
.submit_box {
	position: relative;
	max-width: 300px;
	margin: 0 auto;
}
.submit_box::before {
	content: '';
	width: 44px;
	height: 40px;
	background: url('../../../wp-content/uploads/2026/02/submit_arrow.png') center / contain no-repeat;
	position: absolute;
	top: 50%;
	right: 35px;
	transform: translateY(-50%);
	transition: all .3s;
}
.submit_box:hover::before {
	background: url('../../../wp-content/uploads/2026/02/submit_arrow_white.png') center / contain no-repeat;
	right: 25px;
}
.submit_box input {
	display: block;
    width: 100%;
    background: var(--sub-color);
    border-radius: 10px;
    border: none;
    padding: 1.4rem 80px;
    font-size: 16px;
    font-weight: 900;
    color: var(--main-color);
    box-shadow: inset 4px 4px 4px rgba(0, 0, 0, 0.25);
    text-align: left;
}
.submit_box input:hover {
	 background: var(--sub-color);
}
.wpcf7 form.sent .wpcf7-response-output {
	color: #fff;
}
@media screen and (max-width: 1024px) {
	.contact_content .title_box {
		margin-bottom: 2.5rem;
	}
	.contact_table {
		border-radius: 0 50px 0 50px;
		padding: 2rem 1rem 1.5rem !important;
	}
	.contact_table tr:has(span[data-name="contact-check"]) th {
		font-size: 18px;
		margin-bottom: 1rem;
	}
	.contact_table,
	.contact_table tr,
	.contact_table tr th,
	.contact_table tr td {
		font-size: 15px;
	}
	.contact_table th {
		margin-bottom: 10px;
	}
	input[type=date],
	input[type=email],
	input[type=number],
	input[type=password],
	input[type=tel],
	input[type=text],
	input[type=url],
	select,
	textarea {
		border-radius: 5px;
		height: 40px;
	}
	textarea {
		height: 200px;
	}
	.privacy-check {
		font-size: 15px;
	}
	.privacy-check .wpcf7-list-item input[type="checkbox"] {
		width: 20px;
		height: 20px;
	}
}
@media screen and (max-width: 767px) {
	.contact_table {
		border-radius: 0 30px 0 30px;
		padding: 2rem 1.5rem 1.5rem !important;
		box-shadow: inset 4px 4px 4px rgba(0, 0, 0, 0.25);
	}
	.contact_table tr:has(span[data-name="contact-check"]) th {
		font-size: 16px;
		margin-bottom: 10px;
	}
	.contact_table,
	.contact_table tr,
	.contact_table tr th,
	.contact_table tr td {
		font-size: 14px;
	}
	input[type=date],
	input[type=email],
	input[type=number],
	input[type=password],
	input[type=tel],
	input[type=text],
	input[type=url],
	select,
	textarea {
		box-shadow: inset 2px 2px 4px rgba(0, 0, 0, 0.25);
	}
	textarea {
		height: 150px;
	}
	.privacy-check {
		font-size: 14px;
	}
	.privacy-check .wpcf7-list-item input[type="checkbox"] {
		width: 15px;
		height: 15px;
	}
	.submit_box::before {
		width: 30px;
		height: 27px;
	}
	.submit_box input {
		padding: 1.2rem 80px;
		font-size: 15px;
	}
	.wpcf7-radio {
		flex-direction: column;
	}
}

/* サイドテキスト */
body.home .side_text_box .vk_outer-width-full.vk_outer-paddingLR-none>div>.vk_outer_container {
		width: calc(95% - 280px);
	}
.side_text_box {
	position: relative;
	width: 100vw;
	margin: auto calc(50% - 50vw);
	background-image: linear-gradient(0deg, #4a4a4a, #929292);
	overflow: hidden;
	z-index: 1;
}
.side_text_box.is-layout-constrained:where(:not(.alignfull):not(.alignwide))>.alignfull {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.side_text_slider {
	position: fixed;
	top: 0;
	left: 227px;
	transform: rotate(90deg);
	transform-origin: 0 0;
	max-width: unset;
	width: 1850px;
	z-index: -1;
}
.side_text_slider .scroll_title {
	font-size: 200px;
	color: #9A9A9A;
}
.side_text_slider .swiper-wrapper {
	transition-timing-function: linear;
}
@media screen and (max-width: 1400px) {
	body.home .side_text_box .vk_outer-width-full.vk_outer-paddingLR-none>div>.vk_outer_container {
		margin-left: 120px;
		width: calc(95% - 120px);
	}
	.side_text_slider .scroll_title {
		font-size: 120px;
	}
	.side_text_slider {
		max-width: 1130px;
		left: 136px;
	}
}
@media screen and (max-width: 1024px) {
	body.home .side_text_box .vk_outer-width-full.vk_outer-paddingLR-none>div>.vk_outer_container {
		margin-left: auto;
		width: 90%;
	}
	.side_text_slider {
		display: none;
	}
}

/***********************************
 * プライバシーポリシー
************************************/
.privacy_content {
	padding-top: 6rem;
	padding-bottom: 8rem;
	color: #fff;
}
@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;
	}
}






































