@charset "UTF-8";

.visual {
	width: 100%;
	height: 200vh;
	position: relative;
}

.visual .visual-bg {
	position: sticky;
	left: 0;
	top: 0;
	width: 100%;
	height: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.visual .visual-bg .intro-animation {
	height: 80%;
}

.visual .visual-bg .intro-animation img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.visual .visual-text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
	text-align: center;	
}

.visual .visual-text .act01 h4 {
	font-size: 42px;
	padding-bottom: 32px;
	line-height: 1.5em;
}

.visual .visual-text .act01 h4 span {
	display: inline-block;
	opacity: 0;
    filter: blur(5px);
    transform: translateY(80px) rotate(-10deg);
}

.visual .visual-text .act01 p {
	opacity: 0;
    transform: translateY(30px);
}

.visual .visual-text .act02 h2 {
	font-size: 68px;
	transform: translateY(-130px);
	font-weight: 400;
}

.business {
	padding: 166px 0 172px;
}

.business .inner-wrapper > div {
	align-items: baseline;
	gap: 60px;
}

.business .inner-wrapper > div > h3 {
	color: var(--l-brown);
	font-size: 20px;
	padding: 10px 10px 10px 0;
	border: 1px solid var(--l-brown);
	border-top: 0;
	border-left: 0;
}

.business .inner-wrapper > div > div h2 {
	font-weight: 600;
	font-size: 48px;
	color: #FFE7E7;
	padding-bottom: 35px;
}

.business .inner-wrapper > div > div p {
	color: var(--l-brown);
    line-height: 1.2em;
    word-break: keep-all;
}

.business .inner-wrapper > div > div p:first-of-type {
	padding-bottom: 23px;
}

.business .inner-wrapper > div > div a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 130px;
	height: 38px;
	border-radius: 38px;
	background: #FFE7E7;
	color: var(--black);
	margin-top: 61px;
	transition: all .3s ease;
}

.business .inner-wrapper > div > div a:hover {
	box-shadow: 0px 0px 11.6px 0px rgba(255, 255, 255, 0.80);
}

