@charset "utf-8";
main b {
	font-weight:700;
}
main .m-tit {
    font-family: 'HSSaemaul-Regular'; 
    font-size: 5rem; 
    position: relative; 
    width: fit-content; 
    color: #34b027;
    margin-bottom: 5rem;
}
main .m-tit::before {
    content:""; 
    position: absolute; 
    bottom:0; 
    left:0; 
    width: 100%; 
    height: 2px; 
    background: #34b027;
}
main .m-tit::after {
    content:""; 
    position: absolute; 
    top:-0.3em; 
    left:0.2em; 
    width: 3.7rem; 
    height: 3.7rem; 
    background: url(../images/main/m-tit_1.png) no-repeat center center / 100%; 
    transform: translateX(-100%);
}
main .m-tit+.m-tit::after {
    display: none;
}


main .box-tit {
	font-family:'HSSaemaul-Regular';
}
main .box-tit h3 {
	font-size:6.5rem;
	letter-spacing:-0.01em;
}
main .box-tit h3.ls {
    letter-spacing:-0.07em;
}
main .box-tit p {
	font-size:4.5rem;
}
main .box-txt {
	display:flex;
	flex-flow:column wrap;
	align-items:flex-start;
	margin-top:-10.5rem;
}
main .box-txt h4 {
	font-size:3rem;
	font-family:'HSSaemaul-Regular';
	display:inline-block;
	padding: 1.3rem 2.6rem;
	border:1px solid #000;
	border-bottom:0;
	border-radius:1.5rem 1.5rem 0 0;
}
main .box-txt>div {
	padding:2rem 3rem;
	background:#fff;
	border:1px solid #000;
	width:100%;
    /* min-height: 16rem; */
    display: flex;
    flex-flow:column wrap;
    justify-content:space-between;
	border-radius:0 1.5rem 1.5rem 1.5rem
}
main .box-txt p {
	font-size:2.3rem;
}
main .box-txt p:not(:last-of-type) {
	margin-bottom:1rem;
}
main .box-txt .arr {
	justify-content:flex-end;
	align-items:center;
	margin-top:1rem;
}
main .box-txt .arr h5 {
	font-size:1.8rem;
	font-weight:500;
	margin-right:1.4rem;
	padding-block:.5rem;
	position:relative;
}
main .box-txt .arr h5::before {
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:.5px;
	background:#000;
	transition:all .3s;
}
main .box-txt .arr div {
	width:3.9rem;
	height:3.9rem;
	border-radius:50%;
	background:#000;
	align-items:center;
	justify-content:center;
	padding:.8rem;
	position:relative;
}
main .box-txt .arr div::before {
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:0;
	height:0;
	background:#fff;
	border-radius:50%;
	transition:all .3s;
	border:1px solid #000;
}
main .box-txt .arr img {
	position:relative;
	z-index:1;
}
main .box a:hover .arr div::before {
	width:101%;
	height:101%;
}
main .box a:hover .arr img {
	filter:brightness(0);
}
main .box a:hover .arr h5::before {
	width:100%;
}
@media (max-width:800px) {
	main .box-txt {
		margin-top:-4rem;
	}
    main .box-tit h3.ls {
        letter-spacing:-0.02em;
    }
}


