@charset "utf-8";
/*───────────────────────────────────────────────────────────
	
	header, footer, main 관련 작성 css 파일입니다.

	** 이와 서브페이지 관련 css는 /css/sub.css 에 있습니다.

───────────────────────────────────────────────────────────*/
/* body::-webkit-scrollbar {display: none;} */
/*───────────────────────────────────────────────────────────
	layout common
───────────────────────────────────────────────────────────*/
	#wrap {position:relative;width:100%; box-sizing: border-box; overflow: clip;}
    .w_custom{position: relative; width: calc(100% - 60px); max-width: 1200px; margin-inline: auto; box-sizing: border-box;}
    #container{position: relative; padding-bottom:clamp(100px, 15vw, 150px); box-sizing: border-box;}
	#container:has(.fullSec){width: 100%; max-width: 100%;}
	#container:has(.pbDn){padding-bottom: 0;}
	#wrap [class*="swiper-button"]::after{display: none;}
	.link{position: absolute; inset: 0; z-index: 4;}
	br.for_m{display: none;}

    @media (max-width:1200px){
        br.for_pc{display: none;}
    }
    @media (max-width:860px){
        .w_custom{width: calc(100% - 30px);}
    }
    @media (max-width:640px){
        br.for_m{display: inline-block;}
    }
    @media (max-width:320px){
        .w_custom{width: calc(100% - 20px);}
    }


/*───────────────────────────────────────────────────────────

    HEADER | outline/header.html, outline/nav.html

───────────────────────────────────────────────────────────*/
	#header{position: sticky; top:0; width: 100%; height: clamp(65px, 11vw, 110px); background: var(--point-white); z-index: 100; transition: all 0.4s;}
		#header.on{box-shadow: var(--shadow-01);}
	#header .w_custom{display: flex;align-items: center;justify-content: space-between;gap: 30px;max-width: 1400px;height: 100%;}
	#header .logo{height: 100%;}
	#header .logo a{position: relative;display: flex;align-items: center;height: 100%;padding-block: 15px;max-width: clamp(240px, 42vw, 410px);}
	#header .logo img{transition: all 0.4s;}
	#header .logo .ov{position: absolute;top: clamp(15px, 3.6vw, 36px);left: 0;opacity: 0;max-height: clamp(55px, 10vw, 90px);}
	#header .utility{display: flex;align-items: center;gap: clamp(15px, 3vw, 30px);height: 100%;}
	#header .gnb{display: flex;gap: clamp(30px, 3.2vw, 60px);height: 100%;text-align: center;}
	#header .gnb > li{position: relative;font-size: var(--text-19);font-weight: 800;color: var(--black-color03);height: 100%; transition: all 0.4s;}
		#header .gnb > li.on{color: var(--point-color01);}
	#header .gnb > li > a{display: flex;align-items: center;justify-content: center;text-align: center;height: 100%; transition: inherit;}
	#header .gnb .dep02{position: absolute;top: 80%;left: 50%;translate: -50%;width: max-content;min-width: 150px;max-width: 300px;background: var(--point-color01);border-radius: var(--radius-10);padding-block: 18px;opacity: 0;pointer-events: none;transition: inherit;}
	#header .gnb .dep02 > li{position: relative;font-size: 90%;font-weight: 700;transition: inherit;}
	#header .gnb .dep02 > li > a{display: block;padding: 10px 25px;filter: var(--filter-white);}
	
	#header .allCate{display: none;flex-direction: column;justify-content: space-between;width: clamp(24px, 3vw, 30px);aspect-ratio: auto 1.3; transition: all 0.4s;}
	#header .allCate span{width:100%;height: 2px;background: var(--black-color03);}

		/* main */
		.main_index #header{margin-bottom: clamp(-110px, -11vw, -65px);}
		.main_index #header:not(.on){background: var(--trans-color);}
		.main_index #header:not(.on) .logo img:not(.ov){opacity: 0;}
		.main_index #header:not(.on) .logo .ov{opacity: 1;}
		.main_index #header:not(.on) :where(.gnb > li > a, .allCate){filter: var(--filter-white);}

		/* over */
		@media (hover:hover) and (pointer:fine) {
			.main_index #header:not(.on):hover{background: var(--point-white);}
			.main_index #header:not(.on):hover .logo img:not(.ov){opacity: 1;}
			.main_index #header:not(.on):hover .logo .ov{opacity: 0;}
			.main_index #header:not(.on):hover :where(.gnb > li > a, .allCate){filter: none;}
			#header .gnb > li:hover .dep02{opacity: 1; pointer-events: auto;}
			#header .gnb .dep02:has(> li:hover) > li:not(:hover){opacity: 0.4;}
		}

	@media (max-width:1023px) {
		#header .gnb{display: none;}
		#header .allCate{display: flex;}
	}


