@charset "UTF-8";
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");

/* ==========================
   Reset CSS
========================== */
html {
	background: #212121;
	font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui,
        Roboto, 'Helvetica Neue', 'Segoe UI', 'Apple SD Gothic Neo',
        'Noto Sans KR', 'Malgun Gothic', sans-serif;
	word-break: keep-all;
}
body, div, dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6, pre,
form, fieldset, input, textarea,
p, blockquote, th, td {
	margin: 0;
	padding: 0;
}
a {
	color: #333;
	text-decoration: none;
}
table {
	border-spacing: 0;
}
fieldset, img {
	border: 0;
}
address, caption, cite, code, dfn,
em, th, var {
	font-style: normal;
	font-weight: normal;
}
strong {
	font-weight: bold;
}
ol, ul {
	list-style: none;
}
caption, th {
	text-align: left;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal;
}
q:before, q:after {
	content: '';
}
abbr, acronym {
	border: 0;
}
body {
	overflow-x: hidden;
}

/* ==========================
   Layout
========================== */
.section { 
	width:100%; 
	height:100vh; 
	display:flex; 
	justify-content:center; 
	align-items:center; 
	position:relative; 
	transition:transform 0.7s ease; 
	flex-direction:column; 
}
.container {
	width: 100%;
	max-width: 1200px;
	line-height: 1.4;
	margin: 0 auto;
	word-break: keep-all;
}
/* ==========================
   Header
========================== */
.header {
	position: fixed;
	top: 0;
	width: 100%;
	padding: 15px 0;
	color: #fff;
	z-index: 99;
}
.header-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.logo {
	display: block;
	width: 232px;
	height: 35px;
	background: url('../images/Logo.svg') no-repeat left top;
	font-size: 18px;
	font-weight: bold;
	text-indent: -9999px;
}
.logo a {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
}
.logo span {
	display: block;
	text-indent: -9999px;
	overflow: hidden;
}
.nav {
	display: flex;
	gap: 20px;
	align-items: center;
}
.nav ul {
	display: flex;
	gap: 20px;
	width: 100%;
}
.nav ul a {
	display: block;
	padding: 0 24px;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	white-space: nowrap;
}
.nav a:hover {
	color: #4cc3ff;
}
.nav a.nav-lang {
	display: block;
	padding: 8px 24px 4px 24px;
	width: 100%;
	line-height: 30px;
	background: transparent;
	border: solid 1px #C6C6C6;
	box-sizing: border-box;
	border-radius: 38px;
	box-sizing: border-box;
	color: #FFF;
	text-align: center;
}
.hamburger {
	display: none; /* 데스크탑 숨김 */
	position: relative;
	width:28px;
	height: 28px;
	background: none;
	border: none;
	cursor: pointer;
	z-index: 1001;
}
.hamburger span,
.hamburger span::before,
.hamburger span::after {
	display: block;
	position: absolute;
	width: 100%;
	height: 2px;
	background-color: #fff;
	border-radius: 2px;
	transition: 0.3s ease-in-out;
}
.hamburger span {
	top: 50%;
	transform: translateY(-50%);
}
.hamburger span::before {
	content: "";
	top: -10px;
}
.hamburger span::after {
	content: "";
	top: 10px;
}
.hamburger.active span {
	background-color: transparent;
}
.hamburger.active span::before {
	transform: rotate(45deg) translate(10px, 8px);
}
.hamburger.active span::after {
	transform: rotate(-45deg) translate(6px, -4px);
}
.btn_top {
	position: fixed;
	right: 32px;
	bottom: 56px;
	width: 100%;
	height: 1px;
	z-index: 2;
	text-align: right;
}
.btn_top a {
	display: inline-block;
	height: 32px;
	padding: 6px 16px;
	color: #FFF;
	background: rgba(33, 33, 33, 0.5);
	border: solid 1px #999;
	border-radius: 17px;
	box-sizing: border-box;
	opacity: .5;
}
.btn_top a::before {
	content: '';
	display: inline-block;
	background-image: url("data:image/svg+xml,%3Csvg width='13' height='14' viewBox='0 0 13 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 6.26027L6.36842 1L11.7368 6.26027M6.36842 1.16438L6.36842 13' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain; 
	width: 12px;  
	height: 10px; 
	vertical-align: middle;
	margin: -4px 4px 0 0;
}
.btn_top a:hover {
	opacity: 1;
}

/* ==========================
   Hero
========================== */
.hero {
	position: relative;
	display: flex;
	min-height: 100vh;
	height: 100vh;
	color: #fff;
	background: #000;
	overflow: hidden;
}
.hero h2 {
	font-size: 72px;
	font-weight: 700;
	letter-spacing: -1px;
	margin-bottom: 20px;
}
.hero p {
	font-size: 24px;
	font-weight: 300;
	margin-bottom: 10px;
}
.hero p strong {
	font-weight: 700;
}
.hero-slide-item {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	transform: scale(1.2);   
	opacity: 0;              
	z-index: 0;
	transition: transform 1s ease, opacity 0.8s ease;
}
.hero-slide-item.active {
	transform: scale(1);    
	opacity: 1;
	z-index: 1;
}
.hero-bg-video {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover; /* 화면 꽉 채우기 */
	transform: translate(-50%, -50%);
	z-index: -1; /* 컨텐츠 뒤로 보내기 */
	opacity: 0.5;
}
.hero-content {
	position: relative;
	z-index: 1; /* 영상 위에 텍스트 보이기 */
	color: #fff;
	text-align: center;
	padding-top: 30vh;
}
.hero-slide-item.slide2 {
	background-image: url('/wp-content/uploads/Visual_Top.png');
}
.hero-slide-item .inner {
	display: flex;
	align-items: center;
	max-width: 1200px;
	height: 100vh;
	margin: 0 auto;
	padding: 0 16px;
	box-sizing: border-box;
}
.circle-wrapper {
	position: absolute;
	width: 158px;
	height: 158px;
	pointer-events: none;
	z-index: 1;
}  
.circle-img {
	width: 100%;
	height: 100%;
	animation: rotate 30s linear infinite;
	transform-origin: 50% 50%;
}  
@keyframes rotate {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}
.hero-slide-item .slogan {
	transition: all 1s ease; /* 슬로건 애니메이션 */
}  
.hero-slide-item.active .slogan {
opacity: 1;
transform: translateX(0);
}
.slider-controller {
	position: absolute;
	bottom: 52px;
	left: 50%;
	align-items: center;
	gap: 12px;
	max-width: 1200px;
	display: flex;
	margin-left: -600px;
	z-index: 1;
}
.slider-controller .arrow {
	background: none;
	border: none;
	font-size: 20px;
	cursor: pointer;
	color: #fff;
}
.slider-controller .dot {
	width: 50px;
	height: 3px;
	background-color: #fff;
	opacity: 0.5;
}
.slider-controller p {
	margin-bottom: 0;
}
.dots {
	display:flex;
	justify-content:center;
    align-items: center;
	gap: 4px;
	cursor: pointer;
}
.dot {
	width:50px;
	height:6px;
	background: rgba(255,255,255,0.3); /* 불투명 회색 */
	border-radius:3px;
	overflow:hidden;
	position:relative;
}
.progress {
	display:block;
	height:100%;
	width:0; /* 초기 0 */
	background:#fff;
	border-radius:3px;
}
.dot.active {
	opacity: 1;
}

/* ==========================
   Section Title
========================== */
.intro h2,
.features h2,
.cases h2,
.contact h2 {
	font-size: 64px;
	margin-bottom: 20px;
}

/* ==========================
   Intro
========================== */
.intro {
	height: auto;
	min-height: 100vh;
	padding: 124px 0;
	background-attachment: fixed;
	text-align: center;
	color: #fff;
	box-sizing: border-box;
}
.intro-bg-video {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	background-color: #171449;
	z-index: -1;      
}
.section.intro::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.2); /* 어두운 오버레이 */
	z-index: 0;
}
.section.intro .container,
.section.intro .introduce,
.section.intro .feature {
position: relative;
z-index: 1;
}
.intro h2 {
	width: 100%;
	height: 86px;
	margin-bottom: 48px;
	background: url('../images/text_aimentor.png') no-repeat center;
	text-indent: -9999px;
	/* opacity: 0;
	transform: translateY(30px);
	transition: all 0.8s ease; */
}
.intro h2.active {
	opacity: 1;
	transform: translateY(0);
}
.intro h2 span {
	display: inline-block;
	opacity: 0;
	transform: translateY(30px);
	transition: all 0.6s ease;
}  
.intro h2.active span {
	opacity: 1;
	transform: translateY(0);
}
.intro h3 {
	font-size: 38px;
	font-weight: 700;
	color: #00A9FF;
}
.intro p {
	font-size: 24px;
	font-weight: 300;
}
.intro .container {
	height: auto;
	margin: 32px;
}
.introduce {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	/* min-height: 100vh; */
}
.feature h3 {
	font-size: 38px;
	font-weight: 700;
}
.feature h3 span {
	display: block;
	font-size: 32px;
	font-weight: 400;
}
.feature-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
	margin-top: 48px;
}
.feature-card {
	background: #FFF;
	border-radius: 32px;
	color: #000;
	text-align: left;
	/* opacity: 0;
	transform: translateY(50px);
	transition: opacity 0.8s ease, transform 0.8s ease; */
	overflow: hidden;
}
.feature-card.active {
	opacity: 1;
	transform: translateY(0);
}
.feature-card h4 {
	font-size: 24px;
	font-weight: 700;
}
.feature-card .text {
	padding: 48px 24px;
}
.feature-card p {
	font-size: 18px;
}
.feature-card img {
	width: calc(100% + 2px);
	display: block;
	margin: -1px;
}

