/* scroll bar */
.pp-scrollable {
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.pp-scrollable::-webkit-scrollbar{
	display:none;
}
/* //scroll bar */

/* main: common */
#pagepiling {width: 100%;height: 100%;}
#pagepiling > div {background-color: #fff;}

#pagepiling > div {
	background-color: #00070F;
}
.section-wrap {
	display: flex;
	max-width: 100%;
	height: 100%;
	overflow: hidden;
}
/* main: intro1 */
.main-intro1 {
	position: relative;
	width: 100%;
	height: 100%;
	margin: auto;
	padding: 20px;
	background-color: #00070F;
	overflow: hidden;
}
.main-intro1:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(/upload/dosoftlab/static/image/c3facd29d5_20250526110113259.png) no-repeat 50% 50%;
	background-size: 19.375rem;
	opacity: 1;
}
.main-intro1:after {
	content: "";
	position: absolute;
	top: 6.25rem;
	left: 0;
	right: 0;
	bottom: 5.125rem;
	background: url(/upload/dosoftlab/static/image/526cfe27b5_20250526110229586.png) no-repeat 100% 50%;
	background-size: cover;
	opacity: 0;
	z-index: -1;
}
.main-intro1.on {
	transition: all 1s 2.5s ease-in-out;
	background-color: transparent;
}
.main-intro1.on:before {
	transition: all 1s 2s ease-in-out;
	opacity: 0;
}
.main-intro1.on:after {
	transition: all 1s 2.5s ease-in-out;
	opacity: 1;
}
.main-intro1 .intro-title-wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	overflow: hidden;
	transform: translate(-50%,-50%);
}
.main-intro1 .intro-title-wrap > h3 {
	height: 9rem;
	font-size: 7.25rem;
	white-space: nowrap;
	color: #fff;
}
.main-intro1 .intro-title-wrap .animate1 {
	width: 35rem;
	font-weight: 100;
	overflow: hidden;
	opacity: 1;
}
.main-intro1 .intro-title-wrap .animate2 {
	width: 0;
	overflow: hidden;
}
.main-intro1 .intro-title-wrap .animate3 {
	width: 0;
	overflow: hidden;
}
.main-intro1.on .intro-title-wrap {
	transition: all .84s 2s ease-in-out;
	transform: translate(0,0);
	top: 25.25vh;
	left: 12.5vw;
}
.main-intro1.on .intro-title-wrap > h3 {
	transition: all .84s 2s ease-in-out;
	font-size: 5rem;
}
.main-intro1.on .intro-title-wrap .animate1 {
	transition: all .66s 0.533s ease-in-out;
	opacity: 0;
	animation: introAni1 .66s 0.533s ease-in-out forwards;
}
.main-intro1.on .intro-title-wrap .animate2 {
	animation: introAni2 1.5s 1.32s ease-in-out forwards;
}
.main-intro1.on .intro-title-wrap .animate3 {
	animation: introAni3 1.5s 1.32s ease-in-out forwards;
}

.main-intro1 .intro-text-wrap {
	position: absolute;
	bottom: 15.5vh;
	left: 12.5vw;
}
.main-intro1 .intro-text-wrap > h5 {
	position: relative;
	font-size: 2.25rem;
	font-weight: 500;
	overflow: hidden;
	opacity: 0;
	transform: translateY(100%);
	color: #fff;
}
.main-intro1 .intro-text-wrap > p {
	position: relative;
	font-size: 1.375rem;
	margin-top: 1.875rem;
	overflow: hidden;
	opacity: 0;
	transform: translateY(100%);
	color: rgba(255,255,255,.8);
}
.main-intro1.on .intro-text-wrap > h5 {
	transition: all 1s 2.5s ease-in-out;
	opacity: 1;
	transform: translateY(0);
}
.main-intro1.on .intro-text-wrap > p {
	transition: all 1s 2.5s ease-in-out;
	opacity: 1;
	transform: translateY(0);
}
.main-scroll-icon {
	position: absolute;
	left: calc(50% - 1.3125rem);
	bottom: 2.5rem;
	width: 2.625rem;
	height: 2.625rem;
	background: url(/upload/dosoftlab/static/image/d454a9b325_20250526104918996.png) no-repeat 50% 50%;
	background-size: contain;
	animation: motion .5s linear 0s infinite alternate;
	cursor: pointer;
}
/* //main: intro1 */

