/*
 Theme Name: Lightning Child
 Template: lightning
 Version: 1.0
*/

/* =========================
   共通タイポグラフィ設定
========================= */
:root {
	/* 本文 */
	--font-size-body: 1.2rem;
	--font-size-body-small: 1rem;
	--line-height-body: 1.6;

	/* 見出し */
	--font-size-heading-xl: 5.6rem; /* KV */
	--font-size-heading-lg: 3.5rem;   /* 大見出し */
	--font-size-heading-md: 3.2rem; /* セクション見出し */
	--font-size-heading-sm: 2.4rem; /* カード見出し */
	--font-size-heading-xs: 2rem;   /* 小見出し */

	/* 補助文字 */
	--font-size-label: 1.8rem;
	--font-size-meta: 1.4rem;

	/* 共通ウェイト */
	--font-weight-bold: 700;
	--font-weight-medium: 500;

	/* メイン文字色 */
	--color-text: #555555;

	/* 見出し・ブランドカラー */
	--color-primary: #123b67;

	/* リンク */
	--color-link: #123b67;

	/* ホバー */
	--color-hover: #F6A623;


	/* 薄い文字 */
	--color-muted: #9a9a9a;

	/* 白文字 */
	--color-white: #ffffff;
}

body {
	color: var(--color-text);
}

.container {
	max-width: unset !important;
	padding-right: unset !important;
	padding-left: unset !important;
}
/* 採用情報ページはsite-bodyで余白を使わない */
body.page-id-135 .common-page-hero {
	padding: 0 30px;
}

@media (max-width: 991px) {
	.custom-footer-menu .sub-menu {
		font-size: 12px;
	}
	.home .vk-mobile-nav-menu-btn,
	.blog .vk-mobile-nav-menu-btn {
		display: block !important;
	}
	.vk-mobile-nav-menu-btn {
		margin-top: 0 !important;
	}
	/* 装飾パーツを非表示化 */
	body:not(.home) .top-deco:not(.lower-common-header-deco-01):not(.lower-common-header-deco-02):not(.page-id-3):not(.page-id-116) {
		display: none !important;
	}
}

@media (max-width: 767px) {
	:root {
		--font-size-body: 1.1rem;
		--font-size-body-small: 0.9rem;

		--font-size-heading-xl: 3.2rem;
		--font-size-heading-lg: 3rem;
		--font-size-heading-md: 2.8rem;
		--font-size-heading-sm: 2.2rem;
		--font-size-heading-xs: 1.8rem;

		--font-size-label: 1.6rem;
		--font-size-meta: 1.3rem;
	}

	html,
	body {
		width: 100%;
		overflow-x: hidden;
	}

	.site-body {
		width: 100%;
		padding: 0 0 4rem !important;
		max-width: 100% !important;
	}

    .site-header-logo img {
        width: 205px !important;
    }

	.lower-page-deco-wrap {
		width: 100vw;
		left: 50%;
		right: auto;
		transform: translateX(-50%);
		overflow: visible;
	}
	.lower-common-header-deco-01 {
		top: -260px !important;
		right: -52% !important;
		width: 150px !important;
		display: block !important;
	}
	.lower-common-header-deco-02 {
		top: -350px !important;
		right: -59% !important;
		width: 260px !important;
		display: block !important;
	}

	.page-id-3 .site-body,
	.page-id-116 .site-body,
	.blog .site-body,
	.single-post .site-body {
		padding: 0 20px 4rem !important;
	}
	
	.container {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.breadcrumb {
		width: 100% !important;
		max-width: 100% !important;
		padding: 32px 16px 0 !important;
		margin: 0 auto !important;
		font-size: 0.75rem;
	}

	.breadcrumb .container {
		padding-left: 0px !important;
		padding-right: 0px !important;
	}

	.breadcrumb-list {
		flex-wrap: wrap;
		row-gap: 4px;
	}

	.common-page-hero {
		padding: 0px 20px 48px;
	}

	/* 採用情報ページはsite-bodyで余白を使わない */
	body.page-id-135 .common-page-hero {
		padding: 0 20px;
	}

	.common-page-hero__inner {
		max-width: 100%;
		padding: 0 0;
	}

	.common-page-hero__breadcrumb {
		margin-bottom: 48px;
		text-align: left;
	}

	.common-page-hero__ja {
		font-size: 1.2rem;
	}

	img,
	video,
	iframe {
		max-width: 100%;
	}

	.entry-body,
	.entry-content {
		max-width: 100%;
		overflow-x: hidden;
	}

}

/* Lightning標準フッターを非表示 */
.site-footer {
	display: none !important;
}
.custom-footer {
	display: block;
}
.custom-footer-bottom-menu li:not(:last-child)::after {
	content: "|";
	margin: 0 8px;
}
.custom-footer-bottom-menu a {
	color: var(--color-text);
	text-decoration: none;
}
.sp-br {
	display: none;
}
.sp-br_2 {
	display: none;
}
.pc-br {
	display: block;
}

/* Lightning標準のホバー下線を無効化 */
.global-nav-list > li::before {
    display: none !important;
}
/* ホバー時に文字色変更 */
.global-nav-list > li > a {
    transition: color .3s ease;
}
.global-nav-list > li:hover > a {
    color: var(--color-hover);
}

/* ========================================
   共通SVGロゴ
======================================== */
.brand-logo {
	display: block;
	height: auto;
	object-fit: contain;
}

/* PCヘッダー */
.site-header-logo .brand-logo--header {
	width: 260px;
	max-width: none;
	height: auto;

	/* SVG右端の描画ノイズを1px切る */
	clip-path: inset(0 1px 0 0);
}

/* フッター */
.custom-footer__logo .brand-logo--footer {
	width: 305px;
	max-width: 100%;
	height: auto;
	clip-path: inset(0 1px 0 0);
}

/* SPヘッダー */
@media (max-width: 991px) {
	.site-header-logo .brand-logo--header {
		width: 240px;
	}
}

@media (max-width: 767px) {
	.site-header-logo .brand-logo--header {
		width: 205px !important;
	}

	.custom-footer__logo .brand-logo--footer {
		width: min(305px, 80vw);
		margin: 0 auto;
	}
}




/* ヘッダーSVGロゴ */
.site-header-logo a {
	display: inline-flex;
	align-items: center;
}

.site-header-logo .brand-logo--header {
	display: block;
	width: 260px;
	max-width: 100%;
	height: auto;
}

/* Lightning側の文字列用spanが残っている場合の保険 */
.site-header-logo > a > span:empty {
	display: none;
}

@media (max-width: 991px) {
	.site-header-logo .brand-logo--header {
		width: 240px;
	}
}

@media (max-width: 767px) {
	.site-header-logo .brand-logo--header {
		width: 205px;
	}
}

/* ========================================
   全ページ共通ローディング画面
======================================== */
.page-loader {
	position: fixed;
	inset: 0;
	z-index: 20000;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	height: 100%;
	height: 100dvh;

	background: #fff;

	opacity: 1;
	visibility: visible;
	pointer-events: auto;

	transition:
		opacity 0.55s ease,
		visibility 0.55s ease;
}
/* 同じタブ内で読み込み済みのページは最初から非表示 */
html.has-loaded-current-page .page-loader {
	display: none !important;
}
.page-loader.is-loaded {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.page-loader__inner {
	width: min(70vw, 320px);
	text-align: center;
}
.page-loader__text {
	display: flex;
	justify-content: center;
	gap: 0.45em;

	margin: 0 0 24px;

	color: var(--color-primary);
	font-size: clamp(1rem, 2vw, 1.4rem);
	font-weight: 700;
	letter-spacing: 0.2em;
	line-height: 1.4;
}
.page-loader__text span {
	display: inline-block;
	animation: pageLoaderText 1.2s ease-in-out infinite alternate;
}
.page-loader__text span:nth-child(2) {
	animation-delay: 0.15s;
}
.page-loader__line {
	position: relative;
	width: 100%;
	height: 2px;

	overflow: hidden;
	background: rgba(18, 59, 103, 0.15);
}
.page-loader__line-bar {
	position: absolute;
	top: 0;
	left: 0;

	width: 40%;
	height: 100%;

	background: linear-gradient(
		90deg,
		#f5b335,
		#7edc9d,
		#57d6d6
	);

	animation: pageLoaderLine 1.2s ease-in-out infinite;
}
body.is-page-loading {
	overflow: hidden;
}
@keyframes pageLoaderText {
	from {
		opacity: 0.45;
		transform: translateY(2px);
	}

	to {
		opacity: 1;
		transform: translateY(-2px);
	}
}
@keyframes pageLoaderLine {
	0% {
		left: -45%;
	}

	100% {
		left: 105%;
	}
}
@media (max-width: 767px) {
	.page-loader__inner {
		width: min(72vw, 260px);
	}

	.page-loader__text {
		margin-bottom: 18px;
		font-size: 0.95rem;
	}
}
@media (prefers-reduced-motion: reduce) {
	.page-loader__text span,
	.page-loader__line-bar {
		animation: none;
	}

	.page-loader {
		transition-duration: 0.15s;
	}
}

/* ページトップへ戻るボタン */
.page-top-button {
	position: fixed;
	right: 28px;
	bottom: 28px;
	z-index: 9998;

	width: 80px;
	height: 80px;
	border: 1.5px solid #123b67;
	border-radius: 50%;
	background: transparent;

	color: var(--color-link);
	font-weight: bold;
	font-size: 1.2rem;
	line-height: 1.05;
	text-align: center;
	cursor: pointer;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;

	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(12px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
}
.page-top-button.is-footer-stop {
	position: absolute;
	bottom: auto;
}
.page-top-button.is-show {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	background: #FFFFFF65;
}
.page-top-button__icon {
	position: relative;
	display: block;
	width: 2px;
	height: 18px;
	background: #123b67;
}
.page-top-button__icon::before,
.page-top-button__icon::after {
	content: "";
	position: absolute;
	top: 0;
	width: 10px;
	height: 2px;
	background: #123b67;
	transform-origin: right center;
}
.page-top-button__icon::before {
	right: 2px;
	transform: rotate(-45deg);
}
.page-top-button__icon::after {
	right: 0;
	transform: rotate(225deg);
}
.page-top-button__text {
	display: block;
	font-family: inherit;
	letter-spacing: 0.02em;
}
/* ハンバーガーメニュー表示中は非表示 */
body.is-mobile-nav-open .page-top-button,
body.is-mobile-nav-closing .page-top-button {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
@media (max-width: 991px) {
	.page-top-button {
		width: 70px;
		height: 70px;
		font-size: 1.1rem;
	}
}
@media (max-width: 767px) {
	.page-top-button {
		right: 18px;
		bottom: 18px;
		width: 60px;
		height: 60px;
		font-size: 0.9rem;
		gap: 6px;
	}

	.page-top-button__icon {
		height: 16px;
	}

	.page-top-button__icon::before,
	.page-top-button__icon::after {
		width: 9px;
	}
}

/* ContactForm7ハニーポット用 */
.hp-field {
    display: none !important;
}

/* 全ページでreCAPTCHAアイコン非表示 */
.grecaptcha-badge {
	visibility: hidden;
}

/* ========================================
   全ページ共通矢印付共通ボタンのホバーエフェクト用
   ※ヘッダー・ハンバーガーにはクラスを付けない
======================================== */
.common__button {
	transition:
		background-color .3s ease,
		color .3s ease,
		opacity .3s ease,
		transform .3s ease,
		box-shadow .3s ease;
}
.common__button:hover,
.common__button:focus-visible {
	background-color: #0063b8;
	color: #fff !important;
	opacity: 1;
	transform: translateY(-3px);
	box-shadow: 0 10px 25px rgba(0, 75, 141, .25);
}
/* ボタン内の丸矢印 */
.common__button-icon {
	transition:
		right .3s ease,
		transform .3s ease;
}
.common__button:hover .common__button-icon,
.common__button:focus-visible .common__button-icon {
	right: 6px;
	transform: translateY(-50%) scale(1.1);
}

/* お知らせ一覧用のホバー */
.common__hover-lift {
	transition:
		transform .3s ease,
		box-shadow .3s ease,
		opacity .3s ease;
}
.common__hover-lift:hover,
.common__hover-lift:focus-visible {
	opacity: 1;
	transform: translateY(-3px);
	box-shadow: 0 8px 18px rgba(0, 75, 141, .18);
}

/* キーボード操作時 */
.common__button:focus-visible {
	outline: 3px solid rgba(0, 99, 184, .3);
	outline-offset: 3px;
}
/* 動きを減らす設定を使用しているユーザー向け */
@media (prefers-reduced-motion: reduce) {
	.common__button,
	.common__button-icon {
		transition: none;
	}

	.common__button:hover,
	.common__button:focus-visible {
		transform: none;
	}
}
/* フッターオレンジボタンのホバーエフェクト */
.common__button_2 a {
	transition:
		background-color .3s ease,
		transform .3s ease,
		box-shadow .3s ease;
}
.common__button_2 a:hover {
	background:#f8b632;
	transform:translateY(-3px);
	box-shadow:
		0 10px 25px rgb(245, 164, 0.25);
}

/* =========================
   TOPページ用
========================= */
.top-section {
	margin-bottom: 60px;
	padding: 30px 0;
}

.top-section-title {
	margin-bottom: 20px;
	font-size: var(--font-size-heading-md);
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
}

.top-news {
	overflow: hidden;
	/* margin-top: -7%; */
}

.top-news .top-section-inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 20px;
}

/* =========================
   ヘッダー部分
========================= */
.top-news__header {
	display: grid;
	grid-template-columns: 320px 1fr;
	align-items: start;
	column-gap: 40px;
	margin: -80px auto -60px;
}
.top-news__heading {
	padding-top: 20px;
	margin: auto 0;
	z-index: 1;
}
.top-news__en-title {
	margin: 0 0 8px;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--color-link);
}
.top-news__title {
	margin: 0;
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--color-text);
	border: none !important;
}

/* =========================
   画像
========================= */
.top-news__image {
	width: 100%;
	max-width: 470px;
	padding: 30px 0 20px;
	justify-self: end;
	z-index: 1;
}
.top-news__image img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

/* =========================
   NEWS LIST
========================= */
.top-news-list {
	padding: 0;
	margin: 0;
	list-style: none;
	position: relative;
	z-index: 1;
}
.top-news-item {
	border-bottom: 1px solid #bdbdbd;
}
.top-news-item a {
	display: block;
	padding: 12px 0;
	text-decoration: none;
	color: var(--color-text);
}
.top-news-date {
	display: block;
	margin-bottom: 8px;
	font-size: 1rem;
	font-weight: unset !important;
	color: var(--color-text);
}
.top-news-title {
	display: block;
	font-size: 1.25rem;
	font-weight: unset !important;
	line-height: 1.6;
	color: var(--color-link);
}


.top-news-item a:hover {
	opacity: 0.65;
}

.top-news .top-section-more {
	max-width: 1000px;
	margin: 36px auto 0;
}

.top-news .top-section-more a {
	color: var(--color-text);
	text-decoration: underline;
}

/* =========================
   TOPページ
========================= */
.top-company,
.top-business,
.top-recruit {
	position: relative;
	padding: 120px 0;
	overflow: hidden;
	isolation: isolate;
}
.top-business {
	padding: 120px 0 0;
}
.top-recruit {
	padding: 0 0 0;
	background: transparent;
}

/* 事業一覧_背景用 */
.top-business__decor {
	position: absolute;
	z-index: 3;
	pointer-events: none;
}
.top-business__decor img {
	display: block;
	width: 95%;
	height: auto;
	margin: 0 auto;
}
/* 円装飾 */
.top-business__decor--circle {
	top: 0%;
	left: 50%;
	max-width: 700px;
	width: 100%;
	transform: translateX(-50%);
}
.top-business__decor--circle img {
	z-index: 4;
}

.top-company__inner,
.top-business__inner,
.top-recruit__inner {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	align-items: center;
	justify-content: space-between;
	gap: 60px;
}
.top-recruit__inner {
	min-height: 900px;
	z-index: auto;
}
.top-company__content {
	position: relative;
	z-index: 2;
	width: 45%;
	padding-left: 15%;
}
.top-business__content,
.top-recruit__content {
	position: relative;
	z-index: 4;
	width: 100%;
	text-align: center;
}

.top-company__en-title,
.top-business__en-title,
.top-recruit__en-title,
.interview-note-page__en-title,
.top-news__en-title {
	font-family: "Zen Kaku Gothic New", sans-serif;
	margin: 0 0 8px;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.2;
	color: var(--color-primary);
}

.top-company__title,
.top-business__title,
.top-recruit__title,
.interview-note-page__title,
.top-news__title {
	margin: 0 0 28px;
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--color-text);
	border-top: unset !important;
	border-bottom: unset !important;
}

