@charset "utf-8";

/* =========================== MAIN VISUAL
 */
#mainVisual {
	position:relative;
	height:clamp(470px, calc(34.82vw + 303px), 860px);
	border-radius:0 0 50px 50px;
	overflow:hidden
}
#mainVisual::before {
	z-index:2; position:absolute; content:""; inset:0%;
	width:100%; height:100%; background-color:rgba(0,0,0,0.3)
}
#mainVisual .main_slider_wrap { width:100%; height:100% }
#mainVisual .MainSwiper { width:100%; height:100% }
#mainVisual .swiper-slide {
	height:100%; background-repeat:no-repeat;
	background-position:center; background-size:cover
}
#mainVisual .list1 { background-image:url("../img/main/main_vs01.jpg") }
#mainVisual .list2 { background-image:url("../img/main/main_vs02.jpg") }
#mainVisual .list3 { background-image:url("../img/main/main_vs03.jpg") }

#mainVisual .txt_wrap {
	position:absolute; top:0; left:0;
	display:flex; flex-direction:column; justify-content:flex-end;
	padding-bottom:160px;
	padding-left:calc((100% - var(--mainsize))/2);
	width:100%; height:100%; z-index:3
}
#mainVisual .txt_wrap .txt_box { padding-bottom:140px }
.txt_box {
    transition: opacity 0.6s ease;
}
.txt_box.is-changing {
    opacity: 0;
}

#mainVisual .txt_wrap .txt_box .sub-tit {
	padding-bottom:clamp(8px, 1.25vw, 20px);
	font-size:clamp(2.6rem, calc(2.59vw + 1.4rem), 5.5rem);
	line-height:1.18;
	font-weight:300;
	white-space:pre-line;
	color:#fff;
	word-break:keep-all;
	margin-top: -0.5em; 
}
#mainVisual .txt_wrap .txt_box .sub-tit b { font-weight:700 }
#mainVisual .txt_wrap .txt_box .main-tit {
	font-size:clamp(1.5rem, calc(0.27vw + 1.457rem), 1.8rem);
	line-height:1.5;
	font-weight:500;
	color:var(--primary);
	font-family:var(--e-font);
	letter-spacing:4pt;
	word-break:keep-all;
}


/* 초기 상태 ? 애니메이션 전엔 숨김 */
.txt_box .main-tit,
.txt_box .sub-tit,
.txt_box .visual-btn-wrap {
    opacity: 0;
    transform: translateY(-20px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.txt_box.no-transition .main-tit,
.txt_box.no-transition .sub-tit,
.txt_box.no-transition .visual-btn-wrap {
    transition: none;
}
/* animate-in 클래스 추가 시 최종 상태 (transition이 재실행되지 않으므로 zoom 후 유지) */
.txt_box.animate-in .main-tit,
.txt_box.animate-in .sub-tit,
.txt_box.animate-in .visual-btn-wrap {
    opacity: 1;
    transform: translateY(0);
}
.txt_box.animate-in .sub-tit      { transition-delay: 0.15s; }
.txt_box.animate-in .visual-btn-wrap { transition-delay: 0.3s; }

/* swiper controller */
#mainVisual .txt_wrap .swiper-controller {
	display:flex; align-items:center;
	gap:clamp(14px, 1.875vw, 30px)
}
#mainVisual .txt_wrap .swiper-controller .btn-nav { all:unset; cursor:pointer }
#mainVisual .txt_wrap .swiper-controller .btn-nav svg {
	stroke:#a9b3b9; transform:translateY(1.5px); transition:stroke 0.2s
}
#mainVisual .txt_wrap .swiper-controller .console-box {
	display:flex; align-items:center; gap:clamp(12px, 1.25vw, 20px)
}
#mainVisual .txt_wrap .swiper-controller .console-box span {
	font-family:var(--e-font);
	font-size:clamp(1.3rem, calc(0.18vw + 1.271rem), 1.5rem);
	font-weight:700; color:#fff
}
#mainVisual .txt_wrap .swiper-controller .console-box .swiper-pagination {
	position:static; display:flex; align-items:center; gap:10px
}
#mainVisual .txt_wrap .swiper-controller .console-box .swiper-pagination .swiper-pagination-bullet {
	width:7px; height:7px; background:#fff; opacity:0.5;
	border-radius:100px; transition:all 0.2s
}
#mainVisual .txt_wrap .swiper-controller .console-box .swiper-pagination .swiper-pagination-bullet-active {
	width:47px; opacity:1
}