/* ==========================
   Cases
========================== */
.cases.section {
	position: relative;
	padding: 0;
	height: auto;
	background: #000;
	color: #fff;
	box-sizing: border-box;
}
.cases .title {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 84px 0 0 0;
    z-index: 1;
	text-align: center;
}
.cases .title h2 {
	margin-bottom: 0;
}
.cases .title p {
	color: #8e8e8e;
}
.cases h3 {
	margin-bottom: 8px;
	font-size: 38px;
	font-weight: 700;
	color: #9dffb0;
	/* opacity: 0;
	transform: translateY(30px);
	transition: all 0.8s ease; */
}
.cases h3.active {
	opacity: 1;
	transform: translateY(0);
}
.cases .container p {
	/* opacity: 0;
	transform: translateY(30px);
	transition: all 1s ease; */
}
.cases .container p.active {
	opacity: 1;
	transform: translateY(0);
}
.slides { 
	display:flex; 
	flex-direction: column;
	width:100%;
	transition:transform 0.7s ease;
}
.slide { 
	width:100%; 
	flex-shrink:0; 
	display:flex; 
	justify-content:center; 
	font-size:3em; 
	flex-direction:column; 
}
.cases .slide .container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	height: 100vh;
	max-height: 800px;
	font-size: 24px;
	font-weight: 300;
	box-sizing: border-box;
}
.cases .slide .container .btn {
	display: inline-block;
	min-height: 48px;
	margin-top: 10px;
	padding: 10px 24px 8px 24px;
	border: 1px solid #fff;
	border-radius: 50px;
	box-sizing: border-box;
	color: #fff;
	font-weight: bold;
}
.cases .slide .container .btn::after {
	content: '';
	display: inline-block;
	width: 19px;
	height: 17px;
	margin-left: 4px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23 21'><path d='M12.6712 2L21 10.5L12.6712 19M20.7397 10.5H2' stroke='%239DFFB0' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' fill='none'/></svg>");
}
.cases .slide:nth-child(2) .container .btn::after {
	content: none;
}
.cases .slide:nth-child(2) .container .btn::before {
	content: '';
	display: inline-block;
	width: 19px;
	height: 17px;
	margin-right: 4px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23 21'><path d='M10.3288 2L2 10.5L10.3288 19M2.26025 10.5H21' stroke='%239DFFB0' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' fill='none'/></svg>");
}
.cases .slide .container ul li {
	position: relative;
	margin: 24px 0;
	padding-left: 72px;
	font-size: 18px;
}
.cases .slider .container ul li::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	display: inline-block;
	width: 60px;
	height: 60px;
	margin-top: -32px;
	background: url(../images/ico_idx01.svg) no-repeat 50% 50%;
	border: solid 1px #FFF;
	border-radius: 30px;
	vertical-align: middle;
}
.cases .slider .container ul li:nth-child(2)::before {
	background-image: url(../images/ico_idx02.svg);
}
.cases .slider .container ul li:nth-child(3)::before {
	background-image: url(../images/ico_idx03.svg);
}
.cases .vdr .slider .container ul li::before {
	background-image: url(/wp-content/uploads/ico_vdr01.png);
}
.cases .vdr .slider .container ul li:nth-child(2)::before {
	background-image: url(/wp-content/uploads/ico_vdr02.png);
}
.cases .vdr .slider .container ul li:nth-child(3)::before {
	background-image: url(/wp-content/uploads/ico_vdr03.png);
}
.cases .aichat .slider ul li::before {
	background-image: url(/wp-content/uploads/ico_aichat01.png);
}
.cases .slider .container ul li strong {
	display: block;
}
.cases .idx {
	background: url('../images/Visual_idx.png') no-repeat center/cover #000;
}
.cases .vdr {
	background: url('../images/Visual_vdr.png') no-repeat center/cover #000;
}
.cases .vdr .container {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	text-align: right;
}
.cases .aichat {
	background: url('../images/Visual_aichat.png') no-repeat center/cover #000;
}
.slider .container h3,
.slider .container p,
.slider .container ul,
.slider .container a.btn {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.slider.active .container h3,
.slider.active .container p,
.slider.active .container ul,
.slider.active .container a.btn {
  opacity: 1;
  transform: translateY(0);
}
.slider .container ul li {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.4s ease, transform 0.4s ease;
}
.slider.active .container ul li {
	opacity: 1;
	transform: translateY(0);
}
.slider.active .container h3 {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.1s;
}
.slider.active .container p {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.3s;
}
.slider.active .container ul li:nth-child(1) { 
	transition-delay: 0.2s; 
}
.slider.active .container ul li:nth-child(2) { 
	transition-delay: 0.4s; 
}
.slider.active .container ul li:nth-child(3) { 
	transition-delay: 0.6s; 
}

/* ==========================
   Contact
========================== */
.section.contact {
	display: flex;
	align-items: center;
	min-height: 100vh;
	background: #01102d;
	color: #fff;
}
.contact h2 {
	display: block;
	margin: 42px;
	text-align: center;
}
.contact form {
	display: grid;
	gap: 15px;
}
.contact input[type=text],
.contact input[type=email],
.contact input[type=tel], 
.contact textarea,
.contact select {
	width: 100%;
	margin-top: 8px;
	padding: 12px;
	font-size: 18px;
	line-height: 1.4;
	color: #333;
	border: 1px solid #58607d;
	border-radius: 8px;
	box-sizing: border-box;
}
.contact textarea {
	height: 150px;
	resize: vertical;
}
.contact button {
	padding: 8px 12px;
	font-weight: bold;
	border: 1px solid #58607d;
	border-radius: 24px;
	background: transparent;
	color: #fff;
	cursor: pointer;
}
.contact button:hover {
	background: #38a1cc;
}
.contact ul li {
	display: inline-block;
	width: calc(25% - 4px);
	margin-bottom: 24px;
	box-sizing: border-box;
	vertical-align: top;
}
.contact ul li.full {
	width: 100%;
}
.contact ul li label {
	display: inline-block;
	margin-bottom: 8px;
	width: 100%;
}
.contact ul li.full label {
	width: 100%;
}
.contact ul li label span {
	margin-left: 4px;
	color: #9dffb0;
	width: 100%;
}
.custom-select-wrapper {
	width: 100%;
	position: relative;
	font-size: 18px;
	user-select: none;
}
.custom-select {
	background-color: #01102d;
	color: #fff;
	border: 1px solid #58607d;
	border-radius: 8px;
	padding: 12px;
	cursor: pointer;
	position: relative;
}
.custom-selected {
	width: 100%;
	position: relative;
}
.custom-selected::after {
	content: "▼";
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	transition: transform 0.3s;
}
ul.custom-options {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	background-color: #01102d;
	border: 1px solid #58607d;
	border-radius: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	display: none;
	max-height: 200px;
	overflow-y: auto;
	z-index: 10;
}
ul.custom-options li {
	display: block;
	width: 100%;
	padding: 0;
	margin-bottom: 0;
	display: flex;
	align-items: center;
}
ul.custom-options input[type="radio"] {
	display: none;
}
ul.custom-options label {
	padding: 12px;
	flex: 1;
	cursor: pointer;
	color: #fff;
}
ul.custom-options li:hover label{
	color: #9DFFB0;
}
.custom-options input[type="radio"]:checked + label {
	background-color: #01102d;
}
.contact .wpcf7-not-valid-tip {
	margin-top: 8px;
	font-size: 12px;
}
.control p {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1200px;
	margin: 0 auto;
}
.control input[type=submit] {
	position: absolute;
	right: 0;
	min-width: 174px;
	height: 52px;
	padding: 10px 24px;
	margin-top: 10px;
	font-size: 24px;
	font-weight: bold;
	color: #fff;
	background: #4d8eff;
	border-radius: 50px;
	border: none;
	box-sizing: border-box;
}

/* ==========================
   Footer
========================== */
footer.section {
	width: 100%;
	height: auto;
	line-height: 1.8;
	color: #999;
	background: #212121;
	text-align: left;
}
footer .container {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height: 240px;
	max-width: 1200px;
}
footer .group_info > ul {
	margin-bottom: 16px;
}
footer .group_info > ul li {
	display: inline-block;
	margin-right: 16px;
}
footer .group_info > ul li a {
	color: #fff;
	font-weight: 700;
}
footer .group_info > ul li a.link::before {
	content: '';
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-right: 4px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 19'><path d='M11 0.619141V2.56626H14.59L4.76 12.1363L6.17 13.509L16 3.93995V7.43502H18V0.620114M16 16.197H2V2.56723H9V0.620114H2C1.46957 0.620114 0.960859 0.825256 0.585786 1.19041C0.210714 1.55557 0 2.05082 0 2.56723V16.197C0 16.7134 0.210714 17.2087 0.585786 17.5739C0.960859 17.939 1.46957 18.1442 2 18.1442H16C16.5304 18.1442 17.0391 17.939 17.4142 17.5739C17.7893 17.2087 18 16.7134 18 16.197V9.38213H16V16.197Z' fill='white'/></svg>");
	background-repeat: no-repeat;
	vertical-align: middle;
}
footer .group_info p {
	font-size: 0.8em;
	color: #ddd;
}
.family_site {
	position: absolute;
	top: 8px;
	right: 0;
}
.family_site .title {
	position: relative;
	width: 232px;
	height: 48px;
	line-height: 48px;
	color: #fff;
	border-bottom: 1px solid #ddd;
	cursor: pointer;
}
.family_site .title::before,
.family_site .title::after {
	content: '';
	position: absolute;
	background: #999;
}
.family_site .title::before {
	top: 24px;
	right: 0;
	width: 13px;
	height: 1px;
}
.family_site .title::after {
	top: 18px;
	right: 6px;
	width: 1px;
	height: 13px;
}
.family_site .title.active::before {
	transform: rotate(-135deg);
}
.family_site .title.active::after {
	transform: rotate(45deg);
}
.family_site > ul {
	position: absolute;
	top: 49px;
	display: none;
	width: 100%;
	z-index: 1;
}
.family_site > ul li {
	padding: 0 8px;
	background: #444;
	border-bottom: 1px solid #666;
}
.family_site > ul li a {
	display: block;
	line-height: 38px;
	color: #fff;
}
footer ul.sns {
	margin-top: 16px;
}
footer ul.sns li {
	display: inline-block;
	padding-left: 8px;
}
/* Blank */
.blank {
	display: block;
	height: auto;
	min-height: 100vh;
	margin: 0;
	padding: 24px;
	background: #FFF;
	box-sizing: border-box;
	line-height: 1.4;
}
.blank .inner p {
	margin-bottom: 16px;
}
.blank .inner h1 {
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: solid 1px #DDD;
	font-size: 28px;
	font-weight: 700;
}

/* ==========================
   Responsive
========================== */

/* 태블릿 이하 (1024px) */
@media (max-width: 1024px) {
	.hero h2 {
		font-size: 48px;
	}
	.hero p {
		font-size: 20px;
	}
	.intro h2,
	.features h2,
	.cases h2,
	.contact h2 {
		font-size: 42px;
	}
	.feature h3 {
		font-size: 28px;
	}
	.feature h3 span {
		font-size: 22px;
	}
	.feature-grid {
		grid-template-columns: repeat(auto-fit, minmax(30%, 1fr))
	}
	.feature-card h4 {
		font-size: 20px;
	}
	.feature-card p {
		font-size: 16px;
	}
	.nav ul a {
		font-size: 16px;
		padding: 0 12px;
	}
	.logo {
		width: 180px;
		height: 28px;
		background-size: contain;
	}
	.slider-controller {
		left: 0;
		right: 0;
		margin: 0 auto;
		justify-content: center;
	}
	.container {
		padding: 0 16px;
		box-sizing: border-box;
	}
	.cases .slide .container {
		font-size: 18px;
	}
}

/* 모바일 (768px 이하) */
@media (max-width: 768px) {
	.hamburger {
		display: block;
	}
	.nav {
		position: fixed;
		top: 0;
		right: -100%;
		width: 78%;
		max-width: 380px;
		height: 100%;
		background: rgba(1,16,45,0.98);
		backdrop-filter: blur(6px);
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 28px;
		padding: 48px 24px;
		box-sizing: border-box;
		transition: right 0.32s cubic-bezier(.2,.8,.2,1);
		z-index: 1000;
	}
	.nav.active {
		right: 0;
	}
	.nav ul {
		display: flex;
		flex-direction: column;
		gap: 20px;
		padding: 0;
		margin: 0;
	}
	.nav ul li a {
		font-size: 18px;
		font-weight: 700;
		color: #fff;
		text-decoration: none;
		padding: 8px 12px;
	}
	.nav-lang {
		display: inline-block;
		border: 1px solid #C6C6C6;
		border-radius: 30px;
		padding: 10px 20px;
		background: transparent;
		color: #fff;
		font-weight: 700;
		cursor: pointer;
	}
	body.menu-open {
		overflow: hidden;
	}
	.btn_top {
		right: 16px;
	}
	.btn_top a {
		opacity: 1;
	}
	.hero {
		flex-direction: column;
		justify-content: center;
		text-align: center;
		padding: 0;
	}
	.hero h2 {
		font-size: 36px;
	}
	.hero p {
		font-size: 18px;
	}
	.circle-wrapper {
		width: 100px;
		height: 100px;
	}
	.slider-controller {
		bottom: 24px;
	}		
	.hero-slide-item.slide2 {
		background-image: url('/wp-content/uploads/Visual_Top_Mobile.png');
	}
	.dot {
		width: 30px;
		height: 4px;
	}
	.intro {
		padding: 0;
		background-attachment: scroll; /* 모바일에서 fixed 깨짐 방지 */
	}
	.intro h2 {
		height: 60px;
		background-size: contain;
		margin: 42px 0 24px;
	}
	.intro h3 {
		font-size: 28px;
	}
	.intro p {
		font-size: 18px;
	}
	.intro p br {
		display: none;
	}
	.feature-grid {
		grid-template-columns: 1fr;
		margin: 24px 0;
	}
	.feature-card {
		border-radius: 16px;
	}
	.feature-card .text {
		padding: 24px 16px;
	}
	.cases .slide .container {
		justify-content: center;
		padding: 0 16px;
		font-size: 18px;
	}
	.cases h3 {
		width: 100%;
		font-size: 28px;
		text-align: center;
	}
	.cases .title {
		position: relative;
        padding: 56px 24px 0 24px;
        box-sizing: border-box;
	}
	.cases p {
		text-align: center;
	}
	.cases br {
		display: none;
	}
	.cases .slide .container ul li {
		padding-left: 56px;
		font-size: 16px;
	}
	.cases .slide .container p {
		width: 100%;
	}
	.cases .slide .container .btn {
		display: block;
		margin: 24px auto;
		border-color: #666;
	}
	.cases.vdr .container {
		align-items: flex-start;
		text-align: left;
	}
	.cases .slide .container ul {
		width: 100%;
	}
	.cases .slide .container ul li {
		padding-left: 0;
		margin: 8px 0;
		text-align: center;
	}
	.cases .slide .container ul li::before {
		position: relative;
		display: block;
		width: 32px;
		height: 32px;
		margin: 4px auto;
		background-size: 16px;
	}
	.slider.active .container a.btn {
		background: rgba(33, 33, 33, 0.5);
	}
	.cases .idx {
		background-image: url(../images/Visual_idx_Mobile.png);
	}
	.cases .vdr {
		background-image: url(../images/Visual_vdr_Mobile.png);
	}
	.cases .aichat {
		background-image: url(../images/Visual_aichat_Mobile.png);
	}
	.section.contact {
		height: auto;
	}
	.contact {
		flex-direction: column;
		padding: 40px 0;
	}
	.contact form {
		width: 100%;
	}
	.contact ul li {
		width: 100%;
		text-align: left;
	}
	.contact input,
	.contact textarea,
	.contact select {
		font-size: 16px;
	}
	.control p {
		flex-direction: column;
	}
	.control input[type=submit] {
		position: relative;
		width: 100%;
		font-size: 18px;
	}
	footer .container {
		flex-direction: column;
		align-items: flex-start;
		padding: 24px 16px;
		min-height: auto;
		gap: 16px;
	}
	footer .group_info {
		width: 100%;
	}
	footer .group_info > ul li {
		display: block;
	}
	footer .container p span {
		display: block;
	}
	.family_site {
		position: static;
		width: 100%;
		margin-top: 16px;
	}
	.family_site .title {
		width: 100%;
	}
	.family_site > ul {
		top: auto;
		bottom: 134px;
		width: calc(100% - 32px)
	}
}
