/* 공통 */
/* html{ font-size: clamp(30%, 1.3vw, 62.5%); } */





/* main visual */
#main_visual { background: url(../img/main/main_visual_bg.png) no-repeat center center/cover; }
#main_visual .content-wrap .text-box { padding: 19rem 0 55rem; width: max-content; margin-left: auto; }
#main_visual .content-wrap .text-box h2 { font-size: 4.3rem; font-weight: 900; }
#main_visual .content-wrap .text-box p { font-size: 12rem; }

@media screen and (max-width: 768px) {
    #main_visual .content-wrap .text-box { text-align: right; padding: 24rem 0 70rem; }
}

@media screen and (max-width: 540px) {
    #main_visual { background-position: left -63rem center; }
    #main_visual .content-wrap .text-box { text-align: right; padding-bottom: 120rem; }
    #main_visual .content-wrap .text-box h2 { font-size: 3.8rem; }
    #main_visual .content-wrap .text-box p { font-size: 10rem; }
}




/* section01 */
#section01 { background: linear-gradient(to bottom, var(--text-color-2) 10%, var(--text-color-2) 60%, #180b1a 100%); padding: 5rem 0; }
#section01 .content-wrap .text-box p { text-align: center; font-size: 4.3rem; color: #fff; line-height: 1.6; }
#section01 .content-wrap .text-box p > strong { font-weight: 700; }
#section01 .content-wrap .text-box p > span { font-size: 3.8rem; }
#section01 .content-wrap .video-box { padding: 0 8%; margin: 10rem 0; }
#section01 .content-wrap .video-box picture { display: block; aspect-ratio: 16 / 9; border-radius: 3rem; overflow: hidden; }
#section01 .content-wrap .video-box picture iframe { width: 100%; height: 100%; }
#section01 .content-wrap .content-title { margin-top: 20rem; }
#section01 .content-wrap .content-title h2 { text-align: center; font-size: 7rem; font-weight: 900; color: #fff; }
#section01 .content-wrap .img-box { padding: 0 8%; margin: 10rem 0; }
#section01 .content-wrap .img-box picture { display: block; aspect-ratio: 16 / 9; border-radius: 3rem; overflow: hidden; }
#section01 .content-wrap .img-box picture img { width: 100%; height: 100%; object-fit: cover; }
#section01 .content-wrap .text-box2 p { text-align: center; font-size: 6rem; color: #fff; }
#section01 .content-wrap .text-box2 p > strong { color: var(--text-color-1); font-weight: 700; }

@media screen and (max-width: 540px) {
    #section01 .content-wrap .text-box p { font-size: 3.8rem; }
    #section01 .content-wrap .video-box { padding: 0; }
    #section01 .content-wrap .content-title h2 { font-size: 5.5rem; }
    #section01 .content-wrap .img-box { padding: 0; }
    #section01 .content-wrap .text-box2 p { font-size: 4.4rem; }
}

@media screen and (max-width: 430px) {
    #section01 .content-wrap .content-title h2 { font-size: 4.7rem; }
}




/* section02 */
#section02 .img-box img { width: 100%; }





/* section03 */
#section03 { background-color: #937c5b; padding: 5rem 0 0; }
#section03 .content-wrap .img-box { padding: 0 12%; }
#section03 .content-wrap .img-box img { width: 100%; }
#section03 .content-wrap .text-box { text-align: center; color: #fffef5; }
#section03 .content-wrap .text-box h3 { font-size: 5.4rem; font-weight: 900; margin-bottom: 1em; }
#section03 .content-wrap .text-box p { font-size: 3.3rem; line-height: 2; }
#section03 .content-wrap .text-box1 { margin: 8.2rem 0 13.2rem; }
#section03 .content-wrap .text-box2 { margin: 8.2rem 0 0; }

@media screen and (max-width: 540px) {
    #section03 .content-wrap .text-box h3 { font-size: 4.8rem; }
    #section03 .content-wrap .text-box p { font-size: 3rem; }
}