/* visual 버튼 */
.visual-btn-wrap {
	display:flex; align-items:center; gap:10px;
	margin-top:clamp(28px, 3.125vw, 50px); flex-wrap:wrap;
}
.visual-btn {
	display:inline-flex; align-items:center;
	gap:clamp(20px, 2.5vw, 40px);
	padding:15px clamp(22px, 1.875vw, 30px);
	height:clamp(50px, 3.375vw, 54px);
	border-radius:100px;
	font-family:var(--k-font);
	font-size:clamp(1.4rem, calc(0.36vw + 1.224rem), 1.8rem);
	font-weight:600; letter-spacing:0.01em; white-space:nowrap;
	transition:background-color .25s, color .25s, border-color .25s, transform .2s;
}
.visual-btn.btn-white { 
	background-color:#fff; 
	color:var(--navy);
	border:2px solid #fff;
}
.visual-btn.btn-primary { 
	background-color:var(--primary); 
	color:#fff; 
	border:2px solid var(--primary); 
}
.visual-btn .material-icons-round { 
	font-size:clamp(1.8rem, 1.25vw, 2rem); 
	transition:transform .2s;
}

#mainVisual .scroll-mark {
	position:absolute; z-index:3; bottom:0; right:75px;
	display:flex; flex-direction:column; align-items:center; gap:14px;
	font-family:var(--e-font);
	font-size:clamp(1.1rem, calc(0.18vw + 1.071rem), 1.3rem);
	font-weight:600; color:#fff
}
#mainVisual .scroll-mark .scroll-text { writing-mode:vertical-lr; letter-spacing:0.08em; }
#mainVisual .scroll-mark .scroll-line {
	position:relative; width:1px; height:100px;
	background-color:rgba(255,255,255,0.3); 
	overflow:hidden;
}
#mainVisual .scroll-mark .scroll-bar {
	position:absolute; top:0; left:0; width:100%; height:35px;
	background:linear-gradient(to bottom, transparent, #fff);
	animation:scrollLine 1.8s ease-in-out infinite;
}
@keyframes scrollLine {
	0%   { transform:translateY(-35px); opacity:0; }
	20%  { opacity:1; }
	80%  { opacity:1; }
	100% { transform:translateY(100px); opacity:0; }
}

@media (hover:hover) {
	#mainVisual .txt_wrap .swiper-controller .btn-nav:hover svg { stroke:#fff; }
	.visual-btn.btn-white:hover { background-color:transparent; color:#fff; transform:translateY(-2px); }
	.visual-btn.btn-primary:hover { background-color:transparent; border-color:#fff; transform:translateY(-2px); }
	.visual-btn:hover .material-icons-round { transform:translateX(3px); }
}

@media (max-width:1600px) {
	#mainVisual::before { background-color:rgba(0,0,0,0.5); }
	#mainVisual .txt_wrap {
		top:50%; transform:translateY(-50%);
		justify-content:center; align-items:center;
		padding:0 20px; text-align:center;
		padding-left:20px
	}
	#mainVisual .txt_wrap .txt_box { padding-bottom:45px; }
	#mainVisual .scroll-mark {
		bottom:0; right:20px; transform:translateX(50%); writing-mode:unset;
	}
	.visual-btn-wrap  {
		justify-content: center;
	}
	
}
@media (max-width:768px) {
	#mainVisual { border-radius:0; }
	#mainVisual .txt_wrap {top:50%; transform: translateY(-45%);}
	#mainVisual .txt_wrap .txt_box { padding-bottom:35px; }
	#mainVisual .txt_wrap .swiper-controller .console-box .swiper-pagination { gap:8px; }
}
@media (max-width:480px) {
	#mainVisual .scroll-mark { display:none; }
}


/* =========================== atc01
 */
