@charset "UTF-8";



:root {
/*緑*/
  --green: #00c43c;
}



.sec_ttl {
    font-size: clamp(30px, 4.2vw, 60px);
    font-weight: 700;
    line-height: 1.16;
    color: var(--green);
    text-align: center;
    display: table;
    margin: 0 auto;
    position: relative;
}
.sec_ttl::before {
    content: '';
    width: 40px;
    height: 2px;
    background-color: var(--green);
    left: calc(-40px - 0.5em);
    top: calc(50% - 1px);
    display: block;
    position: absolute;
}

.sec_ttl::after {
    content: '';
    width: 40px;
    height: 2px;
    background-color: var(--green);
    right: calc(-40px - 0.5em);
    top: calc(50% - 1px);
    display: block;
    position: absolute;
}



/*--------------------PC--------------------*/
@media all and (min-width:980px) {
}

/*--------------------SP--------------------*/
@media all and (max-width:979px) {

}

/* mv
***************************************************************/

.mv {
	width: auto;
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
		& img{
		}
}

.mv .inner {
	position: relative;
}

/*--------------------PC--------------------*/
@media all and (min-width:980px) {}

/*--------------------SP--------------------*/
@media all and (max-width:979px) {
	.mv {
		width: auto;
        min-height: calc(100vh - 100px);
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        max-height: calc(100vh - 100px);
        & img {
            height: auto;
            width: auto;
            max-height: calc(100vh - 100px);
        }
    }
}




/* sec01
***************************************************************/
.sec01_img01{
	margin-top: 6%;
}
.sec01{
	.sec_ttl{
		color: #fff;
	}
	.sec_ttl::before {
	    background-color: #fff;
	}
	.sec_ttl::after {
	    background-color: #fff;
	}
}
.slick-next, .slick-prev{
	width: clamp(30px, 3.5vw, 60px);
	height: auto;
	aspect-ratio: 1 / 1;
	transition: .3s;
	z-index: 1;
	top: calc(50% + 7%);
}
.slick-prev {
    left: -10px;
}
.slick-next {
    right: -10px;
}
.slick-next:hover, .slick-prev:hover{
	opacity: .7;
}
.slick-next:before {
    content: '';
    background: url(../img/top/next_btn.svg) center / contain no-repeat;
    width: 100%;
    height: 100%;
    display: block;
    opacity: 1;
}
.slick-prev:before {
    content: '';
    background: url(../img/top/prev_btn.svg) center / contain no-repeat;
	width: 100%;
    height: 100%;
    display: block;
    opacity: 1;
}
.slick-dots li {
    margin: 0px 0px;
}
.slick-dots li button:before {
    font-size: 12px;
    opacity: 1;
    color: #fff;
}
.slick-dots li.slick-active button:before {
    opacity: 1;
    color: #333;
}
/*--------------------PC--------------------*/
@media all and (min-width:980px) {}

/*--------------------SP--------------------*/
@media all and (max-width:979px) {
	.sec01{
		padding-top: 0;
	}
	.slider_wrap{
		margin-top: 5%;
	}
}






/* sec02
***************************************************************/


.sec02 {
	width: 100%;
	aspect-ratio: 2 / 1; /* 横幅に応じて高さ可変 */
	background-size: auto auto;
	background-color: rgba(255, 255, 255, 1);
	background-image: repeating-linear-gradient(135deg, transparent, transparent 10px, rgba(253, 253, 253, 1) 10px, rgba(253, 253, 253, 1) 25px );
	position: relative;
	clip-path: polygon(
    0 0,     /* 左上 */
    100% 0,  /* 右上 */
    100% calc(100% - 170px),/* 右下（肩） */
    50% 100%,/* 下の尖った部分 */
    0 calc(100% - 170px)    /* 左下（肩） */
  );
	/*padding-bottom: calc(15% + 100px);*/
	padding-bottom: calc(clamp(9%, 15vw, 130px) + 100px);
	z-index: 1;

		& .sec02_content ul{
			margin-top: 6%;
			padding-left: 7%;
		}
		& .sec02_content ul li{
			position: relative;
			display: flex;
			align-items: flex-start;
			font-size: clamp(14px, 1.8vw, 24px);
			font-weight: 700;
			line-height: 1.35;
			color: #333333;
		}
		& .sec02_content ul li + li{
			margin-top: 1.8em;
		}
		& .sec02_content ul li::before{
			content: '';
			width: 1.3em;
			height: auto;
			aspect-ratio: 15 / 20;
			background: url(../img/top/sec02_icon.png) center / contain no-repeat;
			margin-right: 1.3em;
			z-index: 1;
			position: relative;
			top: -0.3em;
		}
		& .sec02_img01{
			margin-top: -7%;
		}
}

/*--------------------PC--------------------*/
@media all and (min-width:980px) {}

