@charset "UTF-8";
/* ------------------------------------------------
                    TOP
--------------------------------------------------- */
/*---------- 共通 ----------*/
header {
	background: rgba(255, 255, 255, 0);
}
header.is-top-sticky {
	background: var(--color-white);
}


.sec-btn-area {
	margin: 60px auto 0;
	justify-content: center;
	gap: 50px;
	position: relative;
}
/*
.sec-btn-area .btn-contact, 
.sec-btn-area a.btn-contact, 
.sec-btn-area .btn-document, 
.sec-btn-area a.btn-document {
	width: 250px;
	padding: 16px 10px 16px 20px;
    font-size: 1.9rem;
}
.sec-btn-area a.btn-contact::before {
	content: '';
	width: 20px;
	height: 14px;
	background: url("../../img/common/icon_mail_w.svg") center center no-repeat;
	background-size: 100%;
	position: absolute;
	top: calc(50% - 7px);
	left: 20px;
}
.sec-btn-area a.btn-document::before {
	content: '';
	width: 15px;
	height: 19px;
	background: url("../../img/common/icon_document_g.svg") center center no-repeat;
	background-size: 100%;
	position: absolute;
	top: calc(50% - 9.5px);
	left: 15px;
}
*/



@media (max-width: 768px) {
	.sec-btn-area {
		margin: 12vw auto 0;
		justify-content: center;
		gap: 5vw;
		position: relative;
	}
}