.vetical-parallax-content {
	position: relative;
	height: 5820px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.image-box {
	filter: blur(10px); /* 초기 blur 설정 */
	transform: translateY(120px); /* 초기 위치 설정 */
	transition: filter 0.3s ease-out;
	position: absolute;
}

.vetical-parallax-content .image-box:nth-child(1) {
	right: 0;
    top: -200px;
}

.vetical-parallax-content .image-box:nth-child(2) {
	right: 55vh;
    top: 11vh;
}

.vetical-parallax-content .image-box:nth-child(3) {
	left: 0;
	top: 20vh;
}

.vetical-parallax-content .image-box:nth-child(4) {
	right: 19vh;
    top: 65vh;
}

.vetical-parallax-content .image-box:nth-child(5) {
    left: 10vh;
    top: 137vh;
}

.vetical-parallax-content span.fixed-text {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 86vh;
	color: var(--l-brown);
	font-size: 20px;
	padding-bottom: 5px;
	border-bottom: 1px solid var(--l-brown);
}

.vetical-parallax-content p.fixed-text {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 210vh;
	color: #fff;
	font-size: 26px;
	text-align: center;
	line-height: 1.3em;
}

.vetical-parallax-content .contact-area-bg {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 20vh;
   	background: var(--brown) url('/hongt/file/IMAGE/uu/f7346c327e91479e9bf48e2e71da233f') repeat;
	background-blend-mode: overlay;
    box-shadow: 0 0 10px 3px rgba(255, 255, 255, .32);
    z-index: 1;
    transform: translateY(110%); /* 처음에는 화면 밖에 위치 */
}

.vetical-parallax-content .contact-circle-area {
    position: absolute;
    left: 0;
    top: 240vh;
    width: 100%;
    height: 200vh;
    padding: 100vh 0 50vh;
    box-sizing: content-box;
	background: linear-gradient(
    to bottom,
    rgba(44, 36, 36, 0.3) 0%,   
    rgba(44, 36, 36, 0.6) 5%,
    rgba(255, 255, 255, 0.2) 15%,
    rgba(255, 255, 255, 0.3) 30%,  
    rgba(255, 255, 255, 0.5) 50%, /* 중간을 완전 흰색으로 */
    rgba(255, 255, 255, 0.3) 70%,
    rgba(255, 255, 255, 0.2) 85%,
    rgba(44, 36, 36, 0.6) 95%,  
    rgba(44, 36, 36, 0.3) 100%);
    z-index: 0;
}

/* sticky-circle 컨테이너 */
.vetical-parallax-content .contact-circle-area .sticky-circle {
    position: sticky;
    top: 50%;
    left: 0;
    right: 0;
    margin: 0 auto;
    transform: translateY(-50%);
    width: 300px;
    height: 300px;
    border-radius: 100%;
    z-index: 1;
}

.vetical-parallax-content .contact-circle-area .sticky-circle:before {
   	content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(188, 172, 172, 0.80);
    mix-blend-mode: screen;
    filter: blur(20px);
    border-radius: 100%;
    z-index: -1;
}

.vetical-parallax-content .contact-circle-area .sticky-circle .contact-circle {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.vetical-parallax-content .contact-circle-area .sticky-circle .contact-circle:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 130%;
	height: 130%;
	filter: blur(10px);
    border-radius: 100%;
    opacity: 0.3;
	background: #BCACAC;
	mix-blend-mode: screen;
	filter: blur(18.25px);
}

/* a태그 (버튼) 스타일 */
.vetical-parallax-content .contact-btn {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #7d4e4e;
    font-size: 48px;
    font-weight: 600;
    z-index: 2;
    pointer-events: auto;
}

@media screen and (max-width: 768px) {
    .inner-wrapper {
        padding: 0 20px;
    }

    .visual {
        height: 150vh;
    }

    .visual .visual-bg {
        height: 70%;
    }

	.visual .visual-text {
		width: 100%;
	}

    .visual .visual-text .act01 h4 {
        font-size: 28px;
        padding-bottom: 20px;
    }

	.visual .visual-text .act01 h4 span {
		display: block;
	}

	.visual .visual-text .act01 p {
		line-height: 1.5em;
	}

    .visual .visual-text .act02 h2 {
        font-size: 42px;
    }

    .business {
        padding: 80px 0;
    }

    .business .inner-wrapper > div {
        flex-direction: column;
        gap: 30px;
        align-items: flex-start;
    }

    .business .inner-wrapper > div > h3 {
        font-size: 18px;
        padding: 8px 8px 8px 0;
    }

    .business .inner-wrapper > div > div h2 {
        font-size: 32px;
        padding-bottom: 20px;
    }

    .vetical-parallax-content {
        height: 4000px;
    }

    .vetical-parallax-content .image-box {
        max-width: 90vw;
    }

    .vetical-parallax-content .image-box:nth-child(1) {
        right: 0;
        top: 0;
        max-width: 70vw;
    }

    .vetical-parallax-content .image-box:nth-child(2) {
        right: 10vw;
        top: 26vh;
        max-width: 60vw;
    }

    .vetical-parallax-content .image-box:nth-child(3) {
        left: 0;
        top: 55vh;
        max-width: 70vw;
    }

    .vetical-parallax-content .image-box:nth-child(4) {
        right: 5vw;
        top: 99vh;
        max-width: 65vw;
    }

    .vetical-parallax-content .image-box:nth-child(5) {
        left: 5vw;
        top: 140vh;
        max-width: 70vw;
    }

    .vetical-parallax-content span.fixed-text {
        top: 66vh;
        font-size: 16px;
        width: 90vw;
        text-align: center;
    }

	.vetical-parallax-content p.fixed-text {
		width: 100%;
		padding: 0 20px;
		word-break: keep-all;
    	top: 180vh;
    	font-size: 20px;
	}

    .vetical-parallax-content .contact-circle-area {
        top: 220vh;
        height: 150vh;
        padding: 30vh 0;
    }

    .vetical-parallax-content .contact-circle-area .sticky-circle {
        width: 220px;
        height: 220px;
    }

    .vetical-parallax-content .contact-btn {
        font-size: 32px;
    }

    .vetical-parallax-content .contact-area-bg {
        height: 20vh;
    }
}

@media screen and (max-width: 480px) {
    .visual .visual-text .act01 h4 {
        font-size: 24px;
    }

    .visual .visual-text .act02 h2 {
        font-size: 36px;
    }

    .business .inner-wrapper > div > div h2 {
        font-size: 28px;
    }

    .vetical-parallax-content .contact-circle-area .sticky-circle {
        width: 180px;
        height: 180px;
    }

    .vetical-parallax-content .contact-btn {
        font-size: 26px;
    }
}

@media screen and (max-width: 820px) and (orientation: landscape) {
    .visual {
        height: 250vh; /* Increase for landscape */
    }

    .visual .visual-bg {
        height: 100%;
    }

    .vetical-parallax-content {
        height: 4000px;
    }

    .vetical-parallax-content .contact-circle-area {
        top: 180vh;
    }
}