/* section04 */
#section04 { position: relative; background: url(../img/main/section04_bg.png) no-repeat top 5rem center/cover #2e2c40; padding: 58rem 0 0; z-index: 1; }
#section04::before { content: ""; position: absolute; top: 0; left: 0; display: block; width: 100%; height: 5rem; background: linear-gradient(to bottom, #937c5b, #8f7959); }
#section04 .decoration { opacity: .5; }
#section04 .decoration > img.star { position: absolute; z-index: -1; top: calc(var(--t) * 1%); left: calc(var(--l) * 1%); transform: translate(-50%, -50%) scale(calc(var(--s) * 1%)); animation: blinked calc(.7s * calc(var(--s) / 100)) infinite .1s; }
#section04 .content-wrap .content-title { text-align: center; }
#section04 .content-wrap .content-title h2 { font-size: 7rem; font-weight: 900; color: #fff; }
#section04 .content-wrap .content-title h2 > span { color: var(--text-color-1); }
#section04 .content-wrap .content-slide { margin: 20rem 0 16rem; }
#section04 .content-wrap .swiper-wrapper { align-items: stretch; }
#section04 .content-wrap .swiper-slide { display: flex; align-items: center; background-color: #fff; margin: 0 2%; width: 65%; height: auto; border-radius: 2rem; }
#section04 .content-wrap .swiper-slide > div { display: flex; justify-content: space-between; align-items: center; gap: 5rem; width: 100%; padding: 8.1rem 9.4rem; }
#section04 .content-wrap .swiper-slide .img-box { width: calc(50% - 2.5rem); }
#section04 .content-wrap .swiper-slide .img-box picture { display: block; aspect-ratio: 417 / 568; }
#section04 .content-wrap .swiper-slide .img-box picture img { width: 100%; height: 100%; object-fit: cover; }
#section04 .content-wrap .swiper-slide .text-box { width: calc(50% - 2.5rem); }
#section04 .content-wrap .swiper-slide .text-box { text-align: center; }
#section04 .content-wrap .swiper-slide .text-box p { font-size: 4rem; line-height: 1.6; }
#section04 .content-wrap .swiper-navi { display: flex; justify-content: center; align-items: center; gap: 2rem; margin-top: 7rem; }
#section04 .content-wrap .swiper-navi .swiper-pagination-custom { width: auto; }
#section04 .content-wrap .swiper-navi .swiper-pagination-custom .swiper-pagination-bullet { width: 1.5rem; height: 1.5rem; background-color: #fff; margin: 0 1rem; opacity: 1; }
#section04 .content-wrap .swiper-navi .swiper-pagination-custom .swiper-pagination-bullet-active { background-color: var(--text-color-1); }
#section04 .content-wrap .swiper-navi .swiper-button-prev-custom,
#section04 .content-wrap .swiper-navi .swiper-button-next-custom { width: 5rem; height: 5rem; cursor: pointer; }
#section04 .content-wrap .text-box2 { text-align: center; }
#section04 .content-wrap .text-box2 p { font-size: 5.5rem; font-weight: 900; color: #fff; line-height: 1.6; }
#section04 .section-banner { margin-top: 17rem; }
#section04 .section-banner > img { width: 100%; }

