@charset "utf-8";

/* -----------------------------------------------------------
    LP共通
-------------------------------------------------------------- */ :root {
	--anchorlp: 86px;
	--anchorlp2: -86px;
	--anchorlpsp: 60px;
	--anchorlpsp2: -60px;
}

.header {
	position: absolute !important;
}

.page-lp #wrapper {
	padding: 120px 0 0;
}

.page-lp .bread-h1-wrap {
	top: 20px;
}

.page-lp .bread-h1-wrap .breadcrumblist {
	margin: -25px 0 0;
}

@media screen and (min-width: 769px) and (max-width: 1600px) {
	.page-lp .bread-h1-wrap {
		top: -35px;
	}

	.page-lp .bread-h1-wrap .breadcrumblist {
		margin: 0;
	}
}

.page-lp .lp-anchor {
	padding-top: var(--anchorlp);
	margin-top: var(--anchorlp2);
}

@media screen and (min-width: 769px) {
	.page-lp .footer {
		padding-top: 90px;
	}
}

@media screen and (max-width: 768px) {
	.page-lp #wrapper {
		padding: 73px 0 0;
	}

	.page-lp .lp-anchor {
		padding-top: var(--anchorlpsp);
		margin-top: var(--anchorlpsp2);
	}

	.page-lp .bread-h1-wrap {
		top: 10px;
	}
}

/* -----------------------------------------------------------
    lp-mv-area
-------------------------------------------------------------- */
.lp-mv-area {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin: 40px 0 0;
}

@media screen and (min-width: 769px) and (max-width: 1600px) {
	.lp-mv-area {
		margin: 70px 0 0;
	}
}

.lp-mv-area .txt-box {
	align-items: center;
	display: flex;
	width: 45%;
	justify-content: center;
	padding: 0 0 0 3%;
}

@media screen and (min-width: 769px) and (max-width: 1600px) {
	.lp-mv-area .txt-box {
		padding: 0;
	}
}

.txt-box-inner {
	width: fit-content;
}

/*キャッチコピー　パターン①---------------------------*/
.lp-mv-area .txt-box .sub-catch {
	font-size: 2.2rem;
	color: var(--main);
	font-weight: bold;
}

.anime-mvcatch {
	width: fit-content;
	overflow: hidden;
	transform: translateX(-100%);
}

.anime-mvcatch.is-anime-mvcatch {
	transform: translateX(0);
	transition: transform cubic-bezier(0.74, 0, 0.24, 0.99) 1.1s;
}

.anime-mvcatch .type2__sub-inner {
	transform: translateX(100%);
}

.anime-mvcatch.is-anime-mvcatch .type2__sub-inner {
	transform: translateX(0);
	transition: transform cubic-bezier(0.74, 0, 0.24, 0.99) 1.1s;
}

.lp-mv-area .txt-box .catch {
	color: var(--main);
	font-size: 5.6rem;
	line-height: 1.37;
	letter-spacing: .07em;
	font-weight: 800;
}

@media screen and (min-width: 769px) and (max-width: 1600px) {
	.lp-mv-area .txt-box .catch {
		font-size: 5rem;
	}
}

.lp-mv-area .txt-box .txt {
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: .03em;
	margin: 20px 0 0;
	line-height: 1.8;
}

@media screen and (min-width: 769px) and (max-width: 1600px) {
	.lp-mv-area .txt-box .txt {
		font-size: 1.8rem;
	}
}

/*キャッチコピー　パターン②---------------------------*/
.lp-mv-area .type2__mv-catch {
	display: flex;
	flex-direction: column;
}

.lp-mv-area .type2__mv-catch .type2__catch {
	background: var(--main);
	color: #fff;
	font-size: 2.8rem;
	font-weight: bold;
	padding: 10px 25px 14px;
	border-radius: 50px;
	line-height: 1;
	width: fit-content;
}

@media screen and (min-width: 769px) and (max-width: 1600px) {
	.lp-mv-area .type2__mv-catch .type2__catch {
		font-size: 2.55rem;
	}
}

.lp-mv-area .type2__mv-catch .type2__catch-b {
	font-size: 4.3rem;
	font-weight: 800;
	letter-spacing: .015em;
	line-height: 1.45;
	margin: 15px 0 0;
}

@media screen and (min-width: 769px) and (max-width: 1600px) {
	.lp-mv-area .type2__mv-catch .type2__catch-b {
		font-size: 4rem;
	}
}

.lp-mv-area .type2__mv-catch .type2__catch-b {
	display: block;
}

/*ポイント---------------------------*/
.lp-mv-area .txt-box .point-list {
	display: flex;
	gap: 18px;
	margin: 40px 0 0;
}

.lp-mv-area .txt-box .point-item {
	width: 160px;
	height: 146px;
	color: #70727d;
	font-weight: bold;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	position: relative;
}

@media screen and (min-width: 769px) and (max-width: 1600px) {
	.lp-mv-area .txt-box .point-item {
		width: 150px;
		height: 136px;
	}
}