/* main: intro2 */
.main-intro2 {
	position: relative;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	padding: 11.6875rem 0 8.125rem;
	color: #fff;
}
.main-intro2 .graph-bg {
	position: absolute;
	top: 11.6875rem;
	left: 0;
	right: 0;
	bottom: 0;
	text-align: center;
	z-index: 0;
	height: calc(100% - 11.6875rem);
	background-color: #00070F;
}
.main-intro2 .graph-bg .graph-line-wrap {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}
.main-intro2 .graph-bg .graph-line-wrap:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	background-color: #00070F;
	z-index: 1;
}
.main-intro2 .graph-bg .graph-line-wrap .graph-line {
	position: relative;
	display: block;
	width: 100%;
	min-width: 100%;
	height: 100%;
	background: url(/upload/dosoftlab/static/image/ff6aa4855b_20250526110444656.png) no-repeat 100% 0;
	background-size: contain;
}
.main-intro2 .graph-bg .graph-fill {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0;
	background: url(/upload/dosoftlab/static/image/f9c84884bc_20250526110444649.png) no-repeat 100% 0;
	background-size: contain;
}
.main-intro2.on .graph-bg .graph-line-wrap:before {
	animation: widthZero .5s linear .5s forwards;
}
.main-intro2.on .graph-bg .graph-fill {
	animation: opacityOne .5s 1s linear forwards;
}
.main-intro2 .intro-text-wrap {
	display: flex;
	width: 100%;
	height: 100%;
	padding: 0 12.5vw;
}
.main-intro2 .intro-text-wrap .left-box {
	display: flex;
	flex-direction: column;
	width: 45%;
	padding-top: 11.5625rem;
	transform: translateY(5rem);
	opacity: 0;
}
.main-intro2 .intro-text-wrap .left-box > h4 {
	position: relative;
	font-size: 3.75rem;
	font-weight: bold;
}
.main-intro2 .intro-text-wrap .left-box > h4 > span {
	position: relative;
	z-index: 1;
}
.main-intro2 .intro-text-wrap .left-box > h4:before {
	content: "";
	position: absolute;
	top: -2.5rem;
	left: -4rem;
	z-index: 0;
	width: 8.75rem;
	height: 8.75rem;
	border-radius: 50%;
	background: var(--primary-color);
	background-image: linear-gradient(325deg, #00070F, #002F86 60%, #0057FF);
}
.main-intro2 .intro-text-wrap .left-box > p {
	font-size: 1.375rem;
	margin-top: 1.875rem;
	color: rgba(255,255,255,.8);
}
.main-intro2 .intro-text-wrap .left-box > .view-more {
	margin-top: 3.75rem;
}
.main-intro2 .intro-text-wrap .right-box {
	display: flex;
	flex-direction: column;
	justify-content: end;
	width: 55%;
	padding-bottom: 4.875rem;
	transform: translateY(5rem);
	opacity: 0;
}
.main-intro2 .intro-text-wrap .right-box .corp-info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 4.375rem 0;
	border-bottom: 1px solid rgba(255,255,255,.8);
}
.main-intro2 .intro-text-wrap .right-box .corp-info .corp-info-title {
	color: rgba(255,255,255,.8);
	font-size: 1.625rem;
	font-weight: 500;
}
.main-intro2 .intro-text-wrap .right-box .corp-info .corp-info-text {
	position: relative;
	font-size: 3.75rem;
	font-weight: bold;
}
.main-intro2 .intro-text-wrap .right-box .corp-info .corp-info-text > span {
	font-size: 1.625rem;
	font-weight: 400;
}
.main-intro2 .intro-text-wrap .right-box .corp-info .corp-info-text .sub-text {
	position: absolute;
	bottom: -.625rem;
	right: 0;
	font-size: .9375rem;
	font-weight: 100;
	color: rgba(255,255,255,.8);
	white-space: nowrap;
}
.main-intro2.on .intro-text-wrap .left-box {
	transform: translateY(0);
	transition: all .5s .25s ease-in-out;
	opacity: 1;
}
.main-intro2.on .intro-text-wrap .right-box {
	transform: translateY(0);
	transition: all .5s .5s ease-in-out;
	opacity: 1;
}
/* //main: intro2 */