#inc01 {
	overflow:hidden;
	padding-top:clamp(70px, calc(13.22vw - 32px), 180px);
}
#inc01 .group-cont {
	display:flex; flex-direction:column;
	gap:clamp(20px, 2.8125vw, 45px);
}
#inc01 .tab-menu {
	display:flex; align-items:center; justify-content:center;
	gap:clamp(20px, 3.125vw, 50px);
}
#inc01 .tab-menu li {
	font-size:clamp(1.4rem, calc(0.98vw + 0.93rem), 2.5rem);
	font-weight:700; color:#ccc; word-break:keep-all; cursor:pointer;
}
#inc01 .full-w { display:flex; width:100% }
#inc01 .tab-cont { display:flex; gap:clamp(12px, 1.75vw, 28px) }
#inc01 .tab-cont li {
	position:relative; 
	display:flex; 
	flex-direction:column;
	align-items:center; 
	justify-content:center;
	width:222px;
	height:clamp(400px, calc(20vw + 157px), 523px);
	border-radius:20px; overflow:hidden;
	transition:width 0.8s; 
	cursor:pointer;
}
#inc01 .tab-cont li .text-box {
	opacity:0; 
	visibility:hidden; 
	position:relative; 
	z-index:2;
	display:flex; 
	flex-direction:column; 
	align-items:center;
	gap:clamp(12px, 1.875vw, 30px); 
	padding:0 15px;
	text-align:center; 
	color:#fff;
	transition:opacity 0.15s ease, visibility 0s 0.15s
}
#inc01 .tab-cont li .text-box h3 {
	font-size:clamp(1.6rem, calc(0.8vw + 1.2rem), 2.5rem);
	font-weight:700; 
	line-height:1.4;
	white-space:pre-line; 
	word-break:keep-all;
}
#inc01 .tab-cont li .text-box .tag-wrap {
	display:flex; 
	align-items:center; 
	justify-content:center;
	gap:7px; 
	flex-wrap:wrap;
}
#inc01 .tab-cont li .text-box .tag-wrap span {
	display:flex; 
	align-items:center; 
	justify-content:center;
	font-size:clamp(1.3rem, calc(0.27vw + 1.27rem), 1.6rem);
	font-weight:700;
	padding:clamp(5px, 0.625vw, 10px) clamp(10px, 0.8125vw, 13px);
	background:rgba(255,255,255,0.15);
	border-radius:100px; 
	word-break:keep-all;
}
#inc01 .tab-cont li .bg {
	position:absolute; 
	width:100%; 
	height:100%; 
	top:0; 
	left:0;
}
#inc01 .tab-cont li .bg::before {
	opacity:0; 
	visibility:hidden; 
	z-index:1; 
	position:absolute; 
	content:'';
	inset:0%; 
	width:100%; 
	height:100%;
	background-color:rgba(22,54,105,0.5);
	transition:opacity 0.15s ease, visibility 0s 0.15s;
}
#inc01 .tab-cont li .bg img {
	width:100%; 
	height:100%; 
	object-fit:cover;
	transform:scale(1); 
	transition:transform 0.8s ease;
}

/* active */
#inc01 .tab-menu li.active { color:#111; }
#inc01 .tab-cont li.active { width:1000px; }
#inc01 .tab-cont li.active .text-box {
	opacity:1; 
	visibility:visible;
	transition:opacity 0.35s 0.5s ease, visibility 0s 0.5s;
}
#inc01 .tab-cont li.active .bg::before {
	opacity:1; 
	visibility:visible;
	transition:opacity 0.35s 0.3s ease, visibility 0s 0.3s;
}
#inc01 .tab-cont li.active .bg img { transform:scale(1.5); }

