@import url('https://fonts.googleapis.com/css2?family=Sawarabi+Gothic&family=Zen+Maru+Gothic&display=swap');

body {
	font-family: "Sawarabi Gothic", sans-serif !important;
	color: #333 !important;
}

.home .ltg-slide-text-title {
  display: block;
  margin-bottom: 32px;
  font-size: 42px;
  font-weight: 700;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #4d4398 !important;
}
.home .ltg-slide-text-title + .ltg-slide-text-caption {
  margin: 20px 0 0;
  font-size: 14px;
  line-height: 1.8;
  color: #333 !important;
}

.site-body {
  padding: 80px 0 0 !important;
  background: url(../images/body_bg.jpg) 50% 50% / 100% auto repeat-y;
}

.main-section {
  margin-bottom: 0 !important;
}

h2.wp-block-heading {
  position: relative;
  padding: 14px 0 !important;
  margin-bottom: 40px !important;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.6;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #4d4398 !important;
  border-top: none;
  border-bottom: 2px dotted;
}
.entry-body > .wp-block-group {
  margin-bottom: 80px !important;
}
.wp-block-group > .wp-block-buttons {
  margin-top: 24px;
}
.wp-element-button {
  display: flex;
  width: 240px !important;
  height: 50px !important;
  padding: 0 !important;
  color: #4d4398 !important;
  background: transparent !important;
  border: 1px solid #4d4398 !important;
  border-radius: 50px !important;
  align-items: center;
  justify-content: center;
  cursor: pointer !important;
}
.wp-element-button:hover {
	color: #fff !important;
	background: #4d4398 !important;
	opacity: 1;
}
hr.wp-block-separator {
  margin: 10px !important;
}
.news_list_wrap hr.wp-block-separator {
  margin: 0 !important;
}
.news_list_wrap time,
.news_list_wrap a {
  display: block;
  width: 100%;
  padding: 10px 0;
  font-size: 15px !important;
}
.news_list_wrap a:hover {
  color: #4d4398 !important;
}

/*.column_item_warp {
  padding: 40px;
  background: #fff;
}*/
.column_item_warp .wp-block-columns {
  background: #fff;
  border-radius: 0 0 0 80px;
  gap: 0 !important;
}
.column_item_warp .wp-block-columns .wp-block-column {
	padding: 40px;
}
.column_item_warp .wp-block-columns:not(:last-child) {
  margin-bottom: 40px;
}
.column_item_warp .wp-block-columns .wp-block-image {
	width: calc(100% + 80px);
	max-width: none;
	height: calc(100% + 80px);
	margin: -40px;
  border-radius: 0 0 0 80px;
  overflow: hidden;
}
.column_item_warp .wp-block-columns .wp-block-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}
.column_item_warp .wp-block-columns:nth-child(2n) {
	border-radius: 0 0 80px 0;
}
.column_item_warp .wp-block-columns:nth-child(2n) .wp-block-image {
	border-radius: 0 0 80px 0;
}

.case_card_list {
  margin-bottom: 40px !important;
  gap: 16px;
}
.case_card_list li,
.case_card_list > .wp-block-column {
  padding: 20px !important;
  background: #FFF;
  border-radius: 40px;
}
.case_card_list li .wp-block-latest-posts__featured-image,
.case_card_list > .wp-block-column .wp-block-image {
  margin-bottom: 14px;
  font-size: 0;
  border-radius: 20px;
  overflow: hidden;
}
.case_card_list > .wp-block-column .wp-block-image {
	margin-bottom: 0;
	border-radius: 20px 20px 0 0;
}
.case_card_list li .wp-block-latest-posts__featured-image img,
.case_card_list > .wp-block-column .wp-block-image img {
	width: 100%;
	height: 100%;
	transition: 0.3s ease-in-out;
	object-fit: cover;
}
.case_card_list li .wp-block-latest-posts__post-title,
.case_card_list > .wp-block-column .wp-block-heading {
  display: block;
  padding: 6px 10px;
  font-size: 14px;
  color: #FFF;
  font-weight: 400;
  background: #4d4398;
  border-radius: 5px;
}
.case_card_list > .wp-block-column .wp-block-heading {
	font-size: 16px;
	border-radius: 0;
}
.case_card_list > .wp-block-column > p {
	font-size: 14px;
}
.case_card_list li time {
	display: block;
	font-size: 12px;
	text-align: right;
}
.case_card_list li .wp-block-latest-posts__featured-image a:hover img {
	transform: scale(1.1);
}