/* about */
.section#about {
	background: url(/upload/dosoftlab/static/image/dbe6baf967_20250526111146265.png) no-repeat 50% 50%;
	background-size: cover;
}
.about-contents {
	display: flex;
	align-items: center;
	padding: 0 1rem;
	overflow: hidden;
}
.about-contents .left-box {
	display: flex;
	justify-content: end;
	align-items: center;
	width: 61%;
}
.about-contents .left-box h5 {
	font-size: 6rem;
	font-weight: bold;
	line-height: 1;
}
.about-contents .left-box .scroll-wrap {
	position: relative;
	width: 39rem;
	margin-left: 2.5rem;
	margin-right: 2.75rem;
}
.about-contents .left-box .scroll-wrap .active-zone {
	position: absolute;
	top: calc(50% - 4.3125rem);
	left: -1.25rem;
	right: -1.25rem;
	z-index: -1;
	height: 8.625rem;
}
.about-contents .left-box .scroll-wrap .active-zone > span {
	position: absolute;
	display: inline-block;
	width: 1.875rem;
	height: 1.875rem;
	border-width: 0;
	border-color: #00070F;
	border-style: solid;
}
.about-contents .left-box .scroll-wrap .active-zone > span:nth-child(1) {
	top: 0;
	left: 0;
	border-top-width: .25rem;
	border-left-width: .25rem;
}
.about-contents .left-box .scroll-wrap .active-zone > span:nth-child(2) {
	top: 0;
	right: 0;
	border-top-width: .25rem;
	border-right-width: .25rem;
}
.about-contents .left-box .scroll-wrap .active-zone > span:nth-child(3) {
	bottom: 0;
	left: 0;
	border-bottom-width: .25rem;
	border-left-width: .25rem;
}
.about-contents .left-box .scroll-wrap .active-zone > span:nth-child(4) {
	bottom: 0;
	right: 0;
	border-bottom-width: .25rem;
	border-right-width: .25rem;
}
.about-contents .left-box .scroll-wrap > .scroll-contents {
	position: relative;
	top: 0;
	color: #00070F;
	font-size: 5rem;
	font-weight: 600;
	transition: all .25s ease-in-out;
}
.about-contents .left-box .scroll-wrap > .scroll-contents > li {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}
.about-contents .left-box .scroll-wrap > .scroll-contents > li > span {
	position: relative;
	display: inline-block;
	height: 100%;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.2;
	color: rgba(0,7,15,.1);
}
.about-contents .left-box .scroll-wrap > .scroll-contents > li.active {
	margin: 3.75rem 0;
}
.about-contents .left-box .scroll-wrap > .scroll-contents > li.active > span {
	font-size: 5rem;
	color: rgba(0,7,15,1);
}
.about-contents .left-box .scroll-wrap > .scroll-contents > li.active > span:before {
	content: "";
	position: absolute;
	bottom: .375rem;
	left: -.625rem;
	right: -.625rem;
	z-index: -1;
	height: 2.125rem;
	background-color: rgba(0,87,255,.2);
}
.about-contents .left-box .scroll-wrap > .scroll-contents > li {
	height: auto;
	opacity: 1;
}
.about-contents .left-box .scroll-wrap > .scroll-contents > li.hide {
	height: 0;
	opacity: 0;
}
.about-contents .right-box {
	display: flex;
	align-items: center;
	width: 39%;
	height: 100vh;
}
.about-contents .right-box > ul {
	color: #000;
	font-size: 1.625rem;
	font-weight: 500;
}
.about-contents .right-box > ul > li {
	display: none;
	opacity: 0;
}
.about-contents .right-box > ul > li.active {
	display: flex;
	align-items: center;
	height: 100%;
	opacity: 1;
	animation: opacityOne 1s ease-in-out forwards;
}
/* //about */

/* product */
#product > div {
  width: 100%;
  max-width: 100vw;
}
.product-box {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 50%;
	padding: 12.875rem 6.25rem 3.125rem 7.5rem;
	color: #fff;
	transition: all 1.2s;
}
.product-box.on {
	width: 70%;
}
.product-box.off {
	position: relative;
	width: 30%;
	padding: 12.875rem 2.25rem 3.125rem;
}
.product-box.off:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	background-color: rgba(0,7,15,.6);
}
.product-box.off .product-top h4 {
    font-size: 3.125rem;
}
.product-box.off .product-top h5 {
    font-size: 1.1875rem;
}
.product-box .product-top {
	position: relative;
	display: flex;
	flex-direction: column;
	z-index: 1;
}
.product-box .product-top h4 {
	font-size: 3.75rem;
	font-weight: bold;
	margin-top: .625rem;
}
.product-box .product-top h5 {
	font-size: 2rem;
	font-weight: 500;
	color: rgba(255,255,255,.8);
}
.product-box.left-box {
	background: url(/upload/dosoftlab/static/image/1b352e1181_20250526111431271.png) no-repeat 0 50%;
	background-size: cover;
}
.product-box .product-top > p {
	height: 0;
	margin-top: 0;
	opacity: 0;
	white-space: nowrap;
}
.product-box.on .product-top > p {
	height: 6.1875rem;
	margin-top: 2rem;
	color: rgba(255,255,255,.8);
	font-size: 1.375rem;
	margin-top: 1.875rem;
}
.product-box.left-box.on .product-top > p {
	animation: productLeftAni .75s ease-in-out forwards;
}
.product-box.right-box.on .product-top > p {
	animation: productRightAni .75s ease-in-out forwards;
}
.product-box .product-top > .view-more {
	margin-top: 2.5rem;
}
.product-box .product-bottom {
	position: absolute;
	bottom: 3.125rem;
	right: 6.25rem;
	max-height: 21.875rem;
}
.product-box .product-bottom > img {
	max-height: 22rem;
	opacity: 1;
}
.product-box.off .product-bottom > img {
	opacity: 0;
	animation: opacityZero .75s ease-in-out forwards;
}
.product-box.right-box {
	background: url(/upload/dosoftlab/static/image/7ef65638f6_20250526111431278.png) no-repeat 0 50%;
	background-size: cover;
}
.product-box.right-box .product-top > p {
	color: #00070F;
}
.product-box.right-box .product-top > * {
	color: var(--product-right);
}
.product-box.right-box .product-top > .view-more > button {
	color: #00070F;
}
.product-box.right-box .product-top > .view-more > button > span:last-child {
	background-image: url(/upload/dosoftlab/static/image/40a89519e2_20250526110444647.png);
}
.product-box.right-box.off .product-top h4 {
	color: #fff;
}
.product-box.right-box.off .product-top h5 {
	color: #fff;
}
.product-box.right-box.off .product-top > .view-more > button {
	color: #fff;
}
.product-box.right-box.off .product-top > .view-more > button > span:last-child {
	background-image: url(/upload/dosoftlab/static/image/ce1aad7620_20250526110444643.png);
}
/* //product */