.lp-mv-area .txt-box .point-item::after {
	content: "";
	background: url(../img/point-deco01.png) no-repeat top left / 73px, url(../img/point-deco02.png) no-repeat top right / 73px, url(../img/point-deco03.png) no-repeat bottom right / 73px, url(../img/point-deco04.png) no-repeat bottom left / 73px;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

.lp-mv-area .txt-box .point-item::before {
	content: "";
	background: rgba(255, 255, 255, .95);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.lp-mv-area .txt-box .point-item p {
	font-size: 1.7rem;
	line-height: 1.5;
	letter-spacing: 0;
	z-index: 2;
	position: relative;
	text-align: center;
}

@media screen and (min-width: 769px) and (max-width: 1600px) {
	.lp-mv-area .txt-box .point-item p {
		font-size: 1.6rem;
	}
}

.lp-mv-area .txt-box .point-item span {
	line-height: 1.3;
}

.lp-mv-area .txt-box .point-item .green {
	color: var(--main);
}

/* point01 */
.lp-mv-area .txt-box .point-item.point01 {
	font-size: 1.4rem;
	text-align: center;
}

.lp-mv-area .txt-box .point-item.point01 img {
	width: 89px;
	margin: 10px auto 0;
}

/* img-box */
.lp-mv-area .img-box {
	aspect-ratio: 850/510;
	display: flex;
	gap: 10px;
	position: relative;
	width: 55%;
	min-height: 510px;
}

:root {
	--lpmv1w: 50%;
	--lpmv1h: 60%;
	--lpmv2w: calc((100% - 10px) / 2);
	--lpmv2wsp: calc((100% - 5px) / 2);
	--lpmv3w: 44%;
	--lpmv3h: 40%;
	--lpmv4w: 50%;
}

.lp-mv-area .img-box-inner_1 {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	width: calc((100% - 10px) - var(--lpmv3w));
}

.lp-mv-area .img-box-inner_2 {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: var(--lpmv3w);
}

.lp-mv-area .img-box [class^="img0"] {
	overflow: hidden;
}

.lp-mv-area .img-box .img01 {
	width: 100%;
	height: var(--lpmv1h);
}

.lp-mv-area .img-box .img02 {
	height: calc(100% - var(--lpmv1h) - 10px);
	width: var(--lpmv2w);
}

.lp-mv-area .img-box .img03 {
	height: var(--lpmv3h);
}

.lp-mv-area .img-box .img04 {
	height: calc(100% - var(--lpmv3h) - 10px);
}

@keyframes zoomOut {
	100% {
		transform: scale(1);
		opacity: 1;
	}

	0% {
		opacity: 0;
		transform: scale(1.2);
	}
}

.lp-mv-area .img-box img {
	animation: 2s zoomOut forwards;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
}

@media screen and (max-width: 768px) {
	.lp-mv-area {
		flex-direction: column;
		margin: 10px 0 0;
	}

	.lp-mv-area .img-box {
		gap: 5px;
		order: 1;
		min-height: auto;
		width: 100%;
	}

	.lp-mv-area .img-box-inner_1 {
		gap: 5px;
		width: calc((100% - 5px) - var(--lpmv3w));
	}

	.lp-mv-area .img-box .img02 {
		width: var(--lpmv2wsp);
		height: calc(100% - var(--lpmv1h) - 5px);
	}

	.lp-mv-area .img-box-inner_2 {
		gap: 5px;
	}

	.lp-mv-area .img-box .img04 {
		height: calc(100% - var(--lpmv3h) - 5px);
	}

	.lp-mv-area .txt-box {
		order: 2;
		width: 100%;
		padding: 30px 20px 0;
	}

	/*キャッチコピー　パターン①---------------------------*/
	.lp-mv-area .txt-box .catch {
		font-size: 2.5rem;
		margin: 0;
		letter-spacing: .05em;
		line-height: 1.5;
	}

	.lp-mv-area .txt-box .txt {
		font-size: 1.5rem;
		letter-spacing: .03em;
		line-height: 1.8;
		margin: 17px 0 0;
	}

	/*キャッチコピー　パターン②---------------------------*/
	.lp-mv-area .type2__mv-catch .type2__catch {
		font-size: 2rem;
		line-height: 1.3;
		letter-spacing: .03em;
		border-radius: 5px;
		padding: 8px 15px 12px;
	}

	.lp-mv-area .type2__mv-catch .type2__sub {
		font-size: 3.2rem;
		line-height: 1.4;
	}

	.lp-mv-area .type2__mv-catch .type2__catch-b {
		font-size: 2.7rem;
		line-height: 1.5;
		margin: 13px 0 0;
	}

	/*ポイント---------------------------*/
	.lp-mv-area .txt-box .point-list {
		flex-wrap: wrap;
		gap: 5px;
		margin: 22px 0 0;
		justify-content: center;
	}

	.lp-mv-area .txt-box .point-item {
		width: calc((100% - 10px) / 3);
		height: 106px;
		max-width: 110px;
		background-size: 53px;
		text-align: center;
	}

	.lp-mv-area .txt-box .point-item::after {
		content: "";
		background: url(../img/point-deco01.png) no-repeat top left / 47%, url(../img/point-deco02.png) no-repeat top right / 47%, url(../img/point-deco03.png) no-repeat bottom right / 47%, url(../img/point-deco04.png) no-repeat bottom left / 47%;
	}

	.lp-mv-area .txt-box .point-item p {
		font-size: 1.3rem;
		line-height: 1.3;
		padding: 10px;
	}

	/* point01 */
	.lp-mv-area .txt-box .point-item.point01 img {
		max-width: 70px;
		width: 90%;
		margin: 5px auto 0;
	}
}

@media screen and (max-width: 320px) {
	.lp-mv-area .txt-box .point-item p {
		font-size: 1.2rem;
		padding: 5px;
	}
}

/* -----------------------------------------------------------
    top-area
-------------------------------------------------------------- */
.top-area {
	background: var(--cmnblack);
	padding: 50px 0;
	position: relative;
	margin: 30px 0 0;
}

.top-area::before {
	content: "";
	background: url("../img/ptn-stripe.jpg")center repeat;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.top-area .inner {
	display: flex;
	align-items: center;
	height: 100px;
	position: relative;
	z-index: 2;
}

.top-area .info-box {
	background-color: #fff;
	border-radius: 6px;
	flex-shrink: 0;
	padding: 22px 28px 23px;
	height: 100%;
}

.top-area .info-box.area {
	margin: 0 25px 0 0;
}

.top-area .info-box.job {
	margin: 0 40px 0 0;
}

.top-area .info-box h3 {
	color: #70727d;
	letter-spacing: 0;
	margin: 0 0 5px;
	font-weight: 500;
	font-size: 1.4rem;
}

.top-area .info-box p {
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.03em;
}

.top-area .cv-box {
	flex-grow: 1;
	height: 100%;
}

.top-area .lp-cvbtn {
	display: block;
	position: relative;
	height: 100%;
}

.top-area .cv-box a:hover .cv-box-inner {
	background: var(--cv2);
}

.top-area .cv-box-inner {
	align-items: center;
	background-color: var(--cv);
	border-radius: 8px;
	display: flex;
	flex-grow: 1;
	gap: 10px;
	justify-content: center;
	width: 100%;
	height: 100%;
	text-align: center;
	transition: .3s;
}

.top-area .cv-box .sub {
	position: absolute;
	width: 240px;
	height: 34px;
	border-radius: 17px;
	line-height: 30px;
	text-align: center;
	background-color: #fff;
	color: var(--cv);
	border: solid 2px var(--cv);
	font-size: 1.6rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	transition: .3s;
	top: -23px;
	margin: 0 auto;
	z-index: 1;
	left: 0;
	right: 0;
}

.top-area .cv-box a:hover .sub {
	border-color: var(--cv2);
	color: var(--cv2);
}

.top-area .cv-box .sub::before {
	position: absolute;
	content: "";
	background: url(../img/triangle-wht.png) no-repeat center / cover;
	width: 20px;
	height: 15px;
	bottom: -8px;
	right: 0;
	left: 0;
	margin: 0 auto;
}

.top-area .cv-box .mark {
	align-items: inherit;
	background-color: #fff;
	border-radius: 50%;
	color: var(--cv);
	display: flex;
	flex-shrink: 0;
	flex-wrap: wrap;
	font-size: 1.7rem;
	font-weight: bold;
	justify-content: center;
	letter-spacing: 0.02em;
	line-height: 1;
	padding: 11px 0 10px 1px;
	width: 68px;
	height: 68px;
}

.top-area .cv-box a:hover .mark {
	color: var(--cv2);
}

.top-area .cv-box .mark span.txt {
	width: 100%;
}

.top-area .cv-box .mark span.num {
	font-size: 2.5rem;
	padding: 0 0 1px 0;
}

.top-area .cv-box .lp-cvbtn-txt {
	color: #fff;
	font-weight: bold;
	position: relative;
	line-height: 1.1;
	letter-spacing: .06em;
	z-index: 2;
}

.top-area .cv-box .lp-cvbtn-txt span {
	display: block;
	font-size: 1.9rem;
	letter-spacing: .02em;
	margin: 10px 0 0;
}

@media screen and (max-width: 768px) {
	.top-area {
		margin: 30px auto 20px;
		padding: 40px 20px;
	}

	.top-area::before {
		background-size: 100px;
		opacity: .5;
	}

	.top-area .inner {
		flex-wrap: wrap;
		gap: 15px;
		height: auto;
	}

	.top-area .info-box {
		padding: 17px 15px 15px;
		width: 100% !important;
		margin: 0 !important;
	}

	.top-area .info-box p {
		font-size: 1.5rem;
	}

	.top-area .cv-box {
		width: 100%;
		margin: 40px auto 0;
	}

	.top-area .cv-box-inner {
		padding: 20px 10px 15px;
	}

	.top-area .cv-box .sub {
		font-size: 1.5rem;
		width: 230px;
		line-height: 1.8;
	}

	.top-area .cv-box .mark {
		font-size: 1.5rem;
		width: 54px;
		height: 54px;
	}

	.top-area .cv-box .mark span.num {
		font-size: 2rem;
	}

	.top-area .cv-box .lp-cvbtn-txt {
		letter-spacing: .05em;
	}

	.top-area .cv-box .lp-cvbtn-txt span {
		font-size: 1.7rem;
		margin: 7px 0 0;
	}
}

/* -----------------------------------------------------------
    job-relation
-------------------------------------------------------------- */
.job-relation .job-rel-bg {
	padding: 40px 0 80px;
}

.job-relation .job-rel-topcatch {
	margin: 20px 0 35px;
}

.job-relation .job-rel-topcatch .catch-top {
	color: var(--main);
	font-size: 2.4rem;
	font-weight: bold;
	margin: 0 0 10px;
	letter-spacing: 0;
}

.job-relation .job-select-wrap {
	align-items: center;
	display: flex;
	gap: 30px;
	margin-bottom: 40px;
	justify-content: center;
}

.job-relation .cmn-sort-select {
	border-radius: 5px;
	width: 250px;
	height: 40px;
}

.page-lp .job-relation .cmn-job-banner .type-standard {
	display: block;
}

@media screen and (max-width: 768px) {
	.job-relation .job-rel-topcatch .catch-top {
		font-size: 1.9rem;
		margin: 0px 0px 15px;
		line-height: 1.7;
	}
	
	.job-relation .job-select-wrap {
		margin-bottom: 30px;
	}
	
	.job-relation .cmn-sort-select {
		font-size: 1.4rem;
	}
}

/* -----------------------------------------------------------
    person-area
-------------------------------------------------------------- */
.person-area {
	padding: 210px 0 110px;
	display: flex;
	gap: 50px 25px;
	flex-wrap: wrap;
}

.person-box-catch {
	width: 100%;
	text-align: center;
	font-size: 2.7rem;
	font-weight: bold;
}

.person-area .person-box {
	width: calc((100% - 25px) / 2);
	border-radius: 10px;
	border: solid 6px var(--cmnbg3);
	padding: 35px 30px;
	text-align: center;
}

.person-area .person-box .box-ttl {
	font-size: 2.3rem;
	letter-spacing: .05em;
	font-weight: bold;
}

.person-area .person-box .catch {
	display: inline-block;
	background-color: var(--main);
	color: #fff;
	letter-spacing: 0.02em;
	padding: 12px 25px 15px;
	margin: 20px auto 0;
	border-radius: 30px;
	font-weight: bold;
}

.person-area .person-box .flex-wrap {
	display: flex;
	justify-content: space-between;
	gap: 15px;
	margin: 25px 0 0;
}

.person-area .person-item {
	padding: 0 0 130px;
	position: relative;
}

.person-area .person01 .user {
	background: url(../img/user-m.svg) no-repeat center bottom / 89px;
}

.person-area .person01 .staff {
	background: url(../img/staff-w.svg) no-repeat center bottom / 88px;
}

.person-area .person02 .user {
	background: url(../img/user-w.svg) no-repeat center bottom / 70px;
}

.person-area .person02 .staff {
	background: url(../img/staff-m.svg) no-repeat center bottom / 96px;
}

.person-area .person-item p {
	line-height: 1.55;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	padding: 0 0 3px;
}

.person-area .person-item p::before {
	position: absolute;
	content: "";
	width: 24px;
	height: 14px;
	bottom: -14px;
}

.person-area .person-item p {
	height: 115px;
}

/* user */
.person-area .user p {
	width: 205px;
	border: solid 2px #d2d4d7;
	font-weight: 500;
}

.person-area .user p::before {
	background: url(../img/triangle-gray.png) no-repeat center / cover;
}

/* staff */
.person-area .staff p {
	width: 295px;
	background-color: var(--cmnbg);
	border: solid 2px var(--main);
	color: #49bf59;
	font-weight: 600;
}

.person-area .staff p::before {
	background: url(../img/triangle-green.png) no-repeat center / cover;
}

@media screen and (max-width: 768px) {
	.person-area {
		padding: 120px 20px 60px;
		flex-wrap: wrap;
		gap: 15px;
	}

	.person-box-catch {
		font-size: 2.2rem;
		line-height: 1.5;
		margin: 0 0 10px;
	}

	.person-area .person-box {
		border-width: 4px;
		width: 100%;
		padding: 25px 15px;
	}

	.person-area .person-box .box-ttl {
		font-size: 1.8rem;
		letter-spacing: 0;
	}

	.person-area .person-box .catch {
		font-size: 1.5rem;
		padding: 10px 20px 13px;
		margin: 15px auto 0;
		line-height: 1.3;
	}

	.person-area .person-box .flex-wrap {
		gap: 17px;
		margin: 20px auto 0;
		flex-direction: column;
		max-width: 300px;
	}

	.person-area .user {
		padding: 0 75px 0 0 !important;
	}

	.person-area .staff {
		padding: 0 0 0 75px !important;
	}

	.person-area .person-item {
		background-size: auto 60px !important;
		width: 100%;
	}

	.person-area .user {
		background-position: right bottom !important;
	}

	.person-area .staff {
		background-position: left bottom !important;
	}

	.person-area .person-item p {
		width: 100%;
		font-size: 1.4rem;
		text-align: left;
		padding: 10px;
		height: auto;
	}

	.person-area .person-item p::before {
		width: 22px;
		height: 12px;
		bottom: auto;
	}

	.person-area .user p::before {
		transform: rotate(-90deg);
		right: -17px;
	}

	.person-area .staff p::before {
		transform: rotate(90deg);
		left: -17px;
	}
}

/* -----------------------------------------------------------
    service-area
-------------------------------------------------------------- */
.service-area .top-box {
	display: flex;
	gap: 70px;
	align-items: center;
}

.service-area .top-box .txt {
	font-size: 2.3rem;
	letter-spacing: .05em;
	line-height: 1.8;
	font-weight: 700;
}

.service-area .fmt-sticky-contents .flex-wrap {
	display: flex;
	gap: 20px;
}

/* box1 */
.box1 .service-wrap {
	padding: 0 0 0 20px;
}

@media screen and (max-width: 768px) {
	.service-area .top-box {
		flex-wrap: wrap;
		gap: 0px;
		padding: 0 20px 30px;
	}

	.service-area .top-box .txt {
		font-size: 1.6rem;
		margin: 20px 0 0;
	}

	.service-area .fmt-sticky-contents .flex-wrap {
		gap: 15px;
		width: 100%;
		flex-wrap: wrap;
	}
}

/* -----------------------------------------------------------
    case-area
-------------------------------------------------------------- */
.case-area {
	margin-top: 100px;
}

.case-area .cmn-section-ttl {
	width: 100%;
}

.case-area .case-inner {
	display: flex;
	gap: 40px;
	flex-wrap: wrap;
	margin: 50px 0 0;
}

.case-area .modal-wrap {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.case-area .cmn_modal .modal_trg {
	align-items: center;
	border-radius: 15px;
	border: solid 10px #e8ebf1;
	display: flex;
	gap: 100px;
	cursor: pointer;
	padding: 40px 50px;
	position: relative;
	width: 100%;
	overflow: hidden;
	transition: .5s;
}

.case-area .cmn_modal .modal_trg::before {
	position: absolute;
	content: "";
	background: var(--cmnbg);
	border-radius: 100%;
	width: 500px;
	height: 500px;
	z-index: -1;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: -85px;
}

.case-area .cmn_modal .modal_trg:hover {
	border-color: var(--main);
	opacity: .7;
}

.case-area .cmn_modal .person-box {
	flex-shrink: 0;
	width: 680px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.case-area .cmn_modal .catch-box {
	width: 100%;
	margin: 0 0 30px;
	position: relative;
	padding: 0 0 0 120px;
}

.case-area .cmn_modal .catch-pic {
	flex-shrink: 0;
	width: 100px;
	height: 100px;
	border-radius: 50px;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 0;
}

.case-area .cmn_modal .catch-pic img {
	width: 100%;
	height: 100%;
}

.case-area .cmn_modal .catch-txt {
	font-size: 2.1rem;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: .05em;
}

.case-area .cmn_modal .catch-box .person {
	color: #888;
	margin: 6px 0 0;
}

.case-area .cmn_modal .catch-box .name {
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: .02em;
}

.case-area .cmn_modal .catch-box .age {
	font-weight: 500;
	font-size: 1.7rem;
	letter-spacing: 0;
}

.case-area .cmn_modal .catch-box .place {
	font-size: 1.7rem;
	font-weight: 500;
	letter-spacing: .02em;
	position: relative;
	padding: 0 0 0 20px;
	margin: 0 0 0 10px;
}

.case-area .cmn_modal .catch-box .place::before {
	position: absolute;
	content: "";
	background: url(../img/icon-place.png) no-repeat center / contain;
	width: 15px;
	height: 17px;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.case-area .cmn_modal .ba-box {
	width: calc((100% - 15px) / 2);
	border-radius: 5px;
	font-size: 1.6rem;
	letter-spacing: 0.02em;
	position: relative;
	padding: 25px 15px;
	background-color: #fff;
}

.case-area .cmn_modal .ba-box dt {
	position: absolute;
	font-size: 1.4rem;
	letter-spacing: 0.02em;
	width: 65px;
	height: 25px;
	color: #fff;
	border-radius: 11.5px;
	text-align: center;
	line-height: 25px;
	top: -13px;
	left: 15px;
}

.case-area .cmn_modal .ba-box dd {
	line-height: 1.4;
	font-weight: 500;
}

/* before */
.case-area .cmn_modal .ba-box.before {
	border: solid 2px #e6e8eb;
}

.case-area .cmn_modal .ba-box.before dt {
	background-color: #bcbfc4;
}

.case-area .cmn_modal .ba-box.before dd {
	font-weight: 500;
}

/* after */
.case-area .cmn_modal .ba-box.after {
	border: solid 2px var(--main);
}

.case-area .cmn_modal .ba-box.after dt {
	background-color: var(--main);
}

.case-area .cmn_modal .ba-box.after dd {
	color: var(--main);
	font-weight: bold;
	font-size: 1.7rem;
}

.case-area .cmn_modal .comment-box {
	flex-grow: 1;
}

.case-area .cmn_modal .comment-pic {
	flex-shrink: 0;
	aspect-ratio: 75/88;
	width: 75px;
	padding: 10px 0 0;
}

.case-area .cmn_modal .comment-more {
	display: flex;
	gap: 5px;
}

.case-area .cmn_modal .comment-more p {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	height: 85px;
}

.case-area .cmn_modal .cmt-ttl {
	font-size: 1.5rem;
	color: var(--sub2);
	font-family: var(--en);
	font-weight: 500;
	margin: 0 0 10px;
}

.case-area .cmn_modal .comment-box p {
	font-weight: 500;
	line-height: 1.9;
}

.case-area .cmn_modal .ripple {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 70px;
	height: 70px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.case-area .cmn_modal .ripple::before, .case-area .cmn_modal .ripple::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	border: 2px solid var(--sub2);
	border-radius: 50%;
	box-sizing: border-box;
	pointer-events: none;
	animation: pulsate 2s linear infinite;
}

.case-area .cmn_modal .ripple::after {
	animation-delay: 1s;
}

.case-area .cmn_modal .modal_btn {
	border-radius: 100%;
	background: var(--sub2);
	color: #fff;
	font: 500 1.6rem /1 var(--en);
	width: 86px;
	height: 86px;
	justify-content: center;
	padding: 40px 0 20px;
}

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

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

.case-area .cmn_modal .modal_btn .acc-icon {
	position: absolute;
	width: 15px;
	height: 15px;
	top: 23px;
}

.case-area .cmn_modal .modal_btn .acc-icon::before {
	position: absolute;
	content: "";
	background-color: #fff;
	width: 15px;
	height: 1px;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}

.case-area .cmn_modal .modal_btn .acc-icon::after {
	position: absolute;
	content: "";
	background-color: #fff;
	width: 1px;
	height: 15px;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.case-area .case-box {
	border-radius: 15px;
	border: solid 10px #e8ebf1;
	width: calc((100% - 40px) /2);
	padding: 40px 49px;
	position: relative;
	overflow: hidden;
}

.case-area .case-box::before {
	position: absolute;
	content: "";
	background: var(--cmnbg);
	border-radius: 100%;
	width: 800px;
	height: 440px;
	bottom: -200px;
	z-index: -1;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.case-area .case-box .catch {
	font-size: 2.0rem;
	line-height: 1.6;
	letter-spacing: 0.05em;
	font-weight: bold;
}

.case-area .case-box .person-box {
	align-items: center;
	display: flex;
	gap: 20px;
	margin: 20px 0 0;
	position: relative;
}

.case-area .case-box .case-box-pic {
	flex-shrink: 0;
	width: 100px;
	height: 100px;
	border-radius: 50%;
}

.case-area .case-box .case-box-pic img {
	width: 100%;
	height: 100%;
}

.case-area .case-box .person-box .person {
	line-height: 1.4;
	color: #888;
}

.case-area .case-box .person-box .name {
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: .02em;
}

.case-area .case-box .person-box .age {
	font-size: 1.5rem;
	font-weight: 500;
}

.case-area .case-box .person-box .place {
	color: #888;
	font-size: 1.5rem;
	letter-spacing: .02em;
	padding: 0 0 0 17px;
	position: relative;
}

.case-area .case-box .person-box .place::before {
	position: absolute;
	content: "";
	background: url(../img/icon-place.png) no-repeat center / contain;
	width: 12px;
	height: 16px;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.case-area .case-box .ba-box {
	border-radius: 5px;
	background-color: #fff;
	letter-spacing: 0.02em;
	position: relative;
	padding: 13px 15px 16px 77px;
	margin: 10px 0 0;
}

.case-area .case-box .ba-box.before {
	margin: 20px 0 0;
}

.case-area .case-box .ba-box dt {
	position: absolute;
	font-size: 1.4rem;
	letter-spacing: 0.02em;
	width: 65px;
	height: 25px;
	color: #fff;
	border-radius: 0 14px 14px 0;
	text-align: center;
	line-height: 23px;
	top: 50%;
	transform: translateY(-50%);
	left: -1px;
}

.case-area .case-box .ba-box dd {
	line-height: 1.4;
}

/* before */
.case-area .case-box .ba-box.before {
	border: solid 2px #e6e8eb;
}

.case-area .case-box .ba-box.before dt {
	background-color: #bcbfc4;
}

.case-area .case-box .ba-box.before dd {
	font-weight: 500;
}

/* after */
.case-area .case-box .ba-box.after {
	border: solid 2px var(--main);
}

.case-area .case-box .ba-box.after dt {
	background-color: var(--main);
}

.case-area .case-box .ba-box.after dd {
	color: var(--main);
	font-weight: bold;
	font-size: 1.7rem;
}

.case-area .case-box .comment-box .cmt-ttl {
	margin: 25px 0 8px;
	color: var(--sub2);
	font-family: var(--en);
	font-weight: 500;
}

.case-area .case-box .comment-box p {
	font-weight: 500;
	line-height: 1.9;
}

@media screen and (max-width: 768px) {
	.case-area {
		margin-top: 60px;
		padding: 0;
		gap: 20px;
	}

	.case-area .case-inner {
		align-items: flex-start;
		gap: 20px;
		flex-wrap: nowrap;
		margin: 30px 0 0;
		padding: 0 0 10px 20px;
		overflow-x: scroll;
	}

	.case-area .cmn-section-ttl {
		padding: 0 20px;
	}

	.case-area .modal-wrap {
		flex-direction: row;
		gap: 20px;
	}

	.case-area .cmn_modal .modal_trg {
		border-width: 4px;
		flex-wrap: wrap;
		flex-shrink: 0;
		gap: 0;
		height: auto;
		padding: 20px 0 0;
		width: 300px;
	}

	.case-area .cmn_modal .modal_trg::before {
		display: none;
	}

	.case-area .cmn_modal .person-box {
		width: 100%;
		padding: 0 20px;
	}

	.case-area .cmn_modal .catch-box {
		display: flex;
		flex-wrap: wrap;
		gap: 15px 0;
		padding: 0;
		margin: 0;
		position: static;
	}

	.case-area .cmn_modal .catch-pic {
		width: 70px;
		height: 70px;
		position: static;
		-webkit-transform: unset;
		transform: unset;
		order: 2;
	}

	.case-area .cmn_modal .catch-txt {
		font-size: 1.8rem;
		order: 1;
	}

	.case-area .cmn_modal .catch-box .person {
		font-size: 1.5rem;
		order: 3;
		width: calc(100% - 70px);
		padding: 0 0 0 15px;
		position: relative;
	}

	.case-area .cmn_modal .catch-box .name {
		font-size: 1.5rem;
	}

	.case-area .cmn_modal .catch-box .age {
		font-size: 1.3rem;
		margin: 0;
	}

	.case-area .cmn_modal .catch-box .place {
		display: block;
		margin: 3px 0 0;
		font-size: 1.4rem;
		width: 100%;
		line-height: 1;
	}

	.case-area .cmn_modal .catch-box .place::before {
		width: 12px;
		height: 16px;
	}

	.case-area .cmn_modal .ba-box {
		width: 100%;
		padding: 20px 15px 15px;
	}

	.case-area .cmn_modal .ba-box.before {
		margin: 30px 0 0;
	}

	.case-area .cmn_modal .ba-box.after {
		margin: 25px 0 0;
	}

	.case-area .cmn_modal .ba-box dt {
		font-size: 1.3rem;
		left: 15px;
	}

	.case-area .cmn_modal .ba-box.before dd {
		font-size: 1.4rem;
	}

	.case-area .cmn_modal .ba-box.after dd {
		font-size: 1.6rem;
	}

	.case-area .cmn_modal .comment-box {
		background: var(--cmnbg);
		width: 100%;
		padding: 25px 20px 20px;
		margin: 25px 0 0;
	}

	.case-area .cmn_modal .cmt-ttl {
		font-size: 1.4rem;
		margin: 0 0 10px;
	}

	.case-area .cmn_modal .comment-box p {
		font-size: 1.4rem;
	}

	.case-area .cmn_modal .comment-more p {
		-webkit-line-clamp: 2;
		height: 50px;
	}

	.case-area .cmn_modal .comment-pic {
		width: 55px;
		padding: 0;
	}

	.case-area .cmn_modal .modal_btn {
		font-size: 1.3rem;
		width: 60px;
		height: 60px;
		text-align: center;
		padding: 27px 0 0;
	}

	.case-area .cmn_modal .modal_btn .acc-icon {
		right: 0;
		left: 0;
		margin: 0 auto;
		top: 12px;
		width: 11px;
		height: 11px;
	}

	.case-area .cmn_modal .modal_btn .acc-icon::before {
		width: 11px;
		top: 45%;
	}

	.case-area .cmn_modal .modal_btn .acc-icon::after {
		height: 11px;
	}

	/* 実績下 */
	.case-area .case-box {
		flex-shrink: 0;
		border-width: 4px;
		width: 300px;
		padding: 20px 0 0;
	}

	.case-area .case-box::before {
		display: none;
	}

	.case-area .case-box .catch {
		font-size: 1.7rem;
		padding: 0 20px;
	}

	.case-area .case-box .person-box {
		padding: 0 20px;
		margin: 15px 0 0;
		gap: 15px;
	}

	.case-area .case-box .case-box-pic {
		width: 70px;
		height: 70px;
	}

	.case-area .case-box .person-box .name {
		font-size: 1.5rem;
	}

	.case-area .case-box .person-box .age {
		font-size: 1.3rem;
	}

	.case-area .case-box .person-box .place {
		font-size: 1.4rem;
	}

	.case-area .case-box .ba-box {
		padding: 20px 15px 15px;
		width: calc(100% - 40px);
	}

	.case-area .case-box .ba-box.before {
		margin: 30px auto 0;
	}

	.case-area .case-box .ba-box.after {
		margin: 25px auto 0;
	}

	.case-area .case-box .ba-box dt {
		transform: unset;
		font-size: 1.3rem;
		left: 15px;
		top: -13px;
		border-radius: 11.5px;
	}

	.case-area .case-box .ba-box.before dd {
		font-size: 1.4rem;
	}

	.case-area .case-box .ba-box.after dd {
		font-size: 1.6rem;
	}

	.case-area .case-box .ba-box p {
		font-size: 1.5rem;
	}

	.case-area .case-box .comment-box {
		background: var(--cmnbg);
		width: 100%;
		padding: 25px 20px 20px;
		margin: 23px 0 0;
	}

	.case-area .case-box .comment-box .cmt-ttl {
		font-size: 1.4rem;
		margin: 0 0 10px;
	}

	.case-area .case-box .comment-box p {
		font-size: 1.4rem;
	}
}

/* -----------------------------------------------------------
    flow-area
-------------------------------------------------------------- */
.flow-area {
	padding-top: 90px;
	padding-bottom: 90px;
	background: url(../img/ptn-stripe-gray.jpg) repeat;
	position: relative;
	margin: 100px 0 0;
}

.flow-area.cmn-frame .cmn-frame-inner {
	max-width: 1300px;
}

.flow-area.cmn-frame .cmn-frame-contents {
	max-width: 1200px;
}

.flow-area .fmt-tab-wrap1 {
	margin: 35px 0 0;
}

.flow-area .fmt-tab-box1 {
	margin: 20px 0 0;
}

@media screen and (max-width: 768px) {
	.flow-area {
		margin: 45px 0 0;
	}

	.flow-area .fmt-tab-wrap1 {
		margin: 25px 0 0;
	}
}

/* -----------------------------------------------------------
    faq-area
-------------------------------------------------------------- */
.faq-area {
	padding: 90px 0 0;
}

.faq-area .fmt-tab-item {
	align-items: center;
	display: flex;
	font-weight: 600;
	justify-content: center;
	min-width: 220px;
	padding: 16px;
	letter-spacing: .05em;
}

.faq-area .fmt-tab-wrap2 {
	margin: 40px 0 0;
}

@media screen and (max-width: 768px) {
	.page-lp .faq-area {
		padding: 60px 20px 0;
	}

	.page-lp .faq-area .fmt-tab-wrap2 {
		margin: 30px 0 0;
	}

	.page-lp .faq-area .fmt-tab-contents {
		display: none;
	}

	.page-lp .faq-area .fmt-tab-contents.fmt-tabbox-active {
		display: block;
	}

	.page-lp .faq-area [data-fmttab="column"] [class^="fmt-tab-nav"] .fmt-tab-item {
		font-size: 1.4rem;
		min-width: 80px;
		padding: 14px 22px 14px 12px;
	}
}

/* -----------------------------------------------------------
    job-area
-------------------------------------------------------------- */
.job-area {
	padding: 90px 0 0;
}

.job-area .cmn-section-ttl {
	margin: 0 0 35px;
}

.job-area .job-list {
	display: flex;
	gap: 42px;
	flex-wrap: wrap;
}

.job-area .job-list a {
	display: block;
	color: #3eb7cd;
	border-bottom: solid 1px #3eb7cd;
	padding: 0 0 5px;
}

.job-area .job-list a::after {
	content: "\f08e";
	font: 900 1.7rem / 1 var(--webicon);
	margin: 0 0 0 8px;
}

@media screen and (max-width: 768px) {
	.job-area {
		padding: 60px 20px 0;
	}

	.job-area .cmn-section-ttl {
		margin: 0 0 25px;
	}

	.job-area .job-list {
		flex-direction: column;
		gap: 35px;
	}

	.job-area .job-list .job-item {
		width: 100%;
	}

	.job-area .job-list a {
		font-size: 1.5rem;
		width: fit-content;
		position: relative;
		padding: 0 20px 0 0;
	}

	.job-area .job-list a::after {
		font-size: 1.5rem;
		position: absolute;
		right: 0;
	}
}

/* -----------------------------------------------------------
    ex-area
-------------------------------------------------------------- */
.ex-area {
	padding: 216px 0 70px;
	position: relative;
}

.ex-area::before {
	position: absolute;
	content: "";
	background: url(../img/circle-txt.png) no-repeat center / cover;
	width: 530px;
	height: 529px;
	right: -160px;
	top: 256px;
	animation: rotate 18s linear infinite;
}

.ex-area .catch-top {
	color: var(--main);
	font-size: 2.5rem;
	font-weight: bold;
	margin: 0 0 18px;
	letter-spacing: 0;
}

.ex-area .catch {
	font-size: 2.8rem;
	line-height: 1.6;
	font-weight: bold;
	letter-spacing: 0.02em;
	margin: 0 0 30px;
}

.ex-area .ex-list {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin: 60px auto 35px;
}

.ex-area .ex-item {
	width: calc((100% - 60px) / 3);
	background-color: #f3f4f8;
	border-radius: 5px;
	border: solid 3px #dfe2e8;
	padding: 25px 25px 30px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
}

.ex-area .ex-list .ex-item::before {
	position: absolute;
	content: "";
	background: url(../img/deco-green.png) no-repeat center / cover;
	width: 21px;
	height: 31px;
	left: 20px;
	top: -8px;
}

.ex-area .ex-item .no {
	width: 100%;
	text-align: center;
	font-size: 1.3rem;
	letter-spacing: 0.03em;
	line-height: 1.6;
	font-weight: 500;
	color: #888;
	margin: 0 0 10px;
}

.ex-area .ex-item .list-catch {
	width: 100%;
	text-align: center;
	font-size: 1.5rem;
	letter-spacing: 0;
	line-height: 1.6;
	font-weight: 600;
	margin: 0 0 13px;
}

.ex-area .ex-item .list-catch span {
	font-size: 2.0rem;
	font-weight: bold;
	letter-spacing: 0.03em;
	line-height: 1.2;
	display: block;
}

.ex-area .ex-item .list-ttl {
	width: 100%;
	text-align: center;
	font-size: 2.6rem;
	letter-spacing: 0.03em;
	line-height: 1.3;
	font-weight: bold;
}

.ex-area .ex-item .pay-box {
	width: calc((100% - 10px) / 2);
	background-color: #fff;
	border-radius: 5px;
	text-align: center;
	padding: 10px 0 7px;
	margin: 25px auto 20px;
}

.ex-area .ex-item .pay-box.full {
	width: 100%;
}

.ex-area .ex-item .pay-box .box-ttl {
	font-size: 1.5rem;
	letter-spacing: 0.03em;
	line-height: 1.4;
	font-weight: 500;
	color: #888;
}

.ex-area .ex-item .pay-box .num {
	font-size: 1.7rem;
	line-height: 1;
	letter-spacing: 0;
	font-weight: bold;
	color: var(--main);
}

.ex-area .ex-item .pay-box .num em {
	font-size: 1.5rem;
	letter-spacing: 0;
	line-height: 1.6;
	font-weight: 500;
	display: block;
	color: var(--cmnblack);
}

.ex-area .ex-item .pay-box .num span {
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.12em;
	margin: 0 0 0 3px;
}

.ex-area .ex-item .staff-txt {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.9;
	background-color: var(--cmnbg);
	border-radius: 5px;
	border: solid 1px var(--main);
	padding: 10px 100px 10px 20px;
}

.ex-area .ex-item .staff-txt span {
	color: #64ba6c;
	font-weight: bold;
}

/* one */
.ex-area .ex-list .ex-item.one .staff-txt {
	background: url(../img/illust-staff01.png) no-repeat right 29px center / 62px var(--cmnbg);
}

/* two */
.ex-area .ex-list .ex-item.two .staff-txt {
	background: url(../img/illust-staff02.png) no-repeat right 24px center / 68px var(--cmnbg);
}

/* three */
.ex-area .ex-list .ex-item.three .staff-txt {
	padding: 10px 110px 10px 20px;
	background: url(../img/illust-staff03.png) no-repeat right 17px center / 70px var(--cmnbg);
}

.ex-area .note {
	font-size: 1.5rem;
	text-align: right;
	color: #888;
}

@media screen and (max-width: 768px) {
	.ex-area {
		padding: 120px 0 40px;
	}

	.ex-area::before {
		width: 330px;
		height: 329px;
		top: 0;
	}

	.ex-area .catch-top {
		font-size: 1.8rem;
		margin: 0 0 18px;
		line-height: 1.7;
	}

	.ex-area .catch {
		font-size: 1.9rem;
		line-height: 1.8;
		margin: 0 0 15px;
	}

	.ex-area .txt {
		font-size: 1.5rem;
	}

	.ex-list-wrap {
		overflow-x: scroll;
		padding: 0 0 10px 20px;
	}

	.ex-area .ex-list {
		align-items: flex-start;
		gap: 15px;
		margin: 35px 0 0;
		display: flex;
		flex-wrap: nowrap;
	}

	.ex-area .ex-item {
		flex-shrink: 0;
		width: 290px;
		padding: 15px 15px 20px 15px;
	}

	.ex-area .ex-item .no {
		margin: 0 0 5px;
	}

	.ex-area .ex-item .list-catch {
		font-size: 1.4rem;
		margin: 0 0 10px;
	}

	.ex-area .ex-item .list-catch span {
		font-size: 1.8rem;
		line-height: 1.8;
	}

	.ex-area .ex-item .list-ttl {
		font-size: 2.2rem;
		margin: 0 0 10px;
	}

	.ex-area .ex-item .pay-box {
		padding: 8px 15px;
		margin: 10px auto 0;
		width: 100%;
	}

	.ex-area .ex-item .pay-box .num {
		font-size: 1.6rem;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.ex-area .ex-item .pay-box .num em {
		margin: 0 5px 0 0;
	}

	.ex-area .ex-item .staff-txt {
		padding: 10px 90px 10px 15px !important;
		margin: 15px 0 0;
	}

	/* one */
	.ex-area .ex-list .ex-item.one .staff-txt {
		background-size: 58px auto;
		background-position: right 15px center;
	}

	/* two */
	.ex-area .ex-list .ex-item.two .staff-txt {
		background-size: 60px auto;
		background-position: right 15px center;
	}

	/* three */
	.ex-area .ex-list .ex-item.three .staff-txt {
		background-size: 60px auto;
		background-position: right 15px center;
	}

	.ex-area .note {
		font-size: 1.5rem;
		text-align: left;
		line-height: 1.6;
		margin: 10px 0 0;
	}
}

/* -----------------------------------------------------------
    feature-area
-------------------------------------------------------------- */
.feature-area {
	background-color: #ebeef4;
	padding: 100px 0;
}

.feature-area .top-box {
	display: flex;
	align-items: center;
	gap: 65px;
}

.feature-area .top-box .cmn-section-ttl {
	flex-shrink: 0;
}

.feature-area .top-box .txt {
	font-size: 2.6rem;
	line-height: 1.6;
	letter-spacing: 0.05em;
	font-weight: bold;
}

.feature-area .feature-list {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	margin: 60px auto 0;
}

.feature-area .feature-item {
	width: calc((100% - 40px) / 2);
	background-color: #fff;
	border-radius: 5px;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	padding: 45px;
}

.feature-area .feature-item .num {
	font-size: 2.0rem;
	font-weight: 600;
	font-family: var(--en);
	color: var(--main);
	line-height: 35px;
	height: fit-content;
	margin: 0 15px 0 0;
	letter-spacing: 0;
}

.feature-area .feature-item .num span {
	font-size: 2.8rem;
	margin: 0 0 0 3px;
}

.feature-area .feature-item .list-ttl-wrap {
	width: fit-content;
}

.feature-area .feature-item .list-ttl {
	background-color: var(--main);
	color: #fff;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	height: 35px;
	display: flex;
	padding: 0 15px 4px;
	border-radius: 18px;
	justify-content: center;
	align-items: center;
}

.feature-area .feature-item .list-catch {
	width: 100%;
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: .05em;
	line-height: 1.3;
	margin: 20px 0 30px;
}

.feature-area .feature-item .img {
	border-radius: 3px;
	flex-shrink: 0;
	aspect-ratio: 1/1;
	width: 200px;
	height: 200px;
}

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

.feature-area .feature-item .txt-box {
	width: calc(100% - 220px);
	margin: 0 0 0 20px;
}

.feature-area .feature-item .txt-detail-wrap p + p {
	margin: 20px 0 0;
}

.feature-area .feature-item .txt-box p {
	font-size: 1.5rem;
	line-height: 1.7;
	letter-spacing: 0;
	margin: 0 0 15px;
}

.feature-area .feature-item .txt-box p.txt-detail {
	letter-spacing: .05em;
}

.feature-area .feature-item .txt-box h5 {
	font-size: 1.5rem;
	line-height: 1.5;
	font-weight: 600;
	letter-spacing: 0;
	color: var(--sub2);
	margin: 0 0 12px;
}

.feature-area .feature-item .txt-box .disc-list.row-style {
	display: flex;
	gap: 2px 15px;
	flex-wrap: wrap;
}

.feature-area .feature-item .txt-box .disc-list li {
	font-size: 1.5rem;
	line-height: 1.3;
	letter-spacing: 0.05em;
	padding: 0 0 0 15px;
	margin: 0 0 10px;
	position: relative;
}

.feature-area .feature-item .txt-box .disc-list li::before {
	position: absolute;
	content: "";
	width: 8px;
	height: 8px;
	background-color: var(--other2);
	left: 0px;
	top: 8px;
	border-radius: 50%;
}

@media screen and (max-width: 768px) {
	.feature-area {
		padding: 60px 20px;
	}

	.feature-area .top-box {
		flex-wrap: wrap;
		gap: 20px;
	}

	.feature-area .top-box .txt {
		font-size: 1.9rem;
		line-height: 1.9;
	}

	.feature-area .feature-list {
		margin: 30px auto 0;
		gap: 30px;
	}

	.feature-area .feature-item {
		width: 100%;
		padding: 0 20px 20px;
		position: relative;
		display: flex;
		flex-wrap: wrap;
	}

	.feature-area .feature-item .num {
		font-size: 1.8rem;
		order: 1;
		position: absolute;
		top: -15px;
		left: 20px;
		display: flex;
		flex-direction: column;
	}

	.feature-area .feature-item .num span {
		font-size: 2.4rem;
		line-height: 1;
	}

	.feature-area .feature-item .list-ttl-wrap {
		order: 2;
		width: 100%;
		margin: 5px 0 20px;
	}

	.feature-area .feature-item .list-ttl {
		border-radius: 50px;
		font-size: 1.5rem;
		padding: 5px 12px;
		width: fit-content;
		min-height: 31px;
		height: auto;
		margin: 13px 0 0 40px;
		line-height: 1.2;
	}

	.feature-area .feature-item .list-catch {
		font-size: 1.9rem;
		line-height: 1.5;
		letter-spacing: .07em;
		margin: 15px 0 20px;
		order: 4;
		width: 55%;
		padding: 0 0 0 5%;
	}

	.feature-area .feature-item .img {
		aspect-ratio: 1/.8;
		order: 3;
		width: 45%;
		height: auto;
	}

	.feature-area .feature-item .txt-box {
		width: 100%;
		margin: 15px 0 0;
		order: 6;
	}

	.feature-area .feature-item .txt-box .disc-list li {
		font-size: 1.4rem;
		padding: 0 0 0 12px;
	}

	.feature-area .feature-item .txt-box .disc-list li::before {
		width: 6px;
		height: 6px;
	}
}