@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
/*------------------------------------------------------------
	base
------------------------------------------------------------*/
#main * {
	box-sizing: border-box;
	font-family: "LINE Seed JP", sans-serif;
}
#main {
	position: relative;
}
#main::before {
	position: absolute;
	z-index: -5;
	content: "";
	display: inline-block;
	width: 100%;
	height: 100%;
	background: #FCF6EC;
}
.content {
	max-width: 1280px;
	margin: 0 auto;
	color: #4A2613;
}
.content-ls {
	max-width: 1200px;
	margin: 0 auto;
	color: #4A2613;
}
.content-s {
	max-width: 1000px;
	margin: 0 auto;
	color: #4A2613;
}
.content-w {
	max-width: 1400px;
	margin: 0 auto;
	color: #4A2613;
}
@media only screen and (max-width: 896px) {
	.content,
	.content-s,
	.content-ls,
	.content-w {
		padding: 0 10px;
	}
}
figure {
	margin: 0;
	padding: 0;
}
@keyframes image-slide1 {
	0% {
		transform: translateX(0%);
	}
	100% {
		transform: translateX(-200%);
	}
}
@keyframes image-slide2 {
	0% {
		transform: translateX(100%);
	}
	100% {
		transform: translateX(-100%);
	}
}
@media only screen and (min-width: 897px) {
	.mobile-br {
		display: none !important;
	}
}
@media only screen and (max-width: 896px) {
	.pc-br {
		display: none !important;
	}
}
/*------------------------------------------------------------
	common & utility
------------------------------------------------------------*/
.title-h1 {
	position: relative;
	display: flex;
	align-items: center;
	height: 220px;
	background: linear-gradient(to right top, #4A2613, #884C32);
	background-size: cover;
}
.title-h2-01 {
	position: relative;
	display: flex;
	justify-content: center;
	margin: 0 0 32px;
	padding: 95px 0 0;
}
.title-h2-01::after {
	position: absolute;
	z-index: -1;
	left: 0;
	right: 0;
	top: 50px;
	content: "";
	display: inline-block;
	width: 230px;
	height: 230px;
	margin: auto;
	background: url("/dlc/images/passio/recruit-ex/title-h2-01-bg.webp") no-repeat;
}
.title-h2-01 h2 {
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-indent: 0.05em;
	line-height: 1.4;
	color: #4A2613;
	text-align: center;
}
.title-h2-02 {
	display: flex;
	align-items: center;
	justify-content: center;
}
.title-h2-02 span {
	display: flex;
	justify-content: center;
	color: #916752;
}
.title-h2-02 span.en {
	margin: 0 0 20px;
	font-size: 93px;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-indent: 0.05em;
	line-height: 1;
}
.title-h2-02 span.jp {
	font-size: 15px;
	font-weight: 400;
}
.title-h2-03 h2 {
	position: relative;
}
.title-h2-03 span {
	display: flex;
	justify-content: center;
	color: #916752;
}
.title-h2-03 span.en {
	position: absolute;
	z-index: -1;
	left: 0;
	right: 0;
	top: -40px;
	font-size: 120px;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-indent: 0.05em;
	line-height: 1;
	color: #FCF6EC;
}
.title-h2-03 span.jp {
	font-size: 34px;
	font-weight: 700;
	color: #4A2613;
	letter-spacing: 0.05em;
	text-indent: 0.05em;
}
.page-top a {
	background: linear-gradient(to right top, #4A2613, #884C32);
}
.page-top a:hover {
	background: #FFF;
	border: 1px solid #4A2613;
}
.page-top a:hover img {
	filter: brightness(0) saturate(100%) invert(14%) sepia(43%) saturate(882%) hue-rotate(336deg) brightness(101%) contrast(94%);
}
.cnv {
	display: flex;
	justify-content: center;
}
.cnv ul {
	display: flex;
	gap: 0 20px;
}
.cnv ul li a {
	position: relative;
	display: flex;
	align-items: center;
	width: 420px;
	min-height: 100px;
	padding: 0 0 0 40px;
	border-radius: 80px;
	font-size: 20px;
	font-weight: 700;
	transition: .3s;
}
.cnv ul li a::after {
	position: absolute;
	right: 40px;
	top: 46%;
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	rotate: -45deg;
	transition: .3s;
}
.cnv ul li a.btn-entry {
	background: #E8622A;
	border: 2px solid #E8622A;
	color: #FFF;
}
.cnv ul li a.btn-entry::after {
	border-right: 2px solid #FFF;
	border-bottom: 2px solid #FFF;
}
.cnv ul li a.btn-entry:hover {
	background: #FFF;
	color: #E8622A;
}
.cnv ul li a.btn-entry:hover::after {
	border-right: 2px solid #E8622A;
	border-bottom: 2px solid #E8622A;
}
.cnv ul li a.btn-requirements {
	background: #FCF6EC;
	border: 2px solid #4A2613;
	color: #4A2613;
}
.cnv ul li a.btn-requirements::after {
	border-right: 2px solid #4A2613;
	border-bottom: 2px solid #4A2613;
}
.cnv ul li a.btn-requirements:hover {
	background: #4A2613;
	color: #FFF;
}
.cnv ul li a.btn-requirements:hover::after {
	border-right: 2px solid #FFF;
	border-bottom: 2px solid #FFF;
}
@media only screen and (max-width: 896px) {
	.title-h2-01 h2 {
		font-size: 24px;
	}
	.title-h2-02 span.en {
		margin: 0 0 10px;
		font-size: 28px;
	}
	.title-h2-03 span.en {
		top: -10px;
		font-size: 50px;
	}
	.title-h2-03 span.jp {
		font-size: 24px;
	}
	.cnv,
	.cnv ul {
		display: block;
		margin: 0 10px;
	}
	.cnv ul li:first-child {
		margin: 0 0 15px;
	}
	.cnv ul li a {
		width: 100%;
		min-height: 80px;
		font-size: 18px;
	}
}
/*------------------------------------------------------------
	mv
------------------------------------------------------------*/
#mv .mv-item {
	position: relative;
	width: calc( 100% - 60px );
	height: 570px;
	overflow: hidden;
}
#mv .mv-item .mv-image {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	background: url("/dlc/images/passio/recruit-ex/mv-donut.webp") no-repeat center top;
	background-size: cover;
	border-radius: 0 40px 0 0;
	height: 570px;
	-webkit-mask-image: url("/dlc/images/passio/recruit-ex/mv-mask.svg");
	mask-image:   url("/dlc/images/passio/recruit-ex/mv-mask.svg");
	-webkit-mask-size: 1340px 570px;
	mask-size: 1340px 570px;
	-webkit-mask-position: top right;
	mask-position: top right;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}