/* business */
.business-contents {
	position: relative;
	width: 100%;
	height: 100%;
}
.business-contents .contents-wrap {
	display: flex;
	width: 100%;
	max-width: 1340px;
	height: 100%;
	padding: 9.75rem 0 12.5rem;
	margin: auto;
}
.business-contents .left-box {
	width: 66.66%;
	height: 100%;
}
.business-contents .left-box > ul {
	display: inline-flex;
	flex-direction: column;
	overflow: hidden;
}
.business-contents .left-box > ul > li {
	display: inline-flex;
	align-self: start;
	width: auto;
	overflow: hidden;
	color: rgba(255,255,255,.5);
	margin-bottom: 2.25rem;
	line-height: 1.2;
	transform: translateX(-8.75rem);
}
.business-contents .left-box > ul > li > h5 {
	display: inline-flex;
	align-items: baseline;
	font-size: 3rem;
	font-weight: 500;
}
.business-contents .left-box > ul > li > h5:hover {
	color: #fff;
}
.business-contents .left-box > ul > li > h5 > span {
	display: inline-block;
	width: 6.25rem;
	min-width: 6.25rem;
	height: 2.875rem;
	margin-right: 2.5rem;
	background: url(/upload/dosoftlab/static/image/19ceaccf2b_20250526111921766.png) no-repeat 100% 50%;
	background-size: contain;
}
.business-contents .left-box > ul > li.active {
	animation: businessAni .5s ease-in-out forwards;
	color: rgba(255,255,255,1);
	margin-bottom: 3.75rem;
	padding-bottom: 1.125rem;
	border-bottom: 2px solid #fff;
}
.business-contents .left-box > ul > li.active > h5 {
	font-size: 3.75rem;
	font-weight: 600;
}
.business-contents .right-box {
	display: flex;
	flex-direction: column;
	width: 33.33%;
	height: 100%;
}
.business-contents .right-box .business-top {
	flex: 1;
}
.business-contents .right-box .business-top > h5 {
	font-size: 1.625rem;
	font-weight: 600;
	color: #fff;
}
.business-contents .right-box .business-top > ul {
	margin-top: 1.875rem;
}
.business-contents .right-box .business-top > ul > li {
	position: relative;
	padding-left: 1rem;
	margin-bottom: .625rem;
	font-size: 1.125rem;
	color: rgba(255,255,255,.8);
}
.business-contents .right-box .business-top > ul > li:before {
	content: "";
	position: absolute;
	top: .5625rem;
	left: 0;
	display: inline-block;
	width: .375rem;
	height: .375rem;
	border-radius: 50%;
	background-color: var(--primary-color);
}
.business-contents .right-box .business-bottom {
	padding-left: 4.375rem;
}
.deco-cube {
	position: relative;
	width: 11.25rem;
	height: 13rem;
}
.deco-cube > .cube {
	position: absolute;
	width: 100%;
	height: 100%;
}
.deco-cube > .cube.cube-top {
	clip-path: polygon(50% 0%, 100% 25%, 50% 50%, 0 25%);
	background-color: #595959;
}
.deco-cube > .cube.cube-left {
	clip-path: polygon(50% 50%, 50% 100%, 0 75%, 0 25%);
	background-color: #3A3A3A;
}
.deco-cube > .cube.cube-right {
	clip-path: polygon(100% 25%, 100% 75%, 50% 100%, 50% 50%);
	background-color: #474747;
}
.deco-cube > .cube.active {
	background-color: var(--primary-color);
}
.rolling-banner-box {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	height: 5rem;
	background-color: rgba(255,255,255,.1);
	padding: 1.375rem 0;
	overflow: hidden;
}
.rolling-banner-box .rolling-banner {
	position: relative;
	display: flex;
	align-items: center;
	height: 100%;
	color: #fff;
	font-size: 1.125rem;
	font-weight: 600;
}
.rolling-banner-box .rolling-banner .banner-list {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	height: 100%;
}
.rolling-banner-box .rolling-banner .banner-list#roller1 {
	animation: rolling1 100s linear infinite;
}
.rolling-banner-box .rolling-banner .banner-list#roller2 {
	animation: rolling2 100s linear infinite;
}
.rolling-banner-box .rolling-banner .banner-list .list-item {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	height: 100%;
	margin-right: 3.75rem;
}
.rolling-banner-box .rolling-banner .banner-list .list-item p {
	white-space: nowrap;
	width: auto;
	margin-left: 1rem;
}
.rolling-banner-box .rolling-banner .banner-list .list-item img {
	height: 100%;
	object-fit: contain;
	margin: auto 0;
}
.rolling-banner-box .rolling-banner .banner-list .list-item img.banner-height1 {
	height: calc(100% - 6px);
}
.rolling-banner-box .rolling-banner .banner-list .list-item img.banner-height2 {
	height: calc(100% - 8px);
}
.rolling-banner-box .rolling-banner .banner-list .list-item img.banner-height3 {
	height: calc(100% - 10px);
}
.rolling-banner-box .rolling-banner .banner-list .list-item img.banner-height4 {
	height: calc(100% - 12px);
}
.rolling-banner-box .rolling-banner .banner-list .list-item img.banner-height5 {
	height: calc(100% - 14px);
}
.rolling-banner-box .rolling-banner .banner-list .list-item img.banner-height6 {
	height: calc(100% - 16px);
}
/* //business */