@media (max-width:1600px) {
	#inc01 { padding-left:20px; padding-right:20px }
	#inc01 .tab-cont li.active { width:clamp(870px, 62.5vw, 1000px); }
}
@media (max-width:1400px) {
	#inc01 .tab-cont li.active {
		width:clamp(710px, calc((100vw - 1200px) * (140/140) + 710px), 850px);
	}
	#inc01 .tab-cont li:not(.active) { flex-shrink:0; }
}
@media (max-width:1200px) {
	#inc01 .tab-cont li.active {
		width:clamp(610px, calc((100vw - 1024px) * (150/150) + 610px), 760px)
	}
	#inc01 .tab-cont li { width:180px; border-radius:15px; }
}
@media (max-width:1024px) {
	#inc01 .tab-menu {
		display:grid; 
		grid-template-columns:repeat(3,1fr); gap:6px 0;
	}
	#inc01 .tab-menu li {
		display:flex; 
		align-items:center; 
		justify-content:center;
		width:100%; 
		height:100%; 
		padding:14px;
		text-align:center; 
		border-radius:5px
	}
	#inc01 .tab-menu li.active { background-color:var(--primary); color:#fff; }
	#inc01 .tab-cont { width:100% }
	#inc01 .tab-cont li {
		flex-shrink:0 !important; width:100%;
		height:clamp(300px, calc(11.03vw + 247px), 360px);
		border-radius:10px; cursor:default;
	}
	#inc01 .tab-cont li.active { width:100%; }
}
@media (max-width:480px) {
	#inc01 .tab-menu li { padding:10px; }
	#inc01 .tab-cont li .bg::before { background-color:rgba(0,0,0,0.5); }
}


/* =========================== atc02
 * mask font: 50px → 26px | clamp(2.6rem, calc(2.14vw + 1.6rem), 5rem)
 */
#inc02 .inner { height:250vh; }
#inc02 .sticky-container {
	position:sticky; top:0; height:100vh;
	display:flex; align-items:center; justify-content:center;
}
#inc02 h2 { text-align:center }
#inc02 .mask {
	font-size:clamp(2.6rem, calc(2.14vw + 1.6rem), 5rem);
	font-weight:700; line-height:1.5;
	white-space:pre-line; word-break:keep-all;
	background-clip:text; background-repeat:no-repeat;
	background-size:0% 100%;
	color:rgba(0,0,0,0.15);
	background-image:linear-gradient(to right, var(--primary), var(--primary));
}
@media (max-width:1024px) {
	#inc02 .sticky-container { padding:0 20px; }
}
@media (max-width:480px) {
	#inc02 .mask { line-height:1.3; }
}


/* =========================== atc03
 * card-title: 20px → 16px | clamp(1.6rem, calc(0.36vw + 1.43rem), 2rem)
 * marquee:   100px → 28px | clamp(2.8rem, calc(6.43vw - 0.3rem), 10rem)
 */
#inc03 {
	background:var(--bg);
	padding:clamp(70px, calc(12.62vw - 27px), 175px) 0 0;
}
#inc03 .inner {
	display:flex; 
	justify-content:space-between; 
	align-items:flex-end;
	padding:0 clamp(20px, 1.25vw, 20px) clamp(30px, 5vw, 80px);
	max-width:var(--mainsize); 
	margin:0 auto;
}
#inc03 .group-title {
	align-items:flex-start !important;
	text-align:left !important;
	padding-bottom:0 !important;
}
#inc03 .swiper-navigation { display:flex; align-items:center; gap:10px }
#inc03 .swiper-navigation button {
	all:unset; 
	display:flex; 
	align-items:center; 
	justify-content:center;
	width:clamp(45px, 3.25vw, 52px);
	height:clamp(45px, 3.25vw, 52px);
	border-radius:100px; background-color:#fff; color:var(--primary);
	transition:background-color 0.2s, border-color 0.2s; cursor:pointer;
}
#inc03 .swiper-navigation button svg { transition:stroke 0.2s }
#inc03 .swiper-navigation .btn-detail {
	display:inline-flex; 
	align-items:center; 
	gap:10px;
	margin-left:6px;
	height:clamp(45px, 3.25vw, 52px);
	padding:0 clamp(16px, 1.5vw, 24px);
	border-radius:100px; 
	background:#fff; 
	color:var(--navy);
	font-size:clamp(1.5rem, calc(0.27vw + 1.457rem), 1.8rem);
	font-weight:600; 
	white-space:nowrap;
	border:none;
	transition:background-color 0.2s, color 0.2s, transform 0.2s;
}
#inc03 .swiper-navigation a {
	font-size:1.5rem;
	font-weight:600; 
	color:#111; 
	white-space:nowrap;
}
#inc03 .group-cont {
	margin-left:max(1px, calc((100% - var(--mainsize)) / 2));
}