.top_full_content {
  width: auto;
  padding: 64px 20px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: var(--vk-width-full);
  background: #4d4398;
}
.top_full_content h2.wp-block-heading {
  text-align: center;
  background: #FFF !important;
  border: none;
  border-radius: 40px;
}
.top_full_content .wp-element-button {
	color: #fff !important;
	border-color: #fff !important;
}
.top_full_content .wp-element-button:hover {
	color: #4d4398 !important;
	background: #fff !important;
}

.contact_cta_wrap {
  padding: 48px 0;
}
.contact_cta_title .wp-block-image {
  display: flex;
  width: 100px !important;
  min-width: 100px !important;
  height: 100px !important;
  background: #FFF;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
}
.contact_cta_wrap h2.wp-block-heading {
  padding: 0 !important;
  margin: 0 !important;
  color: #fff !important;
  border: none !important;
}
.contact_cta_title + p {
  display: block;
  margin-bottom: 40px !important;
}
.contact_cta_wrap .wp-block-columns {
  max-width: 740px !important;
}
.contact_cta_wrap .wp-block-columns.contact_cta_title {
  max-width: 400px !important;
  margin-bottom: 24px !important;
}
.contact_cta_title > .wp-block-column {
  width: auto !important;
  flex-basis: auto !important;
}

.site-footer .site-footer-title {
  display: block;
  padding: 0 !important;
  font-size: 24px !important;
  color: #4d4398 !important;
  border: none ! IMPORTANT;
}
.site-footer .site-footer-title::after {
  content: none !IMPORTANT;
}
.site-footer-copyright {
  max-width: 100% !important;
  padding: 1px !important;
  color: #fff !important;
  background: #4d4398;
}
.site-footer-copyright p {
  font-size: 11px !important;
}

@media screen and (max-width: 782px) {
	.admin-bar .vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-drop-in, .admin-bar .vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-left-in, .admin-bar .vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-right-in {
	  top: 0 !important;
	}
}

@media screen and (max-width: 767px) {
	.ltg-slide picture img {
  	height: 80vh !important;
  	object-fit: cover;
	}
	.home .ltg-slide-text-title {
  	margin-bottom: 16px;
  	font-size: 25px;
    letter-spacing: -0.25px !important;
	}
	.home .ltg-slide-text-title + .ltg-slide-text-caption {
  	margin: 16px 0 0;
  	text-align: left !important;
	}
	.site-body {
  	padding: 40px 0 0 !important;
	}

	.entry-body > .wp-block-group {
  	margin-bottom: 40px !important;
	}

	h2.wp-block-heading {
  	padding-bottom: 10px !important;
  	margin-bottom: 24px !important;
  	font-size: 18px !important;
	}
	.wp-block-post-date time {
  	padding: 10px 0 0 !important;
  	font-size: 13px !important;
	}
	.news_list_wrap a {
  	padding: 0 0 10px !important;
	}
	.column_item_warp .wp-block-columns {
  	border-radius: 40px 0 0 0;
	}
	.column_item_warp .wp-block-columns .wp-block-image {
	  width: calc(100% + 40px);
	  height: calc(100% + 40px);
	  margin: -20px;
	  border-radius: 40px 0 0 0;
	}
	.column_item_warp .wp-block-columns .wp-block-column {
  	padding: 20px;
	}
	.column_item_warp .wp-block-columns .wp-block-column .wp-block-buttons {
  	justify-content: center !important;
	}
	.column_item_warp .wp-block-columns:not(:last-child) {
  	margin-bottom: 20px;
	}
	.column_item_warp .wp-block-columns:nth-child(2n) {
  	border-radius: 0 40px 0 0;
	}
	.column_item_warp .wp-block-columns:nth-child(2n) > .wp-block-column:first-child {
  	order: 1;
	}
	.column_item_warp .wp-block-columns:nth-child(2n) .wp-block-image {
  	border-radius: 0 40px 0 0;
	}
	.top_full_content {
  	padding: 40px 15px !important;
	}
	.case_card_list li,
	.case_card_list > .wp-block-column {
  	border-radius: 20px;
	}
	.case_card_list li .wp-block-latest-posts__featured-image {
  	border-radius: 10px;
	}
	.case_card_list > .wp-block-column .wp-block-image {
		border-radius: 10px 10px 0 0;
	}
	.wp-block-buttons {
  	justify-content: center;
	}
	.contact_cta_wrap .wp-block-columns.contact_cta_title {
  	gap: 10px 0;
	}
	.contact_cta_wrap .wp-block-columns.contact_cta_title .wp-block-column {
  	display: flex;
  	justify-content: center;
	}
	.contact_cta_wrap h2.wp-block-heading {
  	font-size: 24px !important;
	}
	.contact_cta_title + p {
  	margin-bottom: 24px !important;
	}
}