#mv .mv-item .mv-image h2 {
	position: absolute;
	z-index: 1;
	left: 60px;
	bottom: 104px;
	font-size: 32px;
	font-weight: 700;
	color: #FFF;
	letter-spacing: 0.05em;
	text-shadow: 0 1px 3px rgb(0 0 0 / 20%), 0 3px 12px rgba(0, 0, 0, 0.3);
}
#mv .mv-item .text {
	position: absolute;
	right: 0;
	top: 345px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 640px;
	height: 225px;
	padding: 0 0 0 70px;
	border-radius: 40px 0 0 0;
	background: #FCF6EC;
}
#mv .mv-item .text dl {
	margin: 0 0 25px;
}
#mv .mv-item .text dl dt {
	margin: 0 0 15px;
	font-size: 25px;
	font-weight: 700;
	color: #4A2613;
}
#mv .mv-item .text dl dd {
	font-size: 18px;
	line-height: 1.8;
	color: #4A2613;
}
#mv .mv-item .text ul {
	display: flex;
	gap: 0 10px;
}
#mv .mv-item .text ul li {
}
#mv .mv-item .text ul li .btn-01,
#mv .mv-item .text ul li .btn-02 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 270px;
	height: 60px;
	border: 1px solid #E8622A;
	border-radius: 30px;
	transition: .3s;
}
#mv .mv-item .text ul li .btn-01 {
	background: #E8622A;
	color: #FFF;
}
#mv .mv-item .text ul li .btn-02 {
	background: #FCF6EC;
	color: #E8622A;
}
#mv .mv-item .text ul li a.btn-01:hover {
	background: #FCF6EC;
	color: #E8622A;
}
#mv .mv-item .text ul li a.btn-02:hover {
	background: #E8622A;
	color: #FFF;
}
#mv .mv-catchcopy {
	margin: 0 auto;
}
#mv .mv-catchcopy p {
	opacity: 0.12;
	font-size: 6.642857142857143vw;
	font-weight: 700;
	color: #6B3A1F;
	text-align: center;
}
@media only screen and (min-width: 1401px) {
	/*
	#mv .mv-item .mv-image {
		-webkit-mask-image: unset;
		mask-image: unset;
		-webkit-mask-size: unset;
		mask-size: unset;
		-webkit-mask-position: unset;
		mask-position: unset;
		-webkit-mask-repeat: unset;
		mask-repeat: unset;
	}
	*/
	#mv .mv-item .mv-image {
		-webkit-mask-image: url("/dlc/images/passio/recruit-ex/mv-mask.svg"), url("/dlc/images/passio/recruit-ex/mv-mask.svg");
		mask-image:   url("/dlc/images/passio/recruit-ex/mv-mask.svg"), url("/dlc/images/passio/recruit-ex/mv-mask.svg");
		-webkit-mask-size: 1340px 570px, calc( 100% - 1340px ) 570px;
		mask-size: 1340px 570px, auto 570px;
		-webkit-mask-position: top right, top left;
		mask-position: top right, top left;
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
	}
}
@media only screen and (max-width: 896px) {
	#mv .mv-item {
		width: 100%;
		height: unset;
		overflow: visible;
	}
	#mv .mv-item .mv-image h2 {
		left: 10px;
		bottom: 10px;
		font-size: 22px;
	}
	#mv .mv-item .mv-image {
		height: unset;
		aspect-ratio: 2 / 1;
	}
	#mv .mv-item .text {
		position: static;
		width: 100%;
		padding: 50vw 15px 0 15px;
		height: unset;
	}
	#mv .mv-item .text dl {
		padding: 20px 0 0 0;
		margin: 0 0 20px;
	}
	#mv .mv-item .text dl dt {
		font-size: 22px;
		margin: 0 0 5px;
	}
	#mv .mv-item .text dl dd {
		font-size: 16px;
	}
	#mv .mv-item .text ul {
		flex-direction: column;
		align-items: center;
		gap: 10px 0;
		margin: 0 0 20px;
	}
}
/*------------------------------------------------------------
	recruit
------------------------------------------------------------*/
#recruit {
	position: relative;
	padding: 0 0 175px;
	overflow: hidden;
}
#recruit h3 {
	position: relative;
	margin: 0 0 15px;
	padding: 0 0 0 15px;
	font-size: 13px;
	font-weight: 700;
	color: #E8622A;
	letter-spacing: 0.05em;
}
#recruit h3::before {
	position: absolute;
	left: 0;
	top: 6px;
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 100%;
	background: #E8622A;
}
#recruit dl dt {
	margin: 0 0 35px;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#recruit dl dd {
	margin: 0 0 50px;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.8;
}
#recruit .cnv {
	position: relative;
	z-index: 1;
}
@media only screen and (max-width: 896px) {
	#recruit {
		padding: 0 0 75px;
	}
	#recruit .content {
		padding: 0 0;
	}
	#recruit h3 {
		margin: 0 0 10px;
	}
	#recruit dl dt {
		margin: 0 0 10px;
		font-size: 24px;
	}
	#recruit dl dd {
		margin: 0 0 25px;
		font-size: 17px;
	}
}
#recruit .guidelines {
	padding: 70px 0;
	border-radius: 40px;
	background: #FFF;
}
#recruit .guidelines .item {
	display: flex;
	gap: 0 90px;
	flex-direction: row-reverse;
	max-width: 1000px;
	margin: 0 auto;
}
#recruit .guidelines .item .text {
	flex-basis: calc( 100% - 610px );
}
#recruit .guidelines .item .text dl dt {
	font-size: 48px;
}
#recruit .guidelines .item .text dl dd {}
#recruit .guidelines .item .text ul {
	display: flex;
	gap: 0 10px;
	margin: 0 0 30px;
}
#recruit .guidelines .item .text ul li {
	padding: 12px 18px;;
	border-radius: 30px;
	background: #F0E6DB;
	font-size: 16px;
}
#recruit .guidelines .item .text .model {
	display: flex;
	gap: 0 15px;
	margin: 0 0 40px;
}
#recruit .guidelines .item .text .model dl {
	min-width: 260px;
	padding: 10px 15px 12px;
	border: 1px solid #E8622A;
	border-radius: 10px;
}
#recruit .guidelines .item .text .model dl dt {
	margin: 0 0 0;
	padding: 0 0 0 15px;
	position: relative;
	font-size: 16px;
	font-weight: 400;
	color: #E8622A;
}
#recruit .guidelines .item .text .model dl dt::before {
	position: absolute;
	left: 0;
	top: 8px;
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 100%;
	background: #E8622A;
}
#recruit .guidelines .item .text .model dl dd {
	margin: 0 0 0;
	font-size: 40px;
	font-weight: 400;
	color: #E8622A;
	text-align: center;
}
#recruit .guidelines .item .text .model dl dd span {
	font-size: 20px;
	font-weight: 400;
	color: #E8622A;
}
#recruit .guidelines .item .text .link {
	display: flex;
	align-items: center;
	height: 60px;
}
#recruit .guidelines .item .text .link a {
	display: flex;
	align-items: center;
	padding: 0 0 0 80px;
	position: relative;
	font-size: 18px;
	font-weight: 700;
	color: #4A2613;
	transition: .3s;
}
#recruit .guidelines .item .text .link a:hover {
	opacity: .8;
}
#recruit .guidelines .item .text .link a::before {
	position: absolute;
	left: 0;
	top: -15px;
	content: "";
	display: inline-block;
	width: 60px;
	height: 60px;
	box-sizing: border-box;
	border-radius: 100%;
	border: 1px solid #4A2613;
}
#recruit .guidelines .item .text .link a::after {
	position: absolute;
	left: 27px;
	top: 13px;
	content: "";
	display: inline-block;
	width: 4px;
	height: 4px;
	border-right: 1px solid #4A2613;
	border-bottom: 1px solid #4A2613;
	rotate: -45deg;
}
#recruit .guidelines .item .image {
	position: relative;
	flex-basis: 520px;
}
#recruit .guidelines .item .image img {
	position: absolute;
	left: 0;
	top: 0;
	max-width: 580px;
}
@media only screen and (max-width: 896px) {
	#recruit .guidelines {
		padding: 30px 15px;
		border-radius: 20px;
	}
	#recruit .guidelines .item {
		display: block;
	}
	#recruit .guidelines .item .text dl dt {
		font-size: 26px;
	}
	#recruit .guidelines .item .text ul {
		display: block;
	}
	#recruit .guidelines .item .text ul li {
		margin: 0 0 10px;
		text-align: center;
	}
	#recruit .guidelines .item .text ul li:last-child {
		margin: 0 0 0;
	}
	#recruit .guidelines .item .text .model {
		display: block;
	}
	#recruit .guidelines .item .text .model dl {
		width: 100%;
		min-width: unset;
	}
	#recruit .guidelines .item .text .model dl:first-child {
		margin: 0 0 10px;
	}
	#recruit .guidelines .item .image img {
		position: static;
		max-width: 100%;
		margin: 0 0 10px;
		border-radius: 20px;
	}
	#recruit .guidelines .item .text .link {
		justify-content: center;
	}
	#recruit .guidelines .item .image {
		margin: 0 0 25px;
	}
}
#recruit .highlights {
	padding: 110px 0 130px;
}
#recruit .highlights .highlights-in {
}
#recruit .highlights .highlights-in .item {
	display: flex;
	align-items: center;
	gap: 0 50px;
	margin: 0 0 60px;
}
#recruit .highlights .highlights-in .item .image {
	position: relative;
	flex-basis: 390px;
	padding: 0 0 0 40px;
}
#recruit .highlights .highlights-in .item .image img {
	position: relative;
	z-index: 0;
}
#recruit .highlights .highlights-in .item .image span.num {
	position: absolute;
	left: 0;
	top: -25px;
}
#recruit .highlights .highlights-in .item .image span.num i {
	position: absolute;
	z-index: 2;
	left: 25px;
	top: 25px;
	font-style: normal;
	font-size: 20px;
	letter-spacing: 0.1em;
	color: #E8622A;
}
#recruit .highlights .highlights-in .item .image span::before {
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	content: "";
	display: inline-block;
	width: 80px;
	height: 80px;
	border: 1px dotted #E8622A;
	border-radius: 100%;
	background: #FCF6EC;
}
#recruit .highlights .highlights-in .item .text {
	flex-basis: calc( 100% - 440px );
}
#recruit .highlights .highlights-in .item .text dt {
	margin: 0 0 20px;
	font-size: 25px;
	font-weight: 700;
}
#recruit .highlights .highlights-in .item .text dd {
	margin: 0 0 0;
	font-size: 18px;
}
@media only screen and (max-width: 896px) {
	#recruit .highlights {
		padding: 55px 5px 65px;
	}
	#recruit .highlights dl dd {
		margin: 0 0 50px;
	}
	#recruit .highlights .highlights-in .item {
		display: block;
	}
	#recruit .highlights .highlights-in .item .text dt {
		margin: 0 0 10px;
		font-size: 22px;
	}
	#recruit .highlights .highlights-in .item .image {
		margin: 0 0 15px;
		padding: 0 0 0 0;
	}
}
#recruit .strength {
	position: relative;
	margin: 0 0 50px;
}
#recruit .strength::before {
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	content: "";
	display: inline-block;
	width: 50%;
	height: 100%;
	background: #F0E6DB;
}
#recruit .strength .content {
	position: relative;
	padding: 90px 0 0 0;
	border-radius: 40px;
	background: #F0E6DB;
}
#recruit .strength .content::before {
	position: absolute;
	z-index: 1;
	left: -275px;
	bottom: -330px;
	content: "";
	display: inline-block;
	width: 413px;
	height: 413px;
	background: url("/dlc/images/passio/recruit-ex/donut-01.svg") no-repeat;
	background-size: cover;
}
#recruit .donut {
	position: relative;
	max-width: 1000px;
	margin: auto;
}
#recruit .donut::after {
	position: absolute;
	z-index: 1;
	right: -300px;
	bottom: -300px;
	content: "";
	display: inline-block;
	width: 354px;
	height: 354px;
	background: url("/dlc/images/passio/recruit-ex/donut-01.svg") no-repeat;
	background-size: cover;
	rotate: 180deg;
}
#recruit .strength .content .content-s {
	padding: 0 0 120px;
}
#recruit .strength .item {
	display: flex;
	gap: 0 78px;
}
#recruit .strength .item.task {
	flex-direction: row-reverse;
}
#recruit .strength .item .points h3 {
	margin: 0 0 10px;
	padding: 0 0 0 0;
}
#recruit .strength .item .points h3::before {
	content: unset;
}
#recruit .strength dl dd strong {
	display: block;
	margin: 0 0 10px;
}
#recruit .strength .item .text {
	flex-basis: calc( 100% - 466px );
}
#recruit .strength .item .text ul {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 12px;
}
#recruit .strength .item .text .points ul li {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	border: 1px solid #E8622A;
	border-radius: 10px;
}
#recruit .strength .item.task .text .points ul li {
	min-width: 170px;
	min-height: 120px;
}
#recruit .strength .item.env .text .points ul li {
	min-width: 260px;
	min-height: 120px;
	max-height: 120px;
	align-items: unset;
	justify-content: unset;
}
#recruit .strength .item.env .text .points ul li:nth-of-type(3) {
	align-items: center;
	justify-content: center;
}
#recruit .strength .item .text .points ul li .icon {
	margin: 0 0 12px;
}
#recruit .strength .item .text .points ul li span {
	font-size: 16px;
	color: #E8622A;
}
#recruit .strength .item .text .points ul li dl dt {
	margin: 0 0 0;
	padding: 0 0 0 12px;
	position: relative;
	font-size: 16px;
	font-weight: 400;
	color: #E8622A;
}
#recruit .strength .item .text .points ul li dl dt {
	margin: 12px 20px 0 20px;
}
#recruit .strength .item .text .points ul li dl dt::before {
	position: absolute;
	left: 0;
	top: 9px;
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	border-radius: 100%;
	background: #E8622A;
}
#recruit .strength .item .text .points ul li dl dd {
	margin: 0 0 0;
	font-size: 20px;
	font-weight: 400;
	color: #E8622A;
	text-align: center;
}
#recruit .strength .item .text .points ul li dl dd strong {
	display: inline-block;
	font-size: 40px;
	font-weight: 400;
	color: #E8622A;
}
#recruit .strength .item .text .points ul li p {
	font-size: 20px;
	color: #E8622A;
}
#recruit .strength .item.task .image {
	flex-basis: 388px;
}
#recruit .strength .item.env .image {
	flex-basis: 390px;
}
#recruit .strength .item .image ul {
	position: relative;
}
#recruit .strength .item .image ul li {
}
#recruit .strength .item.task .image ul li:first-child img {
	position: absolute;
	left: -100px;
	top: -130px;
	max-width: 380px;
}
#recruit .strength .item.task .image ul li:nth-of-type(2) img {
	position: absolute;
	right: 0;
	top: 230px;
	max-width: 260px;
}
#recruit .strength .item.env .image ul li:first-child img {
	position: absolute;
	left: 0;
	top: 0;
	max-width: 490px;
}
@media only screen and (max-width: 896px) {
	#recruit .strength {
		margin: 0 0 25px;
	}
	#recruit .strength::before {
		content: unset;
	}
	#recruit .strength .content {
		padding: 25px 0 0 0;
		border-radius: 20px;
	}
	#recruit .strength .content .content-s {
		padding: 0 15px 60px;
	}
	#recruit .strength .content::before {
		left: -110px;
		bottom: -150px;
		width: 206px;
		height: 206px;
		background-size: contain;
	}
	#recruit .donut::after {
		content: unset;
	}
	#recruit .strength .item {
		display: block;
	}
	#recruit .strength .item .text .points {
		margin: 0 0 20px;
	}
	#recruit .strength .item.task .text .points ul li {
		min-width: unset;
		flex-basis: calc( 50% - 7.5px );
	}
	#recruit .strength .item.env .text .points ul li {
		width: 100%;
		min-width: unset;
		max-width: unset;
	}
	#recruit .strength .item.task .image ul li:first-child img {
		position: static;
		max-width: 220px;
	}
	#recruit .strength .item.task .image ul li:nth-of-type(2) img {
		max-width: 170px;
		top: 120px;
	}
	#recruit .strength .item.env .image ul li:first-child img {
		position: static;
		max-width: 100%;
	}
}
/*------------------------------------------------------------
	story
------------------------------------------------------------*/
#story {
	position: relative;
	padding: 175px 0 200px;
	overflow: hidden;
}
#story .content-w {
	position: relative;
	padding: 0 0 30px;
}
#story .content-w::before {
	content: "";
	position: absolute;
	z-index: -2;
	left: 0;
	top: 0;
	display: inline-block;
	width: 100%;
	height: 100%;
	border-radius: 50px 50px 0 0;
	background: #FFF;
}
#story .content-w::after {
	content: "";
	position: absolute;
	z-index: -1;
	left: 0;
	top: 80%;
	display: inline-block;
	width: 100%;
	height: 20%;
	background: linear-gradient(to bottom, #FFF, #FCF6EC);
}
#story .title-h2-02 {
	position: relative;
}
#story .title-h2-02::before {
	position: absolute;
	z-index: -3;
	left: 200px;
	top: -175px;
	content: "";
	display: inline-block;
	width: 273px;
	height: 273px;
	background: url("/dlc/images/passio/recruit-ex/donut-02.svg") no-repeat;
	background-size: cover;
}
#story .donut {
	position: relative;
	max-width: 1000px;
	margin: auto;
}
#story .donut::after {
	position: absolute;
	z-index: 1;
	right: -300px;
	top: -515px;
	content: "";
	display: inline-block;
	width: 354px;
	height: 354px;
	background: url("/dlc/images/passio/recruit-ex/donut-01.svg") no-repeat;
	background-size: cover;
	rotate: 180deg;
}
#story .title-h2-02 h2 {
	margin: -45px 0 20px;		
}
#story .story {
	max-width: 1150px;
	margin: 0 auto;
	padding: 70px 0 70px 50px;
}
#story .story.first {
	border-bottom: 4px solid #FCF6EC;
}
#story .story > dl {
	margin: 0 0 90px;
}
#story .story > dl dt {
	margin: 0 0 10px;
	font-size: 34px;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#story .story > dl dd {
	font-size: 18px;
	line-height: 1.8;
}
#story .story .item {
	display: flex;
	gap: 0 80px;
}
#story .story .item .image {}
#story .story .item .image .story-image {
	position: relative;
	margin: 0 0 45px;
}
#story .story .item .image .story-image span.num {
	position: absolute;
	left: -30px;
	top: -60px;
	font-size: 80px;
	font-weight: 400;
	color: #E8622A;
}
#story .story .item .image .story-image img {
	max-width: 510px;
}
#story .story .item .image dl dt {
	margin: 0 0 20px;
	padding: 0 0 20px;
	border-bottom: 1px solid #4A2613;
}
#story .story .item .image dl dt strong {
	display: block;
	margin: 0 0 5px;
	font-size: 20px;
}
#story .story .item .image dl dt span {
	display: block;
	font-size: 15px;
}
#story .story .item .image dl dd p {
	margin: 0 0 20px;
	font-size: 18px;
	line-height: 1.8;
}
#story .story .item .image dl dd p:last-child {
	margin: 0 0 0;
}
#story .story .item .text {}
#story .story .item .text > dl {
	margin: 0 0 40px;
}
#story .story .item .text > dl dt {
	margin: 0 0 10px;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.8;
}
#story .story .item .text > dl dd {
	font-size: 18px;
	line-height: 1.8;
}
#story .story .item .text > ul {
	display: flex;
	gap: 0 3px;
	margin: 0 0 45px;
}
#story .story .item .text > ul li {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 168px;
	min-height: 160px;
	background: #FCF6EC;
}
#story .story .item .text > ul li:first-child {
	border-radius: 12px 0 0 12px;
}
#story .story .item .text > ul li:last-child {
	border-radius: 0 12px 12px 0;
}
#story .story .item .text > ul li > dl {
	display: flex;
	align-items: center;
	flex-direction: column;
}
#story .story .item .text > ul li > dl dt {
	margin: 0 0 0;
	font-size: 20px;
}
#story .story .item .text > ul li > dl dt span.num {
	font-size: 40px;
}
#story .story .item .text > ul li > dl dt.large {
	margin: 8px 0 10px;
	font-size: 30px;
}
#story .story .item .text > ul li > dl dd {
	font-size: 15px;
}
#story .story .item .text .career dl {
	position: relative;
	padding: 0 0 25px;
}
#story .story .item .text .career dl::before {
	position: absolute;
	z-index: 0;
	left: 6px;
	top: 10px;
	content: "";
	display: inline-block;
	width: 1px;
	height: 100%;
	background: #E8622A;
}
#story .story .item .text .career dl:last-child::before {
	background-image: repeating-linear-gradient(to bottom, #E8622A, #E8622A 2px, #FFF 2px, #FFF 4px);
	height: calc( 100% - 20px );
}
#story .story .item .text .career dl dt {
	position: relative;
	margin: 0 0 5px;
	padding: 0 0 0 25px;
	font-size: 16px;
	font-weight: 700;
	color: #E8622A;
}
#story .story .item .text .career dl dt::before {
	content: "";
	position: absolute;
	z-index: 1;
	left: 0;
	top: 6px;
	display: inline-block;
	width: 13px;
	height: 13px;
	box-sizing: border-box;
	border: 2px solid #E8622A;
	border-radius: 100%;
	background: #FFF;
}
#story .story .item .text .career dl.current dt::before {
	background: #E8622A;
}
#story .story .item .text .career dl dd {
	padding: 0 0 0 25px;
	font-size: 16px;
}
#story .story .item .text .work-area {
	display: flex;
	align-items: center;
	gap: 0 14px;
	margin: 10px 0 0;
	padding: 17px 20px;
	box-sizing: border-box;
	border: 1px solid #E8622A;
	border-radius: 10px;
}
#story .story .item .text .work-area-icon {
	position: relative;
	display: block;
	flex: 0 0 20px;
	width: 20px;
	height: 26px;
}
#story .story .item .text .work-area-icon::before {
	position: absolute;
	left: 2px;
	top: 1px;
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	box-sizing: border-box;
	border: 3px solid #E8622A;
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
}
#story .story .item .text .work-area-icon::after {
	position: absolute;
	left: 7px;
	top: 6px;
	content: "";
	display: block;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #E8622A;
}
#story .story .item .text .work-area-text p {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
}
#story .story .item .text .work-area-text p.work-area-title {
	margin: 0 0 4px;
	font-size: 16px;
	font-weight: 700;
}
@media only screen and (max-width: 896px) {
	#story {
		padding: 75px 0 100px;
	}
	#story .content-w::before {
		border-radius: 20px 20px 0 0;
	}
	#story .title-h2-02 h2 {
		margin: -15px 0 10px;
	}
	#story .title-h2-02::before {
		left: 30px;
		top: -74px;
		width: 136px;
		height: 136px;
		background-size: contain;
	}
	#story .story {
		padding: 35px 15px 35px 15px;
	}
	#story .story > dl {
		margin: 0 0 45px;
	}
	#story .story > dl dt {
		font-size: 24px;
	}
	#story .story .item {
		display: block;
	}
	#story .story .item .image {
		margin: 0 0 20px;
	}
	#story .story .item .image dl dd p {
		font-size: 17px;
	}
	#story .story .item .image .story-image {
		margin: 0 0 20px;
	}
	#story .story .item .image .story-image span.num {
		left: 0;
		top: -25px;
		font-size: 35px;
	}
	#story .story .item .image .story-image img {
		max-width: 100%;
	}
	#story .story .item .text > dl dt {
		font-size: 22px;
	}
	#story .story .item .text > ul {
		margin: 0 0 20px;
	}
	#story .story .item .text > ul li {
		min-width: calc( 100% / 3 );
	}
	#story .story .item .text > ul li > dl dd {
		font-size: 13px;
	}
	#story .story .item .text .work-area {
		margin: 5px 0 0;
		padding: 15px;
	}
	#story .story .item .text .work-area-text p,
	#story .story .item .text .work-area-text p.work-area-title {
		font-size: 14px;
	}
}
/*------------------------------------------------------------
	career
------------------------------------------------------------*/
#career {
	padding: 0 0 300px;
	overflow: hidden;
}
#career .career-path {
	position: relative;
}
#career .career-path::after {
	position: absolute;
	z-index: -1;
	left: 50%;
	top: 0;
	content: "";
	display: inline-block;
	width: 50%;
	height: 100%;
	background: #6B3A1F;
}
#career .career-path .content {
	padding-bottom: 88px;
	border-radius: 40px;
	background: #6B3A1F;
}
#career .career-path .text {
	display: flex;
	justify-content: space-between;
	padding: 88px 140px 88px 90px;
}
#career .career-path .text dl {}
#career .career-path .text dl dt {
	position: relative;
	padding: 0 0 0 15px;
	font-size: 13px;
	font-weight: 700;
	color: #E8622A;
	letter-spacing: 0.05em;
}
#career .career-path .text dl dt::before {
	position: absolute;
	left: 0;
	top: 6px;
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 100%;
	background: #E8622A;
}
#career .career-path .text dl dd {
	font-size: 32px;
	font-weight: 700;
	color: #FFF;
	letter-spacing: 0.05em;
}
#career .career-path .text p {
	font-size: 18px;
	text-align: right;
	color: #FFF;
}
#career .career-path .item {
	display: flex;
	gap: 0 32px;
	margin: 0 0 75px;
}
#career .career-path .item dl {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	min-width: 226px;
	min-height: 232px;
	border-radius: 10px;
	background: #FFF;
	text-align: center;
}
#career .career-path .item dl:last-child {
	border: 4px solid #E8622A;
}
#career .career-path .item dl::before {
	position: absolute;
	right: -18px;
	top: 48%;
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	border-right: 3px solid #FFF;
	border-bottom: 3px solid #FFF;
	rotate: -45deg;
}
#career .career-path .item dl:last-child::before {
	content: unset;
}
#career .career-path .item dl dt {
	width: calc( 100% - 28px );
	margin: 0 auto;
	border-bottom: 1px solid #D5BCB0;
}
#career .career-path .item dl dt span {
	display: block;
}
#career .career-path .item dl dt span.step {
	margin: 0 0 20px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#career .career-path .item dl dt span.ex {
	margin: 0 0 20px;
	font-size: 15px;
}
#career .career-path .item dl dt strong {
	display: block;
	margin: 0 0 10px;
	font-size: 20px;
	font-weight: 700;
}
#career .career-path .item dl dd {
	padding: 20px 0 0;
	font-size: 18px;
	font-weight: 700;
	color: #E8622A;
}
#career .career-path .item + .link {
	display: flex;
	align-items: center;
	height: 60px;
}
#career .career-path .item + .link a {
	display: flex;
	align-items: center;
	padding: 0 0 0 80px;
	position: relative;
	font-size: 18px;
	font-weight: 700;
	color: #FFF;
	transition: .3s;
}
#career .career-path .item + .link a:hover {
	opacity: .8;
}
#career .career-path .item + .link a::before {
	position: absolute;
	left: 0;
	top: -15px;
	content: "";
	display: inline-block;
	width: 60px;
	height: 60px;
	box-sizing: border-box;
	border-radius: 100%;
	border: 1px solid #FFF;
}
#career .career-path .item + .link a::after {
	position: absolute;
	left: 27px;
	top: 13px;
	content: "";
	display: inline-block;
	width: 4px;
	height: 4px;
	border-right: 1px solid #FFF;
	border-bottom: 1px solid #FFF;
	rotate: -45deg;
}
@media only screen and (max-width: 896px) {
	#career {
		padding: 0 0 150px;
	}
	#career .career-path .content {
		padding-bottom: 40px;
		border-radius: 20px;
	}
	#career .career-path .text dl dt {
		margin: 0 0 10px;
	}
	#career .career-path .text {
		display: block;
		padding: 25px 10px 0 10px;
	}
	#career .career-path .text dl dd {
		margin: 0 0 10px;
		font-size: 24px;
	}
	#career .career-path .text p {
		margin: 0 0 20px;
		font-size: 17px;
		text-align: left;
	}
	#career .career-path .item {
		display: flex;
		flex-direction: column;
		gap: 32px 0;
		margin: 0 0 30px;
	}
	#career .career-path .item dl {
		min-height: 180px;
	}
	#career .career-path .item dl::before {
		right: 0;
		left: 0;
		top: unset;
		bottom: -18px;
		margin: 0 auto;
		rotate: 45deg;
	}
	#career .career-path .item dl dt span.step {
		margin: 0 0 10px;
	}
	#career .career-path .item dl dt span.ex {
		margin: 0 0 15px;
	}
	#career .career-path .item dl dt strong {
		margin: 0 0 5px;
	}
	#career .career-path .item dl dd {
		padding: 15px 0 0;
	}
	#career .career-path .item + .link {
		justify-content: center;
	}
}
#career .model {
	position: relative;
	margin: 0 0 50px;
}
#career .model::before {
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	content: "";
	display: inline-block;
	width: 50%;
	height: 100%;
	background: #FFF;
}
#career .model .content {
	position: relative;
	padding-top: 105px;
	padding-bottom: 64px;
	border-radius: 40px;
	background: #FFF;
}
#career .model .content::after {
	position: absolute;
	z-index: -1;
	right: -120px;
	bottom: -300px;
	content: "";
	display: inline-block;
	width: 354px;
	height: 354px;
	background: url(/dlc/images/passio/recruit-ex/donut-01.svg) no-repeat;
	background-size: cover;
	rotate: 180deg;
}
#career .model .content::before {
	position: absolute;
	z-index: -1;
	left: -120px;
	bottom: -580px;
	content: "";
	display: inline-block;
	width: 413px;
	height: 413px;
	background: url(/dlc/images/passio/recruit-ex/donut-01.svg) no-repeat;
	background-size: cover;
}
#career .model + .cnv ul li:first-child {
	position: relative;
}
#career .model + .cnv ul li:first-child:before {
	position: absolute;
	z-index: -1;
	bottom: -390px;
	left: 380px;
	content: "";
	display: inline-block;
	width: 273px;
	height: 273px;
	background: url(/dlc/images/passio/recruit-ex/donut-02.svg) no-repeat;
	background-size: cover;
	rotate: 90deg;
}
#career .model .model-01 h3 {
	margin: 0 0 50px;
	font-size: 25px;
	font-weight: 700;
	color: #4A2613;
}
#career .model .item {
	margin: 0 0 55px;
}
#career .model .model-item-01 {
	position: relative;
	display: flex;
	gap: 0 70px;
	justify-content: center;
	align-items: end;
	max-width: 876px;
	margin: 0 auto 40px;
}
#career .model .model-item-01::before {
	content: "";
	position: absolute;
	z-index: 0;
	left: 0;
	top: 45%;
	width: 100%;
	height: 1px;
	background: #E8622A;
}
#career .model .model-item-01::after {
	content: "";
	position: absolute;
	z-index: 0;
	right: 0;
	top: 45%;
	width: 7%;
	height: 1px;
	background: #6B3A1F;
}
#career .model .model-item-01 dl {
	position: relative;
	text-align: center;
}
#career .model .model-item-01 dl dt {
	margin: 0 0 35px;
	font-size: 15px;
}
#career .model .model-item-01 dl dd {
	position: relative;
	font-size: 18px;
	font-weight: 700;
}
#career .model .model-item-01 dl dd::after {
	content: "";
	position: absolute;
	z-index: 1;
	left: 0;
	right: 0;
	top: -25px;
	display: inline-block;
	width: 14px;
	height: 14px;
	margin: 0 auto;
	box-sizing: border-box;
	border: 3px solid #E8622A;
	border-radius: 100%;
	background: #FFF;
}
#career .model .model-item-01 dl:last-child dd::after {
	border: 3px solid #6B3A1F;
}
#career .model .model-item-02 {
	display: flex;
	gap: 0 12px;
	max-width: 876px;
	margin: 0 auto;
}
#career .model .model-item-02 dl {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-width: 210px;
	min-height: 100px;
	border-radius: 10px;
	background: #FCF6EC;
}
#career .model .model-item-02 dl dt {
	margin: 0 0 5px;
	font-size: 15px;
}
#career .model .model-item-02 dl dd {
	font-size: 18px;
	font-weight: 700;
	color: #E8622A;
}
#career .model .model-02 h3 {
	margin: 0 0 20px;
	font-size: 18px;
	font-weight: 700;
	color: #E8622A;
}
#career .model .model-02 .item ul {
	display: flex;
	gap: 0 20px;
}
#career .model .model-02 .item ul li {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 320px;
	min-height: 324px;
	border: 1px solid #D5BCB0;
	border-radius: 10px;
}
#career .model .model-02 .item ul li dl.model-02-01 {
	width: calc( 100% - 60px );
	margin: 0 auto;
	padding: 0 0 10px 0;
	border-bottom: 1px solid #D5BCB0;
}
#career .model .model-02 .item ul li dl.model-02-01 dt,
#career .model .model-02 .item ul li dl.model-02-01 dd {
	font-size: 15px;
}
#career .model .model-02 .item ul li dl.model-02-01 dt {
	margin: 0 0 10px;
}
#career .model .model-02 .item ul li dl.model-02-02 {
	width: calc( 100% - 60px );
	margin: 0 auto;
	padding: 20px 0 0 0;
}
#career .model .model-02 .item ul li dl.model-02-02 dt {
	margin: 0 0 15px;
	font-size: 18px;
}
#career .model .model-02 .item ul li dl.model-02-02 dt span.status {
	display: block;
	font-size: 16px;
	font-weight: 700;
	color: #4A2613;
}
#career .model .model-02 .item ul li dl.model-02-02 dt span.num {
	font-size: 40px;
}
#career .model .model-02 .item ul li dl.model-02-02 dt strong {
	display: block;
	font-weight: 400;
	color: #E8622A;
}
#career .model .model-02 .item ul li dl.model-02-02 dd {
	font-size: 15px;
	line-height: 1.8;
}
@media only screen and (max-width: 896px) {
	#career .model .content {
		padding-top: 25px;
		padding-bottom: 20px;
		border-radius: 20px;
	}
	#career .model .content::after {
		right: -80px;
		bottom: -240px;
		width: 172px;
		height: 172px;
		background-size: contain;
	}
	#career .model .content::before {
		left: -120px;
		bottom: -440px;
		width: 206px;
		height: 206px;
		background-size: contain;
	}
	#career .model + .cnv ul li:first-child:before {
		bottom: -288px;
		left: 124px;
		width: 136px;
		height: 136px;
		background-size: contain;
	}
	#career .model .item {
		display: flex;
		gap: 0 20px;
		margin: 0 0 55px;
	}
	#career .model .model-item-01 {
		flex-basis: calc( 50% - 20px );
		flex-direction: column;
		align-items: baseline;
		gap: 30px 0;
		margin: 0 0 0;
	}
	#career .model .model-item-01::before {
		top: 0;
		left: 6px;
		width: 1px;
		height: calc( 100% + 30px );
	}
	#career .model .model-item-01::after {
		bottom: -30px;
		top: unset;
		right: unset;
		left: 6px;
		width: 1px;
		height: 40px;
	}
	#career .model .model-01 h3 {
		font-size: 20px;
		margin: 0 0 20px;
	}
	#career .model .model-item-01 dl {
		padding: 0 0 0 20px;
		text-align: left;
	}
	#career .model .model-item-01 dl dt {
		margin: 0 0 0;
	}
	#career .model .model-item-01 dl dd::after {
		left: -20px;
		right: unset;
		top: -8px;
	}
	#career .model .model-item-01 dl:last-child dd::after {
		top: 7px;
	}
	#career .model .model-item-02 {
		flex-basis: 50%;
		flex-direction: column;
		gap: 12px 0;
		padding: 45px 0 0 0;
	}
	#career .model .model-item-02 dl {
		min-width: unset;
		min-height: 80px;
	}
	#career .model .model-02 h3 {
		margin: 0 0 10px;
	}
	#career .model .model-02 .item ul {
		flex-direction: column;
		gap: 20px 0;
	}
	#career .model .model-02 .item ul li {
		min-height: 280px;
	}
}
/*------------------------------------------------------------
	message
------------------------------------------------------------*/
#message {
	padding: 0 0 165px;
}
#message .content-ls {
	position: relative;
	padding-top: 120px;
	padding-bottom: 486px;
}
#message .content-ls::before {
	content: "";
	position: absolute;
	z-index: -2;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: 40px 40px 0 0;
	background: #FFF;
}
#message .content-ls::after {
	content: "";
	position: absolute;
	z-index: -1;
	left: 0;
	top: 80%;
	width: 100%;
	height: 20%;
	background: linear-gradient(to bottom, #FFF, #FCF6EC);;
}
#message .title-h2-03 {
	margin: 0 0 110px;
}
#message .item-01,
#message .item-02 {
	max-width: 900px;
	margin: 0 auto;
}
#message .item-01 {
	padding: 0 0 15px;
	border-bottom: 1px solid #D5BCB0;
}
#message .item-02 {
	padding: 50px 0 0;
}
#message .item-01 dl {
	display: flex;
	align-items: center;
	gap: 0 15px;
	margin: 0 0 15px;
}
#message .item-01 dl dt {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 70px;
	min-height: 30px;
	border-radius: 4px;
	background: #F5EBE0;
	font-size: 14px;
	text-align: center;
}
#message .item-01 dl:first-child dt {
	background: #E8622A;
	color: #FFF;
}
#message .item-01 dl dd {
	font-size: 17px;
	font-weight: 700;
}
#message .item-02 dl dt {
	margin: 0 0 25px;
	font-size: 25px;
	font-weight: 700;
}
#message .item-02 dl dd {
	font-size: 18px;
}
#message .item-02 dl dd p {
	margin: 0 0 25px;
	line-height: 1.6;
}
#message .slide-show {
	display: flex;
	flex-wrap: nowrap;
	overflow: hidden;
	margin: -400px 0 0 0;
}
#message .slide-show ul {
	display: flex;
	gap: 0 20px;
	padding: 0 20px 0 0;
}
#message .slide-show ul:first-child {
	animation: image-slide2 140s -70s linear infinite;
}
#message .slide-show ul:nth-child(2) {
	animation: image-slide1 140s linear infinite;
}
#message .slide-show ul li {
	min-width: 350px;
}
#message .slide-show ul li:nth-child(odd) {
	padding-top: 50px;
}
@media only screen and (max-width: 896px) {
	#message {
		padding: 0 0 83px;
	}
	#message .content-ls::before {
		border-radius: 20px 20px 0 0;
	}
	#message .title-h2-03 {
		margin: 0 0 55px;
	}
	#message .content-ls {
		padding: 60px 20px 243px;
	}
	#message .item-02 {
		padding: 25px 0 0 0;
	}
	#message .item-02 dl dt {
		font-size: 20px;
	}
	#message .slide-show {
		margin: -200px 0 0 0;
	}
	#message .slide-show ul li {
		min-width: 175px;
	}
	#message .slide-show ul li:nth-child(odd) {
		padding-top: 25px;
	}
}
/*------------------------------------------------------------
	entry
------------------------------------------------------------*/
#entry .content-w {
	position: relative;
}
#entry .content-w::before {
	position: absolute;
	z-index: -1;
	left: 0;
	top: 50px;
	content: "";
	display: inline-block;
	width: 100%;
	height: calc( 100% - 50px );
	border-radius: 40px 40px 0 0;
	background: #FFF;
}
#entry .title-h2-02 span {
	color: #E8622A;
}
#entry .title-h2-02 span.en {
	letter-spacing: 0;
}
#entry .item {
	margin: 0 auto;
	padding: 70px 0 130px;
}
#entry .item iframe {
	width: 100%;
}
@media only screen and (max-width: 896px) {
	#entry .content-w {
	}
	#entry .content-w::before {
		top: 15px;
		height: calc(100% - 15px);;
		border-radius: 20px 20px 0 0;
	}
	#entry .item {
		padding: 35px 0 65px;
	}
}
/*------------------------------------------------------------
	cnv
------------------------------------------------------------*/
#cnv {
	padding: 0 0 114px;
}
#cnv .content-w {
	position: relative;
}
#cnv .content-w::before {
	position: absolute;
	z-index: -2;
	left: 0;
	top: 0;
	content: "";
	display: inline-block;
	width: 100%;
	height: 100%;
	background: #FFF;
}
#cnv .content-w::after {
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	content: "";
	display: inline-block;
	width: 100%;
	height: 100%;
	border-radius: 40px 40px 0 0;
	background: #FCF6EC;
}
#cnv h2 {
	display: flex;
	justify-content: center;
	padding: 120px 0 50px;
	font-size: 25px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.05em;
	text-indent: 0.05em;
}
#cnv .item {
	margin: 0 0 150px;
}
#cnv .item ul {
	display: flex;
	gap: 40px 40px;
	flex-wrap: wrap;
}
#cnv .item ul li {
	position: relative;
	z-index: 1;
	min-width: 480px;
	min-height: 180px;
	border-radius: 20px;
	transition: transform .3s ease, box-shadow .3s ease;
}
#cnv .item ul li.small {
	min-height: 110px;
}
#cnv .item ul li::before {
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	content: "";
	display: inline-block;
	width: 100%;
	height: 120px;
	box-sizing: border-box;
	border-radius: 20px 20px 12px 20px;
	background: #FFE190;
	transition: background-color .3s ease;
}
#cnv .item ul li::after {
	position: absolute;
	z-index: -1;
	left: 0;
	bottom: 0;
	content: "";
	display: inline-block;
	width: 420px;
	height: 127px;
	box-sizing: border-box;
	border-radius: 20px 12px 20px 20px;
	background: #FFE190;
	transition: background-color .3s ease;
}
#cnv .item ul li.gray::before {
	background: #F0E6DB;
}
#cnv .item ul li.gray::after {
	background: #F0E6DB;
}
#cnv .item ul li.small::before {
	height: 50px;
}
#cnv .item ul li.small::after {
	height: 110px;
}
#cnv .item ul li a {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	color: #4A2613;
}
#cnv .item ul li a::before {
	position: absolute;
	right: 0;
	bottom: 0;
	content: "";
	display: inline-block;
	box-sizing: border-box;
	width: 60px;
	height: 60px;
	background: #FFE190;
	transition: background-color .3s ease;
}
#cnv .item ul li a::after {
	position: absolute;
	right: 0;
	bottom: 0;
	content: "";
	display: inline-block;
	box-sizing: border-box;
	width: 60px;
	height: 60px;
	border-radius: 20px 0 0 0;
	background: #FCF6EC;
}
#cnv .item ul li.gray a::before {
	background: #F0E6DB;
}
#cnv .item ul li a dl {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 100%;
}
#cnv .item ul li a dl::before {
	position: absolute;
	z-index: 1;
	right: 0;
	bottom: 0;
	content: "";
	display: inline-block;
	box-sizing: border-box;
	width: 50px;
	height: 50px;
	border-radius: 100%;
	border: 1px solid #4A2613;
	transition: background-color .3s ease, border-color .3s ease;
}
#cnv .item ul li a dl::after {
	position: absolute;
	z-index: 1;
	right: 24px;
	bottom: 24px;
	content: "";
	display: inline-block;
	width: 4px;
	height: 4px;
	border-right: 1px solid #4A2613;
	border-bottom: 1px solid #4A2613;
	rotate: -45deg;
	transition: border-color .3s ease, transform .3s ease;
}
#cnv .item ul li a dl dt {
	margin: 0 0 20px;
	padding: 0 0 0 40px;
	font-size: 20px;
	font-weight: 700;
}
#cnv .item ul li.small a dl dt {
	margin: 0 0 0;
}
#cnv .item ul li a dl dd {
	padding: 0 0 0 40px;
	font-size: 15px;
	line-height: 1.8;
}
@media (hover: hover) and (pointer: fine) {
	#cnv .item ul li.small:not(.gray):hover {
		transform: translateY(-2px);
		box-shadow: 0 10px 20px rgba(74, 38, 19, 0.14);
	}
	#cnv .item ul li.small:not(.gray):hover::before,
	#cnv .item ul li.small:not(.gray):hover::after,
	#cnv .item ul li.small:not(.gray):hover a::before {
		background-color: #FFD66F;
	}
	#cnv .item ul li.small:not(.gray):hover a dl::before {
		background-color: #4A2613;
	}
	#cnv .item ul li.small:not(.gray):hover a dl::after {
		border-color: #FFF;
		transform: translateX(3px);
	}
}
#cnv .item ul li.small:not(.gray) a:focus-visible {
	border-radius: 20px;
	outline: 3px solid #4A2613;
	outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce) {
	#cnv .item ul li,
	#cnv .item ul li::before,
	#cnv .item ul li::after,
	#cnv .item ul li a::before,
	#cnv .item ul li a dl::before,
	#cnv .item ul li a dl::after {
		transition: none;
	}
	#cnv .item ul li.small:not(.gray):hover,
	#cnv .item ul li.small:not(.gray):hover a dl::after {
		transform: none;
	}
}
#cnv .cnv-item h3 {
	display: flex;
	justify-content: center;
	padding: 0 0 30px;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
}
#cnv .cnv-item ul {
	display: flex;
	gap: 0 30px;
}
#cnv .cnv-item ul li {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 480px;
	min-height: 370px;
	border: 1px solid #0C85CB;
	border-radius: 30px;
	background: #FFF;
	text-align: center;
}
#cnv .cnv-item ul li:first-child {
	border: 1px solid #6B3A1F;
}
#cnv .cnv-item ul li dl {
	margin: 0 0 40px;
}
#cnv .cnv-item ul li dl dt {
	margin: 0 0 15px;
	font-size: 23px;
	font-weight: 700;
	color: #0C85CB;
}
#cnv .cnv-item ul li:first-child dl dt {
	color: #6B3A1F;
}
#cnv .cnv-item ul li dl dd {
	font-size: 15px;
	color: #0C85CB;
	line-height: 1.8;
}
#cnv .cnv-item ul li:first-child dl dd {
	color: #6B3A1F;
}
#cnv .cnv-item ul li .btn-01 {
	margin: 0 0 10px;
}
#cnv .cnv-item ul li .btn-01 a {
	position: relative;
	display: flex;
	align-items: center;
	border-radius: 50px;
	min-width: 300px;
	height: 60px;
	padding: 0 0 0 40px;
	background: #0C85CB;
	border: 1px solid #0C85CB;
	font-size: 16px;
	font-weight: 700;
	color: #FFF;
	transition: .3s;
}
#cnv .cnv-item ul li:first-child .btn-01 a {
	background: #6B3A1F;
	border: 1px solid #6B3A1F;
}
#cnv .cnv-item ul li .btn-02 a {
	position: relative;
	display: flex;
	align-items: center;
	border-radius: 50px;
	min-width: 300px;
	height: 60px;
	padding: 0 0 0 40px;
	background: #FFF;
	border: 1px solid #0C85CB;
	font-size: 16px;
	font-weight: 700;
	color: #0C85CB;
	transition: .3s;
}
#cnv .cnv-item ul li:first-child .btn-02 a {
	border: 1px solid #6B3A1F;
	color: #6B3A1F;
}
#cnv .cnv-item ul li .btn-01 a:hover {
	background: #FFF;
	color: #0C85CB;
}
#cnv .cnv-item ul li:first-child .btn-01 a:hover {
	color: #6B3A1F;
}
#cnv .cnv-item ul li .btn-02 a:hover {
	background: #0C85CB;
	color: #FFF;
}
#cnv .cnv-item ul li:first-child .btn-02 a:hover {
	background: #6B3A1F;
}
#cnv .cnv-item ul li .btn-01 a::after {
	position: absolute;
	right: 40px;
	top: 45%;
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	border-right: 2px solid #FFF;
	border-bottom: 2px solid #FFF;
	rotate: -45deg;
	transition: .3s;
}
#cnv .cnv-item ul li .btn-02 a::after {
	position: absolute;
	right: 40px;
	top: 45%;
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	border-right: 2px solid #0C85CB;
	border-bottom: 2px solid #0C85CB;
	rotate: -45deg;
	transition: .3s;
}
#cnv .cnv-item ul li:first-child .btn-02 a::after {
	border-right: 2px solid #6B3A1F;
	border-bottom: 2px solid #6B3A1F;
}
#cnv .cnv-item ul li .btn-01 a:hover::after {
	border-right: 2px solid #0C85CB;
	border-bottom: 2px solid #0C85CB;
}
#cnv .cnv-item ul li:first-child .btn-01 a:hover::after {
	border-right: 2px solid #6B3A1F;
	border-bottom: 2px solid #6B3A1F;
}
#cnv .cnv-item ul li .btn-02 a:hover::after {
	border-right: 2px solid #FFF;
	border-bottom: 2px solid #FFF;
}
@media only screen and (max-width: 896px) {
	#cnv {
		padding: 0 0 72px;
	}
	#cnv h2 {
		padding: 60px 0 25px;
		font-size: 22px;
	}
	#cnv .item {
		margin: 0 0 75px;
	}
	#cnv .item ul {
		gap: 20px 0;
	}
	#cnv .item ul li {
		min-width: 100%;
	}
	#cnv .item ul li::before {
		width: 100%;
		height: 130px;
	}
	#cnv .item ul li::after {
		width: calc( 100% - 50px );
	}
	#cnv .item ul li a::after {
		width: 50px;
		height: 50px;
	}
	#cnv .item ul li a::before {
		width: 50px;
		height: 50px;
	}
	#cnv .item ul li a dl dt {
		margin: 0 0 10px;
		padding: 0 0 0 20px;
	}
	#cnv .item ul li a dl dd {
		padding: 0 0 0 20px;
	}
	#cnv .item ul li a dl::before {
		width: 40px;
		height: 40px;
	}
	#cnv .item ul li a dl::after {
		right: 18px;
		bottom: 18px;
	}
	#cnv .cnv-item ul {
		flex-direction: column;
		gap: 20px 0;
	}
	#cnv .cnv-item ul li {
		min-width: 100%;
	}
}