@keyframes blinked {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

@media screen and (max-width: 1000px) {
    #section04 .content-wrap .swiper-slide { align-items: stretch; }
    #section04 .content-wrap .swiper-slide > div { flex-direction: column; justify-content: flex-start; align-items: stretch; }
    #section04 .content-wrap .swiper-slide .img-box { flex-shrink: 0; width: 100%; }
    #section04 .content-wrap .swiper-slide .img-box picture { aspect-ratio: 8 / 7; }
    #section04 .content-wrap .swiper-slide .img-box picture img { width: 100%; }
    #section04 .content-wrap .swiper-slide .text-box { flex: 1; display: flex; justify-content: center; align-items: center; width: 100%; }
}

@media screen and (max-width: 768px) {
    #section04 .content-wrap .swiper-slide > div { padding: 10% 11%; }
}

@media screen and (max-width: 540px) {
    #section04 .content-wrap .content-title h2 { font-size: 5.5rem; }
    #section04 .content-wrap .text-box2 p { font-size: 4.8rem; }
    #section04 .content-wrap .swiper-slide .text-box p { font-size: 3.5rem; }
}

@media screen and (max-width: 430px) {
    #section04 .content-wrap .content-title h2 { font-size: 4.7rem; }
    #section04 .content-wrap .text-box2 p { font-size: 4.2rem; }
    #section04 .content-wrap .swiper-slide .text-box p { font-size: 3rem; }
}





/* section05 */
#section05 { padding: 15.6rem 0; }
#section05 .content-wrap .content-title { text-align: center; }
#section05 .content-wrap .content-title h2 { font-size: 7rem; font-weight: 900; color: var(--text-color-2); margin-bottom: 1em; }
#section05 .content-wrap .text-box { text-align: center; }
#section05 .content-wrap .text-box p { font-size: 4rem; line-height: 1.6; }
#section05 .content-wrap .item-box { margin-top: 13rem; }
#section05 .content-wrap .item-box ul { display: flex; justify-content: space-around; gap: 5rem 3rem; }
#section05 .content-wrap .item-box ul > li { flex: 1; }
#section05 .content-wrap .item-box ul > li .item-img { width: 20rem; height: 20rem; margin: 0 auto; }
#section05 .content-wrap .item-box ul > li .item-text { text-align: center; }
#section05 .content-wrap .item-box ul > li .item-text h3 { font-size: 3.5rem; color: var(--text-color-2); font-weight: 900; margin-top: 1em; }
#section05 .content-wrap .item-box ul > li .item-text p { font-size: 2.8rem; margin-top: 1em; }

@media screen and (max-width: 768px) {
    #section05 .content-wrap .item-box ul { flex-wrap: wrap; }
    #section05 .content-wrap .item-box ul > li { flex: none; width: calc(50% - .5rem); }
}

@media screen and (max-width: 640px) {
    #section05 .content-wrap .item-box ul > li { width: calc(100% - .5rem); }
}

@media screen and (max-width: 540px) {
    #section05 .content-wrap .content-title h2 { font-size: 5.5rem; }
    #section05 .content-wrap .text-box p { font-size: 3.5rem; }
    #section05 .content-wrap .item-box ul > li .item-text h3 { font-size: 3rem; }
    #section05 .content-wrap .item-box ul > li .item-text p { font-size: 2.3rem; }
}





/* section06 */
#section06 .img-box img { width: 100%; }





/* section07 */
#section07 { background: url(../img/main/section07_bg.png) no-repeat left center/cover; }
#section07 .content-wrap { padding: 30rem 0 15rem; }
#section07 .content-wrap .content-title { text-align: right; }
#section07 .content-wrap .content-title h2 { font-size: 7.5rem; font-weight: 900; color: #28132c; }
#section07 .content-wrap .content-title h2 > span { position: relative; color: #2aa983; text-shadow: 3px 3px 8px rgba(0, 42, 30, .8); z-index: 1; }
#section07 .content-wrap .content-title h2 > span::after { content: attr(data-text); position: absolute; left: 0px; -webkit-text-stroke: 5px #002a1e; z-index: -1; }
#section07 .content-wrap .button-box { margin-top: 15.6rem; }
#section07 .content-wrap .button-box ul { display: flex; flex-direction: column; gap: 3.5rem; width: max-content; margin-left: auto; }
#section07 .content-wrap .button-box ul > li { width: 100%; }
#section07 .content-wrap .button-box ul > li > a { display: flex; justify-content: center; align-items: center; flex-direction: column; padding: 0 6rem; min-height: 28rem; border-radius: 5rem; border: 7px solid rgba(255, 255, 255, .7); }
#section07 .content-wrap .button-box ul > li:nth-of-type(1) > a { background-color: #77913e; }
#section07 .content-wrap .button-box ul > li:nth-of-type(2) > a { background-color: #b88c57; }
#section07 .content-wrap .button-box ul > li:nth-of-type(3) > a { background-color: #402c3c; }
#section07 .content-wrap .button-box ul > li > a > h3 { font-size: 6.9rem; font-weight: 900; color: #fff; }
#section07 .content-wrap .button-box ul > li > a > p { font-size: 3.4rem; font-weight: 700; color: #fff; }
#section07 .content-wrap .button-box ul > li > a > p > strong { font-size: 5.5rem; font-weight: 900; }
#section07 .content-wrap .button-box ul > li > div { margin: 2.4rem 0 3.7rem; text-align: center; }
#section07 .content-wrap .button-box ul > li > div > span { font-size: 4rem; font-weight: 900; color: #fff; }
#section07 .content-wrap .button-box ul > li > div.info1 > span { position: relative; text-shadow: 3px 3px 8px rgba(131, 105, 74, .6); z-index: 1; }
#section07 .content-wrap .button-box ul > li > div.info1 > span::after { content: attr(data-text); position: absolute; left: 0px; -webkit-text-stroke: 5px #83694a; z-index: -1; }
#section07 .content-wrap .button-box ul > li > div.info2 > span { position: relative; text-shadow: 3px 3px 8px rgba(40, 19, 44, .6); z-index: 1; }
#section07 .content-wrap .button-box ul > li > div.info2 > span::after { content: attr(data-text); position: absolute; left: 0px; -webkit-text-stroke: 5px #28132c; z-index: -1; }

@media screen and (max-width: 1200px) {
    #section07 .content-wrap { padding: 10rem 0 15rem; }
    #section07 .content-wrap .content-title h2 { font-size: 7rem; }
    #section07 .content-wrap .button-box ul > li > a { min-height: 25rem; }
    #section07 .content-wrap .button-box ul > li > a > h3 { font-size: 6rem; }
    #section07 .content-wrap .button-box ul > li > a > p { font-size: 3rem; }
    #section07 .content-wrap .button-box ul > li > a > p > strong { font-size: 5rem; }
    #section07 .content-wrap .button-box ul > li > div > span { font-size: 3.5rem; }
}

@media screen and (max-width: 1000px) {
    #section07 .content-wrap .content-title h2 { font-size: 6.5rem; }
    #section07 .content-wrap .button-box ul > li > a { min-height: 22rem; }
    #section07 .content-wrap .button-box ul > li > a > h3 { font-size: 5rem; }
    #section07 .content-wrap .button-box ul > li > a > p { font-size: 2.5rem; }
    #section07 .content-wrap .button-box ul > li > a > p > strong { font-size: 4.5rem; }
    #section07 .content-wrap .button-box ul > li > div > span { font-size: 3rem; }
}

@media screen and (max-width: 867px) {
    #section07 .content-wrap .content-title h2 { font-size: 6rem; }
    #section07 .content-wrap .button-box ul > li > a { min-height: 20rem; }
    #section07 .content-wrap .button-box ul > li > a > h3 { font-size: 4.5rem; }
    #section07 .content-wrap .button-box ul > li > a > p { font-size: 2rem; }
    #section07 .content-wrap .button-box ul > li > a > p > strong { font-size: 4rem; }
    #section07 .content-wrap .button-box ul > li > div > span { font-size: 2.5rem; }
}

@media screen and (max-width: 640px) {
    #section07 { background-position: left -100px center; }

    #section07 .content-wrap .content-title { text-align: center; }
    #section07 .content-wrap .content-title h2 { font-size: 5.5rem; }
    #section07 .content-wrap .button-box { margin-top: 50rem; }
    #section07 .content-wrap .button-box ul { margin: 0 auto; }
}