/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jul 17 2025 | 03:07:34 */
/* ここにCSSコードを追加

例:
.example {
    color: red;
}

CSS の知識に磨きをかけるためにご覧ください。
http://www.w3schools.com/css/css_syntax.asp

コメント終わり */ 
/* 全体 */
.site-body {
	background: #fff !important;
}
.vk_highlighter {
	background: linear-gradient(transparent 95%, #808080 0%) !important;
}
.pc-spacer, .tablet-spacer {
	display: none;
}
.mobile-spacer {
	display: block;
}
@media (min-width: 782px) {
	.pc-spacer, .mobile-spacer {
		display: none;
	}
	.tablet-spacer {
		display: block;
	}
}
@media (min-width: 992px) {
	.pc-spacer {
		display: block !important;
	}
	.mobile-spacer, .tablet-spacer {
		display: none;
	}
}
@media (max-width: 992px) {
	.site-header {
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 1000;
    }
	body {
		margin-top: 44px;
	}
}
/* アニメーション */
.fadein {
	opacity: 0;
    transform: translateY(30px);
	transition: all .3s ease-in-out .3s;
}
/* ヘッダーロゴ */
.site-header-logo img {
	margin-left: 0;
	margin-right: 0;
}
.header_scrolled .site-header-logo {
	display: block;
}
/* グローバルナビゲーション */
.global-nav-list>li .global-nav-name {
	font-size: 16px;
	letter-spacing: .1rem;
}
.global-nav-list>li .global-nav-description {
	display: none;
	//-size: 14px;
}
.global-nav-list>li:before {
  	//bottom: 8px;
	//border-width: 2px;
	border-bottom: 0;
}
.global-nav-list a {
	transition: all 0.3s ease-in-out;
}
.global-nav-list a:hover {
	//text-emphasis: circle #4d9bc1;
  	//text-emphasis-position: under;
	color: var(--vk-color-primary);
}
.global-nav-list a:hover::before {
}
/* モバイルメニュー */
.vk-mobile-nav-menu-btn {
	left: auto;
	right: 5px;
	border: none;
}
.vk-mobile-nav-menu-btn.menu-open {
	border: none;
}
.vk-mobile-nav-widget {
	display: none;
}
.vk-mobile-nav {
	z-index: 900;
	height: 65%;
	padding: 0px 10px;
	overflow: hidden;
}
.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-drop-in, 
.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-left-in, 
.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-right-in {
	top: 40px;
}
.vk-mobile-nav nav ul li a {
	padding: 1.2em .5em;
	font-size: 16px;
	letter-spacing: .1rem;
}
.vk-mobile-nav nav ul li a:hover {
	color: var(--vk-color-primary);
}
/* トップページ スライダー */
.catch-en {
	text-shadow:
		-1px -1px 2px #808080, /* 少し暗い影を左上 */
		1px -1px 2px #808080,  /* 少し暗い影を右上 */
		-1px 1px 2px #808080,  /* 少し暗い影を左下 */
		1px 1px 2px #808080,   /* 少し暗い影を右下 */
 		0 0 5px #606060,       /* より濃い影を中央に少し広げる */
		0 0 10px #606060;      /* さらに濃い影を中央に広げる */
	color: #fff;
}
@media (max-width: 782px) {
	.catch-en {
		display: flex;
		flex-direction: column;
	}
}
.catch-jp {
	text-shadow:
		-1px -1px 2px #808080, /* 少し暗い影を左上 */
		1px -1px 2px #808080,  /* 少し暗い影を右上 */
		-1px 1px 2px #808080,  /* 少し暗い影を左下 */
		1px 1px 2px #808080,   /* 少し暗い影を右下 */
 		0 0 5px #606060,       /* より濃い影を中央に少し広げる */
		0 0 10px #606060;      /* さらに濃い影を中央に広げる */
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
@media (min-width: 782px) {
	.catch-jp:before, .catch-jp:after {
		border-top: 1px solid;
		box-shadow: 0 1px 5px black;
		content: "";
		width: 3em;
	}
	.catch-jp:before {
		margin-right: 1em;
	}
	.catch-jp:after {
		margin-left: 1em;
	}
}
.swiper-button-prev,
.swiper-button-next,
.swiper-pagination-bullet {
	display: none;
}
.catch-flost {
	width: 100%;
	max-width: 100%;
	padding: 1rem 1.5rem;
    align-self: stretch;
	background-color: rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid #fff;
	border-radius: 10px;
    font-family: 'Montserrat', sans-serif;
}
/* トップページ 会社案内 */
.about-company-title {
  background: linear-gradient(110deg, #0075c2 20%, #a1d8e2 40%, #f6ae54 60%, #bc611e 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 1.8rem !important;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
}
.about-company-title::first-letter {
	font-size: 2.5rem;
}

.about-company-button a {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}
.about-company-button a {
  overflow: hidden;

  padding: 1.5rem 6rem;

  color: #fff;
  border-radius: 0;
  background-color: #fff;
}
.about-company-button a div {
  position: relative;
}
.about-company-button a:before {
  position: absolute;
  top: 0;
  left: 0;

  width: 150%;
  height: 500%;

  content: "";
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  -webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
  transform: translateX(-98%) translateY(-25%) rotate(45deg);

  background: #0075c2;
}
.about-company-button a:hover {
  background-color: transparent !important;
  border: 1px solid currentColor !important;
  opacity: 1 !important;
  background-color: #fff !important;
}
.about-company-button a:hover:before {
  -webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
  transform: translateX(-9%) translateY(-25%) rotate(45deg);
}
.about-company-button a:hover div {
  transition: all 0.5s ease;
  color: #fff;
}
.about-company-message {
	font-size: 16px;
}
.about-company-message-bold {
	font-size: 1.6rem !important;
}
@media (max-width: 782px) {
	.about-comapany-header {
		display: none !important;
	}
	.about-company-message-bold {
		font-size: 16px !important;
	}
}
/* トップページ 事業案内 */
.about-business-img {
	width: 200px;
	height: auto;
	min-height: auto;
	overflow: hidden;
}
.about-business-img img {
	height: auto;
	transition: all .6s ease;
	width: 100%;
}
.about-business-item:hover {
	opacity:0.6;
}
.about-business-item:hover .about-business-img img {
	transform:scale(1.1);
	filter: brightness(1.10);
}
.about-business-img-title {
	font-size: 16px !important;
}
@media (max-width: 782px) {
	.about-business-img {
		height: auto !important;
		min-height: auto !important;
	}
}
@media (max-width: 992px) {
	.about-business-img {
		height: auto !important;
		min-height: auto !important;
	}
}
@media (max-width: 782px) {
	.about-business {
		display: flex;
		flex-direction: column;
		align-items: center !important;
	}
	.about-business-item {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
}
/* トップページ ブロック */
.block-header-icon .vk-icon-font {
//	font-size: 22px;
}
.block-header-title-en:before,.block-header-title-en:after {
	content: '';
	flex-grow: 1;
	height: 2px;
	background: var(--vk-color-primary);
}
.block-header-title-en .wp-block-heading {
	font-size: 42px;
	line-height: 4rem;
	letter-spacing: .1rem;
	text-shadow:
		-1px -1px 2px #808080, /* 少し暗い影を左上 */
		1px -1px 2px #808080,  /* 少し暗い影を右上 */
		-1px 1px 2px #808080,  /* 少し暗い影を左下 */
		1px 1px 2px #808080,   /* 少し暗い影を右下 */
 		0 0 5px #606060,       /* より濃い影を中央に少し広げる */
		0 0 10px #606060;      /* さらに濃い影を中央に広げる */
	padding: 0 10px;
}
.block-header-title-jp .wp-block-heading {
	font-size: 16px;
	font-weight: normal;
}
.block-message {
	font-size: 16px;
	font-weight: normal !important;
	text-shadow:
		-1px -1px 2px #808080, /* 少し暗い影を左上 */
		1px -1px 2px #808080,  /* 少し暗い影を右上 */
		-1px 1px 2px #808080,  /* 少し暗い影を左下 */
		1px 1px 2px #808080,   /* 少し暗い影を右下 */
 		0 0 5px #606060,       /* より濃い影を中央に少し広げる */
		0 0 10px #606060;      /* さらに濃い影を中央に広げる */
}
.block-header-recruit-title-en {
	font-size: 42px;
	text-shadow:
		-1px -1px 2px #808080, /* 少し暗い影を左上 */
		1px -1px 2px #808080,  /* 少し暗い影を右上 */
		-1px 1px 2px #808080,  /* 少し暗い影を左下 */
		1px 1px 2px #808080,   /* 少し暗い影を右下 */
 		0 0 5px #606060,       /* より濃い影を中央に少し広げる */
		0 0 10px #606060;      /* さらに濃い影を中央に広げる */
}
.block-header-recruit-title-jp {
	text-shadow:
		-1px -1px 2px #808080, /* 少し暗い影を左上 */
		1px -1px 2px #808080,  /* 少し暗い影を右上 */
		-1px 1px 2px #808080,  /* 少し暗い影を左下 */
		1px 1px 2px #808080,   /* 少し暗い影を右下 */
 		0 0 5px #606060,       /* より濃い影を中央に少し広げる */
		0 0 10px #606060;      /* さらに濃い影を中央に広げる */
}
@media (max-width: 782px) {
	.block-message pre {
		font-size: 1.3rem !important;
	}
}
.block-header-recruit-button a {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}
.block-header-recruit-button a {
  overflow: hidden;

  padding: 1.5rem 6rem;

  color: #fff;
  border-color: #fff;
  border-radius: 0;
  background-color: #fff;
}
.block-header-recruit-button a div {
  position: relative;
}
.block-header-recruit-button a:before {
  position: absolute;
  top: 0;
  left: 0;

  width: 150%;
  height: 500%;

  content: "";
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  -webkit-transform: translateX(-98%) translateY(-25%) rotate(45deg);
  transform: translateX(-98%) translateY(-25%) rotate(45deg);

  background: #0075c2;
}
.block-header-recruit-button a:hover {
  background-color: transparent !important;
  border: 1px solid currentColor !important;
  opacity: 1 !important;
  border-color: #fff !important;
  background-color: #fff !important;
}
.block-header-recruit-button a:hover:before {
  -webkit-transform: translateX(-9%) translateY(-25%) rotate(45deg);
  transform: translateX(-9%) translateY(-25%) rotate(45deg);
}
.block-header-recruit-button a:hover div {
  transition: all 0.5s ease;
  color: #fff;
}

/* トップページ お知らせ */
.su-posts-default-loop .su-post-thumbnail {
	display: none;
	width: 0;
	height: 0;
}
.su-posts-default-loop .su-post-thumbnail img {
	width: 0;
	height: 0;
}
.su-post {
	border-bottom: 1px solid #eee;
}
.su-post-nav-area {
	cursor: pointer;
	transform: translate3d(0, 0, 0);
	&:hover {
		opacity: 0.6;
	}
}
.su-post-nav {
	width: 30px;
	height: 30px;
	position: absolute;
	//top: 1px;
	right: 1px;
	outline: initial;
	background: transparent;
	border: none;
	&:focus-visible {
		box-shadow: 0 0 0 2px black;
	}
}
.su-post-nav > .inn {
	width: 100%;
	height: 100%;
	position: relative;
	display: block;
	&:before {
		position: absolute;
		content: "";
		top: 160%;
		left: 50%;
		width: 10px;
		height: 10px;
		transform: translate(-50%, -40%) rotate(135deg);
		border-top: 1px solid #515151;
		border-right: 1px solid #515151;
		transition: 0.3s ease;
	}
}
.su-post-nav.active > .inn {
	&:before {
		top: 180%;
		transform: translate(-50%, -60%) rotate(-45deg);
	}
}
.su-post-meta {
	display: flex;
	//align-items: center;
	padding-bottom: 10px;
	opacity: 1 !important;
}
.su-post-date {
	width: auto;
	font-size: 1rem;
	margin-right: 10px;
	//line-height: 2;
	letter-spacing: .05em;
	align-self: center;
	opacity: 0.8;
}
.su-post-category {
	display: flex;
	gap: 5px;
}
.su-post-category span {
	//font-size: 1rem;
	line-height: 1;
	width: 100%;
	text-align: center;
	padding: 4px 10px;
	letter-spacing: .05em;
	border-radius: 25px;
	border: 1px solid #e5e5e5;
	color: #fff;
	background: #3287da;
	white-space: nowrap;
	//padding: 5px;
	//flex-basis: 5em;
}
.su-post-title {
	padding-bottom: 20px;
}
.su-post-excerpt {
	font-size: 14px;
}
/* ページヘッダー */
.page-header {
  background-image: url('../../uploads/2025/07/page_header_4-scaled.jpg');
  background-size: cover; /* 背景画像を要素にフィットさせる */
  background-position: center center; /* 背景画像を中央に配置 */
  background-repeat: no-repeat; /* 背景画像を繰り返さない */
}
.page-header-inner {
	width: 100%;
	max-width: 100%;
	margin: 0;
    align-self: stretch;
	background-color: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	display: flex; 
	justify-content: center; /* 主軸（水平方向）で中央揃え */
	align-items: center; /* 交差軸（垂直方向）で中央揃え */
}
.page-header-title {
	color: #fff;	
	letter-spacing: .2rem;
	text-align: center;
	text-shadow:
		-1px -1px 2px #333, /* 少し暗い影を左上 */
		1px -1px 2px #333,  /* 少し暗い影を右上 */
		-1px 1px 2px #333,  /* 少し暗い影を左下 */
		1px 1px 2px #333,   /* 少し暗い影を右下 */
 		0 0 5px #000,       /* より濃い影を中央に少し広げる */
		0 0 10px #000;      /* さらに濃い影を中央に広げる */
}
/* ページフッター */
.site-footer {
	border-top: 0;
}
.footer-nav {
	display: none;
}
.site-footer-copyright p:nth-child(1) {
	font-size: 0;
}
.site-footer-copyright p:nth-child(1)::before {
	font-size: 12px;
	content:"Copyright © ForceSoftware Inc. All Rights Reserved.";
}
.site-footer-copyright p:nth-child(2) {
    display: none;
}
/* パンくず */
.breadcrumb {
	font-size: 14px;
	border : none;
}
.breadcrumb,.site-body {
	background: #f5f5f5;
}
.wp-block-heading i {
	color: #3287da;
}
.link i {
	color: #3287da;
}
@media (max-width: 782px) {
	.breadcrumb {
		display: none;	
	}
}
.breadcrumb-list li:after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f105";
    margin-left: .5em;
    margin-right: .5em;
}
li.breadcrumb-list__item a {
    text-decoration: none;
}
li.breadcrumb-list__item--home svg {
	margin-right: 0.35rem;
}
/* 事業紹介 */
@media (max-width: 782px) {
	.business-title-jp, .business-title-en {
		text-align: center !important;
	}
}
/* 会社案内 */
.representative-message-header {
	border: 0;	
}
.company-info-table table tbody tr {
	height: 80px;
}
.is-pl-0 .wp-block-media-text__content {
	padding-left: 0;
}
@media (max-width: 768px) {
    .wp-block-media-text {
        flex-direction: column-reverse !important;
    }
}
/* 開発実績 */
@media (min-width: 992px) {
	.site-body .main-section--col--two {
		width: 100%;
	}
}
@media (min-width: 782px) {
    .works-tag-labels {
        flex-wrap: wrap !important;
    }
}
:root :where(.works-tag-labels) {
    gap: 4px;
}
.vk_post_imgOuter_singleTermLabel,
.vk_post_title_new,
.vk_post_btnOuter,
.vk_post_date{
	display: none;
}
.vk_posts {
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
}
.vk_post {
	flex-direction: column;
	max-width: 300px;
	justify-content: center;
	border-bottom: 0 !important;
}
.vk_post_imgOuter_singleTermLabel {
	
}
.vk_post .media-img {
	width: 100%;
	border-radius: 5px;
}
.vk_post .media-title {
	border-bottom: 0;
	padding-bottom: 0;
}
.vk_post .media-img a, 
.vk_post .media-title a {
	pointer-events: none;
}
.vk_post .media-body {
	width: 100%;
	padding-top: 15px;
}
.vk_post_body .media-text {
	font-size: 16px !important;
	opacity: 1 !important;
}
.vk_post_body .works-category {
	width: 130px;
	color: #fff;
	background-color: var(--vk-color-primary);
	border-radius: 5px;
	text-align: center;
	font-size: 0.875rem;
	margin-bottom: 10px;
	padding: 7px 0;
}
.vk_post_body .works-tags {
	display: flex;
	flex-wrap: wrap;
}
.vk_post_body .works-tag {
	color: #fff;
	background-color: #717171;
	border-radius: 5px;
	text-align: center;
	font-size: 0.75rem;
	padding: 3px 7px;
	margin-right: 5px;
	margin-bottom: 5px;
}

.custom-post-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.grid-item {
  background: #fff;
  border: 1px solid #eee;
  padding: 16px;
  text-align: center;
}
.grid-item img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto 12px;
}
.post-title {
  font-size: 1.1em;
  margin-bottom: 8px;
  font-weight: bold;
}
.post-label {
  display: inline-block;
  background: #0073aa;
  color: #fff;
  font-size: 0.85em;
  padding: 2px 8px;
  border-radius: 4px;
  margin-top: 6px;
}
