.top .l-content {
	padding-top: 0 !important;
}

#post_slider {
	@media(min-width: 960px) {
		width: var(--container_size);
		max-width: none;
		position: relative;
		left: 50%;
		transform: translateX(-50%);
		.p-postSlider__inner {
			padding: 0;
		}
	}
}

.p-top-fv {
	font-family: "noto sans";
	background-image: 
		linear-gradient(rgba(247, 247, 247, 0.5), rgba(247, 247, 247, 0.5)),
		url("https://staging-4b80-regeneorg.wpcomstaging.com/wp-content/uploads/2026/08/business-team-training-travel_001.jpg");
	background-size: cover;
	background-position: center;	
	
	@media (max-width: 600px) {
	.stack-on-mobile {
		flex-direction: column !important;
		align-items: center !important;
	}

	.stack-on-mobile > .swell-block-button {
		width: auto !important;
		flex-basis: auto !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}
	
	.swell-block-fullWide__inner {
/* 		display: flex;
		flex-direction: column; */
	}
	.__maincopy {
		display: inline-block;
		font-size: 2rem !important;
		position: relative;
		z-index: 0;
		background: transparent;
		margin-bottom: .75em !important;
		@media (max-width: 600px) {
			font-size: 1.3rem !important;
			span {
				font-size: 1.2rem;
			}
		}
		span {
			line-height: 1.3;
		}
		&::before {
			content: "";
			position: absolute;
			inset: -1.5em -2em;
			z-index: -1;
			pointer-events: none;

			background: radial-gradient(
				ellipse at center,
				rgb(255 255 255 / 90%) 0%,
				rgb(255 255 255 / 75%) 30%,
				rgb(255 255 255 / 55%) 55%,
				rgb(255 255 255 / 15%) 75%,
				rgb(255 255 255 / 0%) 100%
			);
			filter: blur(8px);
		}
	}
	
	.__subcopy {
		position: relative;
		max-width: 450px;
		z-index: 999;
		@media (max-width: 600px) {
			font-size: 1.1rem !important;
		}
		&::before {
			content: "";
			position: absolute;
			inset: -1.5em -2em;
			z-index: -1;
			pointer-events: none;

			background: radial-gradient(
				ellipse at center,
				rgb(255 255 255 / 90%) 0%,
				rgb(255 255 255 / 75%) 30%,
				rgb(255 255 255 / 55%) 55%,
				rgb(255 255 255 / 15%) 75%,
				rgb(255 255 255 / 0%) 100%
			);
			filter: blur(8px);
		}

	}
	
	.__button01 a,
	.__button02 a {
		border-radius: 100px;
	}
	.__button01 a{
		background: white;
		color: var(--color_main);
		border: 1px solid var(--color_main);
		@media(max-width: 559px) {
			font-size: 1rem;
		}
	}
}

#header,
#fix_header {

	.c-gnav > .header-download,
	.c-gnav > .header-contact {
		display: flex;
		align-items: center;
		height: 100%;
		margin-left: 10px;
	}

	.c-gnav > .header-download > a,
	.c-gnav > .header-contact > a {
		font-family: "noto sans";
		display: flex;
		flex-direction: row !important;
		align-items: center;
		justify-content: center;
		gap: 9px;

		width: auto;
		min-width: 156px;
		height: 44px;
		padding: 0 20px;

		border-radius: 100px;

		font-size: 1em;
		font-weight: 700;
		line-height: 1;
		letter-spacing: .03em;
		white-space: nowrap;

		transition:
			transform .2s ease,
			background .2s ease,
			color .2s ease;
	}

	/* 資料請求：Secondary */
	.c-gnav > .header-download > a {
		color: #8b3bb5 !important;
		background: #fff;
		border: 1px solid #9a45bb;
	}

	/* お問い合わせ：Primary */
	.c-gnav > .header-contact > a {
		color: #fff !important;
		border: 1px solid transparent;
		background: linear-gradient(
			110deg,
			#bd3197 0%,
			#9b38ba 100%
		);
	}

	.c-gnav > .header-download > a::after,
	.c-gnav > .header-contact > a::after {
		content: "→" !important;
		position: static !important;

		display: inline-block !important;
		width: auto !important;
		height: auto !important;

		margin: 0 !important;

		background: none !important;

		font-size: 1.2em;
		font-weight: 400;
		line-height: 1;

		opacity: .8 !important;
		transform: none !important;

		transition: transform .2s ease;
	}

	.c-gnav > .header-download > a:hover,
	.c-gnav > .header-contact > a:hover {
		transform: translateY(2px);
	}

	.c-gnav > .header-download > a:hover {
		background: #faf5fc;
	}

	.c-gnav > .header-contact > a:hover {
		color: #fff !important;
	}

	.c-gnav > .header-download > a:hover::after,
	.c-gnav > .header-contact > a:hover::after {
		transform: translateX(2px) !important;
	}
}

/* --- 山口環境LP提携企業セクション ---*/
.partner-hidden-switch {
	display: none;
}
/* --- ↑↑↑表示するときは消す↑↑↑ ---*/

.loop-slider {
	display: flex;
	overflow: hidden;
}