/*--------------------SP--------------------*/
@media all and (max-width:979px) {
	.sec02 {
		background-image: repeating-linear-gradient(135deg, transparent, transparent 5px, rgba(253, 253, 253, 1) 5px, rgba(253, 253, 253, 1) 12.5px );
		clip-path: polygon(
			0 0,     /* 左上 */
			100% 0,  /* 右上 */
			100% 94%,/* 右下（肩） */
			50% 100%,/* 下の尖った部分 */
			0 94%   /* 左下（肩） */
		);
		padding-bottom: calc(clamp(9%, 15vw, 130px) + 50px);
			& .sec02_content ul{
				margin-top: 10%;
			}
	}
}



/* sec03
***************************************************************/

.sec03 {
	width: 100%;
	aspect-ratio: 2 / 1; /* 横幅に応じて高さ可変 */
	background-size: auto auto;
	background-color: rgba(26, 202, 80, 1);
	background-image: repeating-linear-gradient(135deg, transparent, transparent 10px, rgba(0, 196, 60, 1) 10px, rgba(0, 196, 60, 1) 25px );
	position: relative;
	padding-top: calc(30% + 100px);
	margin-top: calc(-30%);
}

/*--------------------PC--------------------*/
@media all and (min-width:980px) {}

/*--------------------SP--------------------*/
@media all and (max-width:979px) {
	.sec03 {
		background-image: repeating-linear-gradient(135deg, transparent, transparent 5px, rgba(0, 196, 60, 1) 5px, rgba(0, 196, 60, 1) 12.5px );
		padding-top: calc(30% + 60px);
		margin-top: calc(-30%);
	}
}




/* sec04
***************************************************************/

.sec04 {
	background-color: #fff;
		& .sec04_content{
			margin-top: 6%;
			& .clm{
				border: 5px solid var(--green);
				position: relative;
				border-radius: 20px;
				text-align: center;
				padding-top: 2%;
				padding-bottom: 3%;
					& .icon{
						position: absolute;
						width: clamp(56px, 4vw, 100px) ;
						height: auto;
						right: 5%;
						top: -5%;
					}
					& .number{
						font-size: 70px;
						color: var(--green);
						background-color: #fff;
						padding: 0 0.06em;
						position: absolute;
						left: 0.1em;
						transform: translateY(-70%);
						font-weight: 400;
					}
					& .sec04_img01 {
		                height: clamp(170px, 19vw, 270px);
		                display: block;
		                width: auto;
							& img {
							    width: auto;
							    height: 100%;
							}
					}
					& h3{
						color: var(--green);
						margin-top: 3%;
						line-height: 1.25;
						font-size: 20px;
						font-weight: 700;
						margin-top: 0.8em;
					}
					& .sec04_txt01{
						color: #333;
						line-height: 1.71;
						font-size: 14px;
						margin-top: 1em;
					}
			}
		}

}
/*--------------------PC--------------------*/
@media all and (min-width:980px) {}

/*--------------------SP--------------------*/
@media all and (max-width:979px) {

	.sec04 {
			& .sec04_content{
				margin-top: 18%;
			        & .clm {
			            padding-top: 5%;
			            padding-bottom: 6%;
			        }
			}
	}
}


/* sec05
***************************************************************/
.sec05 {
	background-color: #f2fcf5;
		& .sec05_ttl_top{
			width: clamp(202px, 26vw, 380px);
			margin-left: auto;
			margin-right: auto;
			margin-bottom: 0.7%;
		}
		& .sec_ttl_sub{
			font-size: clamp(15px,2vw, 30px);
			line-height: 1.66;
			font-weight: 700;
			color: #333;
			text-align: center;
			margin-top: 5%;
			& .under_line {
				padding-left: 0.2em;
				padding-right: 0.2em;
			  background: linear-gradient(transparent 60%, #fff100 60%);
			}
		}
		& .sec05_content{
			margin-top: 6%;
				& > div{
					display: flex;
				}
				& > div + div{
					margin-top: 6%;
				}
		}
		& .sec05_content_inner{
			padding-top: 10%;
		}
		& .sec05_img01{
			max-width: 30%;
			margin-right: 5%;
		}
		& .number{
			display: table;
			background-color: var(--green);
			border-radius: 50px;
			padding: 0.3em 1em;
			font-size: clamp(15px, 2vw, 24px);
		}
		& h3{
			color: #333;
			font-size: clamp(20px, 3vw, 28px);
			line-height: 1.2;
			margin-top: 1em;
			font-weight: 500;
		}
}


/*--------------------PC--------------------*/
@media all and (min-width:980px) {}

/*--------------------SP--------------------*/
@media all and (max-width:979px) {
	.sec05 {
	    & h3 {
	        letter-spacing: -0.04em;
	    }
	}
}



/* aaa
***************************************************************/

/*--------------------PC--------------------*/
@media all and (min-width:980px) {}

/*--------------------SP--------------------*/
@media all and (max-width:979px) {}