/* 슬라이드 카드 */
#inc03 .group-cont .swiper-slide { width:460px; }
#inc03 .group-cont .swiper-slide .thumb-box {
	position:relative; 
	width:100%;
	height:clamp(200px, calc(11.54vw + 136px), 350px);
	border-radius:20px; 
	overflow:hidden;
}
#inc03 .group-cont .swiper-slide .thumb-box a { display:block; width:100%; height:100% }
#inc03 .group-cont .swiper-slide .thumb-box img {
	width:100%; 
	height:100%; 
	object-fit:cover; 
	transition:transform 0.3s ease;
}
#inc03 .group-cont .swiper-slide .thumb-box .overlay {
	position:absolute; 
	inset:0;
	display:flex; 
	align-items:center; 
	justify-content:center;
	pointer-events:none; 
	background:rgba(0,0,0,0);
	transition:background 0.35s ease
}
#inc03 .group-cont .swiper-slide .thumb-box .btn-plus {
	display:flex; 
	align-items:center; 
	justify-content:center;
	width:64px;
	height:64px; 
	border-radius:50%;
	background:rgba(255,255,255,0.3); 
	backdrop-filter:blur(6px);
	-webkit-backdrop-filter:blur(6px); 
	color:#fff;
	font-size:3.2rem; 
	font-weight:300; 
	line-height:1;
	transform:scale(0); transition:transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}
#inc03 .group-cont .swiper-slide .card-title {
	margin-top:clamp(16px, 1.5vw, 24px);
	padding:0 10px;
	font-size:clamp(1.6rem, calc(0.36vw + 1.43rem), 2rem);
	font-weight:600; 
	font-family:var(--k-font); 
	color:#222;
	white-space:nowrap; 
	overflow:hidden; 
	text-overflow:ellipsis;
}

@media (hover:hover) {
	#inc03 .swiper-navigation button:hover { background-color:var(--primary); border-color:var(--primary) }
	#inc03 .swiper-navigation button:hover svg { stroke:#fff }
	#inc03 .swiper-navigation .btn-detail:hover { background-color:var(--primary); color:#fff; transform:translateY(-2px) }
	#inc03 .group-cont .swiper-slide .thumb-box:hover .overlay { opacity:1; background:rgba(0,0,0,0.18) }
	#inc03 .group-cont .swiper-slide .thumb-box:hover .btn-plus { transform:scale(1) }
}

/* 마퀴 */
#inc03 .inc03_in { overflow:hidden; margin-top:clamp(40px, 10.625vw, 170px); }
#inc03 .inc03_in .marquee { --x:-3450px; }
#inc03 .inc03_in .marquee ul {
	display:flex; 
	gap:clamp(24px, 3.125vw, 50px);
	animation:inc03Marquee 25s linear infinite;
}
#inc03 .inc03_in .marquee ul li {
	font-family:var(--e-font);
	font-size:clamp(2.8rem, calc(6.43vw - 0.3rem), 10rem);
	line-height:.7; 
	font-weight:700; 
	color:#E7F0FA;
	text-transform:uppercase; 
	white-space:nowrap;
}
@keyframes inc03Marquee {
	0%   { transform:translateX(0) }
	100% { transform:translateX(var(--x)) }
}

@media (max-width:1600px) {
	#inc03 .group-cont { padding-left:20px; }
	#inc03 .group-cont .swiper-slide { width:520px; }
}
@media (max-width:1400px) {
	#inc03 .group-cont .swiper-slide { width:460px; }
}
@media (max-width:1024px) {
	#inc03 .inner { flex-direction:column; align-items:center; gap:20px; }
	#inc03 .group-title { align-items:center !important; text-align:center !important }
	#inc03 .inc03_in .marquee { --x:-1345.5px }
	#inc03 .group-cont .swiper-slide { width:auto }
	#inc03 .group-cont .swiper-slide .thumb-box { border-radius:10px }
}
@media (max-width:768px) {
	#inc03 .group-cont { padding:0 20px }
	#inc03 .inc03_in .marquee { --x:-1027.5px }
}
@media (max-width:600px) {
	#inc03 .group-cont { padding:0 }
}
@media (max-width:480px) {
	#inc03 .inc03_in .marquee { --x:-905px }
}
@media (max-width:390px) {
	#inc03 .swiper-navigation { gap:5px }
}