/*───────────────────────────────────────────────────────────

	Aside | outline/nav.html

───────────────────────────────────────────────────────────*/
    #aside{position: fixed;top: 0;left:0;width: 100%;height: 100%;z-index: 999;background: rgba(255,255,255,0.8);backdrop-filter:blur(10px);display: flex;flex-direction: column;overflow: hidden;overflow-y: auto;padding-block: 10vh;box-sizing: border-box;opacity: 0;transition: all 0.6s;clip-path: inset(0 0 100% 0);}
        #aside.on{opacity: 1;clip-path: inset(0);}
        body:has(#aside.on){overflow: clip; touch-action: none;}
    #aside .w_custom{flex-shrink: 0;max-width: 1800px;min-height: 100%;display: flex;align-items: center;}
    #aside .gnb{width: 100%;display: grid;align-items: start;justify-content: center;grid: auto / repeat(5, 1fr);gap: clamp(15px, 2.2vw, 40px);}
    #aside .gnb > li{color: var(--black-color01);font-size: var(--text-20);font-weight: 800;text-align: center;}
        
        @media (min-width:861px) {
            #aside .gnb > li{opacity:0;translate:0 100px;transition:all 0.8s 0.3s;}
            #aside.on .gnb > li{opacity:1;translate:0;}
            #aside.on .gnb > li:nth-child(2){transition-delay:0.4s;}
            #aside.on .gnb > li:nth-child(3){transition-delay:0.5s;}
            #aside.on .gnb > li:nth-child(4){transition-delay:0.6s;}
            #aside.on .gnb > li:nth-child(5){transition-delay:0.7s;}
            #aside.on .gnb > li:nth-child(6){transition-delay:0.8s;}
        }
    #aside .gnb > li > a{position: relative;display: block;font-size: var(--text-40);line-height: 1.4;padding-block: 30px;transition: all 0.4s;letter-spacing: 0;}
        #aside .gnb > li > a:before{position: absolute;content: '';top: 0;left: 50%;translate: -50%;width:12px;height: 0;opacity:0;border-radius:100%;background: var(--point-color01);transition:all 0.3s;}
    #aside .gnb .dep02{position: relative;}
    #aside .gnb .dep02 > li > a{display: block;padding-block: clamp(7px, 1.7vw, 13px);font-weight: 700;color: var(--black-color06);line-height: 1.6;transition: all 0.4s;}
    #aside .utility{position: absolute;top: clamp(30px, 2.8vw, 50px);right: clamp(30px, 2.8vw, 50px);display: flex;align-items: center;gap: clamp(20px, 1.6vw, 30px);z-index:2;}
    #aside .close_btn{position: relative;width: clamp(30px, 4vw, 40px);height: clamp(30px, 4vw, 40px);z-index: 9;}
    #aside .close_btn span{position: absolute;top:50%;left:50%;transform: translate(-50%, -50%) rotate(45deg);width: 100%;height: 2px;background: var(--black-color01);}
    #aside .close_btn span + span{transform: translate(-50%, -50%) rotate(-45deg);}
    
        /* over */
            @media (hover:hover) and (pointer:fine){
				#aside .gnb > li:hover > a{color: var(--point-color01);}
                #aside .gnb > li:hover > a:before{height:12px;opacity:1;}
                #aside .gnb .dep02 > li:hover a{color: var(--point-color01);}
            }

    @media (max-width:1023px){
        #aside{padding-block: clamp(80px, 12vw, 120px);}
		#aside .gnb{grid:auto / repeat(3, 1fr);}
    }
    @media (max-width:860px){
		#aside{display: block;}
		#aside .w_custom{align-items:flex-start;}
		#aside .gnb{grid-template: auto / repeat(1, 1fr);gap:0;}
        #aside .gnb > li{padding-block: clamp(20px, 3vw, 25px);text-align:left;border-bottom: 1px solid rgba(0,0,0,0.15);}
        #aside .gnb > li > a{padding-block: 0;}
		#aside .gnb > li > a:before{display: none;}
        #aside .gnb .dep02{display: grid;gap: 0 20px;grid-template: auto / repeat(2, 1fr);margin-top: clamp(10px, 1.8vw, 15px);justify-content: flex-start;}
		#aside .utility{top:15px; right: 15px;}
    }
    @media (max-width:479px){
        #aside .gnb .dep02{grid-template: auto / repeat(1, 1fr);}
    }
    

/*───────────────────────────────────────────────────────────

    MAIN | index.html

───────────────────────────────────────────────────────────*/
	/* 비주얼 */
		.main_visual {position:relative;}
		.main_visual .slick-slide {position:relative;height: clamp(520px, 98.4vw, 984px);overflow: hidden;background: var(--black-color01);}
		.main_visual .thumb {display: block;width: 100%;height: 100%;background: no-repeat center / cover; transition: all 5s; scale: 1.08;}
			.main_visual .active .thumb{scale: 1;}
		.main_visual .txt_box {position: absolute;top: 50%;left: 50%;translate: -50% -50%;filter: var(--filter-white);display: flex;flex-direction: column;align-items: flex-start;gap: clamp(20px, 4vw, 40px);max-width: 1220px;}
		.main_visual .txt_box h2{position:relative;font-size: var(--text-60);font-weight: 800;line-height: 1.3;letter-spacing: 0.02em;text-align: center;display: flex;flex-direction: column;gap: 4px;}
		.main_visual .txt_box h3{position:relative;font-size: var(--text-24);font-weight: 700;line-height: 1.5;letter-spacing: -0.03em;}
		.main_visual .txtAni{opacity: 0; translate: 70px; transition: all 1.2s 0.2s;}
			.main_visual .txtAni:nth-child(2){transition-delay: 0.4s;}
			.main_visual .active .txtAni{opacity: 1; translate: 0;}
		.main_visual .scr-dwn{position: absolute;width: clamp(20px, 3.2vw, 30px);aspect-ratio: auto 1;left: 50%;bottom: clamp(15px, 4vw, 40px);z-index: 6;translate: -50%;}
		.main_visual .scr-dwn::before{position: absolute;content:'';width: 65%;aspect-ratio: auto 1;border: 2px solid var(--point-white);clip-path: var(--clip-poly02);rotate: 45deg;border-radius: 2px;top: 50%;left: 50%;translate: -50% -50%;}

		.main_visual .scr-dwn{animation: scrDwn 1.2s linear infinite forwards alternate;}
		@keyframes scrDwn {0% {transform:translateY(0);}100% {transform:translateY(-15px)}}

	/* 타이틀 */
		.main-title{position: relative;text-align: center;display: flex;flex-direction: column;gap: var(--row-gap30);text-wrap: balance;}
			.main-title.hd{margin-bottom: var(--row-gap60)}
			.main-title.left{text-align: left;text-wrap: pretty;}
		.main-title h3{font-size: var(--text-48);font-weight: 800;color: var(--black-color01);line-height: 1.3;letter-spacing: -0.03em;}
		.main-title h3 em{color: var(--point-color01);}
		.main-title h4{font-size: var(--text-24);font-weight: 700;color: var(--black-color00);line-height: 1.2;letter-spacing: -0.03em;}
		.main-title p{font-size: var(--text-24);font-weight: 700;color: var(--black-color03);line-height: 1.4;letter-spacing: -0.03em;}

	/*marketing*/
		.main_marketing{position: relative;}
		.main_marketing a{display: inline-block;width:13%;height:9%;position: absolute;left:48%;translate:-50%;bottom:34%;}
		
		@media (max-width:1200px) {
			.main_marketing a{width:14%;left:49%;}
		}

	/* bg-sec */
		.bg-sec{position: relative;padding-block: clamp(80px, 14vw, 140px);z-index: 1;overflow: hidden;}
		.bg-sec{&::before, &::after{position: absolute;content:'';top:0;left: 50%;translate: -50%;width: 127%;height: calc(100% - clamp(100px, 28vw, 280px) / 2);background: var(--point-color02);z-index: -1;}}
		.bg-sec::after{top:auto;bottom:0;height: clamp(100px, 28vw, 280px);border-radius: 100%;}
		.bg-exp-title{font-size: clamp(55px, 10vw, 120px);position: absolute;left: 50%;bottom: clamp(-45px, -4.5vw, -15px);translate: -50%;font-weight: 800;color: rgb(255 255 255 / 60%);line-height: 1.4;letter-spacing: -0.03em;}
		.bg-sec.pt01{background: var(--point-color05);}
		.bg-sec.pt01{&::before, &::after{display: none;}}

	/* tag-list */
		.tag-list{display: flex; flex-wrap: wrap; gap: 10px;}
		.tag-list > li{font-size: var(--text-17);line-height: 1.4;color: var(--black-color00);background: var(--point-white);padding: 6px 16px;border-radius: 50px;}

	/* one-click */
		.one-click{display: flex;align-items: flex-start;gap: var(--row-gap80) clamp(80px, 7.4vw, 140px);}
		.one-click .thumb{position: relative;flex-shrink: 0;width: 43%;max-width: 506px;display: flex;justify-content: center;}
		.one-click .thumb .phone{filter: drop-shadow(var(--shadow-02));position: absolute;top: 50%;left: 53%;translate: -50% -50%;transform: translateY(25px);transition: all 1s 0.2s;}
		.one-click .thumb .coin{position: absolute;top: 46.5%;left: 55.5%;translate: -50% -50%;width: calc(100% + clamp(30px, 9vw, 156px));max-width: none;transition: all 1s 1s;opacity: 0;scale: 0.9;transform: translateY(15px);}
		.one-click .main-title{width: 100%;padding-top: clamp(70px, 6.5vw, 123px);}

			.one-click .thumb.aos-animate .phone{transform: translate(0);}
			.one-click .thumb.aos-animate .coin{transform: translate(0);opacity: 1;scale: 1;}

			.bg-sec.nutritional{padding-block: clamp(80px, 16.6vw, 166px) clamp(80px, 12vw, 114px);}
			.bg-sec.nutritional::before{top:auto; bottom:0;}
			.bg-sec.nutritional::after{top:0; bottom:auto;}
			.nutritional .one-click{flex-direction: row-reverse; column-gap: 58px;}
			.nutritional .one-click .thumb{max-width: 675px;width: 56%;}
			.nutritional .one-click .thumb .phone{position: relative;inset: auto;transform: none;opacity: 0;translate: 0 25px;transition: all 0.8s 0.8s;}
			.nutritional .one-click .thumb .bubble{position: absolute;left: 1%;top: 40%;filter: drop-shadow(var(--shadow-04));width: clamp(205px, 18.3vw, 312px);opacity: 0;translate: 0 30px;transition: all 0.8s 0.8s;}
			.nutritional .one-click .thumb .bubble.nth02{left: auto;right: 0;top: 44%;width: clamp(215px, 19vw, 327px);}
			.nutritional .one-click .thumb .bubble.nth03{top: 65%;left: 3.5%;width: clamp(195px, 17.5vw, 299px);}
			.nutritional .one-click .thumb .bubble.nth04{left: auto;right: 7%;top: 68%;width: clamp(175px, 16.4vw, 276px);}

			.nutritional .one-click .thumb.aos-animate .phone{opacity: 1; translate: 0;}
			.nutritional .one-click .thumb.aos-animate .bubble{opacity: 1; translate: 0;}
			.nutritional .one-click .thumb.aos-animate .bubble.nth02{transition-delay: 1s;}
			.nutritional .one-click .thumb.aos-animate .bubble.nth03{transition-delay: 1.2s;}
			.nutritional .one-click .thumb.aos-animate .bubble.nth04{transition-delay: 1.4s;}

			.nutritional .one-click .main-title{gap: var(--row-gap20);padding-top: 60px;}
			.nutritional .one-click .main-title > *{opacity: 0; translate: -50px; transition: all 0.8s;}
			.nutritional .one-click .main-title.aos-animate > *{opacity: 1; translate: 0;}
			.nutritional .one-click .main-title.aos-animate > *:nth-child(2){transition-delay: 0.4s;}
			.nutritional .one-click .main-title.aos-animate > *:nth-child(3){transition-delay: 0.6s;}
			.nutritional .one-click .main-title.aos-animate > *:nth-child(4){transition-delay: 0.8s;}
			.nutritional .bg-exp-title{opacity: 0; transform:translateX(-50px); transition: all 1.2s 1s;}
			.nutritional:has(.aos-animate) .bg-exp-title{opacity: 1; transform:translateX(0);}

			.prediction{position: relative;padding-block: clamp(80px, 13vw, 130px) clamp(80px, 15vw, 150px);}
			.prediction .one-click{column-gap: 0;}
			.prediction .one-click .thumb{max-width: 685px;width: 58%;}
			.prediction .one-click .thumb .phone{position: relative;inset: auto;translate: 0;opacity: 0; transition: all 1.2s 0.2s;}
			.prediction .one-click .thumb .obj{position: absolute;top: -2.5%;left: 50%;translate: -180%;opacity: 0;transform: translateY(25px);transition: all 1.2s 0.4s;width: clamp(70px, 12.3vw, 123px);}
			.prediction .one-click .thumb .obj.nth02{top: max(170px, 37%);translate: -88%;width: clamp(170px, 34.5vw, 345px);}
			.prediction .one-click .thumb .obj.nth03{top: max(230px, 50%);translate: 65%;width: clamp(60px, 11.9vw, 119px);}
			.prediction .one-click .main-title{padding-top: 76px;gap: var(--row-gap20);}

			.prediction .one-click .thumb.aos-animate .phone{opacity: 1;}
			.prediction .one-click .thumb.aos-animate .obj{opacity: 1; transform: translateY(0);}
			.prediction .one-click .thumb.aos-animate .obj.nth02{transition-delay: 0.4s;}
			.prediction .one-click .thumb.aos-animate .obj.nth03{transition-delay: 0.6s;}

			.prediction .one-click .main-title > *{opacity: 0; translate: 50px; transition: all 1.2s 0.8s;}
			.prediction .one-click .main-title.aos-animate > *{opacity: 1; translate: 0;}
			.prediction .one-click .main-title.aos-animate > *:nth-child(2){transition-delay: 1.2s;}
			.prediction .one-click .main-title.aos-animate > *:nth-child(3){transition-delay: 1.4s;}
			.prediction .one-click .main-title.aos-animate > *:nth-child(4){transition-delay: 1.6s;}
			.prediction .bg-exp-title{opacity: 0; transform:translateX(50px); transition: all 1.2s 1s;}
			.prediction .bg-exp-title{color: var(--gray-bg04);}
			.prediction .bg-exp-title p{color: var(--gray-bg04);padding-left: clamp(0px, 58%, 685px);}
			.prediction:has(.aos-animate) .bg-exp-title{opacity: 1; transform:translateX(0);}

			.bg-sec.digitalization{padding-bottom: clamp(80px, 17.8vw, 178px);}
			.bg-sec.digitalization::before{height: 100%;}
			.bg-sec.digitalization::after{display: none;}
			.digitalization .one-click .main-title{padding-top: 15px;}
			.digitalization .one-click .thumb .phone{filter: none;}

		@media (max-width:1023px) {
			.one-click{flex-wrap: wrap;}
			.one-click .thumb{flex-shrink: unset;margin-inline: auto;width: 80%;}
			.one-click .main-title{padding-top:0;}
			.nutritional .one-click{flex-direction: row;}
			.nutritional .one-click .thumb{width: 100%;padding-inline: 80px;}
			.nutritional .one-click .main-title{padding-top: 0;}
			.prediction .one-click .thumb{width: 82%;}
			.prediction .one-click .main-title{padding-top: 0;}
			.prediction .bg-exp-title p{padding-left:0;}
			.digitalization .one-click .thumb{padding-inline: 0;}
		}
		@media (max-width:640px) {
			.nutritional .one-click .thumb .bubble{top: 27%;}
			.nutritional .one-click .thumb .bubble.nth02{top: 43%;}
			.nutritional .one-click .thumb .bubble.nth03{top: 65%;}
			.nutritional .one-click .thumb .bubble.nth04{top: 80%;}
		}

	/* view-details */
		.view-details{position: relative;font-size: var(--text-18);font-weight: 500;display: flex;align-items: center;justify-content: center;gap: 5px;text-align: center;min-width: clamp(110px, 17vw, 160px);min-height: clamp(43px, 6vw, 54px);padding: 13px 20px 10px;width: fit-content;background: var(--point-color01);border-radius: var(--radius-10);line-height: 1.2;color: var(--point-white);transition: all 0.4s;}
		.view-details::after{display: inline-flex;content:'';width: 10px;aspect-ratio: auto 1;border: 2px solid var(--point-white);rotate: -45deg;clip-path: var(--clip-poly02);border-radius: 2px;translate: 0 -1px;margin-left: -15px;opacity: 0;transition: inherit;}

			/* over */
			@media (hover:hover) and (pointer:fine) {
				.view-details:hover{background: var(--point-color03);}
				.view-details:hover::after{opacity: 1; margin-left: 0;}
			}

	/* gallSwiper */
		.no_data{text-align: center; font-size: var(--text-16); padding-block: 30px;}
		.gall-wrap{max-width: 1380px;padding-inline: clamp(50px, 9.5vw, 95px);}
		.gall-wrap [class*="swiper-button"]{position: absolute;top: 48%;left:0;width: clamp(35px, 5.5vw, 50px);height: auto;aspect-ratio: auto 1;border-radius: var(--radius-16);box-shadow: var(--shadow-03);translate: 0 -50%;background: var(--point-white);transition: all 0.4s;}
		.gall-wrap [class*="swiper-button"].swiper-button-next{left:auto;right:0;scale: -1 -1;}
		.gall-wrap [class*="swiper-button"]::before{position: absolute;content:'';width: clamp(9px, 1.7vw, 12px);aspect-ratio: auto 1;border: 2px solid var(--black-color03);rotate: 135deg;clip-path: var(--clip-poly02);border-radius: 2px;top: 50%;left: 55%;translate: -50% -50%;transition: inherit;}
		.gallSwiper{position: relative;}
		.gallSwiper .swiper-slide{position: relative;width: calc(100% / 2 - clamp(15px, 2.1vw, 40px) / 2);height: auto;margin-right: clamp(15px, 2.1vw, 40px);transition: translate 0.6s;}
		.gallSwiper .desc{position: relative;text-align: center;display: grid;gap: clamp(15px, 2vw, 20px);}
		.gallSwiper .desc dt{width: 100%;border-radius: var(--radius-20);overflow: hidden;opacity: 0.3;transition: all 0.4s;}
		.gallSwiper .desc dt img{width: 100%;height: 100%;aspect-ratio: auto 1.7;object-fit: cover;min-height: 180px;}
		.gallSwiper .desc dd{position: relative;font-size: var(--text-20);font-weight: 700;color: var(--black-color00);line-height: 1.6; opacity: 0; transition: all 0.4s; white-space: normal;overflow:hidden;text-overflow:ellipsis;display: -webkit-box;-webkit-line-clamp: 1;-webkit-box-orient: vertical;}

			.gallSwiper .swiper-slide:has(+ .swiper-slide.on){translate:-100px;}
			.gallSwiper .swiper-slide.on + .swiper-slide + .swiper-slide{translate:100px;}
			.gallSwiper :is(.swiper-slide.on, .swiper-slide.on + .swiper-slide) .desc :is(dt, dd){opacity: 1;}

			@media (hover:hover) and (pointer:fine) {
				.gall-wrap [class*="swiper-button"]:hover{background: var(--point-color01);}
				.gall-wrap [class*="swiper-button"]:hover::before{filter: var(--filter-white);}
				.gallSwiper .swiper-slide:hover .desc dd{color: var(--point-color01);}
			}

		@media (max-width:640px) {
			.gallSwiper .swiper-slide{width: 100%; translate: 0 !important;}
		}

	/* family-tree */
		.family-tree{background: url('../images/skin/family-tree.jpg') no-repeat center / cover;padding-block: var(--row-gap120) var(--row-gap70);}
		.family-tree .main-title .logo{font-size: 0;display: flex;justify-content: center;height: clamp(90px, 21vw, 202px);}

/*───────────────────────────────────────────────────────────

    FOOTER | outline/footer.html

───────────────────────────────────────────────────────────*/
	.bullet-list{display: flex;flex-direction: column;gap: 6px;}
	.bullet-list > li{font-size: var(--text-15);font-weight: 400;line-height: 1.4;display: flex;gap: clamp(7px, 1.5vw, 10px);align-items: baseline;}
	.bullet-list > li::before{display: inline-flex;content: '';width: clamp(3px, 0.6vw, 4px);aspect-ratio: auto 1;background: var(--black-color03);border-radius: 100%;flex-shrink: 0;translate: 0 -3px;}
	.bullet-list > li em{color: var(--point-color04); font-weight: 500; letter-spacing: -0.02em;}

		.bullet-list.type02{gap: var(--row-gap10);}
		.bullet-list.type02 > li{font-size: var(--text-18); color: var(--black-color03); line-height: 1.6;}
		.bullet-list.type02 > li::before{background: var(--black-color10);}

		.bullet-list.type03{gap: var(--row-gap10);}
		.bullet-list.type03 > li{font-size: var(--text-16);color: var(--black-color05);line-height: 1.6;gap: 4px;}
		.bullet-list.type03 > li::before{content: '·';width: auto;aspect-ratio: unset;border-radius: 0;translate: 0;background: none;}

		.bullet-list.type04{gap: var(--row-gap10);}
		.bullet-list.type04 > li{font-size: var(--text-17);color: var(--black-color03);line-height: 1.6;gap: 4px;}
		.bullet-list.type04 > li::before{content: '·';width: auto;aspect-ratio: unset;border-radius: 0;translate: 0;background: none;}

		.bullet-list.hyphen > li::before{content:'-'; width: auto;aspect-ratio: unset;border-radius: 0;translate: 0;background: none;}

	#footer{position: relative;background: var(--black-color02);font-size: var(--text-15);font-weight: 300;color: var(--point-white);line-height: 1.4;padding-block: clamp(50px, 8vw, 80px) clamp(45px, 7.4vw, 74px);}
	#footer .w_custom{display:grid;gap: clamp(25px, 3vw, 30px);}
	#footer .link-list{display: flex;flex-wrap: wrap;gap: 10px 0;}
	#footer .link-list > li{font-size: var(--text-16);}
	#footer .link-list > li::after{display: inline-flex;content:'';width: 1px;height: clamp(8px, 1.4vw, 12px);background: rgb(255 255 255 / 20%);margin-inline: clamp(15px, 2.2vw, 22px);}
	#footer .link-list > li:last-child::after{display: none;}
	#footer .link-list > li strong{font-weight: 700;}
	#footer .addr-list{display: grid;gap: 6px;}
	#footer .addr-list > li{display: flex;flex-wrap: wrap;gap: 6px clamp(25px, 3vw, 30px);}
	#footer .addr-list .desc{display: flex;align-items: baseline;gap: 10px; font-family: var(--font-type02);}
	#footer .addr-list .desc dt{font-weight: 400;flex-shrink: 0;}
	#footer .addr-list .desc dd{color: rgb(255 255 255 / 60%);font-weight: 200;}
	#footer .bullet-list{margin-top: clamp(5px, 1vw, 10px);}
	#footer .bullet-list > li{font-weight: 300;}
	#footer .bullet-list > li::before{background: var(--point-white);}
	#footer .btm-sec{display: flex;align-items: flex-end;justify-content: space-between;gap: clamp(25px, 3vw, 30px);flex-wrap: wrap;margin-top: clamp(-11px, -1.1vw, 0px);}
	#footer .copy{display: flex;flex-wrap: wrap;gap: 4px 10px;letter-spacing: -0.02em;}
	#footer .logo{max-width: clamp(150px, 25vw, 240px);}

	.quick-wrap{position: fixed;right: 0;bottom: clamp(15px, 7vw, 70px);z-index: 50;width: 100%; opacity: 0; pointer-events: none; transition: all 0.4s;}
		body:has(#header.on:not(.end)) .quick-wrap{opacity: 1;}
		body:has(#header.on:not(.end)) .scr-top{pointer-events: auto;}
	.quick-wrap .w_custom{max-width: 1800px;display: grid;justify-items: end;}
	.quick-wrap .scr-top{display: flex;align-items: center;justify-content: center;width: clamp(40px, 5.6vw, 54px);height: clamp(40px, 5.6vw, 54px);padding: 11px;background: var(--black-color02);border-radius: 100%;box-shadow: var(--shadow-05);}