.top-company__text,
.top-business__text,
.top-recruit__text,
.interview-note-page__lead {
	margin: 0 0 32px;
	font-size: var(--font-size-body);
	line-height: var(--line-height-body);
	letter-spacing: 0.12em;
}
.top-company__text {
	text-wrap: nowrap;
}

.top-company__button,
.top-business__button,
.top-recruit__button,
.top-interview__button,
.top-news__button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;

	min-width: 275px;
	height: 48px;

	background: #004b8d;
	color: var(--color-white) !important;
	border-radius: 999px;
	text-decoration: none;

	font-weight: 700;
	font-size: 1rem;
}

.top-company__button-text,
.top-business__button-text,
.top-recruit__button-text,
.top-interview__button-text,
.top-news__button-text {
	position: relative;
	z-index: 1;
}

/* 白丸 */
.top-company__button-icon,
.top-business__button-icon,
.top-recruit__button-icon,
.top-interview__button-icon,
.top-news__button-icon {
	position: absolute;
	top: 50%;
	right: 10px;

	width: 26px;
	height: 26px;

	background: #fff;
	border-radius: 50%;

	transform: translateY(-50%);
}

/* ボタン内矢印の横棒 */
.top-company__button-icon::before,
.top-business__button-icon::before,
.top-recruit__button-icon::before,
.top-interview__button-icon::before,
.top-news__button-icon::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 5px;

	width: 16px;
	height: 3px;
	border-radius: 2px;

	background: #004b8d;

	transform: translateY(-50%);
}

/* ボタン内矢印の矢じり部分 */
.top-company__button-icon::after,
.top-business__button-icon::after,
.top-recruit__button-icon::after,
.top-interview__button-icon::after,
.top-news__button-icon::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 6px;

	width: 12px;
	height: 12px;

	border-top: 3px solid #004b8d;
	border-right: 3px solid #004b8d;
	border-radius: 2px;

	transform: translateY(-50%) rotate(45deg);
}

.top-business__button-wrap,
.top-recruit__button-wrap,
.top-interview__button-wrap {
	margin: 0 auto;
}

.top-recruit__button-wrap {
	margin-bottom: 110px;
}
.top-interview__button-wrap {
	margin-top: 55px;
}
.top-company__button-wrap,
.top-business__button-wrap,
.top-recruit__button-wrap,
.top-interview__button-wrap,
.top-news__button-wrap {
	width: 290px;
}


/* =========================
   ボタン
========================= */
.top-news__button-wrap {
	margin: 60px 0 0 auto;
}

.top-company__image,
.top-business__image {
	position: relative;
	z-index: 5;
	text-align: right;
	bottom: 80px;
	pointer-events: none;
}
.top-company__image {
	width: 50%;
}
.top-business__image {
	width: fit-content;
	margin: 0 auto;
	width: 80%;
}
.top-business__image img {
	z-index: 5;
}

.top-company__image img,
.top-business__image img {
	max-width: 100%;
	height: auto;
	display: block;
}

.top-company {
	position: relative;
	width: auto;
	margin-left: 0;
	margin-right: 0;
	padding: 120px 0;
	overflow: visible;
	isolation: isolate;
}