/* project */
.project-contents {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 0 12.5vw;
	overflow: hidden;
}
.project-contents .project-title {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
}
.project-contents .project-title > h5 {
	font-size: 5rem;
	font-weight: 600;
	color: #fff;
}
.project-contents .container {
	margin: 3.375rem 0 0;
	padding: 0;
}
.project-contents .container .owl-carousel .owl-stage-outer {
	overflow: visible;
}
/* //project */

/* keyframes */
@keyframes introAni1 {
	from {width: 35rem;}
	to {width: 0;}
}
@keyframes introAni2 {
	0% {width: 0;}
	40% {width: 27rem;}
	50% {width: 27rem;}
	100% {width: 18.5rem;}
}
@keyframes introAni3 {
	0% {width: 0;}
	40% {width: 41rem;}
	50% {width: 41rem;}
	100% {width: 28.25rem;}
}
@keyframes motion {
	0% {bottom: 2.5rem;}
	100% {bottom: 2rem;}
}
@keyframes widthZero {
	0% {width: 100%;}
	100% {width: 0px;}
}
@keyframes opacityOne {
	0% {opacity: 0;}
	100% {opacity: 1;}
}
@keyframes opacityZero {
	0% {opacity: 1;}
	100% {opacity: 0;}
}
@keyframes productLeftAni {
	0% {height: 0;margin-top: 0;opacity: 0;transform: translateY(-2rem);}
	100% {height: 6.1875rem;margin-top: 2rem;opacity: 1;transform: translateY(0);}
}
@keyframes productRightAni {
	0% {height: 0;margin-top: 0;opacity: 0;transform: translateY(-2rem);}
	100% {height: 4.125rem;margin-top: 2rem;opacity: 1;transform: translateY(0);}
}
@keyframes businessAni {
	0%{transform: translateX(-8.75rem);}
	100%{transform: translateX(0);}
}
@keyframes rolling1 {
	0% { transform: translateX(0); }
	50% { transform: translateX(-100%); }
	50.01% { transform: translateX(100%); }
	100% { transform: translateX(0); }
}
@keyframes rolling2 {
	0% { transform: translateX(0); }
	100% { transform: translateX(-200%); }
}
/* //keyframes */

/* PC */
@media (max-width: 1399.98px){
	.business-contents .contents-wrap {
		max-width: 1140px;
	}
}
@media (max-width: 1199.98px){
	.business-contents .contents-wrap {
		max-width: 940px;
	}
}
/* //PC */

/* Tablet */
@media (max-width: 1023.98px){
	a:hover,
	a:focus {
		cursor: pointer;
	}

	/* about */
	.about-contents .left-box .scroll-wrap {
		flex: 1;
		width: 33.5rem;
	}
	.about-contents .left-box .scroll-wrap > .scroll-contents > li.active > span {
		font-size: 4.75rem;
	}
	.main-intro2 .graph-bg .graph-line-wrap .graph-line {
		background-position-y: 50%;
	}
	.main-intro2 .graph-bg .graph-fill {
		background-position-y: 50%;
	}
	/* //about */

	/* product */
	#product .section-wrap {
		flex-direction: column;
	}
	#product .section-wrap .product-box {
		position: relative;
		flex: 1;
		width: 100%;
		padding-top: 7.875rem;
	}
	#product .section-wrap .product-box:before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 0;
		background-color: rgba(0, 7, 15, .6);
	}
	.product-box .product-top > p {
		height: auto;
		margin-top: 2rem;
		font-size: 1.375rem;
		opacity: 1;
	}
	.product-box.right-box .product-top > * {
		color: var(--white-color);
	}
	.product-box.right-box .product-top > p {
		color: var(--white-color);
	}
	.product-box.right-box .product-top > .view-more > button {
		color: var(--white-color);
	}
	.product-box.right-box .product-top > .view-more > button > span:last-child {
		background-image: url(/upload/dosoftlab/static/image/ce1aad7620_20250526110444643.png);
	}
	/* //product */
	
	/* business */
	.business-contents .left-box > ul > li > h5 {
		cursor: pointer;
	}
	/* //business */
}