.loop-slider .wp-block-group__inner-container,
.loop-slider .swell-block-columns {
	display: contents;
}

.loop-slider .swell-block-columns__inner {
	flex-wrap: nowrap;
	animation: infinity-scroll-left 60s infinite linear; /* アニメーションの時間を指定 */
}

.loop-slider .swell-block-column figure {
	width: 450px; /* 画像の横幅を指定（パソコン） */
	position: relative;
}

.loop-slider .swell-block-column figure::before {
	padding-top: 65%; /* 画像の縦横比を指定 */
	display: block;
	content: "";
}

.loop-slider .swell-block-column figure img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
}

@media screen and (max-width: 959px) {
	.loop-slider .swell-block-column figure {
		width: 200px; /* 画像の横幅を指定（スマホ） */
	}
}

@keyframes infinity-scroll-left {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-100%);
	}
}

/* Contact Form 7 */

/* テキストを太字 */
.wpcf7-form label {
	font-weight: bold;
}
/* フォームの下に余白 */
.wpcf7-form p {
	margin-bottom: 30px;
}
/* フォームのカスタマイズ */
.wpcf7-text, .wpcf7-email, .wpcf7-tel, .wpcf7-textarea {
	width: 100%;
	background-color: #fff;
	margin-top: 5px;
}
/* ラジオボタンの左の余白 */
.wpcf7-radio span {
	margin-left: 0;
}
/* ボタンのカスタマイズ */
.wpcf7-submit, .wpcf7-previous {
	display: inline-block;
	width: 240px;
	padding: 1.2em 1em;
	border-radius: 50px;
	background: #680182;/* ここにメインカラー */
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.2em;
	line-height: 1;
	color: #fff!important;
}
/* 必須マーク */
.required {
	color: #fff;
	background: #680182;/* ここにメインカラー */
	font-size: 0.8em;
	padding: 0.3em;
	border-radius: 0.5em;
}

/* Contact Form 7のラジオボタンを縦並びにする */
.wpcf7-radio .wpcf7-list-item {
	display: block;
	margin-top: 5px; /* 上下の間隔はお好みで調整 */
}

/* 作り方
https://vool.jp/swell-follow-banner/
*/

/* フォローバナーのスタイル */
.follow-banner-right {
	position: fixed;
	top: 56%; /* ページの中央に垂直配置 */
	right: 0; /* 右端に固定 */
	transform: translateY(-50%); /* バナーを縦中央に揃える */
	z-index: 20; /* 他の要素の上に表示 */
}

/* リストのスタイル */
ul.follow-banner-right-ul {
	list-style: none; /* リストマークを消す */
}

/* リンクのスタイル */
.follow-banner-right a {
	display: flex;
	align-items: center; /* アイコンとテキストを縦中央に揃える */
	gap: 0.4em; /* アイコンとテキストの間のスペース */
	writing-mode: vertical-rl; /* テキストを縦書きに設定 */
	font-size: 16px; /* フォントサイズ */
	font-weight: 700; /* フォントの太さ */
	letter-spacing: 0.185em; /* 文字間隔 */
	padding: 1.3em 0.8em; /* 内側の余白 */
	border-radius: 10px 0 0 10px; /* 角丸の設定 */
	transition: opacity 0.25s; /* ホバー時の透明度の遷移 */
}

/* ホバー時の透明度変更 */
.follow-banner-right a:hover {
	opacity: 0.7;
}

/* アイコンの中央揃え */
.follow-banner-right .swl-inline-icon::after {
	left: 50%;
	transform: translateX(-50%);
}

/* スマホでは非表示 */
@media screen and (max-width: 599px) {
	.follow-banner-right {
		display: none;
	}
}

/* ボタンごとのスタイル設定 */
.follow-banner-right-01 a {
	color: #fff;
	background-color: var(--color_main); /* メインカラー */
}

.follow-banner-right-02 a {
	color: #fff;
	background-color: #08A380; /* 緑色 */
	text-orientation: upright; /* アルファベットを縦書きに */
}

/* リストアイテムの間隔設定 */
ul.follow-banner-right-ul li {
	margin: 0.8em 0; /* 縦のマージンを設定 */
}

/* ボタンの角丸設定 */
.follow-banner-right a {
	border-radius: 10px 0 0 10px; /* 全てのボタンに共通の角丸 */
}

/* 上側ボタンの角丸設定 */
.follow-banner-right-01 a {
	border-radius: 13px 0 0 13px; /* 上側の角を丸く */
}

/* 下側ボタンの角丸設定 */
.follow-banner-right-02 a {
	border-radius: 13px 0 0 13px; /* 中央は角丸を無効化 */
}

.follow-banner-right-02 a {
	padding: 2em 0.8em; /* 上側ボタンと同じpaddingを指定 */
}

.follow-banner-right a {
	text-decoration: none;
}

#custom_html-17 .c-widget__title,
#custom_html-18 .c-widget__title,
#custom_html-19 .c-widget__title {
	display: none;
}

/* タイトル下の余白（ウィジェット全体の上部余白）が気になる場合は、ウィジェット自体の上マージンも調整 */
#custom_html-17,
#custom_html-18,
#custom_html-19 {
	margin-top: 12px !important;
	padding-top: 0px !important;
}