.top-company__inner {
	display: flex;
	position: relative;
	z-index: 2;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.bg-wave-base {
	--wave-width: 1680px;
	--wave-height: 280px;
	--wave-display-height: 340px;

	--wave-color-1: rgba(126, 220, 157, 0.55);
	--wave-color-2: rgba(190, 245, 220, 0.32);

	position: absolute;
	left: 50%;
	transform: translateX(-50%);

	width: 100vw;
	height: var(--wave-display-height);

	margin: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;

	background: linear-gradient(
		to bottom,
		var(--wave-color-1) 0%,
		var(--wave-color-2) 55%,
		rgba(255,255,255,0) 100%
	);

	-webkit-mask-image: url("/wp-content/themes/lightning-child/assets/images/wave.svg");
	mask-image: url("/wp-content/themes/lightning-child/assets/images/wave.svg");

	-webkit-mask-repeat: repeat-x;
	mask-repeat: repeat-x;

	-webkit-mask-size: var(--wave-width) var(--wave-height);
	mask-size: var(--wave-width) var(--wave-height);

	animation: bgWaveMove 10s linear infinite;
}
@keyframes bgWaveMove {
	from {
		-webkit-mask-position: 0 0;
		mask-position: 0 0;
	}
	to {
		-webkit-mask-position: calc(var(--wave-width) * -1) 0;
		mask-position: calc(var(--wave-width) * -1) 0;
	}
}
/* 会社概要 */
.wave-company,
.wave-recruit,
.wave-recruit_bottom {
	--wave-display-height: 280px;
	width: 100vw;
	max-width: 100vw;
	left: 50%;
	transform: translateX(-50%);
}
.wave-company {
	--wave-color-1: rgba(126, 220, 157, 0.55);
	--wave-color-2: rgba(190, 245, 220, 0.32);
	top: 45%;
}

.wave-recruit {
	--wave-display-height: 125%;
	--wave-width: 1680px;
	--wave-height: 280px;

	top: 0;
	z-index: 0;
	background: none;
	-webkit-mask-image: none;
	mask-image: none;
	animation: none;
	overflow: hidden;
}
/* 上部の波：wave-recruit_bottom と同じ波幅・高さにする */
.wave-recruit::before {
	content: "";
	position: absolute;
	left: 0;
	top: 20%;
	width: 100%;
	z-index: 1;
	height: var(--wave-height);

	background: linear-gradient(
		to bottom,
		#fffede7a 0%,
		#F9F3C8 100%
	);

	-webkit-mask-image: url("/wp-content/themes/lightning-child/assets/images/wave.svg");
	mask-image: url("/wp-content/themes/lightning-child/assets/images/wave.svg");

	-webkit-mask-repeat: repeat-x;
	mask-repeat: repeat-x;
	-webkit-mask-size: var(--wave-width) var(--wave-height);
	mask-size: var(--wave-width) var(--wave-height);

	animation: bgWaveMove 10s linear infinite;
}
/* 波の下を塗りつぶす */
.wave-recruit::after {
	content: "";
	position: absolute;
	left: 0;
	top: 41%;
	width: 100%;
	z-index: 2;
	height: calc(100% - 220px);

	background: linear-gradient(
		to bottom,
		#F9F3C8 0%,
		#f7f6ee 60%,
		#FFFFFF 100%
	);
}

.wave-recruit_bottom {
	--wave-color-1: #ffffff;
	--wave-color-2: #ffffff;
	top: 110%;
	z-index: 3;
}

/* 背景文字より上に重なるように */
.top-recruit__content,
.top-interview-slider,
.top-interview__button-wrap {
	position: relative;
	z-index: 5;
}
.top-interview-slider__viewport,
.top-interview-slider__track,
.top-interview-slider__slide,
.top-interview-slider .note-interview-card,
.top-interview__button {
	position: relative;
	z-index: 6;
}

@media (max-width: 991px) {
	.top-company__image,
	.top-business__image {
		bottom: 0px;
	}
    .custom-sp-menu__list > li.sp-menu-footer {
		margin-right: 0px !important;
	}
}

@media (max-width: 767px) {

	.top-company,
	.top-business,
	.top-recruit,
	.top-recruit__inner {
		padding: 0 0;
	}
	.top-company__inner,
	.top-business__inner,
	.top-recruit__inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 32px;
		max-width: 540px;
	}
	.top-company__content,
	.top-business__content,
	.top-recruit__content,
	.top-company__image,
	.top-business__image {
		width: 100%;
	}

	.top-company__content {
		padding-left: 0;
	}
	.top-business__content,
	.top-recruit__content,
	.top-business__image {
		position: relative;
		z-index: 3;
	}
	.top-company__en-title,
	.top-business__en-title,
	.top-recruit__en-title {
		font-size: 2.8rem;
	}
	.top-company__image,
	.top-business__image {
		text-align: center;
	}
    .top-company__button-wrap, 
	.top-business__button-wrap, 
	.top-recruit__button-wrap, 
	.top-interview__button-wrap, 
	.top-news__button-wrap {
		width: auto;
		max-width: 290px;
		margin: 0 auto;
	}
	.top-company__button {
		margin: 0 auto;
	}
	.top-interview-list {
		grid-template-columns: 1fr;
	}

	/* NEWS */
	.top-news {
		padding: 72px 0;
	}
	.top-news__header {
		display: grid;
		grid-template-columns: minmax(95px, 34%) minmax(0, 1fr);
		align-items: center;
		column-gap: 12px;
		row-gap: 0;
	}
	.top-news__heading {
		padding-top: 0;
		margin: 0;
	}
	.top-news__en-title {
		font-size: clamp(2.2rem, 8vw, 3.2rem);
	}
	.top-news__title {
		font-size: clamp(1.2rem, 4vw, 1.6rem);
	}
	.top-news__image {
		width: 100%;
        min-width: 180px;
		max-width: none;
		padding-top: 0px;
		margin-left: 0;
		justify-self: end;
	}
	.top-news__image img {
		width: 100%;
		height: auto;
		display: block;
	}
	.top-news-list {
		max-width: 100%;
		margin-left: 0;
	}
	.top-news-item a {
		padding: 18px 0;
	}
	.top-news-title {
		font-size: 1rem;
		line-height: 1.5;
	}
	.top-news__button-wrap {
		margin: 40px auto 0;
	}
}
@media (max-width: 460px) {
	.top-business__decor--circle {
		top: 6%;
	}
}

/* =========================
   TOP KV 動画：16:9固定
========================= */
.entry-body section.top-kv-video {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.top-kv-video {
	/* 中央位置の基準 */
	position: relative;
	left: 50%;
	transform: translateX(-50%);

	/* 1920pxまでは画面幅、以降は1920px固定 */
	width: min(100vw, 1920px);
	max-width: 1920px !important;

	aspect-ratio: 16 / 9;
	height: auto;

	/* calc(50% - 50vw)は使用しない */
	/* margin: 10vh 0 0; */
	margin: 40px 0 0;

	overflow: visible;

	--kv-frame-y: 0px;

	z-index: 1;
}
/* SP用上下位置調整用 */
@media (max-width: 767px) {
	.top-kv-video {
		--kv-frame-y: 0px;
		margin: 70px 0 0;
	}
}

.top-kv-video__media {
	position: absolute;
	inset: 0;
	z-index: 1;

	/* 額縁画像をクリップしない */
	overflow: visible;
}

.top-kv-video__video,
.top-kv-video__fallback {
	position: absolute;
	inset: 0;

	display: block;
	width: 100% !important;
	max-width: 1920px !important;
	height: 100% !important;
	margin: auto;

	object-fit: cover;
	object-position: center center;
}

/* z-index指定 */
/* セクション重なり */
.top-kv-video {
	position: relative;
	z-index: 1;
}
.top-after-kv {
	position: relative;
	z-index: 2;
}
.top-company {
	position: relative;
	z-index: 3;
	overflow: visible;
}

/* 動画 */
/* 動画は初期状態で透明 */
.top-kv-video__video {
	z-index: 2;
	opacity: 0;
	transition: opacity 0.6s ease;
}
/* 読み込み完了後に表示 */
.top-kv-video__video.is-ready {
	opacity: 1;
}
/* 代替画像 */
.top-kv-video__fallback {
	z-index: 1;
	opacity: 1;
	transition: opacity 0.6s ease;
}
/* 動画準備後は代替画像を隠す */
.top-kv-video__media.is-video-ready .top-kv-video__fallback {
	opacity: 0;
}
/* オーバーレイ */
.top-kv-video__overlay {
	z-index: 3;
}
/* 動画上の画像 */
.top-kv-video_wrapper {
	z-index: 4;
}
/* テキスト */
.top-kv-video__content,
.top-kv-decoration {
	z-index: 5;
}
.top-kv-decoration {
	position: relative;
}
.top-kv-video__fallback {
	pointer-events: none;
}

.top-kv-video_wrapper {
	position: absolute;
	top: 50%;
	left: 50%;

	display: block;
	width: 100.5%;
	max-width: unset;
	height: auto;
	aspect-ratio: 1920 / 1713;

	object-fit: contain;

	transform:
		translate(-50%, -50%)
		translateY(var(--kv-frame-y));

	pointer-events: none;
}

.top-kv-video__overlay {
	position: absolute;
	inset: 0;
	z-index: 3;
}

.top-kv-video__content {
	position: relative;
	z-index: 5;
	height: 100%;
	display: flex;
	align-items: center;
}

.top-kv-video__inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 48px;
}

.top-kv-video__text {
	max-width: 800px;
	color: var(--color-white);
}

.top-kv-video__title {
	margin: 0 0 24px;
	font-size: var(--font-size-heading-xl);
	font-weight: var(--font-weight-bold);
	line-height: 1.2;
	color: var(--color-white);
}

.top-kv-video__description {
	margin: 0 0 32px;
	font-size: var(--font-size-body);
	line-height: var(--line-height-body);
	color: var(--color-white);
}

.top-kv-video__button-wrap {
	margin: 0;
}

.top-kv-video__button {
	display: inline-block;
	padding: 16px 40px;
	background: #fff;
	color: var(--color-text);
	text-decoration: none;
	border-radius: 9999px;
	font-size: var(--font-size-body);
	font-weight: var(--font-weight-bold);
}

.top-kv-video__button:hover {
	color: var(--color-text);
	opacity: 0.9;
}

.top-kv-video__image {
	max-width: 440px;
}

.top-kv-video__image img {
	display: block;
	width: 100%;
	height: auto;
}

@media (max-width: 767px) {
	.top-kv-video {
		min-height: unset;
	}

	.top-kv-video__inner {
		padding: 100px 16px 60px;
		flex-direction: column;
		align-items: flex-start;
		gap: 32px;
	}

	.top-kv-video__title {
		font-size: 3.2rem;
	}

	.top-kv-video__description {
		font-size: 1.6rem;
	}

	.top-kv-video__image {
		max-width: 280px;
	}
}

/* =========================
   TOP KV下セクション
========================= */
.top-after-kv {
	padding: 0 0;
	overflow: visible;
}

.top-after-kv__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 0;
	text-align: center;
}

.top-after-kv__content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	margin-bottom: 48px;
}

.top-after-kv__text {
	flex: 1;
}

.top-after-kv__title {
	width: fit-content;
	padding-left: 60px;
	margin-bottom: 0;
	font-size: var(--font-size-heading-lg);
	font-weight: var(--font-weight-bold);
	line-height: 1.4;

	/* グラデーション文字 */
	background: linear-gradient(
		90deg,
		#f5b335 0%,
		#d9d94c 30%,
		#7edc9d 65%,
		#57d6d6 100%
	);

	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;

	display: inline-block;
}

.top-after-kv__description {
	margin: 0;
	font-size: var(--font-size-body);
	line-height: var(--line-height-body);
	letter-spacing: 0.4em;
}

.top-after-kv__title,
.top-after-kv__description {
    position: relative;
    z-index: 2;
}

.top-after-kv__image {
	flex: 0 0 360px;
	max-width: 360px;
}

.top-after-kv__image img {
	display: block;
	width: 100%;
	height: auto;
}

/* =========================
   TOP 社員インタビュー
   PC：最新3件固定表示
   SP：カルーセル
========================= */

.top-interview-slider {
	max-width: 1100px;
	margin: 0 auto;
}