@media (max-width: 991.98px){
	/* main: intro1 */
	.main-intro1:after {
		top: 15.25rem;
		bottom: 0;
	}
	.main-intro1.on .intro-title-wrap {
		top: 16.25vh;
		left: 50%;
		transform: translate(-50%, 0);
	}
	.main-intro1 .intro-title-wrap h3 {
		font-size: 5rem;
	}
	.main-intro1.on .intro-title-wrap h3 {
		font-size: 5rem;
	}
	.main-intro1 .intro-title-wrap .animate1 {
		width: 23.5rem;
	}
	.main-intro1 .intro-text-wrap {
		top: calc(16.25vh + 11.875rem);
        left: 50%;
		bottom: unset;
        transform: translate(-50%, 0);
		text-align: center;
	}
	/* //main: intro1 */

	/* main: intro2 */
	.main-intro2 {
		padding: 0;
	}
	.main-intro2 .intro-text-wrap {
		flex-direction: column;
		padding: 3.25rem;
	}
	.main-intro2 .intro-text-wrap .left-box {
		width: 100%;
	}
	.main-intro2 .intro-text-wrap .right-box {
		width: 100%;
	}
	.main-intro2 .graph-bg .graph-line-wrap .graph-line {
		background-image: url(/upload/dosoftlab/static/image/4d50efaf44_20250526110444658.png);
	}
	.main-intro2.on .graph-bg .graph-fill {
		background-image: url(/upload/dosoftlab/static/image/9c51a5e936_20250526110444653.png);
	}
	/* //main: intro2 */

	/* about */
	.about-contents {
		flex-direction: column;
		justify-content: center;
		height: 100%;
	}
	.about-contents .left-box {
		justify-content: center;
		width: 100%;
	}
	.about-contents .right-box {
		justify-content: center;
		width: 100%;
		height: auto;
		margin-top: 3.75rem;
		text-align: center;
	}
	.about-contents .right-box > ul {
		font-size: 2rem;
	}
	/* //about */

	/* business */
	.business-contents .contents-wrap {
		max-width: 720px;
		flex-direction: column;
		padding: 8.5rem 0 8.5rem;
	}
	.business-contents .left-box > ul > li {
		margin-bottom: 1.25rem;
	}
	.business-contents .left-box > ul > li.active {
		margin-bottom: 2.75rem;
	}
	.business-contents .left-box {
		width: 100%;
		height: auto;
		padding-top: 3rem;
	}
	.business-contents .right-box {
		flex: 1;
		width: 100%;
		height: auto;
		margin-top: 6.25rem;
	}
	.business-contents .right-box .business-bottom {
		margin-left: auto;
		padding-right: 2rem;
	}
	/* //business */

	/* keyframes */
	@keyframes introAni1 {
		from {width: 23.5rem;}
		to {width: 0;}
	}
	@keyframes introAni2 {
		0% {width: 0;}
		40% {width: 18.5rem;}
		50% {width: 18.5rem;}
		100% {width: 18.5rem;}
	}
	@keyframes introAni3 {
		0% {width: 0;}
		40% {width: 28.25rem;}
		50% {width: 28.25rem;}
		100% {width: 28.25rem;}
	}
	/* //keyframes */
}
/* //Tablet */

