/* 追加リセット（Topのみ） */
figure {
	margin: 0;
}

table {
	border-collapse: collapse;
}

body{
	background-image: url(/wp-content/themes/kuratomo2022/recruit/fresh/top/img/bg.webp); overflow-x: hidden;
}

/* ユーティリティ（Topのみ） */
.note {
	font-size: 11px;
	color: #bb5f7e;
	top: -8px;
}

/* トップページ：メインビジュアル */
#mainimg {
	width: 100%;
	height: 100vh;
	padding: 0 0 0 0;
	margin: 0;
	position: relative;
	overflow: hidden;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	object-fit: cover;
}

.slider-area-outer {
	position: absolute;
	width: 100%;
	height: 100vh;
	object-fit: cover;
	animation: opening 4s 0s 1 forwards;
}

@keyframes opening {
	0% {
		opacity: 0;
	}

	35% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.slider-area {
	position: relative;
	width: 100%;
	height: 100vh;
	object-fit: cover;
}

.slider-area ::before {
	background-color: rgba(255, 255, 255, 0.6);
	mix-blend-mode: lighten;
	position: absolute;
	width: 100%;
	height: 100%;
	content: "";
	z-index: 2;
}

.slider-area img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.slider-item {
	position: absolute;
	inset: 0;
	opacity: 0;
	z-index: 0;
	animation: slideShow 15s linear infinite;
}

.slider-item:nth-child(1) {
	animation-delay: 2s;
}

.slider-item:nth-child(2) {
	animation-delay: 5s;
}

.slider-item:nth-child(3) {
	animation-delay: 8s;
}

.slider-item:nth-child(4) {
	animation-delay: 11s;
}

.slider-item:nth-child(5) {
	animation-delay: 14s;
}

.slider-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@keyframes slideShow {
	0% {
		opacity: 0;
		transform: scale(1);
	}

	6% {
		opacity: 1;
	}

	20% {
		opacity: 1;
	}

	27% {
		opacity: 0;
	}

	100% {
		opacity: 0;
		transform: scale(1.4);
	}
}

/* トップページ：テキストアニメーション */
.main-txtmov {
	width: 100%;
	text-align: center;
	z-index: 10;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.main-txtmov svg {
	width: 80%;
	max-width: 900px;
	z-index: 6;
}

.main-line {
	width: 100%;
	padding: 100px 20px;
	font-size: 18px;
	line-height: 2.4;
	letter-spacing: 0.1em;
	color: #505050;
	text-align: center;
	opacity: 1;
	font-weight: 500;
	font-family: 'Noto Sans JP', sans-serif;
	mix-blend-mode: darken;
	z-index: 6;
	animation: main-line-mov 5s 0s 1 forwards;
}

@keyframes main-line-mov {
	0% {
		opacity: 0;
	}

	50% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

/* トップページ：スクロールダウンボタン */
.scrolldown-outer {
	position: absolute;
	bottom: 20px;
	left: 0;
	width: 100%;
	display: flex;
	justify-content: center;
	z-index: 3;
	padding: 30px 25px 30px 0;
}

.scrolldown1 {
	position: relative;
	height: 50px;
	margin: 0 0 0 40px;
}

.scrolldown1::before {
	content: "";
	position: absolute;
	top: -22px;
	left: -40px;
	height: 80px;
	width: 80px;
	border-radius: 50%;
	border: #346596 1px solid;
	background-color: #fff;
}

.scrolldown1 span {
	position: absolute;
	left: -15px;
	top: -15px;
	color: #346596;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
}

.scrolldown1::after {
	content: "";
	position: absolute;
	top: 0;
	width: 1px;
	height: 30px;
	background: #346596;
	animation: pathmove 1.4s ease-in-out infinite;
	opacity: 0;
}

/* 人物 */

.ppl-outer {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	align-items: stretch;
	margin: 0 auto;
	padding: 0 20px;
	position: relative;
	z-index: 1;
}

.ppl-inner {
	width: 42%;
	margin: 20px 0 20px 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	color: #505050;
	border-radius: 12px;
	background-color: rgba(255, 255, 255, 0.5);
	box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
}

.ppl-inner-top {
	width: 48% !important;
	margin: 0 !important;
}

.ppl-inner:hover .ppl-pic img {
	transform: scale(1.07);
}

.ppl-pic {
	width: 100%;
	height: 300px;
	object-fit: cover;
	overflow: hidden;
	border-radius: 12px 12px 0 0;
}

.ppl-pic-top {
	height: 160px;
}

.ppl-pic img {
	width: 100%;
	height: 100%;
	transition: transform .3s ease;
	/* ゆっくり変化させる */
	object-fit: cover;
	border-radius: 12px 12px 0 0;
}

.ppl-btn {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background-color: #346596;
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	border: 1px solid #346596;
	color: #fff;
	text-decoration: none;
	outline: none;
	transition: all 0.3s ease-in-out;
	padding: 20px 10px;
	border-radius: 40px;
	margin: 20px 0 0 0;

	&:hover {
		background-color: #fff;
		color: #346596 !important;
	}


}

.ppl-btn-top {
	padding: 16px 10px !important;
	font-size: 17px !important;
}

.ppl-inner:hover .ppl-btn span {
	transform: translateX(5px);
}

.ppl-btn span {
	display: inline-flex;
	font-size: 26px;
	padding: 0 0 0 8px;
	transition: all 0.3s ease-in-out;
}

.ppl-inner1 {
	width: 100%;
	padding: 40px 20px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}

.ppl-inner1-top {
	padding: 20px 20px !important;
}

.ppl-inner1in {
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
}

.ppl-inner1-1 {
	color: #346596;
	font-size: 14px;
	margin: 0 12px 0 0;
	border: 1px solid #346596;
	padding: 4px 12px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
}

.ppl-inner1-2 {
	color: #505050;
	font-size: 28px;
	font-weight: 300;
}

.ppl-inner1-2 span {
	font-size: 12px;
	font-weight: 500;
}

.ppl-eachpage {
	width: 100%;
	margin: 20px 0 20px 0;
	padding: 0 0 20px 0;
	display: flex;
	flex-direction: column;
	color: #505050;
	border-radius: 30px;
	background-color: rgba(255, 255, 255, 0.8);
	box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
}

.ppl-mainpic {
	width: 100%;
	height: 600px;
	object-fit: cover;
	overflow: hidden;
	border-radius: 30px 30px 0 0;
	position: relative;
}

.ppl-mainpic img {
	width: 100%;
	transition: transform .3s ease;
	object-fit: cover;
	border-radius: 30px 30px 0 0;
}

.ppl-mainpic-txt {
	position: absolute;
	top: 50%;
	transform: translatey(-50%);
	padding: 40px;
	color: #fff;
	z-index: 2;
	font-size: 28px;
	font-weight: 300;
	background-color: rgba(52, 101, 150, 0.8);
	box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
}

.ppl-mainpic-txt-l {
	left: 0px !important;
	border-radius: 0 30px 30px 0 !important;
}

.ppl-mainpic-txt-r {
	right: 0px !important;
	border-radius: 30px 0 0 30px !important;
	text-align: left;
}

.ppl-mainpic-txt-s {
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	margin: 8px 0 0 0;
}

.ppl-mainpic-txt-s-1 {
	color: #fff;
	font-size: 14px;
	margin: 0 12px 0 0;
	border: 1px solid #fff;
	padding: 8px 12px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	line-height: 1;
}

.ppl-mainpic-txt-s-2 {
	color: #fff;
	font-size: 32px;
	font-weight: 300;
}

.ppl-mainpic-txt-s-2 span {
	font-size: 12px;
	font-weight: 500;
}

.ppl-each-outer {
	display: flex;
	flex-direction: row;
	padding: 60px 60px 0px 60px;
	justify-content: space-between;
}

.ppl-q {
	position: relative;
	color: #346596;
	font-size: 120%;
	font-weight: 400;
	padding: 0 0 0 0px
}

.ppl-q:before {
	position: absolute;
	content: "";
	left: -40px;
	top: 17px;
	width: 35px;
	height: 1px;
	background-color: #346596;
}

.ppl-a {
	line-height: 2;
	letter-spacing: 0.1em;
	padding: 20px 0 40px 0;
}


.ppl-each-in1 {
	width: 53%;
}

.ppl-each-in2 {
	width: 42%;
}

.ppl-each-in2 img {
	width: 100%;
}

.ppl-btmlink-outer {
	width: 100%;
	display: flex;
	justify-content: center;
}

.ppl-btmlink {
	width: 100%;
	height: 200px;
	margin: 20px 0 40px 0;
	padding: 0;
	display: flex;
	flex-direction: row;
	color: #505050;
	border-radius: 30px;
	background-color: rgba(255, 255, 255, 0.5);
	box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
}

.ppl-btmlink-pic {
	width: 240px;
	height: 200px;
	object-fit: cover;
	overflow: hidden;
	border-radius: 30px 0 0 30px;
}

.ppl-btmlink-pic img {
	width: 240px;
	height: 200px;
	object-fit: cover;
	transition: transform .3s ease;
	/* ゆっくり変化させる */

	border-radius: 30px 0 0 30px;
}

.ppl-btmlink:hover .ppl-btmlink-pic img {
	transform: scale(1.07);
}

.ppl-btmlink:hover .ppl-btn span {
	transform: translateX(5px);
}

.ppl-btmlink-txt {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 20px 40px;
}

.work-ppl-box {
	display: flex;
	width: 100%;
	justify-content: space-between;
	padding: 0px;

}

@keyframes pathmove {
	0% {
		height: 0;
		top: 0;
		opacity: 0;
	}

	30% {
		height: 30px;
		opacity: 1;
	}

	100% {
		height: 0;
		top: 50px;
		opacity: 0;
	}
}

.offsetElementWrapper {
	width: 100%;
	padding: 20px 0;
	/* 左右の余白を0にしてはみ出しを防ぐ、上下は20px維持 */
	overflow: hidden;
	/* 枠からはみ出た部分を非表示にする */
	position: relative;
	/* アニメーションの基準位置をこの枠にする */
	box-sizing: border-box;
	/* paddingを含めて横幅100%にする */
}

.offsetElement1 {
	position: absolute;
	width: 200px;
	height: 200px;
	opacity: 0.4;
	background-image: url("/wp-content/themes/kuratomo2022/recruit/fresh/top/img/b1.webp");
	background-size: 60px;
	background-repeat: no-repeat;
	/* パスアニメーション */
	offset-path: path("M2349.8,417.1c0,194.5-476.2,352.2-1116,352.2S161.8,621.4,161.8,426.9s410-203.8,1049.8-203.8,1138.2-.5,1138.2,194Z");
	offset-rotate: auto 0deg;
	animation: move 6.7s linear infinite;
}

@keyframes move {
	to {
		offset-distance: 100%;
	}
}

.offsetElement2 {
	position: absolute;
	width: 200px;
	height: 200px;
	background-image: url("/wp-content/themes/kuratomo2022/recruit/fresh/top/img/b2.webp");
	background-size: 60px;
	background-repeat: no-repeat;
	offset-path: path("M1744,648.3s-336.3-44-584.6-50.3c-248.3-6.3-741.8,50.3-741.8,50.3-118,0-213.7-95.7-213.7-213.7h0c0-118,95.7-213.7,213.7-213.7,0,0,440,62.9,663.2,66,223.2,3.1,663.2-66,663.2-66,118,0,213.7,95.7,213.7,213.7h0c0,118-95.7,213.7-213.7,213.7Z");
	offset-rotate: auto 180deg;
	animation: move2 7.4s linear infinite;
	opacity: 0.3;
}

@keyframes move2 {
	to {
		offset-distance: 100%;
	}
}

/* トップページ用メディアクエリ */
@media screen and (max-width: 899px) {
	#mainimg {
		padding-bottom: 0px;
	}

	.ppl-pic {
		height: 200px;
	}

	.ppl-inner1 {
		padding: 20px 20px;
	}
}

@media screen and (max-width: 699px) {
	.main-txtmov {
		top: 47%;
	}

	.main-txtmov svg {
		width: 100%;
	}

	.main-line {
		padding: 60px 20px;
		font-size: 16px;
		line-height: 2;
		letter-spacing: 0;
	}

	.scrolldown-outer {
		bottom: 20vh;
		padding: 0px 20px 0px 0;
	}

	.scrolldown1::before {
		top: -22px;
		left: -40px;
		height: 60px;
		width: 60px;
	}

	.scrolldown1 span {
		left: -22px;
		top: -18px;
		font-size: 0.6rem;
	}

	.scrolldown1::after {
		left: -10px;
		height: 20px;
	}

	@keyframes pathmove {
		0% {
			height: 0;
			top: 0;
			opacity: 0;
		}

		30% {
			height: 20px;
			opacity: 1;
		}

		100% {
			height: 0;
			top: 30px;
			opacity: 0;
		}
	}

	.content-outer {
		/* トップページ特有の順序指定が含まれるため */
		flex-direction: column;
		margin-bottom: 0px;
		padding: 0 0px;
	}

	.fortopto1 {
		order: 1 !important;
	}

	.fortopto {
		order: 3 !important;
	}

	.work-ppl-box {
		flex-wrap: wrap;
		flex-direction: column;
		padding: 0 0px 0px 0px;

	}

	.ppl-outer {
		padding: 0 0px;
	}

	.ppl-inner {
		width: 100% !important;
		margin: 20px 0 !important;
	}

	.ppl-mainpic {
		height: 200px;
		margin: 0 0 200px 0;
		overflow: visible;
	}

	.ppl-mainpic img {
		height: auto;
		width: 100%;
	}

	.ppl-mainpic-txt-l,
	.ppl-mainpic-txt-r {

		border-radius: 0 0 0px 0px !important;
	}

	.ppl-mainpic-txt {
		transform: none;
		top: 199px;
		width: 100%;
		padding: 20px;
		font-size: 20px;
		background-color: rgba(52, 101, 150, 1);
	}

	.ppl-each-outer {
		flex-direction: column;
		padding: 60px 20px 0px 20px;
	}

	.ppl-each-in1 {
		width: 100%;
	}

	.ppl-each-in2 {
		width: 100%;
		order: 2;
	}

	.ppl-q:before {
		left: -18px;
		width: 15px;
	}
}

