@charset "utf-8";

/* =========================================================================================
VK BLOCK
=========================================================================================*/
.wp-block-vk-blocks-faq2.vk_faq {
	border:none;
	padding-block:2em;
	background:repeating-linear-gradient(90deg, #868898, #868898 2px, transparent 2px, transparent 4px) repeat-x left bottom / 100% 1px;
}
.wp-block-vk-blocks-faq2.vk_faq:last-of-type {
	background:none;
}
.wp-block-vk-blocks-faq2.vk_faq + .wp-block-vk-blocks-faq2.vk_faq {
	margin-bottom: 0;
}
.wp-block-vk-blocks-faq2.vk_faq dt {
	border: none;
	padding-block: 0;
}
.wp-block-vk-blocks-faq2.vk_faq dt::before {
	top:calc(0.5lh + (0.5lh - 0.5em) / 2);
	translate:0 -50%;
	background: var(--color-main);
}
.wp-block-vk-blocks-faq2.vk_faq dt p {
	color:var(--color-main);
	font-size:clamp(1.188rem, calc(0.871rem + 1.348vw), 1.563rem);/* viewport:375-820px 19-25px */
}
.wp-block-vk-blocks-faq2.vk_faq dd::before {
	display: none;
}

@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
}

/* =========================================================================================
見出し大（英語なし）
=========================================================================================*/
.wp-block-heading.mid-h2-black {
	font-size: clamp(1.625rem, calc(1.151rem + 2.022vw), 2.188rem) !important; /* min: 26px, max: 35px */
	font-weight: var(--black-font-weight) !important;
	margin-bottom: 1em;
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
}
/* =========================================================================================
見出し大（英語あり）
=========================================================================================*/
.wp-block-heading.mid-h2-has-sub-title {
	margin-bottom: 1.5em;
	font-weight: var(--bold-font-weight) !important;
	font-size: clamp(2.25rem, calc(1.776rem + 2.022vw), 2.813rem)!important; /* min: 36px, max: 45px */
}
.wp-block-heading.mid-h2-has-sub-title .inline-font-size {
	font-family: var(--kanit);
	font-size: clamp(0.813rem, calc(0.707rem + 0.449vw), 0.938rem); /* min: 13px, max: 15px */
}

@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
}

/* =========================================================================================
見出し大（英語あり・中央揃え）
=========================================================================================*/
.wp-block-heading.mid-h2-center {
	margin-bottom: 1.5em;
}
.wp-block-heading.mid-h2-center > .vk_inline-font-size {
	font-weight: var(--black-font-weight);
	font-size: clamp(1.25rem, calc(0.881rem + 1.573vw), 1.688rem) !important; /* min: 20px, max: 27px */
	line-height: 1.4;
	padding-left: 1.1em;
	position: relative;
}
.wp-block-heading.mid-h2-center > .vk_inline-font-size:before {
	content: "";
	width: 1em;
	height: auto;
	aspect-ratio: var(--logo-aspect);
	background-color: var(--color-main);
	clip-path: var(--logo-clip);
	position: absolute;
	top: 0.3em;
	left: 0;
	z-index: 1;
}
.wp-block-heading.mid-h2-center .has-inline-color span {
	font-family: var(--kanit);
	font-weight: var(--semibold-font-weight);
	font-size: clamp(3rem, calc(1.841rem + 4.944vw), 4.375rem) !important; /* min: 48px, max: 70px */
}
.wp-block-heading.mid-h2-center em {
	font-style: italic !important;
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
}

/* =========================================================================================
キャッチコピー
=========================================================================================*/
.content_wrap p.catchphrase {
	margin-bottom: 1em;
}
.content_wrap p.catchphrase strong {
	font-weight: var(--bold-font-weight) !important;
	font-size: clamp(1.75rem, calc(0.855rem + 3.82vw), 2.813rem); /* min: 28px, max: 45px */
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
}