/* mobile */
@media (max-width: 767.98px){
	/*
	html, body {
		overscroll-behavior: contain;
		-webkit-user-select: none;
	}
	*/
	/* main: intro1 */
	.main-intro1 {
		padding: 16px;
	}
	.main-intro1:after {
		bottom: -10rem;
		top: 20.25rem;
		background-position-x: 94%;
	}
	.main-intro1 .intro-title-wrap > h3 {
		font-size: 3.25rem;
	}
	.main-intro1.on .intro-title-wrap h3 {
		transition: all .66s 2s ease-in-out;
		font-size: 3.25rem;
	}
	.main-intro1 .intro-title-wrap .animate1 {
		width: 15.5rem;
	}
	.main-intro1 .intro-text-wrap {
		width: 100%;
	}
	.main-intro1 .intro-text-wrap > h5 {
		font-size: 2.5rem;
	}
	.main-intro1 .intro-text-wrap > p {
		font-size: 1.75rem;
	}
	/* //main: intro1 */

	/* main: intro2 */
	.main-intro2 {
		height: 100%;
	}
	.main-intro2 .graph-bg {
		top: 0;
		height: 100%;
	}
	.main-intro2 .graph-bg .graph-line-wrap .graph-line {
		background-position-y: 70%;
	}
	.main-intro2 .graph-bg .graph-fill {
		background-position-y: 70%;
	}
	.main-intro2 .intro-text-wrap {
		justify-content: center;
	}
	.main-intro2 .intro-text-wrap .left-box > h4 {
		font-size: 3.5rem;
	}
	.main-intro2 .intro-text-wrap .left-box > p {
		font-size: 1.75rem;
		margin-top: 2.75rem;
	}
	.main-intro2 .intro-text-wrap .right-box {
		margin-top: 6.25rem;
	}
	.main-intro2 .intro-text-wrap .right-box .corp-info {
		padding: 1.938rem 0;
	}
	.main-intro2 .intro-text-wrap .right-box .corp-info .corp-info-title {
		font-size: 1.75rem;
	}
	.main-intro2 .intro-text-wrap .right-box .corp-info .corp-info-text {
		font-size: 3.5rem;
	}
	.main-intro2 .intro-text-wrap .right-box .corp-info .corp-info-text > span {
		font-size: 1.75rem;
	}
	.main-intro2 .intro-text-wrap .right-box .corp-info .corp-info-text .sub-text {
		font-size: 1rem;
	}
	/* //main: intro2 */

	/* about */
	.about-contents {
		padding: 2.75rem;
	}
	.about-contents .left-box h5 {
		font-size: 3.25rem;
	}
	.about-contents .left-box .scroll-wrap {
		flex: 1;
		width: auto;
		margin: auto;
		margin-left: 1.75rem;
	}
	.about-contents .left-box .scroll-wrap > .scroll-contents > li > span {
		font-size: 2.5rem;
	}
	.about-contents .left-box .scroll-wrap > .scroll-contents > li.active {
		margin: 2.25rem 0;
	}
	.about-contents .left-box .scroll-wrap > .scroll-contents > li.active > span {
		font-size: 3.25rem;
	}
	.about-contents .left-box .scroll-wrap > .scroll-contents > li.active > span:before {
		height: 1.5rem;
	}
	.about-contents .left-box .scroll-wrap .active-zone {
		top: calc(50% - 3rem);
		left: 0;
		right: 0;
		height: 6rem;
	}
	.about-contents .left-box .scroll-wrap .active-zone > span {
		width: 1.25rem;
		height: 1.25rem;
	}
	.about-contents .right-box {
		margin-top: 7.5rem;
	}
	/* //about */

	/* product */
	.section-wrap.scroll-area {
		height: 200%;
		overflow: auto;
	}
	#product .section-wrap .product-box {
		height: 100%;
		padding: 12.875rem 6.25rem 3.125rem 1.5rem;
	}
	#product .section-wrap .product-box:before {
		background-color: transparent;
	}
	.product-box .product-top h4 {
		font-size: 4rem;
	}
	.product-box .product-top > p {
		font-size: 1.75rem;
		white-space: normal;
	}
	.product-box .product-top > .view-more {
		margin-top: 3.75rem;
	}
	.product-box.left-box {
		background-position-y: 100%;
		background-size: 180%;
	}
	.product-box.right-box .product-top > * {
		color: #00070F;
	}
	.product-box.right-box .product-top > p {
		color: #00070F;
	}
	.product-box.right-box .product-top > .view-more > button {
		color: #00070F;
	}
	.product-box.right-box .product-top > .view-more > button > span:last-child {
		background-image: url(/upload/dosoftlab/static/image/40a89519e2_20250526110444647.png);
	}
	/* //product */

	/* business */
	.business-contents .contents-wrap {
		max-width: 540px;
	}
	.business-contents .left-box > ul > li {
		margin-bottom: 2rem;
		transform: translateX(-4.375rem);
	}
	.business-contents .left-box > ul > li.active {
		margin-bottom: 3rem;
		border-bottom-width: 1px;
	}
	.business-contents .left-box > ul > li > h5 {
		font-size: 2.5rem;
	}
	.business-contents .left-box > ul > li.active > h5 {
		font-size: 3rem;
		letter-spacing: -.25rem;
	}
	.business-contents .left-box > ul > li > h5 > span {
		width: 3.125rem;
		min-width: 3.125rem;
		margin-right: 1.25rem;
	}
	.business-contents .right-box .business-top > h5 {
		font-size: 2rem;
	}
	.business-contents .right-box .business-top > ul > li {
		font-size: 1.75rem;
		word-break: keep-all;
	}
	.business-contents .right-box .business-top > ul > li:before {
		top: 1rem;
	}
	.rolling-banner-box {
		height: 5.5rem;
	}
	.rolling-banner-box .rolling-banner {
		font-size: 1.625rem;
	}
	.rolling-banner-box .rolling-banner .banner-list .list-item img.banner-height1 {
		height: 100%;
	}
	.rolling-banner-box .rolling-banner .banner-list .list-item img.banner-height2 {
		height: calc(100% - 2px);
	}
	.rolling-banner-box .rolling-banner .banner-list .list-item img.banner-height3 {
		height: calc(100% - 4px);
	}
	.rolling-banner-box .rolling-banner .banner-list .list-item img.banner-height4 {
		height: calc(100% - 6px);
	}
	.rolling-banner-box .rolling-banner .banner-list .list-item img.banner-height5 {
		height: calc(100% - 8px);
	}
	.rolling-banner-box .rolling-banner .banner-list .list-item img.banner-height6 {
		height: calc(100% - 10px);
	}
	/* //business */

	/* project */
	.project-contents .project-title {
		flex-direction: column;
		gap: 3.75rem;
	}
	.project-contents .container {
		margin-top: 2rem;
	}
	/* //project */

	@keyframes introAni1 {
		0% {width: 15.5rem;}
		100% {width: 0;}
	}
	@keyframes introAni2 {
		0% {width: 0;}
		40% {width: 11.75rem;}
		50% {width: 11.75rem;}
		100% {width: 11.75rem;}
	}
	@keyframes introAni3 {
		0% {width: 0;}
		40% {width: 18.5rem;}
		50% {width: 18.5rem;}
		100% {width: 18.5rem;}
	}
}