/* =========================== atc04
 */
#inc04 {
	padding:clamp(70px, calc(12.02vw - 22px), 170px) 0;
	background:url('../img/main/inc04/inc04_bg.png') center bottom;
	background-size:cover
}
#inc04 .inner { max-width:var(--mainsize); margin:0 auto; padding:0 20px }

#inc04 .inc04-grid {
	display:grid;
	grid-template-columns:1fr 1fr 1fr 300px;
	grid-template-rows:auto auto;
	gap:clamp(10px, 1vw, 16px)
}

#inc04 .card-business { grid-column:1/4; grid-row:1 }
#inc04 .card-contact { grid-column:4; grid-row:1/3 }
#inc04 .card-sm:nth-of-type(3) { grid-column:1; grid-row:2 }
#inc04 .card-sm:nth-of-type(4) { grid-column:2; grid-row:2 }
#inc04 .card-sm:nth-of-type(5) { grid-column:3; grid-row:2 }

#inc04 .inc04-card {
	position:relative; border-radius:20px; overflow:hidden;
	background:rgba(255,255,255,0.5); border:1px solid var(--bd-color);
	transition:all .3s
}
#inc04 .inc04-card a { display:block }

#inc04 .card-business {
	display:flex; align-items:top;
	gap:clamp(20px, 7.5vw, 120px);
	padding:clamp(24px, calc(2.32vw + 16px), 50px) clamp(22px, calc(1.6vw + 16px), 40px)
}
#inc04 .business-left {
	display:flex; flex-direction:column; align-items:flex-start;
	gap:clamp(16px, 2.5vw, 40px); padding-top:10px; flex-shrink:0
}
#inc04 .business-left .card-tit {
	font-size:clamp(1.9rem, calc(0.54vw + 1.6rem), 2.5rem);
	font-weight:700; color:var(--dark); white-space:nowrap
}
#inc04 .business-left .btn-plus {
	display:flex; align-items:center; justify-content:center;
    background-color:#E6F3FF;
    width:clamp(40px, 3.25vw, 52px);
    height:clamp(40px, 3.25vw, 52px);
    border-radius:100px; color:var(--primary);
    transition:all 0.2s;
}
#inc04 .business-list {
	display:flex; flex-direction:column; flex:1; min-width:0; width:100%
}
#inc04 .business-list li a {
	display:flex; align-items:center; justify-content:space-between;
	gap:20px; color:#444; padding:10px 0; transition:opacity 0.2s
}
#inc04 .business-list li .b-tit {
	font-size:clamp(1.4rem, calc(0.36vw + 1.22rem), 1.8rem);
	font-weight:400; color:var(--cont1);
	white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
	transition:color 0.2s
}
#inc04 .business-list li .b-date {
	font-family:var(--k-font);
	font-size:clamp(1.3rem, calc(0.27vw + 1.257rem), 1.6rem); 
	color:#888; flex-shrink:0
}

#inc04 .card-contact {
	position:relative; display:flex; flex-direction:column;
	justify-content:space-between;
	padding:clamp(24px, 2.375vw, 38px) clamp(20px, 1.875vw, 30px) 0;
	background:var(--navy) url('../img/main/inc04/contact_bg.png') right bottom no-repeat;
	overflow:hidden
}
#inc04 .contact-label {
	display:block;
	font-size:clamp(1.8rem, calc(0.63vw + 1.7rem), 2.5rem);
	font-weight:500; color:rgba(255,255,255,0.65); padding-bottom:12px
}
#inc04 .contact-tel {
	display:block; font-family:var(--e-font);
	font-size:clamp(2.6rem, calc(2.14vw + 1.475rem), 5rem);
	font-weight:700; color:#fff; line-height:1.1;
	padding-bottom:18px; letter-spacing:-0.5px
}
#inc04 .contact-info {
	font-size:clamp(1.5rem, calc(0.27vw + 1.457rem), 1.8rem);
	font-weight:400; color:rgba(255,255,255,0.5); line-height:1.7
}
#inc04 .contact-mascot { display:flex; justify-content:end; margin-top:auto }
#inc04 .contact-mascot img {
	width:100%; max-width:186px; display:block; object-fit:contain
}