/* =========================================================================================
固定ページリンク用ボックス
=========================================================================================*/
.wp-block-group.page-link {
	grid-template-columns: repeat(auto-fit, minmax(370px, 1fr));
	gap: 50px 60px;
}
.wp-block-group.page-link .wp-block-group {
	height: 100%;
	background: var(--color-main-light);
}
/* .wp-block-group.page-link .wp-block-group:only-child {
	max-width: 560px;
} */
.wp-block-group.page-link a {
	display: block;
}
.wp-block-group.page-link a img {
	transition: 0.3s;
}
.wp-block-group.page-link a:hover img {
	opacity: 0.7;
}
.wp-block-group.page-link .wp-block-group.is-vertical {
	gap: 0;
}
/*カバー*/
.wp-block-group.page-link .wp-block-cover .wp-block-cover__inner-container {
	padding: 20px;
}
.wp-block-group.page-link .wp-block-cover .wp-block-cover__inner-container .wp-block-group.is-content-justification-space-between {
	display: grid;
	grid-template-columns: 1fr minmax(40px, 10%);
	align-items: start;
	gap: 15px;
}
.wp-block-group.page-link .wp-block-cover .wp-block-cover__inner-container .wp-block-group.is-content-justification-space-between + p {
	margin-top:1em;
}
/*見出し*/
.wp-block-group.page-link .wp-block-cover .wp-block-cover__inner-container .wp-block-heading.page-title {
	font-size: clamp(1.25rem, calc(0.723rem + 2.247vw), 1.875rem) !important; /* min: 20px, max: 30px */
	line-height: 1.2;
	padding:0;
	border:none;
	background-color:transparent;
}
.wp-block-group.page-link .wp-block-cover .wp-block-cover__inner-container .wp-block-heading.page-title .vk_inline-font-size {
	font-size: clamp(0.875rem, calc(0.822rem + 0.225vw), 0.938rem) !important; /* min: 14px, max: 15px */
	line-height: 1 !important;
	display: inline-block;
}
.wp-block-group.page-link .wp-block-cover .wp-block-cover__inner-container .wp-block-heading.catchphrase {
	font-size: clamp(1.125rem, calc(0.757rem + 1.57vw), 1.563rem) !important; /* min: 18px, max: 25px */
	color:inherit;
}
@media only screen and (max-width: 820px) {
	.wp-block-group.page-link { grid-template-columns:1fr;}
}
@media only screen and (max-width: 468px) {
}

/* =========================================================================================
番号付きボックス（横並び）
=========================================================================================*/
.wp-block-group.number-box {
	grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
	gap: 50px 60px;
}
/*カバー*/
.wp-block-group.number-box .wp-block-cover .wp-block-cover__inner-container {
	height: 100%;
	display: flex;
	flex-direction: column;
	padding: 40px;
}
.wp-block-group.number-box .wp-block-cover .wp-block-cover__inner-container h3.wp-block-heading {
	padding:0;
	border:none;
	background-color:transparent;
}
/*見出し*/
.wp-block-group.number-box .wp-block-cover .wp-block-heading {
	font-size: clamp(1.25rem, calc(0.934rem + 1.348vw), 1.625rem) !important; /* min: 20px, max: 26px */
	/* flex-grow: 1; */
}
.wp-block-group.number-box .wp-block-cover .wp-block-heading .vk_inline-font-size {
	font-family: var(--kanit);
	font-weight: var(--normal-font-weight);
	font-size: clamp(1.875rem, calc(0.822rem + 4.494vw), 3.125rem) !important; /* min: 30px, max: 50px */
}
.wp-block-group.number-box em .vk_inline-font-size {
	font-style: italic !important;
}
@media only screen and (max-width: 820px) {
	.wp-block-group.number-box .wp-block-cover .wp-block-cover__inner-container {
		padding: 20px 30px 30px;
	}
}
@media only screen and (max-width: 468px) {
	.wp-block-group.number-box {
		grid-template-columns: repeat(1, 1fr);
	}
	.wp-block-group.number-box .wp-block-cover .wp-block-cover__inner-container {
		padding: 15px;
	}
}