.page-header {
	height: auto;
  min-height: auto !important;
	background: url(../images/page_kv_bg.png) 50% 50% / cover no-repeat !important;
}
.page-header .page-header-inner {
  padding: 80px 0;
  margin: 0 auto;
}
.page-header .page-header-title {
  font-size: 36px !important;
  letter-spacing: 8px;
  font-family: "Zen Maru Gothic", sans-serif;
}

.wp-block-column .case_card_list {
	margin-bottom: 40px !important;
}
.wp-block-column .case_card_list:last-child {
  margin-bottom: 0 !important;
}

@media screen and (max-width: 767px) {
	.page-header .page-header-inner {
  	padding: 64px 0;
	}
	.page-header .page-header-title {
  	font-size: 26px !important;
  	letter-spacing: 5px;
	}
}

.gallery_list_wrap .wp-block-columns {
  max-width: 880px;
  margin: 0 auto 20px;
  gap: 0 16px;
}
.gallery_list_wrap .wp-block-columns .wp-element-caption {
  font-size: 18px;
  font-family: "Zen Maru Gothic", sans-serif;
}
@media screen and (max-width: 767px) {
	.gallery_list_wrap .wp-block-columns {
  	gap: 20px 0;
	}
	.gallery_list_wrap .wp-block-columns .wp-element-caption {
  	font-size: 15px;
	}
}

.post-list,
.sub-section {
  padding-bottom: 80px;
}
.post-list .vk_post {
  padding: 20px !important;
  background: #fff;
}
.post-list .vk_post:nth-child(2n) {
  background: #f4f4f4;
}
.vk_post .vk_post_btn {
  padding: 6px 24px !important;
  font-size: 14px !important;
	color: #4d4398 !important;
	background: transparent !important;
  border: 1px solid #4d4398 !important;
  border-radius: 50px !important;
}
.vk_post .vk_post_btn:hover {
	color: #fff !important;
  background: #4d4398 !important;
}
.sub-section .sub-section-title {
  padding: 10px;
  font-size: 16px;
  color: #FFF;
  background: #4d4398;
  border: none;
  border-radius: 8px;
}
.sub-section .sub-section-title::after {
	content: none;
}

.page_full_content {
	width: auto;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: var(--vk-width-full);
}
.page_full_content .wp-block-cover {
  padding: 80px;
  max-width: 100% !important;
}
.page_full_content .wp-block-cover .wp-block-cover__inner-container {
	max-width: 1100px;
	margin: 0 auto;
}
.page_full_content .wp-block-cover h2.wp-block-heading {
	display: block;
	font-weight: 700 !important;
	color: #FFF !important;
}

.company_table {
  max-width: 880px !important;
  margin: 0 auto;
  font-size: 16px !important;
  background: #FFF !important;
}
.company_table td {
  padding: 16px 20px !important;
}
.company_table td:first-child {
  width: 120px;
  font-weight: 700;
  background: #f7f3ed;
  border: 1px solid #dedede;
}
.company_table td a {
	display: inline-block;
	color: #4d4398 !important;
	text-decoration: underline;
}
.map_content_wrap iframe {
  display: block;
  max-width: 880px;
  border: 16px solid #fff !important;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, .2);
}

@media screen and (max-width: 767px) {
	.page_full_content .wp-block-cover {
  	padding: 40px 15px !important;
	}
	.page_full_content .wp-block-cover .wp-block-columns {
  	gap: 8px 0;
	}
	.company_table {
  	font-size: 14px !important;
	}
	.company_table td {
  	padding: 12px 10px !important;
	}
	.company_table td:first-child {
  	width: 100px;
	}
	.map_content_wrap iframe {
  	height: 240px;
  	border-width: 10px !important;
	}
}