#inc04 .card-sm {
	position:relative; display:flex; flex-direction:column;
	justify-content:space-between;
	padding:clamp(30px, 2.5vw, 40px) 0 0 clamp(30px, 2.5vw, 40px);
	min-height:190px; overflow:hidden
}
#inc04 .card-white { background:rgba(255,255,255,.5) }
#inc04 .sm-card-inner { position:relative; z-index:1 }
#inc04 .sm-card-head { display:flex; align-items:center; justify-content:space-between; padding-bottom:14px }
#inc04 .card-sm .card-tit {	font-size:clamp(1.9rem, calc(0.54vw + 1.6rem), 2.5rem); }
#inc04 .card-white .card-tit { color:var(--dark); font-weight:800 }
#inc04 .btn-arrow {
	display:flex; align-items:center; justify-content:center;
	width:32px; height:32px; color:#888; transition:color 0.2s, transform 0.2s; flex-shrink:0
}
#inc04 .card-white .btn-arrow { color:#aaa }
#inc04 .btn-arrow .material-icons-round { font-size:2.2rem }
#inc04 .sm-desc {
	font-size:clamp(1.5rem, calc(0.27vw + 1.457rem), 1.8rem); /* 15px~18px */
	font-weight:400; color:var(--cont2); line-height:1.6; word-break:keep-all
}
#inc04 .card-white .sm-desc { color:var(--cont2) }
#inc04 .sm-icon { display:flex; justify-content:flex-end; align-items:flex-end; margin-top:auto }
#inc04 .sm-icon img { width:145px; height:145px; object-fit:contain }

@media (hover:hover) {
	#inc04 .btn-plus:hover { background-color:var(--primary); color:#fff }
	#inc04 .business-list li a:hover .b-tit { color:var(--primary) }
	#inc04 .business-left .btn-plus:hover { background-color:var(--primary); color:#fff }
	#inc04 .inc04-card:hover { border:1px solid var(--primary) }
}

@media (max-width:1600px) {
	#inc04 .inc04-grid { grid-template-columns:1fr 1fr 1fr 260px }
}
@media (max-width:1200px) {
	#inc04 .inc04-grid {
		grid-template-columns:1fr 1fr 220px;
		grid-template-rows:auto auto auto
	}
	#inc04 .card-business { grid-column:1/3; grid-row:1 }
	#inc04 .card-contact { grid-column:3; grid-row:1/4 }
	#inc04 .card-sm:nth-of-type(3) { grid-column:1; grid-row:2 }
	#inc04 .card-sm:nth-of-type(4) { grid-column:2; grid-row:2 }
	#inc04 .card-sm:nth-of-type(5) { grid-column:1/3; grid-row:3 }
}
@media (max-width:1024px) {
	#inc04 .inc04-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto auto auto }
	#inc04 .card-business { flex-direction:column; align-items:flex-start; gap:20px }
	#inc04 .business-left { flex-direction:row; align-items:center; gap:16px }
	#inc04 .card-contact {
		grid-column:1/3; grid-row:2;
		flex-direction:row; align-items:center;
		padding:30px 36px; min-height:160px
	}
	#inc04 .contact-mascot { margin-top:0; margin-left:auto }
	#inc04 .contact-mascot img { max-width:120px }
	#inc04 .card-sm:nth-of-type(3) { grid-column:1; grid-row:3 }
	#inc04 .card-sm:nth-of-type(4) { grid-column:2; grid-row:3 }
	#inc04 .card-sm:nth-of-type(5) { grid-column:1/3; grid-row:4 }
	#inc04 .sm-icon img { width:100px; height:100px }
}
@media (max-width:480px) {
	#inc04 .inc04-grid { grid-template-columns:1fr }
	#inc04 .card-business  { grid-column:1 }
	#inc04 .card-contact   { grid-column:1; grid-row:auto; flex-direction:column; align-items:flex-start }
	#inc04 .card-sm:nth-of-type(3),
	#inc04 .card-sm:nth-of-type(4),
	#inc04 .card-sm:nth-of-type(5) { grid-column:1; grid-row:auto }
	#inc04 .contact-mascot img { max-width:100px }
}