.top-interview-slider__viewport {
	overflow: visible;
	width: 100%;
	padding: 0;
}

.top-interview-slider__track {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

/* PCでは4件目以降を表示しない */
.top-interview-slider__slide:nth-child(n + 4) {
	display: none;
}

.top-interview-slider .note-interview-card {
	width: 100%;
	max-width: none;
	background-color: #FFFFFF;
}

/* PCでは矢印を非表示 */
.top-interview-slider__arrow {
	display: none;
}

/* SPのみカルーセル化 */
@media (max-width: 767px) {
	.top-interview-slider {
		width: 100vw;
		max-width: none;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		margin-top: 50px;
		margin-bottom: 25px;
		padding: 0;
		overflow: hidden;
	}
	.top-interview-slider__viewport {
		overflow: visible;
		width: 100%;
		padding: 12px 0 28px;

		touch-action: pan-y;
		-webkit-user-select: none;
		user-select: none;
	}
	.top-interview-slider__track {
		display: flex;
		gap: 16px;
		padding: 0 calc((100vw - min(78vw, 320px)) / 2);
		transform: translateX(0);
		transition: transform 0.35s ease;
		will-change: transform;

		transform: translate3d(0, 0, 0);
		backface-visibility: hidden;
		-webkit-backface-visibility: hidden;
	}
	.top-interview-slider__slide {
		display: block !important;
		flex: 0 0 min(78vw, 320px);
		width: min(78vw, 320px);
		max-width: 320px;
	}
	.top-interview-slider .note-interview-card {
		width: 100%;
		max-width: none;
		margin: 0;
		border-radius: 10px;
		overflow: hidden;
	}
	.top-interview-slider .note-interview-card__image {
		margin-bottom: 0;
		overflow: hidden;
	}
	.top-interview-slider .note-interview-card__image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.top-interview-slider .note-interview-card__meta {
		padding: 0px 20px 0;
		font-size: 1rem;
	}
	.top-interview-slider .note-interview-card__title {
		margin: 8px 2em 1em !important;
		font-size: 1.35rem;
		line-height: 1.45;
	}
	.top-interview-slider__arrow {
		display: none !important;
	}
	.top-interview-slider__dots {
		display: flex;
		justify-content: center;
		gap: 8px;
		margin-top: 8px;
	}
	.top-interview-slider__dot {
		width: 10px;
		height: 10px;
		border-radius: 50%;
		background: #d8d8d8;
	}
	.top-interview-slider__dot.is-active {
		background: #999;
	}
}

.top-recruit {
	overflow: visible;
}

.note-interview-ajax-area {
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.note-interview-ajax-area.is-loading {
	opacity: 0;
	transform: translateY(12px);
	pointer-events: none;
}

.note-interview-ajax-area.is-loaded {
	animation: noteInterviewFadeIn 0.4s ease both;
}

@keyframes noteInterviewFadeIn {
	0% {
		opacity: 0;
		transform: translateY(12px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes topAfterKvScroll {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

@media (max-width: 767px) {
	.top-after-kv {
		padding: 56px 0;
	}

	.top-after-kv__content {
		flex-direction: column;
		gap: 24px;
		margin-bottom: 32px;
	}

	.top-after-kv__title {
		font-size: 3rem;
		padding-left: 35px;
		text-wrap: nowrap;
	}

	.top-after-kv__image {
		flex: none;
		max-width: 240px;
	}
}

/* =========================
   社員インタビューカード共通
========================= */
.note-interview-card {
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
	width: 100%;
	max-width: none;
}
.note-interview-card__link {
	display: block;
	color: var(--color-text);
	text-decoration: none;
	container-type: inline-size;
}
.note-interview-card__image {
	margin: 0;
	overflow: hidden;
}
.note-interview-card__image img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}
.note-interview-card__meta {
	display: block;
	padding: 10px 16px 0;
	color: var(--color-text);
	font-size: 0.75rem;
	line-height: 1.4;
}
.note-interview-card__title {
	min-height: 88px;
	margin: 8px 16px 18px !important;
	color: var(--color-text);
	font-size: 1.2rem !important;
	font-weight: 700;
	line-height: 1.45;
	border: none !important;
}
.note-interview-card__title::before,
.note-interview-card__title::after {
	display: none !important;
	content: none !important;
}

/* 装飾パーツ用 */
.top-company,
.top-business,
.top-recruit,
.top-news {
	position: relative;
	overflow: visible;
}

.top-deco {
	position: absolute;
	top: var(--deco-y);
	width: var(--deco-w);
	height: auto;
	z-index: var(--deco-z);
	pointer-events: none;
	opacity: 0;

	transition:
		opacity 0.8s ease,
		transform 0.8s ease;
}

.top-deco--left {
	left: var(--deco-x);
	transform:
		translateX(-60px)
		translateY(20px)
		rotate(var(--deco-rotate))
		scale(var(--deco-scale-x), var(--deco-scale-y));
}

.top-deco--right {
	right: var(--deco-x);
	transform:
		translateX(60px)
		translateY(20px)
		rotate(var(--deco-rotate))
		scale(var(--deco-scale-x), var(--deco-scale-y));
}

.top-deco.is-show {
	opacity: var(--deco-opacity, 1);
	transform:
		translateX(0)
		translateY(0)
		rotate(var(--deco-rotate))
		scale(
			var(--deco-scale-x),
			var(--deco-scale-y)
		);
}

/* 共通装飾01,02用 */
.lower-header-deco-wrap {
	position: absolute;
	top: 0;
	left: 50%;
	width: 100vw;
	height: 0;
	transform: translateX(-50%);
	z-index: 2;
	pointer-events: none;
	overflow: visible;
}
@media (max-width: 767px) {
	.lower-header-deco-wrap {
		top: 0;
	}

	.lower-header-deco-wrap .lower-common-header-deco-01 {
		top: -250px !important;
		right: -12px !important;
		width: 150px !important;
		display: block !important;
	}

	.lower-header-deco-wrap .lower-common-header-deco-02 {
		top: -340px !important;
		right: -50px !important;
		width: 260px !important;
		display: block !important;
	}

	.blog .lower-header-deco-wrap .lower-common-header-deco-01,
	.single-post .lower-header-deco-wrap .lower-common-header-deco-01 {
		top: -115px !important;
	}
	.blog .lower-header-deco-wrap .lower-common-header-deco-02,
	.single-post .lower-header-deco-wrap .lower-common-header-deco-02  {
		top: -206px !important;
	}

}

/* 下層ページ装飾パーツ用 */
.lower-page-deco-wrap {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: visible;
}

.company-page,
.character-page,
.numbers-page,
.recruit-page,
.business-page,
.business-single-page,
.news-page,
.news-single,
.wpcf7-form,
.contact-thanks,
.total_reward-page,
.interview-page,
.post-3,
.post-116,
.sitemap-page {
	position: relative;
	isolation: isolate;
}

/* ページ中ほどの大きい緑円 */
.company-page::before,
.character-page::before,
.numbers-page::before,
.recruit-page::before,
.business-page::before,
.business-single-page::before,
.wpcf7-form::before,
.contact-thanks::before,
.total_reward-page::before,
.interview-page::before,
.sitemap-page::before {
	content: "";
	position: absolute;

	width: min(150vw, 1900px);
	height: min(150vw, 1900px);

	left: 60%;
	top: 38%;

	border-radius: 50%;
	transform: translateY(-50%) rotate(0deg);

	background:
		radial-gradient(
			circle,
			rgba(126,220,157,.22) 0%,
			rgba(126,220,157,.13) 28%,
			rgba(126,220,157,.06) 52%,
			transparent 75%
		);

	filter: blur(140px);

	z-index: -1;
	pointer-events: none;
}

/* お知らせ一覧・投稿詳細の緑円背景 */
.blog .site-body,
.single-post .site-body {
	position: relative;
	overflow-x: clip;
	overflow-y: visible;
	isolation: isolate;
}

.blog .site-body::before,
.single-post .site-body::before {
	content: "";
	position: absolute;

	width: clamp(720px, 95vw, 1250px);
	height: clamp(720px, 95vw, 1250px);

	left: 60%;
	top: 38%;

	border-radius: 50%;
	transform: translateY(-50%) rotate(0deg);

	background:
		radial-gradient(
			circle,
			rgba(126,220,157,.22) 0%,
			rgba(126,220,157,.13) 28%,
			rgba(126,220,157,.06) 52%,
			transparent 75%
		);

	filter: blur(140px);

	z-index: -1;
	pointer-events: none;
}
/* 投稿ページで高さが低い場合用 */
@media (min-width: 992px) and (max-height: 850px) {
	.single-post .site-body::before {
		width: clamp(560px, 70vw, 950px);
		height: clamp(560px, 70vw, 950px);
		right: max(-480px, -34vw);
		top: 42%;
		filter: blur(90px);
	}
}

@media (max-width: 767px) {
	.company-page::before,
	.character-page::before,
	.in-figures-page::before,
	.recruit-page::before,
	.business-page::before,
	.business-single-page::before,
	.news-page::before,
	.news-single::before,
	.wpcf7-form::before,
	.total_reward-page::before,
	.interview-page::before,
	.post-3::before,
	.post-116::before,
	.sitemap-page::before,
	.blog .site-body::before,
	.single-post .site-body::before {
		display: none;
	}
}

/* =========================
   パンくず
========================= */

/* パンくずの家アイコンを一律非表示 */
#breadcrumb i.fa-home,
#breadcrumb i.fas.fa-home,
#breadcrumb .fa-house,
#breadcrumb .vk_icon_home,
.breadcrumb i.fa-home,
.breadcrumb i.fas.fa-home,
.breadcrumb .fa-house,
.breadcrumb .vk_icon_home {
	display: none !important;
}
.breadcrumb {
	border-top: unset;
	border-bottom: unset;
	padding: 80px 0px 0;
	max-width: 1100px;
	width: 95%;
	margin: 0 auto;
}

.breadcrumb-list li {
	z-index: 4;
}
/* 標準パンくずの区切り変更 */
.breadcrumb-list li:after {
	content: ">";
}
/* カスタムパンくずの区切り表示変更 */
.breadcrumb-list {
	display: flex;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}
.breadcrumb-list__item:not(:last-child)::after {
	content: ">";
	display: inline-block;
	margin: 0 8px;
	color: var(--color-text);
}

/* =========================
   各ページ共通ページタイトル
========================= */
.common-page-hero {
	position: relative;
	/* padding: 180px 20px 120px; */
	text-align: left;
	overflow: hidden;
}
.common-page-hero__inner {
	position: relative;
	z-index: 3;
	max-width: 1100px;
	margin: 0 auto;
}
.common-page-hero__breadcrumb {
	margin-bottom: 100px;
	font-size: 0.8rem;
	text-align: center;
	color: var(--color-text);
}
.common-page-hero__en {
	margin: 0 0 12px;
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--color-primary);
	border: none !important;
}
.common-page-hero__ja {
	margin: 0;
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--color-text);
}

@media (max-width: 767px) {

	.common-page-hero__breadcrumb {
		margin-bottom: 60px;
	}

	.common-page-hero__en {
		font-size: 3rem;
		line-height: 1.1;
	}

	.common-page-hero__ja {
		font-size: 1.2rem;
	}
}

/* =========================
   お知らせ一覧・詳細 共通
========================= */

/* カテゴリ表示を非表示 */
.entry-meta .cat_post_tag,
.entry-meta .entry-meta_items_term,
.entry-meta_items_term,
.taxonomy-category,
.postList .vk_post_cat,
.postList .cat_post_tag,
.media .cat_post_tag,
.archive .cat_post_tag,
.blog .cat_post_tag,
.entry-footer .entry-meta_items_term,
.entry-footer .cat_post_tag,
.entry-footer .entry-tag,
.entry-footer .entry-meta a[rel="category tag"],
.single-post .entry-footer .entry-meta_items_term,
.single-post .entry-footer .cat_post_tag,
.single-post .entry-footer a[rel="category tag"] {
	display: none !important;
}

/* カテゴリー見出しラベルも非表示 */
.entry-footer .entry-meta .term_label,
.entry-footer .entry-meta .meta-label,
.entry-footer .entry-meta_items_term_label,
.single-post .entry-footer .entry-meta_items_term_label {
	display: none !important;
}

/* サムネ上のカテゴリラベルを非表示 */
.postList .vk_post_imgOuter .cat_post_tag,
.postList .vk_post_imgOuter .vk_post_cat,
.postList .entry_imgOuter .cat_post_tag,
.postList .entry_imgOuter .vk_post_cat,
.archive .vk_post_imgOuter .cat_post_tag,
.archive .vk_post_imgOuter .vk_post_cat,
.archive .entry_imgOuter .cat_post_tag,
.archive .entry_imgOuter .vk_post_cat,
.blog .vk_post_imgOuter .cat_post_tag,
.blog .vk_post_imgOuter .vk_post_cat,
.blog .entry_imgOuter .cat_post_tag,
.blog .entry_imgOuter .vk_post_cat,
a .cat_post_tag,
a .vk_post_cat {
	display: none !important;
}

/* 更新日を非表示 */
.entry-meta_items_time_modify,
.entry-meta .updated,
.entry-meta .published.updated,
.entry-meta .date.updated,
.post .updated {
	display: none !important;
}

/* 更新者（投稿者）を非表示 */
.entry-meta_items_author,
.entry-meta .author,
.byline,
.vcard {
	display: none !important;
}

/* 投稿日・更新日のアイコンを非表示 */
.entry-meta_items_time i,
.entry-meta_items_date i,
.entry-meta .fa-calendar,
.entry-meta .fa-calendar-alt,
.entry-meta .fa-clock,
.entry-meta .fa-history,
.entry-meta .fas.fa-calendar-alt,
.entry-meta .far.fa-calendar-alt,
.entry-meta .fas.fa-clock,
.entry-meta .far.fa-clock,
.entry-meta .fas.fa-history,
.entry-meta .far.fa-history,
.entry-meta i[class*="calendar"],
.entry-meta i[class*="clock"],
.entry-meta i[class*="history"] {
	display: none !important;
}

/* =========================
   投稿詳細：下部のカテゴリ表示を非表示
========================= */
.single-post .entry-footer,
.single-post .entry-footer .entry-meta,
.single-post .entry-footer .entry-meta_items,
.single-post .entry-footer .entry-meta_items_term,
.single-post .entry-footer .cat_post_tag,
.single-post .entry-footer .vk_label,
.single-post .entry-footer .vk_term_label,
.single-post .entry-footer .term_label,
.single-post .entry-footer .post_taxonomy,
.single-post .entry-footer a[rel="category"],
.single-post .entry-footer a[rel="category tag"],
.single-post .entry-footer .taxonomies {
	display: none !important;
}

/* コメント関連を非表示 */
#comments,
.comments-area,
.comment-respond,
.comments-title,
.comment-list,
.comment-form,
#respond,
#reply-title,
.logged-in-as,
.comment-notes {
	display: none !important;
}

/* =========================
   お知らせ一覧：サムネ上のカテゴリラベルを確実に非表示
========================= */
.vk_post_imgOuter_singleTermLabel,
.card-img-overlay .vk_post_imgOuter_singleTermLabel,
.post-list .vk_post_imgOuter_singleTermLabel,
.postList .vk_post_imgOuter_singleTermLabel,
.blog .vk_post_imgOuter_singleTermLabel,
.archive .vk_post_imgOuter_singleTermLabel,
.home .vk_post_imgOuter_singleTermLabel {
	display: none !important;
}

.wpcf7-not-valid-tip {
	margin-top: 6px;
	font-size: var(--font-size-meta);
}

/* お問い合わせフォーム送信ボタン押下後のサンクスメッセージ非表示にして送信中表示 */
.wpcf7 form.sent .wpcf7-response-output {
	display: none;
}

/* Contact Form 7 spinnerの常時占有を防ぐ */
.contact-form__submit {
	position: relative;
}
.wpcf7-spinner {
	position: absolute;
	left: 50%;
	top: calc(100% + 12px);
	transform: translateX(-50%);

	margin: 0 !important;
	display: none;
}
/* 送信中だけ表示 */
.wpcf7 form.submitting .wpcf7-spinner {
	display: inline-block;
}

/* =========================
   Lightning：スクロール時ヘッダー変化を無効化
========================= */

/* スクロール時もロゴを消さない */
body.header_scrolled .site-header-logo {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* ロゴ内リンク・画像も常時表示 */
body.header_scrolled .site-header-logo a,
body.header_scrolled .site-header-logo img {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.site-header--layout--nav-float .site-header-logo {
	margin-right: 0.5em !important;
}

.site-header {
	position: fixed !important;
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
	width: 95% !important;
	max-width: 1920px;
	background-color: #ffffffeb;
	box-shadow: 0 1px 8px 3px rgba(0, 0, 0, .1) !important;
	border-radius: 999px;
	z-index: 9999;
}
.page-header {
	margin-top: 5rem !important;
}
.site-header-container {
	max-width: 100% !important;
	max-width: 100% !important;
	padding: 12px 12px 12px 32px !important;
	box-sizing: border-box !important;
	gap: 16px !important;
}
.site-body {
	padding: 0 30px 4rem;
    max-width: 1920px !important;
    margin: 0 auto !important;
}
.global-nav-name {
	font-size: 16px !important;
}
.global-nav .menu-recruit {
	margin-left: 10px !important;
	margin-right: 0 !important;
	flex-shrink: 0 !important;
}
.global-nav .menu-recruit .global-nav-name {
	line-height: 1 !important;
}

/* ヘッダーメニュー内の装飾 */
@media (max-width: 991px) {
	.device-mobile .global-nav-list > li {
		padding: 14px 1em !important;
	}
}
@media (min-width: 992px) {
	.site-header .global-nav-list > li {
		padding: 0 !important;
		margin: 23px 0px;
	}
	.global-nav-list>li.menu-item-has-children::after {
		pointer-events: none !important;
	}
}

.site-header .global-nav-list > li > a {
	white-space: nowrap;
	writing-mode: horizontal-tb;
	text-orientation: mixed;
	color: var(--color-text);
}
.site-header .global-nav-name {
	display: inline-block;
	white-space: nowrap;
}

.global-nav-list > li > a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-height: 35px;
	padding: 0 18px !important;
	line-height: 1.2;
}
.global-nav-list .menu-item {
	margin: 0 2px !important;
}

/* 子メニューを持つ親メニューに矢印を表示 */
.global-nav-list > li.menu-item-has-children > a {
	position: relative;
	padding-right: 24px;
	overflow: visible;
}
/* 下向き矢印 */
/* 子メニューを持つ親メニュー */
.global-nav-list > li.menu-item-has-children > a {
	position: relative;
	padding-right: 22px;
}

/* 矢印 */
.global-nav-list > li.menu-item-has-children > a::after {
	content: "";

	position: absolute;
	top: 50%;
	right: 4px;

	width: 6px;
	height: 6px;

	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;

	transform: translateY(-60%) rotate(45deg);
	transform-origin: center;

	transition: transform 0.2s ease;
}
.menu-recruit a::after {
	right: 27px !important;
}

/* hover時に上向き */
.global-nav-list > li.menu-item-has-children:hover > a::after,
.global-nav-list > li.menu-item-has-children:focus-within > a::after {
	transform: translateY(-20%) rotate(-135deg);
}

/* 採用情報 */
.global-nav .menu-recruit > a {
	background: #f5a400;
	color: var(--color-white) !important;
	border-radius: 999px;

	padding-left: 36px !important;
	padding-right: 48px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;

	min-height: 44px !important;
	height: 44px !important;

	box-sizing: border-box !important;
}

/* ========================================
   ヘッダー幅縮小時のレスポンシブ調整
======================================== */
/* ヘッダー内部 */
.site-header-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0px;
}
/* ロゴは縮ませない */
.site-header-logo {
	flex-shrink: 0;
	min-width: max-content;
}
/* ロゴ画像固定 */
.site-header-logo img {
	width: 260px;
	max-width: none;
	height: auto;
	display: block;
}
/* ナビ側を可変 */
.global-nav {
	flex: 1;
	min-width: 0;
}
/* メニュー全体 */
.global-nav-list {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: nowrap;
	gap: 0 !important;
	right: 35px;
}
/* Lightning：親メニュー開閉ボタンの枠線を非表示 */
.global-nav-list .acc-btn,
.vk-menu-acc .acc-btn {
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: none !important;
}

/* =========================
   1400px以下
========================= */
@media (max-width: 1400px) {

	/* .global-nav-name {
		font-size: 15px !important;
	} */

	.global-nav .menu-recruit > a {
		padding-left: 28px !important;
		padding-right: 42px !important;
	}

	.global-nav-list > li.menu-item-has-children > a::after {
		right: 1px;
	}

	.menu-recruit a::after {
		right: 27px !important;
	}
}
/* =========================
   1200px以下
========================= */
@media (max-width: 1200px) {
	.global-nav-list > li > a {
		padding: 0 12px !important;
	}
}

/* =========================
   Lightning：PC時だけスクロール後ヘッダー崩れを固定
========================= */
@media (min-width: 992px) {
	body.header_scrolled .site-header {
		position: fixed !important;
		top: 20px !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%) !important;
		width: 95% !important;
		max-width: 1920px !important;
		background-color: #ffffffeb;
		box-shadow: 0 1px 8px 3px rgba(0, 0, 0, .1) !important;
		border-radius: 999px !important;
		opacity: 1 !important;
		visibility: visible !important;
	}
	body.header_scrolled .site-header-container {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 16px !important;
		padding: 12px 12px 12px 32px !important;
		box-sizing: border-box !important;
	}
	.global-nav .menu-recruit > a {
		background: #f5a400;
		color: var(--color-white) !important;
		border-radius: 999px;

		padding-left: 40px !important;
		padding-right: 40px !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;

		min-height: 44px !important;
		height: 44px !important;
	}

	/* body.header_scrolled .global-nav-name {
		font-size: 15px !important;
		line-height: 1.2 !important;
	} */
	body.header_scrolled .global-nav {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
	}
	body.header_scrolled .global-nav-list {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		flex-wrap: nowrap !important;
		width: 100% !important;
		transform: none !important;
	}
	body.header_scrolled .site-header-logo,
	body.header_scrolled .site-header-logo a,
	body.header_scrolled .site-header-logo img {
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
	}
	/* PC表示ではLightning標準の開閉ボタン自体を非表示 */
	.global-nav-list .acc-btn,
	.vk-menu-acc .acc-btn {
		display: none !important;
	}
	/* 992以上はSPハンバーガーメニューを非表示 */
	.custom-sp-menu,
	.vk-mobile-nav,
	.vk-mobile-nav-menu-btn {
		display: none !important;
	}
}
/* =========================
   Lightning：SP時は通常グローバルナビを強制非表示
   ハンバーガー押下時のモバイルメニューだけ生かす
========================= */
@media (max-width: 991px) {
	body.header_scrolled .global-nav,
	body.header_scrolled .global-nav-list {
		display: none !important;
		opacity: 0 !important;
		visibility: hidden !important;
	}

	.site-header,
	body.header_scrolled .site-header {
		position: fixed !important;
		top: 22px !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%) !important;
		width: 100% !important;
		max-width: none !important;
		background-color: transparent !important;
		box-shadow: none !important;
		border-radius: 0 !important;
		z-index: 10004 !important;
		pointer-events: none;
	}

	.site-header-container,
	body.header_scrolled .site-header-container {
		width: 100% !important;
		max-width: none !important;
		padding: 10px 20px 0 !important;
		margin: 0 auto !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
	}

	.site-header-logo img {
		width: 240px;
	}
	.site-header-logo,
	.site-header-logo a,
	.site-header-logo img {
		position: relative !important;
		z-index: 10005 !important;
		pointer-events: auto;
	}
    .site-header-logo {
        position: relative !important;
        z-index: 10030;
    }

    .site-header-logo::after {
        content: "";
        position: absolute;

		left: 18px;
		right: 18px;
		bottom: -8px;
		height: 22px;

		background: rgba(255,255,255,.95);
		filter: blur(10px);
		border-radius: 999px;

        z-index: -1;
        pointer-events: none;
    }

	/* ハンバーガーボタン */
	.vk-mobile-nav-menu-btn,
	body.header_scrolled .vk-mobile-nav-menu-btn {
		position: fixed !important;
		top: 22px !important;
		right: 20px !important;
		left: auto !important;

		width: 56px !important;
		height: 56px !important;
		padding: 0 !important;

		border: 2px solid transparent !important;
		border-radius: 50% !important;

		background:
			linear-gradient(#fff, #fff) padding-box,
			linear-gradient(135deg, #f5b335, #7edc9d, #57d6d6) border-box !important;

		box-shadow: 0 8px 20px rgba(0,0,0,0.08);
		z-index: 10006 !important;
		pointer-events: auto;

		font-size: 0 !important;
		text-indent: -9999px;
		overflow: hidden;
	}

	.vk-mobile-nav-menu-btn::before,
	.vk-mobile-nav-menu-btn::after {
		content: "";
		position: absolute;
		left: 50%;
		width: 20px;
		height: 2px;
		background: #004b8d;
		border-radius: 999px;
		transform: translateX(-50%);
		transition: 0.25s ease;
	}

	.vk-mobile-nav-menu-btn::before {
		top: 20px;
		box-shadow: 0 7px 0 #004b8d;
	}

	.vk-mobile-nav-menu-btn::after {
		top: 34px;
	}

	/* 開いた時は× */
	.vk-mobile-nav-menu-btn.is-open::before {
		top: 27px;
		box-shadow: none;
		transform: translateX(-50%) rotate(45deg);
	}

	.vk-mobile-nav-menu-btn.is-open::after {
		top: 27px;
		transform: translateX(-50%) rotate(-45deg);
	}

	html.is-mobile-nav-open {
		overflow: hidden !important;
	}

	body.is-mobile-nav-open {
		overflow: hidden !important;
		touch-action: none;
	}
}

/* Lightningのページタイトル帯を全ページで非表示 */
.page-header {
	background-color: unset !important;
	min-height: unset !important;
}
.page-header-inner,
.page-header .container {
	display: none !important;
}

/* Lightning標準のh2装飾ラインを無効化 */
.entry-body .top-after-kv__title,
.entry-body .top-section-title {
	border-top: none !important;
	border-bottom: none !important;
	box-shadow: none !important;
}
.entry-body .top-after-kv__title::before,
.entry-body .top-after-kv__title::after,
.entry-body .top-section-title::before,
.entry-body .top-section-title::after {
	display: none !important;
	content: none !important;
	border: none !important;
}


/* =========================
   カスタムフッター用
========================= */

.custom-footer {
	position: relative;
	/* width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw); */

    width:auto;
    margin-left:0;
    margin-right:0;

	padding: 120px 20px 28px;
	overflow: hidden;
	isolation: isolate;
	background: transparent;
}

/* 緑背景のみ揺らす */
.custom-footer::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -65%;
	width: 140vw;
	height: 160%;
	transform: translateX(-50%);
	border-radius: 50% 50% 0 0 / 22% 28% 0 0;
	background: linear-gradient(
		180deg,
		#b8f7a8 0%,
		#72edaa 55%,
		#55dfb5 100%
	);
	animation: footerLiquid 6s ease-in-out infinite alternate;
	z-index: 0;
}

/* 背景文字 */
.top-company__inner::after,
.top-recruit::before,
.custom-footer::after {
	content: "we are creator";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	font-size: 16vw;
	font-weight: 200;
	line-height: 1;
	white-space: nowrap;
	pointer-events: none;
	z-index: 1;
}
.top-company__inner::after {
	background: linear-gradient(
		0deg,
		rgba(210,245,220,0.15) 0%,
		rgba(180,240,200,0.25) 30%,
		rgba(126,220,157,0.35) 60%,
		rgba(180,240,200,0.25) 100%
	);

	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;
	top: 60%;
}
@media (max-width: 991px) {
	.top-company__inner::after {
		top: 80%;
	}
}
@media (max-width: 767px) {
	.top-company__inner::after {
		display: none;
	}
}

.custom-footer::after {
	color: rgba(255, 255, 255, 0.18);
}
.top-recruit::before {
	z-index: 4;
	bottom: -20%;

	background: linear-gradient(
		0deg,
		rgba(255,255,255,0.18) 0%,
		rgba(255,255,255,0.45) 50%,
		rgba(255,255,255,0.18) 100%
	);

	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;
}
.custom-footer::after {
	bottom: -0.18em;
}

.custom-footer__inner {
	position: relative;
	z-index: 2;

	width: min(100% - 48px, 1100px);
	max-width: 1100px;
	margin: 0 auto;

	display: flex;
	align-items: center;
	justify-content: center;

	gap: clamp(24px, 3vw, 70px);
}

.custom-footer__brand {
	width: 305px;
	flex: 0 0 305px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.custom-footer__logo {
	margin-bottom: 24px;
	width: 100%;
	display: flex;
	justify-content: center;
}

.custom-footer__logo img,
.custom-footer__logo .custom-logo {
	display: block;
	width: 305px;
	max-width: 120%;
	height: auto;
}

.custom-footer__button {
	margin: 0 0 12px;
}

.custom-footer__button a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 250px;
	height: 50px;
	border-radius: 999px;
	background: #004b8d;
	color: var(--color-white);
	font-weight: 700;
	text-decoration: none;
}

.custom-footer__button--recruit a {
	background: #f5a400;
}

.custom-footer__nav {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.custom-footer__menu-wrap {
	width: 100%;
}

.custom-footer-menu {
	display: flex;
	justify-content: flex-start;

	/* 画面幅に応じて可変、clamp(最小値, 可変値, 最大値) */
	gap: clamp(16px, 2vw, 56px);

	margin: 0;
	padding: 0;
	list-style: none;
	white-space: nowrap;
}

.custom-footer-menu > li {
	min-width: 0;
}

.custom-footer-menu a {
	color: var(--color-text);
	text-decoration: none;
}

.custom-footer-menu > li > a {
	display: block;
	margin-bottom: 10px;
	font-weight: 700;
}

.custom-footer-menu .sub-menu {
	margin: 0;
	padding-left: 1.5vw;
	list-style: none;
}

.custom-footer-menu .sub-menu li {
	margin-bottom: 6px;
}

.custom-footer-menu .sub-menu li a {
	white-space: nowrap;
}

.custom-footer-menu a::before {
	content: "›";
	margin-right: 6px;
}

.custom-footer__bottom {
	position: relative;
	z-index: 2;
	width: 85%;
	max-width: none;
	margin: 28px 0 0;
	display: block;
	text-align: left;
	font-size: 0.8rem;
	color: var(--color-text);
	border-top: solid 2px #123b67;
	padding-top: 10px;
}

.custom-footer-bottom-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0 0 6px;
	padding: 0;
	list-style: none;
}

.custom-footer-bottom-menu li:not(:last-child)::after {
	content: "|";
	margin: 0 8px;
}

.custom-footer-bottom-menu a {
	color: var(--color-text);
	text-decoration: none;
}

.custom-footer__copy {
	margin-bottom: -20px;
    margin-top: 20px;
    font-size: 0.65rem;
}

@keyframes footerLiquid {
	0% {
		transform: translateX(-50%) translateY(0) scaleX(1) rotate(0deg);
		border-radius: 48% 52% 0 0 / 20% 30% 0 0;
	}
	50% {
		transform: translateX(-50%) translateY(-14px) scaleX(1.06) rotate(1.5deg);
		border-radius: 42% 58% 0 0 / 30% 18% 0 0;
	}
	100% {
		transform: translateX(-50%) translateY(8px) scaleX(0.96) rotate(-1.5deg);
		border-radius: 56% 44% 0 0 / 18% 32% 0 0;
	}
}

/* フッターメニューの余白調整 */
@media (min-width: 768px) and (max-width: 991px) {
	.custom-footer__inner {
		width: min(100% - 48px, 760px);
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 32px 48px;
	}

	.custom-footer__brand {
		width: 305px;
		flex: 0 0 305px;
	}

	.custom-footer__logo img,
	.custom-footer__logo .custom-logo,
	.custom-footer__logo .custom-logo-link {
		width: 305px;
		max-width: 305px;
	}

	.custom-footer__nav {
		width: 100%;
		flex: 0 0 100%;
		align-items: center;
	}

	.custom-footer-menu {
		justify-content: center;
		gap: 40px;
		white-space: nowrap;
	}
	
	.custom-footer__bottom {
		width: min(100%, 760px);
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}
}

@media (max-width: 767px) {
	.custom-footer {
		padding: 80px 0px 32px;
	}

	.custom-footer__inner {
		flex-direction: column;
		gap: 32px;
	}

	.custom-footer__brand {
		width: 100%;
		flex: none;
		text-align: center;
	}

	.custom-footer__logo img,
	.custom-footer__logo .custom-logo {
		margin: 0 auto;
	}

	.custom-footer__button a {
		margin: 0 auto;
	}

	.custom-footer__nav {
		width: 100%;
		align-items: center;
	}

	.custom-footer__menu-wrap {
		width: 100%;
	}

	.custom-footer-menu {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 28px;
		row-gap: 14px;
		width: 100%;
		max-width: 420px;
		margin: 0 auto;
		padding: 0;
		white-space: normal;
	}

	.custom-footer-menu > li {
		min-width: 0;
	}

	/* 事業内容：左カラム */
	.custom-footer-menu > li:nth-child(1) {
		grid-column: 1;
		grid-row: 1 / span 3;
	}

	/* 採用情報：右カラム上 */
	.custom-footer-menu > li:nth-child(2) {
		grid-column: 2;
		grid-row: 1;
	}

	/* 企業情報：右カラム下 */
	.custom-footer-menu > li:nth-child(3) {
		grid-column: 2;
		grid-row: 2;
	}

	.custom-footer__bottom {
		width: 100%;
		max-width: 420px;
		margin: 0 0 0;
		text-align: center;
	}

	.custom-footer-menu .sub-menu a {
		display: inline-block;
		padding-left: 1em;
		text-indent: -1em;
		line-height: 1.5;
	}

	.custom-footer-menu .sub-menu a::before {
		display: inline-block;
		width: 1em;
		margin-right: 0;
		text-indent: 0;
	}

	.sp-br {
		display: block;
	}
	.pc-br {
		display: none;
	}
}


/* =========================
   SPハンバーガーメニュー
   ※背景アニメーションは css/sp-menu-animation.css 側で制御
========================= */
@media (max-width: 991px) {
	/* Lightning標準SPメニューの中身は使わない */
	#vk-mobile-nav,
	#vk-mobile-nav .vk-mobile-nav-menu-outer,
	#vk-mobile-nav .widget_search,
	#vk-mobile-nav .veu_adminEdit {
		display: none !important;
	}

	/* メニュー表示中のロゴ重なり */
	.site-header-logo,
	.site-header-logo a,
	.site-header-logo img {
		position: relative !important;
		z-index: 10030 !important;
		pointer-events: auto;
	}

	/* カスタムSPメニュー本体 */
	.custom-sp-menu {
		position: fixed;
		inset: 0;
		z-index: 10005;
		display: flex;
		justify-content: center;
		align-items: flex-start;
		padding: 92px 16px 40px;
		background: transparent;
		overflow-y: auto;

		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(12px);
		transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
	}

	.custom-sp-menu.is-show {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
	}

	body.is-mobile-nav-closing .custom-sp-menu {
		opacity: 0;
		visibility: visible;
		pointer-events: none;
		transform: translateY(12px);
	}

	/* メニューリスト */
	.custom-sp-menu__list {
		width: min(100%, 320px);
		margin: 0;
		padding: 0 0 32px;
		list-style: none;
		max-height: calc(100vh - 130px);
		overflow-y: auto;
	}

	.custom-sp-menu__list,
	.custom-sp-menu__list > li,
	.custom-sp-menu__list .sub-menu,
	.custom-sp-menu__list .sub-menu > li {
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		height: auto !important;
		max-height: none !important;
	}

	.custom-sp-menu__list > li > a,
	.custom-sp-menu_title {
		display: flex;
		align-items: baseline;
		gap: 4px;
		padding: 10px 0 5px;
		font-size: 1.8rem;
		font-weight: 700;
		text-decoration: none;
		line-height: 1.3;
	}
	.custom-sp-menu_title {
		color: var(--color-primary);
	}

	/* 大項目だけライン */
	.custom-sp-menu__list > li:not(.sp-menu-cta):not(.sp-menu-footer) > .custom-sp-menu_title {
		border-bottom: 1px solid rgba(18, 59, 103, 0.35);
	}

	.custom-sp-menu__ja {
		display: inline-block;
	}

	.custom-sp-menu__en {
		display: inline-block;
		font-size: 1.4rem;
		font-weight: 500;
		opacity: 0.75;
	}

	/* 下層メニュー */
	.custom-sp-menu__list .sub-menu {
		margin: 0 0 8px;
		padding: 0;
		list-style: none;
	}

	.custom-sp-menu__list .sub-menu a {
		display: block !important;
		padding: 3px 0;
		color: var(--color-text);
		font-size: 1.3rem;
		font-weight: 500;
		line-height: 1.45;
		text-decoration: none;
	}

	/* 採用情報ボタン */
	.custom-sp-menu__list > li.sp-menu-cta {
		margin: 14px 0 12px;
	}

	.custom-sp-menu__list > li.sp-menu-cta > a {
		width: 140px;
		height: 36px;
		padding: 0 !important;
		justify-content: center;
		align-items: center;
		background: #f5a400;
		color: var(--color-white) !important;
		border-radius: 999px;
		font-size: 0.78rem;
		border-bottom: none !important;
	}

	.custom-sp-menu__list > li.sp-menu-cta .custom-sp-menu__en {
		display: none;
	}

	.custom-sp-menu__list-recruit > a {
		width: 140px;
		height: 34px;
		margin: 10px 0 8px;
		padding: 0 !important;
		justify-content: center;
		background: #f5a400;
		color: var(--color-white);
		border-radius: 999px;
		font-size: 0.78rem;
	}

	.custom-sp-menu__list-recruit > a::after {
		display: none;
	}

	/* 下部リンク */
	.custom-sp-menu__list > li.sp-menu-footer {
		display: inline-block !important;
		position: relative;
		padding: 0 10px;
	}

	.custom-sp-menu__list > li.sp-menu-footer:first-child {
		padding-left: 0;
	}

	.custom-sp-menu__list > li.sp-menu-footer:last-child {
		padding-right: 0;
	}

	.custom-sp-menu__list > li.sp-menu-footer:not(:last-child)::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		width: 1px;
		height: 0.9em;
		background: rgba(18,59,103,.35);
	}

	.custom-sp-menu__list > li.sp-menu-footer > a {
		display: inline !important;
		padding: 0 !important;
		border-bottom: none !important;
		color: var(--color-text);
		font-size: 0.9rem;
		font-weight: 500;
		line-height: 0.1;
	}

	.custom-sp-menu__list > li.sp-menu-footer .custom-sp-menu__en {
		display: none;
	}

	/* メニュー表示中は背景スクロール停止 */
	html.is-mobile-nav-open {
		overflow: hidden !important;
	}

	body.is-mobile-nav-open {
		overflow: hidden !important;
		touch-action: none;
	}
}
/* ハンバーガーメニュー文字大きさ・余白調整 */
@media (max-width: 991px) {
	.custom-sp-menu {
		/* ロゴと被らないよう上余白は確保、下余白は詰める */
		padding-top: clamp(88px, 11dvh, 120px) !important;
		padding-bottom: clamp(8px, 1.2dvh, 20px) !important;
		padding-left: clamp(26px, 4vw, 46px) !important;
		padding-right: clamp(26px, 4vw, 46px) !important;
	}

	.custom-sp-menu__list {
		max-height: calc(100dvh - clamp(96px, 13dvh, 130px)) !important;
		padding-bottom: clamp(8px, 1.2dvh, 18px) !important;
		overflow-y: auto;
	}

	.custom-sp-menu__list > li {
		margin-bottom: clamp(5px, 0.9dvh, 12px);
	}

	.custom-sp-menu__list > li > a,
	.custom-sp-menu_title {
		font-size: clamp(1.45rem, min(2.6vw, 2.8dvh), 2.8rem);
		line-height: 1.18;
		padding: clamp(6px, 0.7dvh, 10px) 0 clamp(3px, 0.45dvh, 6px);
	}

	.custom-sp-menu__en {
		font-size: clamp(1.05rem, min(1.8vw, 1.8dvh), 1.55rem);
		margin-left: 0.35em;
	}

	.custom-sp-menu__list .sub-menu {
		margin-top: clamp(2px, 0.4dvh, 6px);
		margin-bottom: clamp(4px, 0.7dvh, 10px);
	}

	.custom-sp-menu__list .sub-menu a {
		font-size: clamp(1rem, min(1.6vw, 1.7dvh), 1.45rem);
		line-height: 1.4;
		padding: clamp(1px, 0.25dvh, 4px) 0;
	}

	.custom-sp-menu__list > li.sp-menu-cta {
		margin-top: clamp(8px, 1.2dvh, 16px);
		margin-bottom: clamp(8px, 1.2dvh, 16px);
	}

	.custom-sp-menu__list > li.sp-menu-footer {
		margin-top: 0;
	}
}
/* 高さが低い端末だけさらに詰める */
@media (max-width: 991px) and (max-height: 750px) {
	.custom-sp-menu {
		padding-top: 84px !important;
		padding-bottom: 8px !important;
	}

	.custom-sp-menu__list {
		max-height: calc(100dvh - 92px) !important;
		padding-bottom: 8px !important;
	}

	.custom-sp-menu__list > li {
		margin-bottom: 7px;
	}

	.custom-sp-menu__list > li > a,
	.custom-sp-menu_title {
		font-size: clamp(1.25rem, 2.3dvh, 1.6rem);
		padding: 4px 0 2px;
	}

	.custom-sp-menu__en {
		font-size: 1rem;
	}

	.custom-sp-menu__list .sub-menu {
		margin-top: 2px;
		margin-bottom: 4px;
	}

	.custom-sp-menu__list .sub-menu a {
		font-size: 0.95rem;
		line-height: 1.35;
		padding: 1.5px 0;
	}

	.custom-sp-menu__list > li.sp-menu-cta {
		margin-top: 8px;
		margin-bottom: 8px;
	}
}