.main01 .inner {
	max-width:1320px;
	position:relative;
}
.main01 {
	padding-block:16rem 9rem;
	text-align:center;
	background:#e3ffe0;
}
.main01 .inner > :not(.deco-ani) {
    position: relative;
    z-index: 2;
}
.main01 #m1-title {
	width:min(700px,90%);
	margin:0 auto;
}
.main01 p {
	font-size:2.6rem;
	font-weight:500;
	line-height:1.6;
	letter-spacing:-0.03em;
	margin-block:0 5rem;
}
@media (max-width:1080px) {
	.main01 p {
		font-size:2.4rem;
	}
}
@media (max-width:800px) {
	.main01 p {
		max-width:590px;
		margin-inline:auto;
	}
	.main01 p br {
		display:none;
	}
}
.main01 .deco-ani img {
	position:absolute;
	z-index:1;
	opacity:0;
}
.main01 .deco-ani img {position: absolute; z-index: 1; opacity: 0;}
.main01 .deco-ani .deco1 {left: 74%; top: 30%; width: clamp(35px, 5vw, 60px); animation: deco-ani1 3s  linear infinite;} /* 7% */
.main01 .deco-ani .deco2 {left: 87%; top:60%; width: clamp(50px, 7.5vw, 90px); animation: deco-ani2 3s .5s linear infinite;} /* 40% */
.main01 .deco-ani .deco3 {left: 0; top: 75%; width: clamp(90px, 15vw, 175px); animation: deco-ani3 3s  linear infinite;} /* 50% */
@keyframes deco-ani1 {
    0% {
        opacity: 0;
    }
    50% {
        opacity: .7;
        top:15%
    }
    100% {
        opacity: 0;
        top:0%;
    }
}
@keyframes deco-ani2 {
    0% {
        opacity: 0;
    }
    50% {
        opacity: .7;
        top:45%
    }
    100% {
        opacity: 0;
        top:30%;
    }
}
@keyframes deco-ani3 {
    0% {
        opacity: 0;
    }
    50% {
        opacity: .7;
        top:55%
    }
    100% {
        opacity: 0;
        top:35%;
    }
}
.main02 {padding-block: 9rem 13rem;background: #e3ffe0;}
.main02 .box-wrap {display: grid; grid-template-columns: repeat(2,1fr); gap: 9rem;}
.main02 .box-tit {margin-bottom: 3.5rem;}
.main02 .box-tit p {color: #4ab7f0;}
.main02 .box-img {margin-left: 7rem;}
.main02 .box-txt {margin-right: 4rem; position: relative;}
.main02 .box-txt h4 span {font-family: '굴림';}
/* .main02 .box-txt p {text-indent: -1rem; padding-left: 1rem; letter-spacing: -0.02em;} */
.main02 .box-txt p { padding-left: 3.3rem; letter-spacing: -0.02em; position: relative;}
.main02 .box-txt p::before {
    content:""; 
    position: absolute; 
    top:.25em; 
    left:0; 
    width: 2.4rem; 
    height: 2.4rem; 
    border-radius: 50%;
    background: url(../images/common/ico_check.svg) no-repeat center center / 60%;
}
.main02 .box:nth-of-type(2n) {margin-top: 17rem;}
.main02 .box1 .box-txt {margin-top: -10.5rem;}
.main02 .box1 .box-txt h4 span:first-child {margin-left: -1em;}
.main02 .box1 .box-txt h4 { 
    background: #ccf7a5;
}
.main02 .box1 .box-txt p::before {
    background-color:#a4db71;
}
.main02 .box2 .box-txt h4 {
     background: #a5f7d7;
    }
.main02 .box2 .box-txt p::before {
    background-color:#6ed2ab;
}
.main02 .box3 .box-txt h4 { 
    background: #e3bcf7;
}
.main02 .box3 .box-txt p::before {
    background-color:#cc89ef;
}
.main02 .box4 .box-txt h4 { 
    background: #cefaff;
}
.main02 .box4 .box-txt p::before {
    background-color:#6ad9e6;
}
@media (max-width:1200px) {
    .main02 .box-wrap {gap: 7rem;}
}
@media (max-width:1080px) {
    .main02 .box-wrap {gap: 6rem;}
}
@media (max-width:800px) {
    .main02 .box-wrap {grid-template-columns: repeat(1,1fr);gap: 8rem;}
    .main02 .box:nth-of-type(2n) {margin-top: 0;}
    .main02 .box-img {text-align: right;}
    .main02 .box-img img {width: 100%;}
    .main02 .box-tit {margin-bottom: 3.5rem;}
    .main02 .m-tit:nth-of-type(2) {
        margin-top: 8rem;
    }
}
.main02_2 {
	padding-block:16rem 9rem;
	background:url(../images/main/main_bg_1.jpg) #fffce0 no-repeat center top / 100%;
}
.main02_2 .m-tit {
    color: #d29607;
}
.main02_2 .m-tit::before {
    background: #d29607;
}
.main02_2 .m-tit::after {
    background: url(../images/main/m-tit_2.png) no-repeat center center / 100%;
}
.main02_2 .box1 .box-txt h4 { 
    background: #a5f6f7;
}
.main02_2 .box1 .box-txt p::before {
    background-color:#73d4d5;
}
.main02_2 .box2 .box-txt h4 { 
    background: #f7d1a5;
}
.main02_2 .box2 .box-txt p::before {
    background-color:#f6b569;
}


.main04 {
    background:url(../images/main/main_bg_2.jpg) #f6e9ff no-repeat center top / 100%;
	padding-block:16rem 9rem;
}
.main04 .m-tit {
    color: #b26be3;
}
.main04 .m-tit::before {
    background: #b26be3;
}
.main04 .m-tit::after {
    background: url(../images/main/m-tit_3.png) no-repeat center center / 100%;
}
.main04 h4 {
	font-size:6.5rem;
	margin-block:4rem 5.5rem;
}
.main04 .main04-slide {
	padding-inline:15vw;
	position:relative;
	overflow:hidden;
	padding-bottom:2rem;
}
.main04 .main04-slide .swiper-slide {
	display:flex;
    opacity:0.5;
}
.main04 .main04-slide .swiper-slide::before {
    content: "";
    position: absolute;
    top:1.2rem;
    right:-1.2rem;
    width:100%;
    height:100%;
    background: #fff;
    z-index: -1;
    border-radius:2rem;
	border:1px solid #000;
}
.main04 .main04-slide .swiper-slide img {
	width:100%;
	height:100%;
    border-radius:2rem;
	border:1px solid #000;
}
.main04 .main04-slide .swiper-slide-active,
.main04 .main04-slide .swiper-slide-next,
.main04 .main04-slide .swiper-slide-next+.swiper-slide {
	opacity:1;
}
.main04 .swiper-button-prev,.main04 .swiper-button-next {
	background-image:none;
	top:50%;
	width:5rem;
	height:5rem;
	border-radius:50%;
	background:#000;
	display:flex;
	flex-flow:row wrap;
	justify-content:center;
	align-items:center;
}
.main04 .swiper-button-prev {
	left:13.5vw;
}
.main04 .swiper-button-next {
	right:13.5vw;
	left:auto;
}
.main04 .swiper-button-prev img,
.main04 .swiper-button-next img {
	width:45%;
	position:relative;
	z-index:1;
}
.main04 .swiper-button-prev img {
	transform:scale(-1,1);
}
.main04 .swiper-button-prev::before,
.main04 .swiper-button-next::before {
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:0;
	height:0;
	background:#fff;
	border-radius:50%;
	transition:all .3s;
	border:1px solid #000;
}
.main04 .swiper-button-prev:hover::before,
.main04 .swiper-button-next:hover::before {
	width:101%;
	height:101%;
}
.main04 .swiper-button-prev:hover img,
.main04 .swiper-button-next:hover img {
	filter:brightness(0);
}
@media (max-width:1200px) {
	.main04 .inner {
		width:100%;
		margin:0;
		padding:0 4%;
	}
	.main04 .main04-slide {
		padding-inline:12%;
	}
	.main04 .swiper-button-prev {
		left:9.5vw;
	}
	.main04 .swiper-button-next {
		right:9.5vw;
	}
}
.main05 {
	padding-block:16rem 12rem;
	background:url(../images/main/main_bg_3.jpg) #ffe1d2 no-repeat center top / 100%;
}
.main05 .m-tit {
    color: #ef6825;
}
.main05 .m-tit::before {
    background: #ef6825;
}
.main05 .m-tit::after {
    background: url(../images/main/m-tit_4.png) no-repeat center center / 100%;
}
.main05 .box-tit h3 {
    font-size: 7rem;
	margin-bottom:8rem;
}
.main05 .box-wrap {
	display:flex;
	flex-flow:row wrap;
	justify-content:space-between;
	padding-inline:15vw;
}
.main05 .box {
	width:20vw;
	height:20vw;
	position:relative;
	transition:all 0.5s ease-in-out;
}
.main05 .box div {
	width:100%;
	height:100%;
	border:1px solid #000;
	position:relative;
	z-index:2;
}
.main05 .box::before {
	content:"";
	position:absolute;
	top:1.25rem;
	right:-1.25rem;
	width:100%;
	height:100%;
	z-index:1;
	border:1px solid #000;
}
.main05 .box h4 {
	font-size:min(33px,1.7vw);
	font-weight:600;
	text-align:center;
	line-height:1.4;
	padding:5.5rem 1rem;
}
.main05 .box1 div {
	background:url(../images/main/main5_1.png) #ffc7b4 no-repeat center bottom/ min(273px,72%);
	border-radius:50%;
}
.main05 .box1::before {
	background:#e6a189;
	border-radius:50%;
}
.main05 .box2 div {
	background:url(../images/main/main5_2.png) #a5f7d7 no-repeat center 85% / min(258px,72%);
	border-radius:10rem;
}
.main05 .box2::before {
	background:#83e6bf;
	border-radius:10rem;
}
.main05 .box3 div {
	background:url(../images/main/main5_3.png) #ffedb5 no-repeat center 101% / min(276px,72%);
	border-radius:2rem 10rem;
}
.main05 .box3::before {
	background:#ddc67f;
	border-radius:2rem 10rem;
}
.main05 .box:hover {
	transform:translateY(-2rem);
}
.main05 .box-wrap[data-aos^=fade][data-aos^=fade] {
	opacity:1;
}
.main05 .box-wrap .box {
	opacity:0;
}
.main05 .box-wrap .box2 {
	transform:translateX(-100%) rotate(-45deg);
}
.main05 .box-wrap .box3 {
	transform:translateX(-200%);
}
.main05 .box-wrap.aos-animate .box {
	opacity:1;
}
.main05 .box-wrap.aos-animate .box2 {
	transform:translateX(0) rotate(0);
}
.main05 .box-wrap.aos-animate .box3 {
	transform:translateX(0);
}
.main05 .box-wrap.aos-animate .box2:hover {
	transform:translateX(0) rotate(0) translateY(-2rem);
}
.main05 .box-wrap.aos-animate .box3:hover {
	transform:translateX(0) translateY(-2rem);
}
@media (max-width:1720px) {
	.main05 .box-wrap {
		padding-inline:0;
		max-width:1200px;
		margin-inline:auto;
	}
	.main05 .box {
		width:35rem;
		height:35rem;
	}
	.main05 .box h4 {
		font-size:3rem;
	}
}
@media (max-width:1200px) {
	.main05 h3 {
		font-size:7rem;
	}
	.main05 .box-wrap {
		padding-inline:4%;
	}
	.main05 .box {
		width:27vw;
		height:27vw;
	}
	.main05 .box div {
		/* background-size:70%; */
	}
}
@media (max-width:1080px) {
	.main05 .box h4 {
		font-size:2.6rem;
		line-height:1.4;
		padding:4.8rem 1rem;
	}
}
@media (max-width:800px) {
	.main05 .box-wrap {
		justify-content:center;
		gap:6rem;
	}
	.main05 .box {
		width:min(500px,80vw);
		height:min(500px,80vw);
	}
	.main05 .box h4 {
		font-size:min(28px,6.5vw);
		line-height:1.5;
		padding:12vw 1rem;
	}
	.main05 .box-wrap .box2,
    .main05 .box-wrap .box3 {
		transform:none;
	}
}
@media (max-width:1400px) {
}
@media (max-width:1200px) {
}
@media (max-width:1080px) {
}
@media (max-width: 800px) {
}