.entry-body > .privacy_inner_wrap {
  padding-bottom: 80px !important;
  margin-bottom: 0 !important;
}
.privacy_inner_wrap .wp-block-columns {
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
	.entry-body > .privacy_inner_wrap {
		padding-bottom: 64px !important;
	}
}

.entry-body > .contact_inner_wrap {
  padding-bottom: 80px !important;
  margin-bottom: 0 !important;
}
.contact_inner_wrap table {
  max-width: 880px;
  margin: 0 auto 40px;
  background: #fff;
  border: none;
}
.contact_inner_wrap table th {
	width: 240px;
  color: #fff;
  background: #4d4398;
  border: 1px solid #fff;
  border-width: 1px 0;
}
.contact_inner_wrap table td {
  border: 1px solid #4d4398;
  border-width: 1px 0;
}
.contact_inner_wrap table td input {
	margin: 0 !important;
}
.contact_inner_wrap table td .mwform-tel-field,
.contact_inner_wrap table td .mwform-zip-field {
  display: flex;
  width: 100% !important;
  max-width: 580px;
  align-items: center;
  gap: 0 8px;
}
.contact_inner_wrap table td .mwform-zip-field {
	max-width: 400px !important;
}
.contact_inner_wrap table td .mwform-tel-field input,
.contact_inner_wrap table td .mwform-zip-field input {
	width: 100%;
}
.contact_inner_wrap .privacy {
  display: block;
  margin-bottom: 64px;
  text-align: center;
}

.send-btn {
  display: flex;
  gap: 0 10px;
  justify-content: center;
}
.send-btn input {
  display: flex;
  width: 48%;
  max-width: 300px;
  height: 48px;
  font-size: 16px !important;
  color: #4d4398 !important;
  font-weight: 700;
  letter-spacing: 1.5px;
  background: transparent !important;
  border: 1px solid #4d4398 !important;
  border-radius: 50px !important;
  align-items: center;
  justify-content: center;
}
.send-btn input:hover {
	color: #fff !important;
	background: #4d4398 !important;
}
.contact_inner_wrap table td .error {
  display: block;
  margin: 3px 0 0;
  font-size: 11px;
  text-align: right;
  color: #ff4646;
}

@media screen and (max-width: 767px) {
	.entry-body > .contact_inner_wrap {
		padding-bottom: 64px !important;
	}
	.contact_inner_wrap table {
		margin-bottom: 10px;
		background: transparent;
	}
	.contact_inner_wrap table th,
	.contact_inner_wrap table td {
	  display: block;
	  width: 100%;
	  text-align: left;
	  border: none;
	}
	.contact_inner_wrap table td {
  	margin-bottom: 16px;
  	background: #fff;
	}
	.contact_inner_wrap .privacy {
  	margin-bottom: 20px;
  	font-size: 12px;
	}
	.send-btn {
  	flex-wrap: wrap;
  	gap: 14px 0;
	}
	.send-btn input {
  	width: 100%;
	}
}

.mw_wp_form_confirm table th,
.mw_wp_form_confirm table td {
  padding: 16px 20px;
  text-align: left;
}
.contact_inner_wrap table th .must {
  display: inline-block;
  margin-left: 6px;
  font-size: 70%;
  vertical-align: text-top;
}
.content_thanks_wrap > p {
	text-align: left;
}

.main-section > .post.type-post,
.main-section > .news.type-news {
  padding-bottom: 80px;
}
.main-section > .post.type-post + .next-prev {
	display: flex;
	padding-bottom: 80px;
	margin: -40px 0 0;
	justify-content: space-between;
	flex-wrap: nowrap;
}
.main-section > .post.type-post + .next-prev .vk_post {
  width: 49% !important;
  max-width: 49% !important;
  margin: 0 !important;
}

@media screen and (max-width: 767px) {
	.main-section > .post.type-post,
	.main-section > .post.type-post + .next-prev,
	.main-section > .news.type-news  {
  	padding-bottom: 64px;
	}
	.main-section > .post.type-post + .next-prev {
		flex-wrap: wrap;
		gap: 16px 0;
	}
	.main-section > .post.type-post + .next-prev .vk_post {
  	width: 100% !important;
  	max-width: 100% !important;
  	margin: 0 !important;
	}
	.main-section > .post.type-post .entry-title,
	.main-section > .news.type-news .entry-title {
		font-size: 20px;
	}
}