/* セクションをふわっと表示する用 */
.js-scroll-reveal {
	opacity: 0;
	transform: translateY(48px);
	transition:
		opacity 0.8s ease,
		transform 0.8s ease;
	will-change: opacity, transform;
}
.js-scroll-reveal.is-revealed {
	opacity: 1;
	transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
	.js-scroll-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* 背景装飾パーツのSP表示調整 */
@media (max-width: 1700px) {
	.company-deco-01 {
		--deco-y: 10% !important;
	}
	.company-deco-02 {
		--deco-y: 60% !important;
	}
	.recruit-deco-03 {
		--deco-y: 86% !important;
	}
	.recruit-deco-05 {
		--deco-y: 90% !important;
	}
	.news-deco-02 {
		--deco-y: 75% !important;
	}
}
@media (max-width: 1220px) {
	.business-deco-03 {
		--deco-x: 10vw !important;
	}
}
@media (max-width: 1080px) {
	.business-deco-05 {
		--deco-x: -2vw !important;
		--deco-y: 45% !important;
		--deco-z: 1 !important;
	}
	/* .top-business__decor {
		z-index: 1;
	} */
}
@media (max-width: 767px) {
	/* =========================
	TOP SP：
	各セクションをまたぐ波・装飾は表示する。
	ページ全体の横はみ出しは上位要素で抑制する。
	========================= */
	html,
	body {
		overflow-x: clip !important;
	}
	.home .site-body,
	.home .entry-body,
	.home .entry-content {
		overflow-x: clip !important;
		overflow-y: visible !important;
	}
	.home .top-kv-video,
	.home .top-after-kv,
	.home .top-company,
	.home .top-business,
	.home .top-recruit,
	.home .top-news {
		/* overflow-x: clip !important; */
		overflow-x: visible !important;
		overflow-y: visible !important;
	}
	.home .top-kv-video__media {
		overflow: visible !important;
	}
	.home .custom-footer {
		overflow: hidden !important;
		/* width: 100vw !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important; */

		width:auto;
		margin-left:0;
		margin-right:0;

	}
	.home .bg-wave-base,
	.home .wave-company,
	.home .wave-recruit,
	.home .wave-recruit_bottom {
		width: 100vw !important;
		max-width: 100vw !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
	}
	.home .top-deco {
		pointer-events: none;
	}

	.kvt-deco-06 {
		--deco-x: -15vw !important;
		--deco-y: 210% !important;
		--deco-w: 60% !important;
	}
	.kvu-deco-01 {
		--deco-x: -18vw !important;
		--deco-y: 54% !important;
		--deco-w: 40% !important;
		--deco-rotate: -33deg !important;
	}
	.kvu-deco-02 {
		--deco-x: -22vw !important;
		--deco-y: 77% !important;
		--deco-w: 60% !important;
		--deco-rotate: 12deg !important;
	}
	.kvu-deco-03 {
		--deco-x: -18vw !important;
		--deco-y: 25% !important;
		--deco-w: 35% !important;
		--deco-rotate: -30deg !important;
	}
	.kvu-deco-04 {
		--deco-x: -12vw !important;
		--deco-y: 75% !important;
		--deco-w: 50% !important;
		--deco-rotate: -35deg !important;
	}

	.company-deco-01,
	.company-deco-03,
	.company-deco-04 {
		display: none !important;
	}
	.company-deco-02 {
		--deco-x: -17vw !important;
		--deco-y: 50% !important;
		--deco-w: 46% !important;
		--deco-rotate: 20deg !important;
	}
	.company-deco-05 {
		--deco-x: 80vw !important;
		--deco-y: 67% !important;
		--deco-w: 20% !important;
		--deco-rotate: 0deg !important;
	}
	.company-deco-06 {
		--deco-x: -8vw !important;
		--deco-y: 25% !important;
		--deco-w: 30% !important;
		--deco-rotate: -30deg !important;
		--deco-opacity: 1 !important;
	}

	.business-deco-01,
	.business-deco-03,
	.business-deco-06,
	.business-deco-08 {
		display: none !important;
	}
	.business-deco-02 {
		--deco-x: -10vw !important;
		--deco-y: 59% !important;
		--deco-w: 50% !important;
		--deco-rotate: -5deg !important;
	}
	.business-deco-04 {
		--deco-x: 6vw !important;
		--deco-y: -10% !important;
		--deco-w: 35% !important;
		--deco-rotate: 0deg !important;
	}
	.business-deco-05 {
		--deco-x: -11vw !important;
		--deco-y: 9% !important;
		--deco-w: 70% !important;
		--deco-rotate: -7deg !important;
		--deco-z: 0 !important;
	}
	.business-deco-07 {
		--deco-x: -9vw !important;
		--deco-y: 19% !important;
		--deco-w: 30% !important;
		--deco-rotate: -30deg !important;
		--deco-z: 4 !important;
	}
	.business-deco-09 {
		--deco-x: -30vw !important;
		--deco-y: 10% !important;
		--deco-w: 55% !important;
		--deco-rotate: 30deg !important;
		--deco-z: 4 !important;
		--deco-opacity: 1 !important;
	}
	.business-deco-10 {
		--deco-x: -9vw !important;
		--deco-y: 30% !important;
		--deco-w: 30% !important;
		--deco-rotate: 25deg !important;
		--deco-scale-x: -1 !important;
		--deco-scale-y: -1 !important;
		--deco-z: 4 !important;
		--deco-opacity: 1 !important;
	}

	.recruit-deco-01,
	.recruit-deco-02,
	.recruit-deco-04,
	.recruit-deco-05 {
		display: none !important;
	}
	.recruit-deco-03 {
		--deco-x: -26vw !important;
		--deco-y: 5% !important;
		--deco-w: 50% !important;
		--deco-rotate: -25deg !important;
		--deco-scale-x: -1 !important;
	}
	.recruit-deco-06 {
		--deco-x: -33vw;
		--deco-opacity: 1 !important;
	}

	.news-deco-01 {
		--deco-x: -13vw !important;
		--deco-y: -3% !important;
		--deco-w: 38% !important;
		--deco-rotate: 25deg !important;
	}
	.news-deco-02 {
		--deco-x: -20vw !important;
		--deco-y: 82% !important;
		--deco-w: 50% !important;
		--deco-rotate: 33deg !important;
	}
	.news-deco-03 {
		display: none !important;
		/* --deco-x: -9vw !important;
		--deco-y: 40% !important;
		--deco-w: 30% !important;
		--deco-rotate: -25deg !important; */
	}
	.news-deco-04 {
		--deco-x: -15vw !important;
		--deco-y: 88% !important;
		--deco-w: 50% !important;
		--deco-rotate: -20deg !important;
	}
	.news-deco-05 {
		--deco-opacity: 1 !important;
	}
}

@media (max-width: 500px) {
	.kvt-deco-06 {
		--deco-y: 260% !important;
	}

	.sp-br_2 {
		display: block;
	}

	.top-kv-video_wrapper {
		width: 101%;
	}

}

/* ========================================
   TOP KV装飾
   1920px以上では位置とサイズを固定
======================================== */
@media (min-width: 1920px) {
	.top-kv-video .kvt-deco-01 {
		--deco-x: -192px !important;
	}

	.top-kv-video .kvt-deco-02 {
		--deco-x: -58px !important;
	}

	.top-kv-video .kvt-deco-03 {
		--deco-x: -115px !important;
	}

	.top-kv-video .kvt-deco-04 {
		--deco-x: -173px !important;
	}

	.top-kv-video .kvt-deco-05 {
		--deco-x: -19px !important;
	}

	.top-kv-video .kvt-deco-06 {
		--deco-x: -115px !important;
	}

	.top-kv-video .kvt-deco-07 {
		--deco-x: -150px !important;
	}
}


/* ========================================
   TOP KV 左右上部のぼかし装飾
======================================== */
/* ========================================
   TOP KV 左右上部のぼかし装飾
======================================== */
.top-kv-video__media::before,
.top-kv-video__media::after {
	content: "";
	position: absolute;
	z-index: 5;

	/*
	 * 親要素の幅に対して常に22%。
	 * 180pxの最小値をなくし、動画と同じ比率で縮小させる。
	 */
	width: 22%;
	height: auto;
	aspect-ratio: 1 / 1;

	border-radius: 50%;
	pointer-events: none;

	background:
		radial-gradient(
			circle at center,
			rgba(245, 235, 78, 0.62) 0%,
			rgba(198, 238, 107, 0.42) 28%,
			rgba(126, 220, 157, 0.26) 52%,
			rgba(126, 220, 157, 0.08) 70%,
			transparent 82%
		);

	/*
	 * 1920px時は約18px、
	 * 画面縮小に合わせてぼかしも縮小。
	 */
	/* filter: blur(clamp(5px, 0.94vw, 18px)); */
	filter: blur(clamp(1px, 0.9375vw, 18px));

	opacity: 0.4;
	transform-origin: center;
}

/* 左上 */
.top-kv-video__media::before {
	top: -8%;
	left: -7%;

	clip-path: 
	
			polygon(
			/* 外側上辺 */
			0% 0%,
			100% 0%,

			/* 右上から内側の弧へ入る */
			100% 32%,
			100% 27.2%,
			95% 20%,
			95% 30.5%,
			88% 30.6%,
			83% 31%,
			77% 32.8%,
			71% 35.9%,
			66% 38.4%,
			64% 40.2%,
			61% 43.4%,
			57.5% 46.9%,
			55% 50.7%,
			53% 54.8%,
			50.8% 60.1%,
			50% 63.7%,
			48.8% 69.4%,
			48.5% 74.3%,
			48% 70%,
			49% 84.1%,
			49% 88.8%,
			50% 93.1%,
			51% 96.8%,
			53% 100%,

			/* 外側下辺・左辺 */
			0% 100%,
			0% 0%
			);


}

.top-kv-video__media::after {
	top: -8%;
	right: -7%;

	/* beforeと同じ形状 */
	clip-path: polygon(
		0% 0%,
		100% 0%,
		100% 33%,
		97% 30%,
		94% 30.5%,
		91% 30.5%,
		88% 30.6%,
		83% 32%,
		78% 34%,
		74.5% 35.5%,
		69.8% 38.4%,
		67% 41.2%,
		65% 43.4%,
		62.8% 47%,
		61.8% 49.7%,
		61.8% 50.8%,
		60.3% 60.1%,
		60.5% 64.7%,
		60.6% 69.4%,
		61% 74.3%,
		62% 79.2%,
		63% 84.1%,
		64.4% 88.8%,
		65% 93.1%,
		66% 96.8%,
		65% 100%,
		0% 100%,
		0% 0%
		);

	transform: scaleX(-1);
	transform-origin: center;
}

/* 動画 */
.top-kv-video__video,
.top-kv-video__fallback {
	z-index: 2;
}

/* 通常の色調オーバーレイ */
.top-kv-video__overlay {
	z-index: 2;
}

/* 左右のぼかし装飾 */
.top-kv-video__media::before,
.top-kv-video__media::after {
	z-index: 5;
}

/* 額縁 */
.top-kv-video_wrapper {
	z-index: 4;
}