@media (max-width: 575.98px){
	/* business */
	.business-contents .contents-wrap {
		max-width: 420px;
	}
	/* //business */
}

@media (max-width: 459.98px){
	/* business */
	.business-contents .contents-wrap {
		max-width: 320px;
	}
	/* //business */
}

@media (max-width: 359.98px){
	/* business */
	.business-contents .contents-wrap {
		max-width: 280px;
	}
	.business-contents .left-box > ul > li.active > h5 {
		font-size: 2.8rem;
	}
	/* //business */
}

/* ===== about 섹션 — 3단어 동시 표시 v6 (viewport 고정 + 정확한 row 매칭) ===== */
.about-contents {
    display: flex !important;
    align-items: stretch !important;
    min-height: 100vh !important;
    padding: 8rem 4rem 4rem 4rem !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* 좌측 — flex column, ul vertical center */
.about-contents .left-box {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    width: 40% !important;
    padding-right: 2rem !important;
}
.about-contents .left-box > h5 {
    margin: 0 0 2rem 0 !important;
    font-size: 4rem !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
    line-height: 1 !important;
}
.about-contents .left-box .scroll-wrap > .scroll-contents {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
    margin: 0 !important;
    padding: 0 !important;
}
.about-contents .left-box .scroll-wrap > .scroll-contents > li,
.about-contents .left-box .scroll-wrap > .scroll-contents > li.hide,
.about-contents .left-box .scroll-wrap > .scroll-contents > li.active {
    height: 5rem !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}
.about-contents .left-box .scroll-wrap > .scroll-contents > li > span,
.about-contents .left-box .scroll-wrap > .scroll-contents > li.active > span,
.about-contents .left-box .scroll-wrap > .scroll-contents > li.hide > span {
    display: inline-block !important;
    padding: 0 .5rem !important;
    font-size: 2.625rem !important;
    font-weight: 700 !important;
    color: rgba(0,7,15,1) !important;
    line-height: 1.2 !important;
    background: transparent !important;
    box-shadow: inset 0 -.875rem 0 rgba(0,87,255,.2) !important;
}
.about-contents .left-box .scroll-wrap > .scroll-contents > li > span:before,
.about-contents .left-box .scroll-wrap > .scroll-contents > li.active > span:before,
.about-contents .left-box .scroll-wrap > .scroll-contents > li.hide > span:before {
    display: none !important;
    content: none !important;
}
.about-contents .left-box .scroll-wrap .active-zone {
    display: none !important;
}

/* 우측 — flex column + invisible spacer (좌측 DO와 동일 height) → row 매칭 */
.about-contents .right-box {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: stretch !important;
    width: 60% !important;
}
/* 좌측 DO 헤딩과 동일 height의 보이지 않는 spacer (4rem font + 2rem margin-bottom) */
.about-contents .right-box::before {
    content: "" !important;
    display: block !important;
    height: calc(4rem + 2rem) !important;
    line-height: 1 !important;
    visibility: hidden !important;
}
.about-contents .right-box > ul {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #00070F !important;
    font-size: 1.25rem !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
}
.about-contents .right-box > ul > li,
.about-contents .right-box > ul > li.active {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    height: 5rem !important;
    padding: 0 0 0 1.5rem !important;
    margin: 0 !important;
    opacity: 1 !important;
    background: transparent !important;
    border: none !important;
    border-left: 2px solid rgba(0,87,255,.4) !important;
    border-radius: 0 !important;
    animation: none !important;
}
.about-contents .right-box > ul > li:last-child {
    border-bottom: none !important;
}