/*---------- MV ----------*/
.sec-mv {
	width: 100%;
	margin: -60px auto 0;
	padding: 130px 0 100px;
	background: linear-gradient(90deg, #C6DED3 0%, #C6DED3 60%, #FBFFF2 60%, #FBFFF2 100%);
	position: relative;
}
.sec-mv::before {
	content: '';
	width: 100%;
	height: 100%;
	background: url("../../img/top/bg_mv_pc.svg") center center no-repeat;
	background-size: auto 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.sec-mv::after {
	content: '';
	width: 100%;
	max-width: 1360px;
	height: 100%;
	background: url("../../img/top/img_mv_pc.png") bottom right no-repeat;
	background-size: 100%;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 2;
}

.mv-copy {
	color: var(--color-dark-green);
    font-size: 5.0rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.76;
	margin-bottom: 60px;
	position: relative;
	z-index: 3;
}
.mv-sub-copy {
	color: var(--color-black);
    font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 2;
	margin-bottom: 60px;
	position: relative;
	z-index: 3;
}

.mv-btn-area {
	justify-content: flex-start;
	gap: 14px;
	position: relative;
	z-index: 4;
}
.mv-btn-area .btn-contact, 
.mv-btn-area a.btn-contact, 
.mv-btn-area .btn-document, 
.mv-btn-area a.btn-document {
	width: 220px;
}

@media (max-width: 1360px) {
	.sec-mv::after {
		content: '';
		width: 100%;
		max-width: initial;
		height: 100%;
		background: url("../../img/top/img_mv_pc.png") bottom right no-repeat;
		background-size: 90%;
		position: absolute;
		bottom: 0;
		right: 0;
		z-index: 2;
	}
}

@media (max-width: 1100px) {
	.sec-mv {
		width: 100%;
		margin: -60px auto 0;
		padding: 12vw 0 60vw;
		background: linear-gradient(180deg, #C6DED3 0%, #C6DED3 60%, #FBFFF2 60%, #FBFFF2 100%);
		position: relative;
	}
	.sec-mv::before {
		content: '';
		width: 100%;
		height: 100%;
		background: url("../../img/top/bg_mv_sp.svg") center center no-repeat;
		background-size: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
	}
	.sec-mv::after {
		content: '';
		width: 100%;
		max-width: initial;
		height: 100%;
		background: url("../../img/top/img_mv_sp.png") bottom right no-repeat;
		background-size: 100%;
		position: absolute;
		bottom: 0;
		right: 0;
		z-index: 2;
	}

	.mv-copy {
		font-size: 5.6vw;
		margin-bottom: 6vw;
		position: relative;
		z-index: 3;
	}
	.mv-sub-copy {
		font-size: 1.8rem;
		margin-bottom: 6vw;
		position: relative;
		z-index: 3;
	}

}


@media (max-width: 768px) {
	.sec-mv {
		width: 100%;
		margin: -10.66vw auto 0;
		padding: 20vw 0 70vw;
	}
	.sec-mv::before {
		content: '';
		width: 100%;
		height: 100%;
		background: url("../../img/top/bg_mv_sp.svg") top 500% center no-repeat;
		background-size: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
	}
	.sec-mv::after {
		content: '';
		width: 100%;
		max-width: 900px;
		height: 100%;
		background: url("../../img/top/img_mv_sp.png") bottom right no-repeat;
		background-size: 100%;
		position: absolute;
		bottom: 0;
		right: 0;
		z-index: 2;
	}

	.mv-copy {
		font-size: 5.8vw;
		margin-bottom: 6vw;
		position: relative;
		z-index: 3;
	}
	.mv-sub-copy {
		font-size: 3.4vw;
		margin-bottom: 8vw;
		position: relative;
		z-index: 3;
	}

	.mv-btn-area {
		gap: 4vw;
	}
	.mv-btn-area .btn-contact, 
	.mv-btn-area a.btn-contact, 
	.mv-btn-area .btn-document, 
	.mv-btn-area a.btn-document {
		width: 90%;
	}
}




/*---------- サイバーセキュリティ対策を阻む３つの壁 ----------*/
.sec-barrier {
	width: 100%;
	padding: 80px 0;
	position: relative;
}

/* 壁 */
.barrier-cont-wrap {
	width: 100%;
	margin-bottom: 30px;
	padding: 30px 50px 50px;
	background: var(--color-white);
	align-items: flex-start;
}

.barrier-cont-ttl {
	width: 100%;
	color: var(--color-dark-green);
    font-size: 3.2rem;
	font-weight: 700;
	margin-bottom: 15px;
	letter-spacing: 0.1em;
}
.barrier-cont-ttl .fs-s {
    font-size: 2.6rem;
}
.barrier-cont-ttl-num {
	display: inline-block;
	margin-right: 25px;
	color: var(--color-blue);
    font-size: 5.2rem;
	line-height: 1;
	letter-spacing: 0;
}

.barrier-cont {
	width: calc((100% - 90px - 36px) / 2);
}
.barrier-cont-arrow {
	width: 90px;
	margin: 120px 18px 0;
}

@media (max-width: 1300px) {
	.barrier-cont {
		width: calc((100% - 8vw - 3vw) / 2);
	}
	.barrier-cont-arrow {
		width: 8vw;
		margin: 8vw 1.5vw 0;
	}
}

.barrier-cont-img {
	width: 100%;
	margin-bottom: 30px;
	border-radius: 20px;
	overflow: hidden;
	position: relative;
}
.barrier-cont-label {
	width: 110px;
	height: 35px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0 18px 18px 0;
	color: var(--color-white);
	line-height: 1;
	position: absolute;
	top: 26px;
	left: 0;
}
.barrier-cont-label.is-blue {
	background: var(--color-blue);
}
.barrier-cont-label.is-orange {
	background: var(--color-orange);
}


.check-list {
	width: 100%;
}
.check-list li {
	width: 100%;
	margin-bottom: 15px;
	padding-left: 35px;
    font-size: 1.8rem;
	line-height: 1.6;
	position: relative;
}
.check-list li:last-child { margin-bottom: 0;}
.check-list li::before {
	content: '';
	width: 24px;
	height: 24px;
	background: url("../../img/common/icon_check.svg") center center no-repeat;
	background-size: 100%;
	position: absolute;
	top: 0.2em;
	left: 0;
}

.barrier-cont-solution-txt {
	margin-bottom: 20px;
	color: var(--color-blue);
    font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.6;
}
.barrier-cont-solution-txt .fs-l {
    font-size: 2.8rem;
}

.solution-list {
	width: 100%;
}
.solution-list li {
	width: 100%;
	margin-bottom: 15px;
	padding-left: 35px;
    font-size: 1.8rem;
	line-height: 1.6;
	position: relative;
}
.solution-list li:last-child { margin-bottom: 0;}
.solution-list li::before {
	content: '';
	width: 20px;
	height: 32px;
	background: url("../../img/common/icon_light.svg") center center no-repeat;
	background-size: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

/* 解決 */
.solution-cont {
	width: 100%;
	margin-top: 90px;
	padding: 90px 30px 45px;
	background: var(--color-dark-green);
	border-radius: 20px;
	position: relative;
}
.solution-cont::before {
	content: '';
	width: 62px;
	height: 120px;
	background: url("../../img/top/img_arrow_down.svg") center center no-repeat;
	background-size: 100%;
	position: absolute;
	top: -70px;
	left: calc(50% - 31px);
}
.solution-cont-txt {
	margin-bottom: 60px;
	color: var(--color-white);
	text-align: center;
    font-size: 3.0rem;
	font-weight: 700;
}
.solution-cont-txt .fs-l {
    font-size: 4.0rem;
}

.solution-btn-area {
	justify-content: center;
	gap: 50px;
}

@media (max-width: 768px) {
	.sec-barrier {
		width: 100%;
		padding: 16vw 0;
		position: relative;
	}

	/* 壁 */
	.barrier-cont-wrap {
		width: 100%;
		margin-bottom: 8vw;
		padding: 5vw;
	}

	.barrier-cont-ttl {
		width: 100%;
		font-size: 4.8vw;
		margin-bottom: 3vw;
	}
	.barrier-cont-ttl .fs-s {
		font-size: 4.0vw;
	}
	.barrier-cont-ttl-num {
		margin-right: 4vw;
		font-size: 8.8vw;
	}

	.barrier-cont {
		width: 100%;
	}
	.barrier-cont-arrow {
		width: 12vw;
		margin: 8vw auto;
		transform: rotate(90deg);
	}

	.barrier-cont-img {
		width: 100%;
		margin-bottom: 4vw;
		border-radius: 4vw;
	}
	.barrier-cont-label {
		width: 22vw;
		height: 6vw;
		border-radius: 0 4vw 4vw 0;
		top: 5vw;
	}


	.check-list li {
		width: 100%;
		margin-bottom: 2.5vw;
		padding-left: 7vw;
		font-size: 3.4vw;
	}
	.check-list li::before {
		content: '';
		width: 5vw;
		height: 5vw;
	}

	.barrier-cont-solution-txt {
		margin-bottom: 4vw;
		font-size: 4.2vw;
	}
	.barrier-cont-solution-txt .fs-l {
		font-size: 5.0vw;
	}

	.solution-list {
		width: 100%;
	}
	.solution-list li {
		width: 100%;
		margin-bottom: 2.5vw;
		padding-left: 7vw;
		font-size: 3.4vw;
	}
	.solution-list li:last-child { margin-bottom: 0;}
	.solution-list li::before {
		content: '';
		width: 4vw;
		height: 7vw;
		top: -0.1em;
	}

	/* 解決 */
	.solution-cont {
		width: 100%;
		margin-top: 20vw;
		padding: 90px 30px 45px;
		background: var(--color-dark-green);
		border-radius: 20px;
		position: relative;
	}
	.solution-cont::before {
		content: '';
		width: 10vw;
		height: 20vw;
		background: url("../../img/top/img_arrow_down.svg") center center no-repeat;
		background-size: 100%;
		position: absolute;
		top: -10vw;
		left: calc(50% - 5vw);
	}
	.solution-cont-txt {
		margin-bottom: 10vw;
		font-size: 4.2vw;
	}
	.solution-cont-txt .fs-l {
		font-size: 5.4vw;
	}

	.solution-btn-area {
		justify-content: center;
		gap: 4vw;
	}

}




/*---------- SMBCサイバーフロントの４つの特徴 ----------*/
.sec-feature {
	width: 100%;
	padding: 80px 0;
	position: relative;
}


/* 特徴 */
.feature-cont-wrap {
	width: 100%;
	margin-top: 50px;
	gap: 60px 40px;
}

.feature-cont {
	width: calc((100% - 40px) / 2);
	align-items: flex-end;
	background: var(--color-white);
	border: 10px solid var(--color-light-green);
	border-radius: 20px;
	position: relative;
	z-index: 1;
}

.feature-cont-ttl-num {
	width: 100px;
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-light-yellowgreen);
	border-radius: 50%;
	color: var(--color-white);
	text-align: center;
    font-size: 5.3rem;
	position: absolute;
	top: -50px;
	left: -10px;
}

.feature-cont-txt-wrap {
	flex-direction: column;
	align-items: flex-end;
}
.feature-cont-ttl {
	margin: auto 0;
	color: var(--color-dark-green);
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}
.feature-cont-txt {
	font-size: 1.8rem;
	line-height: 2;
}
.txt-line-marker {
	background: linear-gradient(transparent 95%, var(--color-light-yellowgreen) 0%);
	display: inline;
}


/* 01 */
.feature-cont-01 {
	flex-direction: row-reverse;
	padding: 30px 30px 35px 20px;
}
.feature-cont-01 .feature-cont-img {
	width: 105px;
	margin-right: 20px;
}
.feature-cont-01 .feature-cont-txt-wrap {
	width: calc(100% - 125px);
}

/* 02 */
.feature-cont-02 {
	padding: 30px 30px 35px;
}
.feature-cont-02 .feature-cont-ttl-num {
	left: auto;
	right: -10px;
}
.feature-cont-02 .feature-cont-img {
	width: 90px;
	margin-left: 35px;
}
.feature-cont-02 .feature-cont-txt-wrap {
	width: calc(100% - 145px);
}


/* 03 */
.feature-cont-03 {
	padding: 30px 60px 35px 30px;
	flex-direction: row-reverse;
}
.feature-cont-03 .feature-cont-img {
	width: 85px;
	margin-right: 30px;
}
.feature-cont-03 .feature-cont-txt-wrap {
	width: calc(100% - 115px);
}

/* 04 */
.feature-cont-04 {
	padding: 30px 40px 35px 40px;
}
.feature-cont-04 .feature-cont-ttl-num {
	left: auto;
	right: -10px;
}
.feature-cont-04 .feature-cont-ttl {
	width: 100%;
}
.feature-cont-04 .feature-cont-img {
	width: 95px;
	margin-left: 20px;
}
.feature-cont-04 .feature-cont-txt-wrap {
	width: calc(100% - 115px);
}


@media (max-width: 1330px) {

	/* 特徴 */
	.feature-cont-wrap {
		width: 100%;
		gap: 6vw 2vw;
	}

	.feature-cont {
		border: 0.8vw solid var(--color-light-green);
	}


	.feature-cont-ttl-num {
		width: 8vw;
		height: 8vw;
		font-size: 4.2vw;
		position: absolute;
		top: -4vw;
		left: -0.8vw;
	}


	.feature-cont-txt-wrap {
		width: calc((100% - 2vw) / 2);
	}
	.feature-cont-ttl {
		font-size: 1.99vw;
	}
	.feature-cont-txt {
		font-size: 1.44vw;
	}


	/* 01 */
	.feature-cont-01 {
		padding: 3vw 0.5vw 3vw 1vw;
	}
	.feature-cont-01 .feature-cont-img {
		width: 8vw;
		margin-right: 1vw;
	}
	.feature-cont-01 .feature-cont-txt-wrap {
		width: calc(100% - 9vw);
	}

	/* 02 */
	.feature-cont-02 {
		padding: 3vw 0.5vw 3vw 1vw;
	}
	.feature-cont-02 .feature-cont-ttl-num {
		left: auto;
		right: -0.8vw;
	}
	.feature-cont-02 .feature-cont-img {
		width: 8vw;
		margin-left: 2vw;
		margin-right: 1vw;
	}
	.feature-cont-02 .feature-cont-txt-wrap {
		width: calc(100% - 11vw);
	}


	/* 03 */
	.feature-cont-03 {
		padding: 3vw 1vw;
	}
	.feature-cont-03 .feature-cont-img {
		width: 8vw;
		margin-right: 3vw;
	}
	.feature-cont-03 .feature-cont-txt-wrap {
		width: calc(100% - 11vw);
	}

	/* 04 */
	.feature-cont-04 {
		padding: 3vw 1vw 3vw 2vw;
	}
	.feature-cont-04 .feature-cont-ttl-num {
		left: auto;
		right: -0.8vw;
	}
	.feature-cont-04 .feature-cont-img {
		width: 7vw;
		margin-left: 2vw;
	}
	.feature-cont-04 .feature-cont-txt-wrap {
		width: calc(100% - 9vw);
	}

}




@media (max-width: 768px) {
	.sec-feature {
		width: 100%;
		padding: 16vw 0;
		position: relative;
	}


	/* 特徴 */
	.feature-cont-wrap {
		width: 100%;
		margin-top: 5vw;
		gap: 12vw;
	}

	.feature-cont {
		width: 100%;
		border: 2vw solid var(--color-light-green);
		border-radius: 4vw;
	}

	.feature-cont-ttl-num {
		width: 20vw;
		height: 20vw;
		font-size: 8.8vw;
		top: -10vw;
		left: -2vw;
	}

	.feature-cont-txt-wrap {
		flex-direction: column;
		align-items: center;
	}
	.feature-cont-ttl {
		margin: 0;
		font-size: 4.2vw;
	}
	.feature-cont-txt {
		font-size: 3.4vw;
	}
	.txt-line-marker {
		background: linear-gradient(transparent 95%, var(--color-light-yellowgreen) 0%);
		display: inline;
	}


	/* 01 */
	.feature-cont-01 {
		flex-direction: row-reverse;
		padding: 6vw 4vw 6vw;
	}
	.feature-cont-01 .feature-cont-ttl {
		width: 70vw;
		margin: 0 0 0 -6vw;
	}
	.feature-cont-01 .feature-cont-img {
		width: 18vw;
		margin-right: 3vw;
		margin-bottom: 3vw;
	}
	.feature-cont-01 .feature-cont-txt-wrap {
		width: calc(100% - 21vw);
	}

	/* 02 */
	.feature-cont-02 {
		padding: 6vw 4vw;
	}
	.feature-cont-02 .feature-cont-ttl-num {
		left: auto;
		right: -2vw;
	}
	.feature-cont-02 .feature-cont-img {
		width: 18vw;
		margin-left: 3vw;
		margin-right: 0;
	}
	.feature-cont-02 .feature-cont-txt-wrap {
		width: calc(100% - 21vw);
		text-align: left;
	}


	/* 03 */
	.feature-cont-03 {
		flex-direction: row-reverse;
		padding: 6vw 4vw;
	}
	.feature-cont-03 .feature-cont-ttl {
	}
	.feature-cont-03 .feature-cont-img {
		width: 18vw;
		margin-left: 0;
		margin-right: 3vw;
	}
	.feature-cont-03 .feature-cont-txt-wrap {
		width: calc(100% - 21vw);
	}

	/* 04 */
	.feature-cont-04 {
		padding: 6vw 4vw;
		flex-direction: row;
	}
	.feature-cont-04 .feature-cont-ttl-num {
		left: auto;
		right: -2vw;
	}
	.feature-cont-04 .feature-cont-img {
		width: 18vw;
		margin-right: 0;
		margin-left: 3vw;
	}
	.feature-cont-04 .feature-cont-txt-wrap {
		width: calc(100% - 21vw);
	}
}




/*---------- 導入事例 ----------*/
.sec-case {
	width: 100%;
	padding: 80px 0;
	position: relative;
}

.case-cont-wrap {
	width: 100%;
	position: relative;
}
.sec-case .swiper {
	padding-bottom: 50px;
}
.case-cont {
	width: auto;
	height: auto;
	display: flex;
	flex-direction: column;
}
.case-cont-txt-wrap {
	width: 100%;
	padding: 30px 15px;
	display: flex;
	flex-direction: column;
	background: var(--color-white);
	border: 1px solid var(--color-light-green);
	border-radius: 20px;
	position: relative;
	flex-grow: 1;
}
.case-cont-txt-wrap::before {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	left: calc(50% - 22px);
	top: -25px;
	border-bottom: 25px solid var(--color-light-green);
	border-right: 22px solid transparent;
	border-left: 22px solid transparent;
}
.case-cont-txt-wrap::after {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	left: calc(50% - 22px);
	top: -23px;
	border-bottom: 25px solid var(--color-white);
	border-right: 22px solid transparent;
	border-left: 22px solid transparent;
}

.case-cont-label {
	width: 140px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0 18px 18px 0;
	color: var(--color-white);
	line-height: 1;
	position: relative;
	left: -15px;
}
.case-cont-label.is-blue {
	background: var(--color-blue);
}
.case-cont-label.is-orange {
	background: var(--color-orange);
}
.case-cont-txt-barrier, 
.case-cont-txt-solution {
	width: 100%;
	margin-top: 10px;
	display: flex;
	align-items: center;
	gap: 10px;
} 
.case-cont-txt-solution {
	flex-direction: row-reverse;
}
.case-cont-txt-barrier img, 
.case-cont-txt-solution img {
	width: 80px;
}

.case-cont-list {
	width: calc(100% - 90px);
}
.case-cont-list li {
	font-size: 1.4rem;
	line-height: 1.4;
	margin-bottom: 15px;
}
.case-cont-list li:last-child { margin-bottom: 0;}
.case-cont-txt-barrier .case-cont-list li {
	font-size: 1.4rem;
}
.case-cont-txt-solution .case-cont-list li {
	color: var(--color-dark-green);
	font-weight: 700;
}
/*
.case-cont-ttl {
	margin-bottom: 20px;
	color: var(--color-dark-green);
	font-size: 2.4rem;
	font-weight: 700;
}
.case-cont-txt {
	flex-grow: 1;
	margin-top: auto;
	font-size: 1.4rem;
}*/

.case-company-info {
	margin-bottom: 30px;
	text-align: center;
	color: var(--color-blue);
	font-size: 2.4rem;
	font-weight: 700;
}

.case-arrow {
	display: block;
	width: 0;
	height: 0;
	margin: 20px auto 0;
	border-top: 25px solid var(--color-light-yellowgreen);
	border-right: 22px solid transparent;
	border-left: 22px solid transparent;
}
.sec-case .check-list li {
	font-size: 1.6rem;
}
.sec-case .solution-list {
	margin-bottom: 20px;
}
.sec-case .solution-list li {
	color: var(--color-dark-green);
	font-size: 2.0rem;
	font-weight: 700;
}



.sec-case .slider-dots {
	width: 100%;
	margin: 0 auto;
	padding: 0 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 98;
}

.sec-case .slider-dots .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	display: inline-block;
	position: relative;
	border-radius: 50%;
	margin: 0 6px !important;
	background: var(--color-light-green);
	cursor: pointer;
	opacity: 1 !important;
}

.sec-case .slider-dots .swiper-pagination-bullet.swiper-pagination-bullet-active::after {
	content: '';
	width: 12px;
	height: 12px;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
	background: var(--color-dark-green) !important;
}

/* slider arrow */
.case-arrow-prev, 
.case-arrow-next {
	width: 40px;
	height: 40px;
	background: var(--color-dark-green);
	border-radius: 10px;
	position: absolute;
	top: calc(100% - 30px);
	z-index: 99;
	cursor: pointer;
	transition: 0.3s ease-in-out;
}
.case-arrow-prev {
	left: 0;
}
.case-arrow-next {
	right: 0;
}
.case-arrow-prev::after,
.case-arrow-next::after {
	content: '';
	width: 40px;
	height: 40px;
	background-repeat: no-repeat;
	background-position: center center;
	position: absolute;
	top: 0;
	left: 0;
	transition: 0.3s ease-in-out;
}
.case-arrow-prev::after {
	background-image: url("../../img/common/icon_arrow_w.svg");
	background-size: 19px;
	transform: rotate(180deg);
}
.case-arrow-next::after {
	background-image: url("../../img/common/icon_arrow_w.svg");
	background-size: 19px;
}


@media (min-width: 769px) {
	.case-arrow-prev:hover, 
	.case-arrow-next:hover {
		opacity: 0.7;
	}
}


@media (max-width: 1260px) {
	.case-cont-wrap {
		width: calc(100% - 80px);
		margin: 0 auto;
		position: relative;
	}
}
@media (max-width: 1160px) {
	.case-cont-wrap {
		width: calc(100% + 10vw);
		margin-left: -5vw;
	}
	.case-arrow-prev {
		left: 20px;
	}
	.case-arrow-next {
		right: 20px;
	}
}

@media (max-width: 768px) {
	.sec-case {
		width: 100%;
		padding: 16vw 0;
		position: relative;
	}

	.case-cont-wrap {
		width: calc(100% + 10vw);
		margin-left: -5vw;
	}
	.sec-case .swiper {
		padding-bottom: 12vw;
	}

	.case-cont {
		width: 100%;
	}
	.case-cont-txt-wrap {
		width: 100%;
		padding: 5vw;
		border-radius: 4vw;
	}
	.case-cont-txt-wrap::before {
		left: calc(50% - 4vw);
		top: -5vw;
		border-bottom: 5vw solid var(--color-light-green);
		border-right: 4vw solid transparent;
		border-left: 4vw solid transparent;
	}
	.case-cont-txt-wrap::after {
		left: calc(50% - 4vw);
		top: calc((5vw - 2px) * -1);
		border-bottom: 5vw solid var(--color-white);
		border-right: 4vw solid transparent;
		border-left: 4vw solid transparent;
	}

	.case-cont-label {
		width: 22vw;
		height: 6vw;
		border-radius: 0 4vw 4vw 0;
		left: -5vw;
	}
	.case-cont-label.is-blue {
		background: var(--color-blue);
	}
	.case-cont-label.is-orange {
		background: var(--color-orange);
	}
	.case-cont-txt-barrier, 
	.case-cont-txt-solution {
		width: 100%;
		margin-top: 10px;
		display: flex;
		align-items: center;
		gap: 10px;
	} 
	.case-cont-txt-solution {
		flex-direction: row-reverse;
	}
	.case-cont-txt-barrier img, 
	.case-cont-txt-solution img {
		width: 16vw;
	}

	.case-cont-list {
		width: calc(100% - 18vw);
	}
	.case-cont-list li {
		font-size: 3.0vw;
		margin-bottom: 3vw;
	}
	.case-cont-txt-barrier .case-cont-list li {
		font-size: 3.0vw;
	}
	/*
	.case-cont-ttl {
		margin-bottom: 4vw;
		font-size: 4.2vw;
	}
	.case-cont-txt {
		font-size: 3.2vw;
	}
	*/
	
	.case-company-info {
		font-size: 4.8vw;
		margin-bottom: 5vw;
	}

	.case-arrow {
		margin: 2vw auto;
		border-top: 5vw solid var(--color-light-yellowgreen);
		border-right: 4vw solid transparent;
		border-left: 4vw solid transparent;
	}
	.sec-case .check-list li {
		font-size: 3.2vw;
	}
	.sec-case .solution-list li {
		font-size: 4.0vw;
	}

	/* slider */
	.case-arrow-prev, 
	.case-arrow-next {
		width: 10vw;
		height: 10vw;
		top: calc(100% - 7vw);
	}
	.case-arrow-prev {
		left: 1vw;
	}
	.case-arrow-next {
		right: 1vw;
	}
	.case-arrow-prev::after,
	.case-arrow-next::after {
		content: '';
		width: 10vw;
		height: 10vw;
	}
	.case-arrow-prev::after {
		background-size: 4vw;
	}
	.case-arrow-next::after {
		background-size: 4vw;
	}
	
	
	.sec-case .slider-dots {
		width: 100%;
		height: auto;
		padding: 0 12vw;
	}
	.sec-case .slider-dots .swiper-pagination-bullet {
		width: 2.6vw;
		height: 2.6vw;
		margin: 0 1.8vw;
	}
	.sec-case .slider-dots .swiper-pagination-bullet.swiper-pagination-bullet-active::after {
		content: '';
		width: 2.6vw;
		height: 2.6vw;
	}
}




/*---------- お知らせ ----------*/
.sec-news {
	width: 100%;
	padding: 80px 0;
	position: relative;
}


/* リスト */
.news-list-wrap {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}
.news-list-wrap li {
	width: 100%;
	margin-bottom: 20px;
	padding: 0 0 20px;
	border-bottom: 1px solid var(--color-light-gray);
	text-align: left;
}
.news-list-wrap li:last-child {
	margin-bottom: 0;
}
.news-list-wrap li a {
	width: 100%;
	display: flex;
	align-items: flex-start;
}
.news-list-date {
	width: 110px;
	color: var(--color-gray);
}
.news-list-tag {
	width: 85px;
	margin-right: 35px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-dark-green);
	border-radius: 7px;
	color: var(--color-white);
	text-align: center;
}

.news-list-ttl {
	width: calc(100% - 110px - 110px);
	position: relative;
}

@media (max-width: 768px) {
	.sec-news {
		width: 100%;
		padding: 16vw 0;
		position: relative;
	}


	/* リスト */
	.news-list-wrap {
		width: 100%;
		max-width: initial;
		margin: 0 auto;
	}
	.news-list-wrap li {
		width: 100%;
		margin-bottom: 4vw;
		padding: 0 0 4vw;
	}
	
	.news-list-wrap li a {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
	}
	.news-list-date {
		width: 25vw;
	}
	.news-list-tag {
		width: 20vw;
		margin-right: 0;
		border-radius: 1.5vw;
	}

	.news-list-ttl {
		width: 100%;
		margin-top: 2vw;
	}
}





/*---------- 採用情報 ----------*/
.sec-recruit {
	width: 100%;
	padding: 80px 0;
	position: relative;
}
.sec-recruit::after {
	content: '';
	width: 260px;
	height: 228px;
	background: url("../../img/top/img_recruit.png") center center no-repeat;
	background-size: 100%;
	position: absolute;
	bottom: 0;
	right: 10%;
}

.recruit-cont-wrap {
	width: 100%;
	gap: 20px 30px;
}
.recruit-cont {
	width: calc((100% - 30px) / 2);
	background: var(--color-white);
	border-radius: 10px;
	overflow: hidden;
}
.recruit-cont-icon {
	width: 123px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color-dark-green);
}
.recruit-cont-txt {
	width: calc(100% - 123px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 10px 30px 10px 20px;
	color: var(--color-dark-green);
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.53;
}
.recruit-cont-txt .fs-s {
	font-size: 1.8rem;
	font-weight: 500;
}

.recruit-bottom-txt {
	margin-top: 50px;
	color: var(--color-dark-green);
	font-size: 3.0rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.83;
}

@media (max-width: 1000px) {
	.sec-recruit::after {
		content: '';
		width: 20vw;
		height: 17vw;
		right: 8%;
	}
}
@media (max-width: 768px) {
	.sec-recruit {
		width: 100%;
		padding: 16vw 0 30vw;
		position: relative;
	}
	.sec-recruit::after {
		content: '';
		width: 30vw;
		height: 26vw;
		right: 8%;
	}

	.recruit-cont-wrap {
		width: 100%;
		gap: 6vw;
	}
	.recruit-cont {
		width: 100%;
		border-radius: 2vw;
	}
	.recruit-cont-icon {
		width: 18vw;
	}
	.recruit-cont-txt {
		width: calc(100% - 18vw);
		padding: 2vw 4vw;
		font-size: 4.4vw;
	}
	.recruit-cont-txt .fs-s {
		font-size: 3.0vw;
	}

	.recruit-bottom-txt {
		margin-top: 6vw;
		font-size: 4.2vw;
	}
	.sec-recruit .sec-btn-area {
        margin: 6vw auto 0;
    }
}





/*----------  ----------*/
.sec-news {
	width: 100%;
	padding: 80px 0;
	position: relative;
}

@media (max-width: 768px) {
}