/* =========================================================================================
画像付きボックス（縦積み）
=========================================================================================*/
.wp-block-group.row-box {
	gap: 45px;
}
/*カバー*/
.wp-block-group.row-box .wp-block-cover .wp-block-cover__inner-container {
	padding: 40px 40px 40px 10%;
	position: relative;
	z-index: 1;
}
.wp-block-group.row-box .wp-block-cover .wp-block-cover__inner-container:before {
	content: "";
	width: 3.25em;
	height: auto;
	aspect-ratio: var(--logo-aspect);
	background-color: var(--color-main);
	clip-path: var(--logo-clip);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
/*見出し*/
.wp-block-group.row-box .wp-block-cover .wp-block-heading {
	font-size: clamp(1.25rem, calc(0.723rem + 2.247vw), 1.875rem) !important; /* min: 20px, max: 30px */
	padding:0;
	border:none;
	background-color:transparent;
}
/*カラム*/
.wp-block-group.row-box .wp-block-cover .wp-block-columns-is-layout-flex {
	display: grid;
	grid-template-columns: 1fr minmax(100px, 15%);
	gap: 10px 5%;
}
/*画像*/
.wp-block-group.row-box .wp-block-cover .wp-block-image {
	width: 100%;
	max-width: 150px;
	margin: 0 auto;
}
@media only screen and (max-width: 820px) {
	.wp-block-group.row-box .wp-block-cover .wp-block-cover__inner-container {
		padding: 30px;
	}
}
@media only screen and (max-width: 468px) {
	.wp-block-group.row-box .wp-block-cover .wp-block-cover__inner-container {
		padding: 30px 25px 25px;
	}
	.wp-block-group.row-box .wp-block-cover .wp-block-columns-is-layout-flex {
		grid-template-columns: repeat(1, 1fr);
	}
}

/* =========================================================================================
画像・ボタン付きボックス
=========================================================================================*/
.wp-block-columns.img-btn-box {
	gap: 30px 70px;
	padding-block: 100px;
}
.wp-block-columns.img-btn-box + .wp-block-columns.img-btn-box {
	border-top: 1px solid #707070;
}
/*見出し*/
.wp-block-columns.img-btn-box .wp-block-heading {
	font-size: clamp(1.25rem, calc(0.723rem + 2.247vw), 1.875rem) !important; /* min: 20px, max: 30px */
	margin-block: 0 1em;
}
/*画像*/
.wp-block-columns.img-btn-box .wp-block-image {
	margin: 0 auto;
}
/*ボタン*/
.wp-block-columns.img-btn-box .wp-block-buttons {
	margin-top: 1.5em;
}
@media only screen and (max-width: 820px) {
	.wp-block-columns.img-btn-box {
		padding-block: 50px 75px;
	}
}
@media only screen and (max-width: 468px) {
	.wp-block-columns.img-btn-box {
		padding-block: 40px 50px;
	}
}

/* =========================================================================================
社長メッセージ用ボックス
=========================================================================================*/
.wp-block-group.message-box {
}
/*grid*/
.wp-block-group.message-box .wp-block-columns {
	gap: 20px 5%;
}
.wp-block-group.message-box .wp-block-columns .wp-block-column.image .wp-block-group {
	line-height: 1.2;
	width: 100%;
	max-width: 400px;
	margin: auto;
}
.wp-block-group.message-box .wp-block-columns .wp-block-column.image .wp-block-group img {
	margin-bottom: 1em;
}
.wp-block-group.message-box .wp-block-columns .wp-block-column.image .wp-block-group .company-name,
.wp-block-group.message-box .wp-block-columns .wp-block-column.image .wp-block-group .post {
	font-size: clamp(0.938rem, calc(0.885rem + 0.225vw), 1rem); /* min: 15px, max: 16px */
}
.wp-block-group.message-box .wp-block-columns .wp-block-column.image .wp-block-group .name {
	font-size: clamp(1.25rem, calc(0.881rem + 1.573vw), 1.688rem); /* min: 20px, max: 27px */
	font-weight: var(--bold-font-weight);
	font-family:var(--notoserif);
}
@media only screen and (max-width: 820px) {
	.wp-block-group.message-box .wp-block-columns {
		display: flex;
		flex-direction: column-reverse;
	}
}
@media only screen and (max-width: 468px) {
}

/* =========================================================================================
アクセスマップ用ボックス
=========================================================================================*/
.wp-block-group.access-map-box {
}
.wp-block-group.access-map-box + .wp-block-group.access-map-box {
	margin-top: 80px;
}
/*見出し*/
.wp-block-group.access-map-box .wp-block-heading {
	font-size: clamp(1.25rem, calc(0.934rem + 1.348vw), 1.625rem); /* min: 20px, max: 26px */
	margin-block: 0 0.5em;
}
.wp-block-group.access-map-box h3.wp-block-heading {
	padding:0;
	border:none;
	background-color:transparent;
}
/*住所*/
.wp-block-group.access-map-box .wp-block-group-is-layout-flex.address {
	gap: 0 1em;
	margin-bottom: 1em;
}
/*google map*/
.wp-block-group.access-map-box iframe {
	width: 100%;
	aspect-ratio: 1200 / 500;
	height: auto;
}
@media only screen and (max-width: 820px) {
	.wp-block-group.access-map-box + .wp-block-group.access-map-box {
		margin-top: 65px;
	}
}
@media only screen and (max-width: 468px) {
	.wp-block-group.access-map-box + .wp-block-group.access-map-box {
		margin-top: 50px;
	}
}

/* =========================================================================================
タグクラウド
=========================================================================================*/
.wp-block-group.tag-cloud {
	gap: 0.75em 1em;
}
.wp-block-group.tag-cloud .has-background {
	font-weight: var(--bold-font-weight);
	padding: 0.5em 1em 0.375em;
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
}

/* =========================================================================================
採用情報 - メッセージボックス
=========================================================================================*/
.wp-block-group.recruit-message .wp-block-heading {
	font-size: clamp(1.75rem, calc(1.381rem + 1.573vw), 2.188rem) !important; /* min: 28px, max: 35px */
	margin-bottom: 1em;
}
.wp-block-group.recruit-message p.catchphrase {
	margin-bottom: 1.5em;
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
}

/* =========================================================================================
採用情報 - スタッフリストボックス
=========================================================================================*/
.wp-block-group.staff-list {
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 50px 30px;
}
.wp-block-group.staff-list .wp-block-group {
	height: 100%;
	background: var(--color-main-light);
}
.wp-block-group.staff-list .wp-block-group:only-child {
	max-width: 380px;
}
.wp-block-group.staff-list a {
	display: block;
}
.wp-block-group.staff-list a img {
	transition: 0.3s;
}
.wp-block-group.staff-list a:hover img {
	opacity: 0.7;
}
.wp-block-group.staff-list .wp-block-group.is-vertical {
	gap: 0;
}
/*カバー*/
.wp-block-group.staff-list .wp-block-cover .wp-block-cover__inner-container {
	padding: 0 20px 20px;
}
/*見出し*/
.wp-block-group.staff-list .wp-block-cover .wp-block-cover__inner-container .wp-block-heading.staff-name {
	font-size: clamp(1.25rem, calc(0.723rem + 2.247vw), 1.875rem) !important; /* min: 20px, max: 30px */
	margin-bottom: 0.5em;
}
.wp-block-group.staff-list .wp-block-cover .wp-block-cover__inner-container h3.wp-block-heading {
	padding:0;
	border:none;
	background-color:transparent;
}
.wp-block-group.staff-list .wp-block-cover .wp-block-cover__inner-container .wp-block-heading.staff-name .vk_inline-font-size {
	font-size: clamp(0.875rem, calc(0.822rem + 0.225vw), 0.938rem) !important; /* min: 14px, max: 15px */
	font-weight: var(--normal-font-weight);
	display: inline-block;
	margin-bottom: 0.75em;
}
.wp-block-group.staff-list .wp-block-cover .wp-block-cover__inner-container p.year {
	font-size: clamp(0.875rem, calc(0.822rem + 0.225vw), 0.938rem) !important; /* min: 14px, max: 15px */
}
.wp-block-group.staff-list .wp-block-cover .wp-block-cover__inner-container .wp-block-button {
	margin-top: 1.5em;
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
}

/* =========================================================================================
採用情報 - キャリアボックス
=========================================================================================*/
.wp-block-group.career-box {
	grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
	gap: 50px;
}
.wp-block-group.career-box .wp-block-columns {
	gap: 20px;
}
.wp-block-group.career-box .wp-block-columns:only-child {
	max-width: 580px;
}
/*見出し*/
.wp-block-group.career-box .wp-block-columns .wp-block-heading {
	font-size: clamp(1.125rem, calc(0.914rem + 0.899vw), 1.375rem) !important; /* min: 18px, max: 22px */
	background: var(--color-main-light);
	border-left: 3px solid var(--color-main);
	padding: 0.5em;
	margin-bottom: 0.5em;
}
/*table*/
.wp-block-group.career-box .wp-block-columns th,
.wp-block-group.career-box .wp-block-columns td {
	background: #fff !important;
	border: none !important;
	padding: 0.375em 1em;
}
.wp-block-group.career-box .wp-block-columns th {
	color: var(--color-main);
}
@media only screen and (max-width: 820px) {
	.wp-block-group.career-box { grid-template-columns:1fr;}
	.wp-block-group.career-box img { margin-inline:auto;}
}
@media only screen and (max-width: 468px) {
}

/* =========================================================================================
採用情報 - インタビューボックス
=========================================================================================*/
.wp-block-group.interview-box {
	gap: 0;
}
.wp-block-group.interview-box .wp-block-columns {
	gap: 20px 7.5%;
	padding-block: 100px 75px;
	border-bottom:solid 1px #707070;
}
/* .wp-block-group.interview-box .wp-block-columns + .wp-block-columns {
	border-top: 1px solid #707070;
} */
/*見出し*/
.wp-block-group.interview-box .wp-block-columns .wp-block-heading.staff-name {
	font-size: clamp(1.25rem, calc(0.723rem + 2.247vw), 1.875rem) !important; /* min: 20px, max: 30px */
	font-size:clamp(1.875rem, calc(1.348rem + 2.247vw), 2.5rem)!important;/* viewport-375-820px 30-40px */
	margin-bottom: 0;
	padding:0;
	border:none;
	background-color:transparent;
}
.wp-block-group.interview-box .wp-block-columns .wp-block-heading.staff-name .vk_inline-font-size {
	font-size: clamp(0.875rem, calc(0.822rem + 0.225vw), 0.938rem) !important; /* min: 14px, max: 15px */
	font-size:clamp(0.938rem, calc(0.674rem + 1.124vw), 1.25rem)!important;/* viewport:375-820px 15-20px */
	font-weight: var(--normal-font-weight);
	display: inline-block;
	margin-bottom: 0;
}
.wp-block-group.interview-box .wp-block-columns p.year {
	font-size: clamp(0.875rem, calc(0.822rem + 0.225vw), 0.938rem) !important; /* min: 14px, max: 15px */
	font-size:clamp(0.875rem, calc(0.664rem + 0.899vw), 1.125rem)!important;/* viewport:375-820px 14-18px */
	margin-bottom: 1em;
}
@media only screen and (max-width: 820px) {
	.wp-block-group.interview-box .wp-block-columns {
		padding-block: 75px 50px;
	}
}
@media only screen and (max-width: 468px) {
	.wp-block-group.interview-box .wp-block-columns {
		padding-block: 50px 35px;
	}
}

/* =========================================================================================
採用情報 - スケジュールボックス
=========================================================================================*/
.wp-block-group.schedule-box {
	padding-block: 50px;
}
/*勤務時間*/
.wp-block-group.schedule-box .wp-block-columns.working-hours {
	gap: 0.5em;
	padding-block: 1.5em;
}
/*見出し*/
.wp-block-group.schedule-box .schedule-block .wp-block-heading {
	font-size: clamp(1.125rem, calc(0.914rem + 0.899vw), 1.375rem) !important; /* min: 18px, max: 22px */
	background: var(--color-main-light);
	border-left: 3px solid var(--color-main);
	padding: 0.5em;
	margin-block: 1.5em;
}
/*フロー*/
.wp-block-group.schedule-box .schedule-block {
	gap: 20px 7.5%;
}
.wp-block-group.schedule-box .schedule-block .vk_flow_frame {
	padding: 0;
	border: none;
}
.wp-block-group.schedule-box .schedule-block .vk_flow_frame dl {
	display: grid;
	grid-template-columns: 100px 1fr;
	align-items: start;
	gap: 30px;
}

.wp-block-group.schedule-box .schedule-block .vk_flow_frame dl dt {
	color: var(--color-main);
	font-family: var(--kanit);
	font-size: clamp(1.25rem, calc(0.829rem + 1.798vw), 1.75rem); /* min: 20px, max: 28px */
	line-height: 1;
	white-space: nowrap;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-sub);
	border-radius: 10px;
	padding: 0.25em 0.5em;
}
.wp-block-group.schedule-box .schedule-block .vk_flow_frame dl dd {
	font-size: clamp(1.125rem, calc(0.756rem + 1.573vw), 1.563rem); /* min: 18px, max: 25px */
}
.wp-block-group.schedule-box .schedule-block .vk_flow.vk_flow-arrow-on::after,
.wp-block-group.schedule-box .schedule-block .vk_flow > .vk_flow_frame_arrow {
	width: 1.25em;
	height: auto;
	aspect-ratio: 22 / 16;
	background: var(--color-main);
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	margin: 5px 0 1em 50px;
	translate: -50% 0;
}
@media only screen and (max-width: 820px) {
}
@media only screen and (max-width: 468px) {
}
