@charset "utf-8"; 

/* main */
.main { } 
.main.newmain .visual .background:before { content: ''; position: absolute; inset: 0; background: none; opacity: 1; } 
.main.newmain .visual .inner { width: 1440px !important; } 
.main.indexv3 .visual .text { flex:6 1 0; width:0; }
.main.indexv3 .visual .inner { align-items: stretch; }
.main.indexv3 .visual .text .sub { display:block; }
.main.indexv3 .visual .hero .sub {
	display:none;
	margin:0 0 12px;
	line-height:1.4;
	font-size:20px;
	font-weight:400;
	color:var(--primary-500, #2A47BF);
	word-break:keep-all;
	text-align:left;
}
.main.indexv3 .visual .hero {
	flex:4 1 0;
	width:0;
	max-width:none;
	box-sizing:border-box;
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:56px 36px;
	margin-top: 30px;
	margin-bottom: 80px;
}
.main.indexv4 .visual .text { flex:6 1 0; width:0; }
.main.indexv4 .visual .inner { align-items: stretch; }
.main.indexv4 .visual .text .sub { display:block; }
.main.indexv4 .visual .hero .sub {
	display:none;
	margin:0 0 12px;
	line-height:1.4;
	font-size:20px;
	font-weight:400;
	color:var(--primary-500, #2A47BF);
	word-break:keep-all;
	text-align:left;
}
.main.indexv4 .visual .hero {
	flex:4 1 0;
	width:0;
	max-width:none;
	box-sizing:border-box;
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:56px 36px;
	margin-top: 30px;
	margin-bottom: 80px;
}
@media (min-width:1025px){
	.main.indexv4 .visual .hero {
		padding:40px 36px;
		margin-top: 16px;
		margin-bottom: 40px;
	}
	.main.indexv4 .visual .text .brand {
		max-width:620px;
		margin-left:0;
		margin-right:0;
	}
	.main.indexv4 .visual .text .brand ul {
		justify-content:flex-start;
	}
	.main.indexv4 .visual .text .brand li .img img {
		inset:auto;
		top:50%;
		left:50%;
		transform:translate(-50%, -50%);
		width:auto;
		height:auto;
		max-width:min(150px, calc(100% - 20px));
		max-height:calc(100% - 20px);
	}
	.main.indexv4 .visual .text .btn {
		max-width:620px;
	}
} 
.main .section { position:relative; } 
.main .visual { padding: 200px 40px 170px; overflow: hidden; } 
.main .visual.is-postcode-open { overflow: visible; } 
.main .visual .inner { display:flex; align-items: flex-start; justify-content:space-between; gap:15px; } 
.main .visual .text { position:relative; z-index:2; flex:1 1 auto; min-width:0; margin:0; align-items: flex-start; } 
.main .visual .text .sub { margin-bottom:10px; line-height:1.4; font-size:20px; font-weight:400; color:var(--primary-500, #2A47BF); word-break:keep-all; } 
.main .visual .text .tit { margin-bottom:40px; line-height:1.1; font-size:60px; font-weight:700; color:#111; word-break:keep-all; text-align: left; } 
.main .visual .text .txt { margin-bottom:40px; line-height:1.4; font-size:20px; font-weight:400; color:#111; word-break:keep-all; text-align: left; } 
.main .visual .text .txt span { font-size:24px; font-weight:600; color:#2a47bf; } 
.main .visual .text .txt p { margin-bottom:10px; } 
.main .visual .text .txt p:last-child { margin:0; } 
.main .visual .text .brand { margin-bottom:16px; width:100%; max-width:100%; } 
.main .visual .text .brand .brand-toggle { display:none; } 
.main .visual .text .brand ul { display:flex; flex-wrap:wrap; gap:10px; } 
.main .visual .text .brand li { width:calc(33.33% - 6.66px); } 
.main .visual .text .brand li .img { box-sizing:border-box; position:relative; display:block; width:100%; height:auto; aspect-ratio:20/9; padding:0; border-radius:12px; border:1px solid #dedfe2; background:#fff; overflow:hidden; } 
.main .visual .text .brand li .img img { position:absolute; inset:10px; display:block; width:calc(100% - 20px); height:calc(100% - 20px); margin:auto; object-fit:contain; } 
.main .visual .text .btn { display:flex; align-items:stretch; gap:10px; flex-wrap:nowrap; width:100%; } 
.main.indexv3 .visual .text .btn dl { background:#fff; backdrop-filter:none; } 
.main.indexv3 .visual .text .btn dt { font-size:16px; } 
.main.indexv3 .visual .text .btn dd { font-size:26px; } 
.main.indexv4 .visual .text .btn dl { background:#fff; backdrop-filter:none; } 
.main.indexv4 .visual .text .btn dt { font-size:16px; } 
.main.indexv4 .visual .text .btn dd { font-size:26px; } 
.main .visual .text .btn dl { display:flex; align-items:center; justify-content:space-between; gap:8px; box-sizing:border-box; flex:1 1 0; width:auto; min-width:0; height:84px; padding:0 16px; border-radius:8px; background:rgb(255 255 255 / 30%); backdrop-filter: blur(10px); text-align:left; } 
.main .visual .text .btn dt { margin:0; line-height:1.4; font-size:15px; font-weight:400; color:var(--gray-500, #596170); text-align:left; white-space:nowrap; flex-shrink:1; min-width:0; overflow:hidden; text-overflow:ellipsis; } 
.main .visual .text .btn dd { margin:0; line-height:1.4; font-size:24px; font-weight:700; color:var(--primary-300, #4262E6); text-align:right; white-space:nowrap; flex-shrink:0; } 
.main .visual .text .button { margin-top:20px; } 
.main .visual .text .button a { position: relative; width: auto; height: 60px; padding: 0 24px; border: none; border-radius: 30px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px; overflow: hidden; background: linear-gradient(120deg, #3b82f6, #2563eb, #60a5fa, #1d4ed8, #3b82f6); background-size: 300% 300%; animation: gradientFlow 4s ease infinite; box-shadow: 0px 10px 10px 0px #0030A126; transition: transform 0.2s ease, box-shadow 0.2s ease; } 
.main .visual .text .button a:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(37, 99, 235, 0.45); } 
.main .visual .text .button a .txt { display: flex; align-items: center; margin: 0; line-height: 1.1; font-size: 18px; font-weight: 500; color: #fff; white-space: nowrap; } 
.main .visual .text .button a .ico { display: block; width: 20px; height: 20px; flex-shrink: 0; } 
.main .visual .hero { position:relative; z-index:2; flex:0 1 640px; padding:30px; width:640px; max-width:100%; min-width:0; border-radius:12px; background:#fff; } 
.main .visual .hero.is-postcode-open { z-index: 30; overflow: visible; } 
.main .visual .hero .head { margin-bottom:20px; line-height:1.1; font-size:24px; font-weight:700; color:#4262e6; text-align:center; } 
.main .visual .hero .step { display:none; } 
.main .visual .hero .step.on { display:block } 
.main .visual .hero .address-search { position: relative; z-index: 5; } 
.main .visual .hero .input { margin-bottom:20px; display:flex; align-items:center; padding:0 24px; width:100%; height:66px; border: 2px solid #3987FD; border-radius:33px; } 
.main .visual .hero .input.is-postcode-open { margin-bottom:0; border-radius: 20px 20px 0 0; border-bottom-color: transparent; } 
.main .visual .hero .input .inp { flex:1; } 
.main .visual .hero .input .inp input { width: 100%; height:66px; font-size:16px; font-weight:400; color:#111; background:transparent; } 
.main .visual .hero .input .inp input[readonly] { cursor: pointer; } 
.main .visual .hero .input .btn,
.main .visual .hero .input .bts { flex:0 0 auto; } 
.main .visual .hero .input .btn button,
.main .visual .hero .input .bts button { display:flex; align-items:center; justify-content:center; width:30px; height:30px; } 
.main .visual .hero .none { margin-bottom:20px; padding:20px; border-radius:8px; background:#f9fafe; width: 100%; display:none; } 
.main .visual .hero .none.on { display:block; } 
.main .visual .hero .none .tit { margin-bottom:10px; line-height:1.1; font-size:20px; font-weight:700; color:#353a43; } 
.main .visual .hero .none .txt { line-height:1.4; font-size:16px; font-weight:400; color:#111; } 
.main .visual .hero .form { display:flex; flex-wrap:wrap; gap:0 20px; } 
.main .visual .hero .form dl { margin-bottom:20px; width:100%; display: none; } 
.main .visual .hero .form dl.on { display:block; } 
.main .visual .hero .form dl.w50p { width:calc(50% - 10px); } 
.main .visual .hero .form dl.w50p.on { display:block; } 
.main .visual .hero .form dl.error .err { display:block; } 
.main .visual .hero .form dl.error .inp input { border-color:#f00; background:rgb(255 0 0 / 2%); } 
.main .visual .hero .form dt { margin-bottom:10px; line-height:1.1; font-size:16px; font-weight:700; color:#353a43; } 
.main .visual .hero .form dd { } 
.main .visual .hero .form dd .txt { line-height:1.4; font-size:15px; font-weight:300; color:#596170; } 
.main .visual .hero .form dd .chk { display:flex; gap:10px; flex-wrap:wrap; } 
.main .visual .hero .form dd .chk .wr-chk { flex:1; display:flex; align-items:center; justify-content:center; min-width:0; } 
.main .visual .hero .form dd .chk .wr-chk input { display: none; } 
.main .visual .hero .form dd .chk .wr-chk input ~ div { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 43px; padding: 8px 4px; border-radius: 8px; border: 1px solid #dedfe2; background: #fff; cursor: pointer; } 
.main .visual .hero .form dd .chk .wr-chk input ~ div strong { display: block; line-height: 1; font-size: 16px; font-weight: 600; color: #474e5a; white-space: nowrap; } 
.main .visual .hero .form dd .chk .wr-chk input ~ div p { display: block; line-height: 1; font-size: 14px; font-weight: 400; color: #999; } 
.main .visual .hero .form dd .chk .wr-chk input ~ div span { display: block; line-height: 1; font-size: 15px; font-weight: 600; color: #474e5a; } 
.main .visual .hero .form dd .chk .wr-chk input:checked ~ div { border-color:#4262E6; } 
.main .visual .hero .form dd .chk .wr-chk input:checked ~ div strong,
.main .visual .hero .form dd .chk .wr-chk input:checked ~ div p,
.main .visual .hero .form dd .chk .wr-chk input:checked ~ div span { color:#4262E6; } 
.main .visual .hero .form dd .inp { } 
.main .visual .hero .form dd .inp input { padding:0 16px; width:100%; height:50px; font-size:15px; font-weight:400; color:#000; border-radius:8px; border:1px solid #dedfe2; background:#fff; } 
.main .visual .hero .form dd .err { display: none; margin-top:10px; line-height:1.1; font-size:13px; font-weight:300; color:#f00; } 
.main .visual .hero .agree { margin-bottom:20px; display:none; } 
.main .visual .hero .agree.on { display:block; } 
.main .visual .hero .agree.error .agree-chk input ~ strong { color:#f00; } 
.main .visual .hero .agree.error .agree-chk input ~ p { color:#f00; } 
.main .visual .hero .agree .agree-chk { cursor:pointer; display:flex; align-items:center; line-height: 20px; font-size:15px; font-weight:300; color:#222; } 
.main .visual .hero .agree .agree-chk input { display:none; } 
.main .visual .hero .agree .agree-chk input ~ i { flex:0 0 auto; margin-right:8px; width:20px; height:20px; background:url("/img/ic_chk-abda239d90a59e81a01c8d06dc34e82a.svg") no-repeat center / contain; } 
.main .visual .hero .agree .agree-chk input ~ strong { margin-right:4px; font-weight:700; } 
.main .visual .hero .agree .agree-chk input ~ p { } 
.main .visual .hero .agree .agree-chk input:checked ~ i { background:url("/img/ic_chk_on-04dfaababf7089aa29993d3e9de67ccd.svg") no-repeat center / contain; } 
.main .visual .hero .agree .agree-txt { display: block; margin-top:4px; line-height:1.3; font-size:13px; font-weight:300; color:#222; text-align: left; margin-left: 28px; } 
.main .visual .hero .cau { display:none; margin-bottom:20px; line-height:1.4; font-size:14px; font-weight:300; color:#596170; text-align:center; } 
.main .visual .hero .cau.on { display:block; } 
.main .visual .hero .estimate { margin-bottom:20px; } 
.main .visual .hero .estimate .tit { margin-bottom:10px; line-height:1.1; font-size:16px; font-weight:700; color:#353a43; text-align: left; } 
.main .visual .hero .estimate .txt { margin-bottom:20px; line-height:1.1; font-size:24px; font-weight:700; color:#4262e6; display:flex; align-items:center; flex-wrap:wrap; } 
.main .visual .hero .estimate .txt span:first-child:before { display:none; } 
.main .visual .hero .estimate .txt span:before { content:'·'; margin: 0 10px; color:#bdc0c6; } 
.main .visual .hero .estimate .con { } 
.main .visual .hero .estimate .con dl { margin-bottom:10px; display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-radius:4px; background:#F9FAFE; } 
.main .visual .hero .estimate .con dl:last-child { margin:0; } 
.main .visual .hero .estimate .con dt { line-height:1.4; font-size:15px; font-weight:500; color:#596170; } 
.main .visual .hero .estimate .con dd { line-height:1.4; font-size:15px; font-weight:300; color:#4262e6; } 
.main .visual .hero .complete-note { margin-top:16px; line-height:1.5; font-size:15px; font-weight:400; color:#353a43; text-align:center; } 
.main .visual .hero .complete-box { padding:40px 24px; border-radius:12px; background:#f9fafe; text-align:center; } 
.main .visual .hero .complete-box .tit { margin-bottom:12px; line-height:1.3; font-size:22px; font-weight:700; color:#353a43; } 
.main .visual .hero .complete-box .txt { line-height:1.5; font-size:15px; font-weight:400; color:#596170; } 
.main .visual .hero .button { } 
.main .visual .hero .button.is-hidden { display:none; } 
.main .visual .hero .button button { position: relative; width: 100%; height: 60px; border: none; border-radius: 30px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 12px; overflow: hidden; background: linear-gradient(120deg, #3b82f6, #2563eb, #60a5fa, #1d4ed8, #3b82f6); background-size: 300% 300%; animation: gradientFlow 4s ease infinite; box-shadow: 0px 10px 10px 0px #0030A126; transition: transform 0.2s ease, box-shadow 0.2s ease; } 
.main .visual .hero .button button:disabled { opacity: 0.6; cursor: not-allowed; transform: none; } 
.main .visual .hero .button button:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(37, 99, 235, 0.45); } 
.main .visual .hero .button button:disabled:hover { transform: none; box-shadow: 0px 10px 10px 0px #0030A126; } 
.main .visual .hero .button button .txt { line-height: 1.1; font-size: 18px; font-weight: 500; color: #fff; } 
.main .visual .hero .button .arw { display: flex; align-items: center; gap: 6px; } 
.main .visual .hero .button .arw i { display: inline-block; width: 10px; height: 10px; border-top: 2px solid #ffffff; border-right: 2px solid #ffffff; opacity: 0.3; animation: arrowPulse 1.2s infinite; } 
.main .visual .hero .button .arw.lt i { transform: rotate(-135deg); } 
.main .visual .hero .button .arw.rt i { transform: rotate(45deg); } 
.main .visual .hero .button .arw.lt i:nth-child(1) { animation-delay: 0s; } 
.main .visual .hero .button .arw.lt i:nth-child(2) { animation-delay: 0.2s; } 
.main .visual .hero .button .arw.lt i:nth-child(3) { animation-delay: 0.4s; } 
.main .visual .hero .button .arw.rt i:nth-child(1) { animation-delay: 0.4s; } 
.main .visual .hero .button .arw.rt i:nth-child(2) { animation-delay: 0.2s; } 
.main .visual .hero .button .arw.rt i:nth-child(3) { animation-delay: 0s; } 
.main .visual .hero .button .arw.lt { --rotation: 45deg; } 
.main .visual .hero .button .arw.rt { --rotation: -135deg; } 
.main .visual .hero .ad-box { margin-top:20px; margin-bottom: 6px; display:none; } 
.main .visual .hero .ad-box.on { display: block; } 
.main .visual .hero .ad-box .tit { display: block; padding: 30px 20px; line-height: 1.4; font-size: 18px; font-weight: 600; color: #121316; border-radius: 12px; background: #f9fafe; text-align: center; } 
.main .visual .hero .ad-box .txt { margin-top: 10px; display: block; text-align: center; line-height: 1.4; font-size: 15px; font-weight: 400; color: #596170; } 
.main .visual .background { position:absolute; inset:0; pointer-events:none; z-index: 0; } 
.main .visual .background img { display: block; width:100%; height:100%; object-fit:cover; } 

.postcode-layer { display:none; position:absolute; left:0; top:calc(100% - 1px); width:100%; height:420px; max-height:70vh; overflow:hidden; z-index:40; background:#fff; border:2px solid #3987FD; border-top:1px solid #c9d7ff; border-radius:0 0 20px 20px; box-shadow:0 14px 28px rgba(57,135,253,0.18); -webkit-overflow-scrolling:touch; } 
.postcode-layer.is-open { display:block; } 
.postcode-layer__close { position:absolute; right:8px; top:8px; z-index:2; width:28px; height:28px; border:0; border-radius:50%; cursor:pointer; background:#fff url("https://t1.kakaocdn.net/postcode/resource/images/close.png") no-repeat center / 14px; box-shadow:0 1px 4px rgba(0,0,0,0.15); } 
.postcode-layer__embed { width:100%; height:100%; } 
.postcode-layer__embed iframe { width:100% !important; height:100% !important; border:0; } 

@media (max-width:1024px){
 .postcode-layer { height: 360px; max-height: 55vh; } 
 }

.main .main-banner { padding:0; line-height:0; } 
.main .main-banner .inner { width:1440px; } 
.main .main-banner img { display:block; width:100%; height:auto; border-radius:20px; } 
.main .main-banner img.pc-only { display:block; } 
.main .main-banner img.mo-only { display:none; } 
.main .promotion { display:block; padding: 80px 0; background:#fff; align-items:stretch; } 
.main .promotion .cont { display:flex; align-items:center; justify-content:space-between; gap:64px; } 
.main .promotion .cont + .cont { margin-top:80px; } 
.main .promotion .cont .text { flex:1; min-width:0; } 
.main .promotion .title { margin-bottom:40px; } 
.main .promotion .title .tit { margin:0; line-height:1.3; font-size:48px; font-weight:700; color:#222; word-break:keep-all; } 
.main .promotion .title .txt { margin-top:16px; line-height:1.5; font-size:20px; font-weight:400; color:var(--gray-500, #596170); word-break:keep-all; } 
.main .promotion .sub { margin-bottom:32px; line-height:1.4; font-size:20px; font-weight:600; color:var(--primary-300, #4262E6); word-break:keep-all; } 
.main .promotion .button { margin-bottom:48px; } 
.main .promotion .button a { display:inline-flex; align-items:center; justify-content:center; padding:0 32px; height:60px; border-radius:30px; background:var(--primary-300, #4262E6); box-shadow:0 10px 20px 0 var(--shadow-color, #0030a126); font-size:18px; font-weight:500; color:#fff; transition:transform 0.2s ease, box-shadow 0.2s ease; } 
.main .promotion .button a:hover { transform:translateY(-2px); box-shadow:0 12px 24px rgba(37, 99, 235, 0.45); } 
.main .promotion .etc { margin:0; line-height:1.6; font-size:14px; font-weight:400; color:var(--gray-500, #596170); } 
.main .promotion .etc p { margin:0; } 
.main .promotion .etc p + p { margin-top:4px; } 
.main .promotion .cont .image { flex:0 0 560px; max-width:100%; } 
.main .promotion .cont .image img { display:block; width:100%; height:auto; border-radius:20px; } 
.main .promotion .list { position:relative; } 
.main .promotion .list:before { content:''; position:absolute; bottom:100%; right:0; width:355px; max-width:100%; height:auto; aspect-ratio:355/247; background:url("/img/model-1-b3fe75327aad53366d474932e692d933.png") no-repeat center / contain; }  
.main .promotion .list ul { display:flex; flex-wrap:wrap; gap:32px; } 
.main .promotion .list li { flex:1; min-width:0; width:auto; } 
.main .promotion .list .box { display: flex; flex-direction: column; padding:32px; height: 100%; border-radius:12px; background:#f5f6f8; } 
.main .promotion .list .flex { min-height: 200px; display:flex; align-items:flex-start; justify-content:space-between; flex: 1; } 
.main .promotion .list .num { display:flex; align-items:center; justify-content:center; padding:0 16px; height:34px; border-radius:17px; background:#4262e6; font-size:16px; font-weight:600; color:#fff; } 
.main .promotion .list .img { width:100px; max-width:100%; height:100px; display:flex; align-items:center; justify-content:center; } 
.main .promotion .list .img img { width:100%; height:auto; } 
.main .promotion .list .text { margin-top: 10px; } 
.main .promotion .list .text .sub { margin-bottom:10px; line-height:1.3; font-size:16px; font-weight:300; color:#222; } 
.main .promotion .list .text .tit { margin-bottom:10px; line-height:1.1; font-size:30px; font-weight:700; color:#222; } 
.main .promotion .list .text .txt { line-height:1.3; font-size:20px; font-weight:500; color:#2a47bf; } 
.main .promotion .list .text .txt p { display: block; } 
.main.indexv4 .promotion .cont { align-items:center; gap:48px; } 
.main.indexv4 .promotion .badge { display:inline-flex; align-items:center; margin-bottom:18px; padding:0 14px; height:34px; border:1.5px solid var(--primary-300, #4262E6); border-radius:17px; background:#fff; font-size:14px; font-weight:600; letter-spacing:-0.02em; color:var(--primary-300, #4262E6); } 
.main.indexv4 .promotion .title { margin-bottom:14px; } 
.main.indexv4 .promotion .title .tit { line-height:1.22; letter-spacing:-0.045em; font-size:52px; font-weight:800; color:#121316; } 
.main.indexv4 .promotion .sub { margin-bottom:26px; line-height:1.45; font-size:20px; font-weight:500; color:#3d4450; } 
.main.indexv4 .promotion .sub em { position:relative; display:inline-block; margin-left:2px; font-style:normal; font-weight:800; color:#ff6200; text-decoration:none; z-index:0; } 
.main.indexv4 .promotion .sub em:after { content:''; position:absolute; left:-2px; right:-2px; bottom:0; height:11px; border-radius:2px; background:rgba(255, 176, 32, 0.72); z-index:-1; } 
.main.indexv4 .promotion .benefits { display:flex; flex-wrap:wrap; align-items:center; gap:12px 22px; margin:0 0 28px; padding:0; list-style:none; } 
.main.indexv4 .promotion .benefits li { display:flex; align-items:center; gap:8px; font-size:15px; font-weight:600; color:#222; word-break:keep-all; white-space:nowrap; } 
.main.indexv4 .promotion .benefits .ico { display:flex; align-items:center; justify-content:center; flex:0 0 34px; width:34px; height:34px; border-radius:50%; background:var(--primary-300, #4262E6); } 
.main.indexv4 .promotion .benefits .ico svg { display:block; width:18px; height:18px; } 
.main.indexv4 .promotion .button { margin-bottom:18px; } 
.main.indexv4 .promotion .button a { gap:6px; height:56px; padding:0 28px; font-size:17px; font-weight:600; letter-spacing:-0.02em; } 
.main.indexv4 .promotion .button a .arw { display:inline-block; width:8px; height:8px; margin-left:2px; border-top:2px solid #fff; border-right:2px solid #fff; transform:rotate(45deg) translateY(-1px); } 
.main.indexv4 .promotion .etc { font-size:13px; color:#8b919e; } 
.main.indexv4 .promotion .cont .image { position:relative; flex:0 1 48%; width:48%; max-width:700px; border-radius:20px; overflow:hidden; } 
.main.indexv4 .promotion .cont .image img { width:100%; height:auto; aspect-ratio:auto; object-fit:unset; border-radius:20px; } 
.main.indexv4 .promotion .cont .image .tag { position:absolute; top:18px; right:18px; display:inline-flex; align-items:center; height:34px; padding:0 14px; border-radius:17px; background:var(--primary-300, #4262E6); box-shadow:0 6px 16px rgba(66, 98, 230, 0.28); font-size:14px; font-weight:600; color:#fff; } 

.main .compare { padding:80px 0; background:#fff; } 
.main .compare .title { margin-bottom:40px; text-align:center; } 
.main .compare .title .sub { margin-bottom:20px; line-height:1.1; font-size:24px; font-weight:600; color:#4262e6; } 
.main .compare .title .tit { margin-bottom:20px; line-height:1.1; font-size:38px; font-weight:700; color:#222; } 
.main .compare .title .txt { margin-bottom:20px; line-height:1.1; font-size:20px; font-weight:300; color:#222; } 
.main .compare .list { } 
.main .compare .list ul { display:flex; justify-content:center; } 
.main .compare .list li { display: flex; } 
.main .compare .list li:nth-child(1) .item { border-top-right-radius:0; border-bottom-right-radius:0; border-right:0; background:#fafafa; } 
.main .compare .list .item { margin:12.5px 0; padding:24px; width:450px; max-width:100%; display:flex; flex-direction:column; align-items: center; justify-content:center; text-align:center; border-radius:12px; border:1px solid #eee; } 
.main .compare .list .item .it-sub { margin-bottom:8px; display: inline-flex; align-items: center; justify-content: center; padding: 8px 16px; line-height: 1.5; font-size: 16px; font-weight: 700; color: #7a818d; border-radius: 24px; background: #fff; vertical-align: top; } 
.main .compare .list .item .it-tit { margin-bottom:20px; line-height: 1.5; font-size: 30px; font-weight: 700; color: #121316; } 
.main .compare .list .item .it-txt { margin-bottom:8px; line-height: 1.5; font-size: 16px; font-weight: 700; color: #121316; } 
.main .compare .list .item .it-con { width: 100%; } 
.main .compare .list .item .it-con p { margin-bottom:8px; display:flex; align-items:center; justify-content:center; text-align:center; width:100%; height:43px; border-radius:4px; border:1px solid #dedfe2; background:#fff; font-size: 15px; } 
.main .compare .list .item .it-con p:last-child { margin:0; } 
.main .compare .list .item .it-pri { display:flex; flex-wrap:wrap; gap:8px; } 
.main .compare .list .item .it-pri dl { width:calc(50% - 4px); border-radius:8px; background:#fff; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px; } 
.main .compare .list .item .it-pri dt { line-height:1.5; font-size:15px; font-weight:400; color:#121316; min-width:0; } 
.main .compare .list .item .it-pri dt .logo { box-sizing:border-box; display:flex; align-items:center; justify-content:center; width:92px; height:34px; padding:4px 8px; border-radius:6px; background:#fff; } 
.main .compare .list .item .it-pri dt .logo img { display:block; width:auto; max-width:100%; max-height:100%; height:auto; object-fit:contain; } 
.main .compare .list .item .it-pri dd { line-height:1.5; font-size:15px; font-weight:600; color:#121316; flex-shrink:0; } 
.main .compare .list .item.on { padding:32px; width:480px; max-width:100%; margin:0; background:#4262e6; } 
.main .compare .list .item.on .it-sub { color:#4262e6; } 
.main .compare .list .item.on .it-tit { color:#fff; } 
.main .compare .list .item.on .it-txt { color:#fff; } 
.main .compare .list .item.on .it-pri dl { background:rgb(255 255 255 / 20%); } 
.main .compare .list .item.on .it-pri dt { color:#fff; } 
.main .compare .list .item.on .it-pri dd { color:#fff; } 

.main .howto { padding:80px 0; background:#F9FAFE; } 
.main .howto .flex { padding:40px; display:flex; align-items:center; justify-content:center; gap:64px; } 
.main .howto .flex > .lt { width:820px; max-width:100%; } 
.main .howto .flex > .rt { width:476px; max-width:100%; display:flex; flex-direction:column; align-items:center; } 
.main .howto .title { margin-bottom:60px; } 
.main .howto .title .sub { margin-bottom:10px; line-height:1.1; font-size:24px; font-weight:600; color:#4262e6; } 
.main .howto .title .tit { line-height:1; font-size:38px; font-weight:700; color:#111 } 
.main .howto .brand { margin-bottom:60px; width:620px; max-width:100%; } 
.main .howto .brand ul { display:flex; flex-wrap:wrap; gap:10px; } 
.main .howto .brand li { width:calc(33.33% - 6.66px); } 
.main .howto .brand li .img { display:flex; align-items:center; justify-content:center; width:100%; height:auto; aspect-ratio:20/9; padding:10px; border-radius:12px; border:1px solid #dedfe2; background:#fff; } 
.main .howto .brand li .img img { max-width:100%; height:auto; } 
.main .howto .button { margin-top:40px; width:100%; display:flex; justify-content:center; } 
.main .howto .button a { position: relative; width: 100%; height: 60px; border: none; border-radius: 30px; cursor: pointer; display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 12px; overflow: hidden; background: linear-gradient(120deg, #3b82f6, #2563eb, #60a5fa, #1d4ed8, #3b82f6); background-size: 300% 300%; animation: gradientFlow 4s ease infinite; box-shadow: 0px 10px 10px 0px #0030A126; transition: transform 0.2s ease, box-shadow 0.2s ease; font-size: 18px; font-weight: 500; color: #fff; } 
.main .howto .button button { position: relative; width: 100%; height: 60px; border: none; border-radius: 30px; cursor: pointer; display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 12px; overflow: hidden; background: linear-gradient(120deg, #3b82f6, #2563eb, #60a5fa, #1d4ed8, #3b82f6); background-size: 300% 300%; animation: gradientFlow 4s ease infinite; box-shadow: 0px 10px 10px 0px #0030A126; transition: transform 0.2s ease, box-shadow 0.2s ease; } 
.main .howto .button a:hover,
.main .howto .button button:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(37, 99, 235, 0.45); } 
.main .howto .button a .txt,
.main .howto .button button .txt { margin:0; line-height: 1.1; font-size: 18px; font-weight: 500; color: #fff; white-space: nowrap; flex: 0 0 auto; } 
.main .howto .button .arw { display: flex; flex-direction: row; align-items: center; gap: 6px; width: auto; flex: 0 0 auto; } 
.main .howto .button .arw i { display: inline-block; width: 10px; height: 10px; border-top: 2px solid #ffffff; border-right: 2px solid #ffffff; opacity: 0.3; animation: arrowPulse 1.2s infinite; } 
.main .howto .button .arw.lt i { transform: rotate(-135deg); } 
.main .howto .button .arw.rt i { transform: rotate(45deg); } 
.main .howto .button .arw.lt i:nth-child(1) { animation-delay: 0s; } 
.main .howto .button .arw.lt i:nth-child(2) { animation-delay: 0.2s; } 
.main .howto .button .arw.lt i:nth-child(3) { animation-delay: 0.4s; } 
.main .howto .button .arw.rt i:nth-child(1) { animation-delay: 0.4s; } 
.main .howto .button .arw.rt i:nth-child(2) { animation-delay: 0.2s; } 
.main .howto .button .arw.rt i:nth-child(3) { animation-delay: 0s; } 
.main .howto .button .arw.lt { --rotation: 45deg; } 
.main .howto .button .arw.rt { --rotation: -135deg; } 
.main .howto .swiper { width:100%; } 
.main .howto .swiper .swiper-slide { display:flex; flex-direction:column; align-items:center; text-align:center; } 
.main .howto .swiper .num { margin-bottom:10px; display:flex; align-items:center; justify-content:center; height:40px; padding:0 24px; font-size:18px; font-weight:600; color:#4262e6; border:1px solid #eee; border-radius:20px; background:#fff; } 
.main .howto .swiper .tit { margin-bottom:40px; line-height:1.4; font-size:24px; font-weight:600; color:#111; } 
.main .howto .swiper .img { display:flex; align-items:center; justify-content:center; } 
.main .howto .swiper .img img { max-width:100%; height:auto; } 
.main .howto .swiper .swiper-pagination { position:static; margin-top:40px; display:flex; align-items:center; justify-content:center; } 
.main .howto .swiper .swiper-pagination .swiper-pagination-bullet { margin:0 4px; display:block; width:10px; height:10px; border-radius:10px; background: #bdc0c6; opacity: 1; } 
.main .howto .swiper .swiper-pagination .swiper-pagination-bullet-active { background:#4262e6; } 

.main .award { padding: 80px 0 0; background:#fff; } 
.main .award .title { margin-bottom:40px; text-align:center; } 
.main .award .title .sub { margin-bottom:10px; line-height:1.1; font-size:24px; font-weight:600; color:#4262e6; } 
.main .award .title .tit { line-height:1; font-size:38px; font-weight:700; color:#111 } 
.main .award .image { display:flex; align-items:center; justify-content:center; } 
.main .award .image img { max-width:100%; height:auto; } 

.main .standard { padding: 80px 0; background:#F9FAFE; } 
.main .standard .title { margin-bottom:40px; text-align:center; } 
.main .standard .title .tit { line-height:1; font-size:38px; font-weight:700; color:#111 } 
.main .standard .cont { } 
.main .standard .figure { margin-bottom:40px; display:flex; } 
.main .standard .figure dl { flex:1; display:flex; flex-direction:column; text-align:center; } 
.main .standard .figure dt { margin-bottom:20px; line-height:1.1; font-size:24px; font-weight:300; color:#222; } 
.main .standard .figure dd { line-height:1.1; font-size:60px; font-weight:700; color:#2a47bf; } 
.main .standard .list { } 
.main .standard .list ul { display:flex; gap:10px; } 
.main .standard .list li { flex:1; padding:20px; border-radius:12px; border:1px solid #c4c5c6; background:#fff; } 
.main .standard .list li .img { margin-bottom:40px; margin-left:auto; display:flex; justify-content:flex-end; width:80px; } 
.main .standard .list li .img img { width:100%; height:auto; object-fit:contain; } 
.main .standard .list li .tit { margin-bottom:20px; line-height:1.1; font-size:20px; font-weight:600; color:#222; letter-spacing: -1px; } 
.main .standard .list li .txt { line-height:1.3; font-size:14px; font-weight:300; color:#222; word-break:keep-all; } 

.main .system { padding:80px 0; background:#F9FAFE; } 
.main .system .title { position:relative; margin:0 0 80px; } 
.main .system .title .tit { margin:0 0 20px; line-height:1.1; font-size:48px; font-weight:700; color:#111; } 
.main .system .title .txt { margin:0 0 40px; line-height:1.1; font-size:24px; font-weight:300; color:#222; } 
.main .system .title .con { margin: 0 0 40px; } 
.main .system .title .con p { margin:0 0 20px; display:flex; align-items: center; line-height:1.1; font-size:18px; font-weight:500; color:#222; } 
.main .system .title .con p:before { content:''; flex:0 0 auto; width:24px; height:24px; background:url("/img/check-cc426fa49335fa8a2ff13f39ea825fa8.svg") no-repeat center / contain; } 
.main .system .title .bts { display:flex; align-items:center; } 
.main .system .title .bts a { display:flex; align-items:center; justify-content:center; padding:0 48px; height:60px; border-radius:60px; background:var(--sub-color); font-size:18px; font-weight:500; color:#fff; } 
.main .system .title .img { position:absolute; top:50%; right:0; transform:translateY(-50%); } 
.main .system .title .img img { width:auto; max-width:100%; height:auto; } 
.main .system .divider { background:#dedfe2; } 
.main .system .cont { display:flex; justify-content:space-between; } 
.main .system .cont .text { flex:1; } 
.main .system .cont .text .tit { margin:0 0 20px; line-height:1.1; font-size:48px; font-weight:700; color:#111; } 
.main .system .cont .text .txt { } 
.main .system .cont .text .txt dl { padding:20px 0; line-height:1.1; } 
.main .system .cont .text .txt dt { margin:0 0 20px; font-size:24px; font-weight:600; color: var(--primary-300, #4262E6); display:flex; align-items:center; } 
.main .system .cont .text .txt dt:before { content:''; width:5px; height:5px; border-radius:5px; margin:0 10px; background:var(--primary-300, #4262E6); } 
.main .system .cont .text .txt dd { display:flex; align-items:center; font-size:18px; font-weight:500; color:#222; } 
.main .system .cont .text .txt dd:before { content:''; flex:0 0 auto; width:24px; height:24px; background:url("/img/check-cc426fa49335fa8a2ff13f39ea825fa8.svg") no-repeat center / contain; } 
.main .system .cont .image { flex:0 0 auto; width:889px; max-width:48%; } 
.main .system .cont .image img { display:block; width:100%; height:auto; object-fit:contain; } 
.main .system .cont .image img.pc-only { display:block !important; } 
.main .system .cont .image img.mo-only { display:none !important; } 

.main .case { padding: 210px 0 80px; background:#ffffff; } 
.main .case .title { margin:0 0 40px; } 
.main .case .title .tit { line-height:1.1; font-size:48px; font-weight:700; color:#222; } 
.main .case .tabs { display:flex; flex-wrap:wrap; gap:4px; margin: 0 0 40px; } 
.main .case .tabs .tabs-btn { display: flex; align-items: center; justify-content: center; text-align: center; padding:0 24px; height: 42px; font-size:24px; font-weight:600; color:#7a818d; border-radius:42px; } 
.main .case .tabs .tabs-btn.is-active { background:var(--main-color); color:#fff; } 
.main .case .list { } 
.main .case .list ul { display:grid; grid-template-columns:repeat(4, 1fr); gap:60px; } 
.main .case .list li { width:100%; } 
.main .case .list li .img { margin:0 0 16px; display:flex; aspect-ratio:44/32; border-radius:8px; overflow:hidden; } 
.main .case .list li .img > span { flex:1; position:relative; } 
.main .case .list li .img > span img,
.main .case .list li .img > img { width:100%; height:100%; object-fit:cover; } 
.main .case .list li .img > span em { position:absolute; top:10px; left:50%; transform:translateX(-50%); z-index:2; display:flex; align-items:center; justify-content:center; height:38px; width:75px; border-radius:12px; font-size:20px; font-weight:500; color:#fff; } 
.main .case .list li .img > span:nth-child(1) em { background:var(--sub-color-3); } 
.main .case .list li .img > span:nth-child(2) em { background:var(--sub-color); } 
.main .case .list li .tit { margin:0 0 16px; line-height:1.1; font-size:20px; font-weight:500; color:#222; } 
.main .case .list li .txt { display:flex; flex-wrap:wrap; gap:8px; } 
.main .case .list li .txt span { display:flex; align-items:center; justify-content:center; text-align:center; height:32px; padding:0 16px; font-size:18px; font-weight:500; border-radius:6px; border:1px solid var(--sub-color); color:var(--sub-color); background:#f5f6f8; } 
.main .case .more { margin:40px 0 0; display:flex; align-items:center; justify-content:center; } 
.main .case .more a { display:flex; align-items:center; justify-content:center; text-align:center; padding:0 20px; width:280px; max-width:100%; height:60px; border-radius:60px; border:1px solid var(--main-color); font-size:18px; font-weight:500; color:var(--sub-color); box-shadow: 0 10px 10px var(--shadow-color); } 

.main .process { padding:80px 0; background:#ffffff; } 
.main .process .title { margin:0 0 40px; text-align:center; } 
.main .process .title .tit { line-height:1.1; font-size:48px; font-weight:700; color:#222; } 
.main .process .title .txt { margin:20px 0 0; line-height:1.1; font-size:24px; font-weight:300; color:#222; } 
.main .process .cont { } 
.main .process .step { } 
.main .process .step ul { display:flex; gap:30px; } 
.main .process .step li { flex:1; text-align:center; } 
.main .process .step li .box { display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; height:auto; aspect-ratio:1/1; border-radius:100%; border:1px solid #c4c5c6; box-shadow:0 8px 40px var(--shadow-color-2); } 
.main .process .step li .ico { margin:0 auto 10px; width:60px; height:60px; } 
.main .process .step li .ico img { width:100%; height:100%; object-fit:contain; } 
.main .process .step li .num { margin:0 0 20px; line-height:1.3; font-size:20px; font-weight:500; color:#596170; } 
.main .process .step li .tit { line-height:1.1; font-size:30px; font-weight:600; color:#222; } 
.main .process .step li .txt { margin:30px 0 0; line-height:1.3; font-size:18px; font-weight:300; color: var(--sub-color-4); } 
.main .process .step li:last-child .box { background:var(--sub-color-5); } 
.main .process .step li:last-child .num { color:#fff; } 
.main .process .step li:last-child .tit { color:#fff; } 
.main .process .step li:last-child .txt { margin:16px 0 0; padding:12px; background:var(--sub-color-6); border-radius:12px; font-size:16px; font-weight:700; color:var(--sub-color-7); } 
.main .process .step li:last-child .txt strong { margin:4px 0 0; font-size:24px; font-weight:700; color:#ffff; } 
.main .process .text { margin:40px 0 0; text-align:center; line-height: 1.1; font-size: 24px; font-weight: 600; color: var(--main-color); } 
.main .process .counsel { margin: 160px 0 0 0; padding:60px; border-radius:30px; overflow:hidden; text-align:center; background: url("/img/bg_counsel2-772af156bcb8769540ad8dc6b5d66139.jpg") no-repeat center / cover; } 
.main .process .counsel:before { content:''; position:absolute; z-index:0; inset:0; background: none; opacity: 1; } 
.main .process .counsel .sub { position:relative; z-index:1; margin:0 0 10px; line-height:1.1; font-size:24px; font-weight:300; color:#fff; } 
.main .process .counsel .tit { position:relative; z-index:1; margin:0 0 20px; line-height:1.1; font-size:48px; font-weight:700; color:#fff; } 
.main .process .counsel .bts { position:relative; z-index:1; margin:0 0 20px; display: flex; align-items: center; justify-content: center; text-align: center; } 
.main .process .counsel .bts a { height: 60px; line-height:1.1; font-size: 20px; font-weight: 600; color:#fff; background: linear-gradient(90deg, #3987FD 0%, #256EF4 100%); box-shadow: 0px 8px 20px 0px var(--shadow-color-3); display: flex; align-items: center; justify-content: center; border-radius: 100px; padding: 12px 20px; } 
.main .process .counsel .tel { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; } 
.main .process .counsel .tel dl { display:flex; align-items:center; justify-content:center; padding:0 24px; height:58px; border-radius:58px; border:1px solid rgb(255 255 255/ 50%); background:rgb(255 255 255 / 10%); backdrop-filter: blur(8px); gap:8px; } 
.main .process .counsel .tel dl:before { content:''; width:24px; height:24px; background:url("/img/ic_phone-072c99c46456c33d10ba45f03c345487.svg") no-repeat center / contain; } 
.main .process .counsel .tel dl dt { font-size:24px; font-weight:500; color:#fff; } 
.main .process .counsel .tel dl dd { font-size:24px; font-weight:300; color:#fff; } 
.float { position: fixed; right: 40px; bottom: 40px; z-index: 1000; } 
.float .float-btn { margin-top: 10px; display: flex; width: 80px; height: 80px; flex-direction: column; justify-content: center; align-items: center; gap: 4px; aspect-ratio: 1/1; border-radius: 1000px; border: 2px solid #FFF; box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15); text-align: center; font-family: Paperlogy; font-size: 13px; font-weight: 400; line-height: 110%; /* 14.3px */
 letter-spacing: -0.52px; } 
.float .float-btn.kakao { color: #111; background: #FEE500; } 
.float .float-btn.rocket { color: #FFF; background: linear-gradient(180deg, #3987FD 0%, #0045E5 100%); } 
.float .float-btn:after { display: none; } 

.float .float-btn { position: relative; } 

.float .float-btn::before { content: ""; position: absolute; inset: -3px; border-radius: 50%; z-index: -1; opacity: 0; transform: scale(1); animation: floatPulse 2.4s ease-out infinite; } 

.float .float-btn.kakao::before { background: rgba(254, 229, 0, 0.5); } 

.float .float-btn.rocket::before { background: rgba(57, 135, 253, 0.5); animation-delay: 1.2s; } 

@keyframes floatPulse { 
 0% { opacity: 0; transform: scale(1); } 

 20% { opacity: 0.45; } 

 70%, 100% { opacity: 0; transform: scale(1.35); } 
 }



@keyframes gradientFlow { 
 0% { background-position: 0% 50%; } 
 50% { background-position: 100% 50%; } 
 100% { background-position: 0% 50%; } 
 }
@keyframes arrowPulse { 
 0% { opacity: 0.2; transform: scale(0.9) rotate(var(--rotation, 45deg)); } 
 50% { opacity: 1; transform: scale(1.2) rotate(var(--rotation, 45deg)); } 
 100% { opacity: 0.2; transform: scale(0.9) rotate(var(--rotation, 45deg)); } 
 }

@media (max-width:1024px){
 .main { padding-bottom: 143px; } 
 .main .visual { padding: 100px 20px 40px; } 
 .main .visual .inner { flex-direction:column; align-items:stretch; gap: 10px; } 
 .main .visual .text { } 
 .main.indexv3 .visual .text { order:2; width:100%; flex:none; margin-top:24px; } 
 .main.indexv3 .visual .hero { order:1; width:100%; flex:none; max-width:100%; padding:28px 20px; justify-content:flex-start; margin-top: 0; margin-bottom: 0; } 
 .main.indexv3 .visual .text .sub { display:none; } 
 .main.indexv3 .visual .hero .sub { display:block; margin:0 0 12px; font-size:18px; font-weight:700; text-align:center; } 
 .main.indexv4 .visual .text { order:2; width:100%; flex:none; margin-top:24px; } 
 .main.indexv4 .visual .hero { order:1; width:100%; flex:none; max-width:100%; padding:28px 20px; justify-content:flex-start; margin-top: 0; margin-bottom: 0; } 
 .main.indexv4 .visual .text .sub { display:none; } 
 .main.indexv4 .visual .hero .sub { display:block; margin:0 0 12px; font-size:18px; font-weight:700; text-align:center; } 
 .main .visual .text .sub { font-size: 15px; } 
 .main .visual .text .tit { margin-bottom: 8px; font-size: 28px; } 
 .main.indexv3 .visual .text .tit { margin-top:8px; } 
 .main.indexv4 .visual .text .tit { margin-top:8px; } 
 .main .visual .text .txt { margin-bottom:20px; font-size:14px; } 
 .main .visual .text .txt span { font-size:15px; } 
 .main .visual .text .brand { margin-bottom:16px; width:100%; } 
 .main.indexv3 .visual .text .brand .brand-toggle { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; height:48px; margin-bottom:0; border:1.5px solid var(--primary-300, #4262E6); border-radius:12px; background:#f5f7ff; font-size:15px; font-weight:700; color:var(--primary-300, #4262E6); cursor:pointer; } 
 .main.indexv3 .visual .text .brand .brand-toggle:after { content:''; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); margin-top:-3px; flex-shrink:0; transition:transform 0.2s ease; } 
 .main.indexv3 .visual .text .brand.is-open .brand-toggle { margin-bottom:12px; background:#fff; } 
 .main.indexv3 .visual .text .brand.is-open .brand-toggle:after { transform:rotate(-135deg); margin-top:3px; } 
 .main.indexv3 .visual .text .brand ul { display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; max-height:0; opacity:0; overflow:hidden; transition:max-height 0.35s ease, opacity 0.25s ease; } 
 .main.indexv3 .visual .text .brand.is-open ul { max-height:420px; opacity:1; } 
 .main.indexv3 .visual .text .brand li { width:100%; } 
 .main.indexv3 .visual .text .brand li .img { aspect-ratio:20/9; } 
 .main.indexv3 .visual .text .brand li .img img { inset:8px; width:calc(100% - 16px); height:calc(100% - 16px); } 
 .main.indexv4 .visual .text .brand { max-width:100%; margin-left:0; margin-right:0; } 
 .main.indexv4 .visual .text .brand .brand-toggle { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; height:48px; margin-bottom:0; border:1.5px solid var(--primary-300, #4262E6); border-radius:12px; background:#f5f7ff; font-size:15px; font-weight:700; color:var(--primary-300, #4262E6); cursor:pointer; } 
 .main.indexv4 .visual .text .brand .brand-toggle:after { content:''; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); margin-top:-3px; flex-shrink:0; transition:transform 0.2s ease; } 
 .main.indexv4 .visual .text .brand.is-open .brand-toggle { margin-bottom:12px; background:#fff; } 
 .main.indexv4 .visual .text .brand.is-open .brand-toggle:after { transform:rotate(-135deg); margin-top:3px; } 
 .main.indexv4 .visual .text .brand ul { display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; max-height:0; opacity:0; overflow:hidden; transition:max-height 0.35s ease, opacity 0.25s ease; } 
 .main.indexv4 .visual .text .brand.is-open ul { max-height:420px; opacity:1; } 
 .main.indexv4 .visual .text .brand li { width:100%; } 
 .main.indexv4 .visual .text .brand li .img { aspect-ratio:20/9; } 
 .main.indexv4 .visual .text .brand li .img img { inset:8px; top:auto; left:auto; transform:none; width:calc(100% - 16px); height:calc(100% - 16px); max-width:none; max-height:none; } 
 .main.indexv4 .visual .text .btn { max-width:100%; } 
 .main .visual .text .btn { flex-wrap:wrap; } 
 .main .visual .text .btn dl { flex:1 1 calc(33.33% - 6.66px); width:calc(33.33% - 6.66px); min-width:0; max-width:100%; height:auto; min-height:84px; padding:16px; flex-wrap:wrap; row-gap:4px; } 
 .main.indexv3 .visual .text .btn dl { background:#fff; } 
 .main.indexv4 .visual .text .btn dl { background:#fff; } 
 .main .visual .text .btn dt { font-size: 14px; flex-shrink:0; overflow:visible; text-overflow:unset; } 
 .main.indexv3 .visual .text .btn dt { font-size:15px; } 
 .main.indexv4 .visual .text .btn dt { font-size:15px; } 
 .main .visual .text .btn dd { font-size: 18px; margin-left:auto; } 
 .main.indexv3 .visual .text .btn dd { font-size:20px; } 
 .main.indexv4 .visual .text .btn dd { font-size:20px; } 
 .main .visual .text .button { margin-top:16px; } 
 .main .visual .text .button a { height: 54px; padding: 0 20px; max-width: 100%; } 
 .main .visual .text .button a .txt { font-size: 15px; white-space: normal; } 
 .main .visual .hero { padding: 20px; width: 100%; flex:1 1 auto; } 
 .main .visual .hero .head { font-size: 20px; } 
 .main .visual .hero .input { } 
 .main .visual .hero .input .inp { } 
 .main .visual .hero .input .inp input { height: 50px; margin-bottom: 8px; } 
 .main .visual .hero .input .btn,
 .main .visual .hero .input .bts { } 
 .main .visual .hero .input .btn button,
 .main .visual .hero .input .bts button { } 
 .main .visual .hero .none { margin-bottom:20px; padding:20px; border-radius:8px; background:#f9fafe; } 
 .main .visual .hero .none .tit { font-size:18px; } 
 .main .visual .hero .none .txt { font-size:14px; } 
 .main .visual .hero .complete-box { padding: 28px 16px; } 
 .main .visual .hero .complete-box .tit { font-size: 18px; } 
 .main .visual .hero .complete-box .txt { font-size: 14px; } 
 .main .visual .hero .complete-note { font-size: 14px; } 
 .main .visual .hero .form { } 
 .main .visual .hero .form dl { } 
 .main .visual .hero .form dl.w50p { width: 100%; } 
 .main .visual .hero .form dt { font-size:14px; } 
 .main .visual .hero .form dd { } 
 .main .visual .hero .form dd .txt { line-height:1.4; font-size:15px; font-weight:300; color:#596170; } 
 .main .visual .hero .form dd .chk { gap:5px; flex-wrap:wrap; } 
 .main .visual .hero .form dd .chk .wr-chk { flex: 0 0 auto; width:calc(50% - 5px); } 
 .main .visual .hero .form dd .inp { } 
 .main .visual .hero .form dd .inp input { } 
 .main .visual .hero .form dd .err { display: none; margin-top:10px; line-height:1.1; font-size:13px; font-weight:300; color:#f00; } 
 .main .visual .hero .agree { margin-bottom:20px; display:none; } 
 .main .visual .hero .agree.on { display:block; } 
 .main .visual .hero .agree.error .agree-chk input ~ strong { color:#f00; } 
 .main .visual .hero .agree.error .agree-chk input ~ p { color:#f00; } 
 .main .visual .hero .agree .agree-chk { cursor:pointer; display:flex; align-items:center; line-height: 20px; font-size:15px; font-weight:300; color:#222; } 
 .main .visual .hero .agree .agree-chk input { display:none; } 
 .main .visual .hero .agree .agree-chk input ~ i { flex:0 0 auto; margin-right:8px; width:20px; height:20px; background:url("/img/ic_chk-abda239d90a59e81a01c8d06dc34e82a.svg") no-repeat center / contain; } 
 .main .visual .hero .agree .agree-chk input ~ strong { margin-right:4px; font-weight:700; } 
 .main .visual .hero .agree .agree-chk input ~ p { } 
 .main .visual .hero .agree .agree-chk input:checked ~ i { background:url("/img/ic_chk_on-04dfaababf7089aa29993d3e9de67ccd.svg") no-repeat center / contain; } 
 .main .visual .hero .agree .agree-txt { display: block; margin-top:4px; line-height:1.3; font-size:13px; font-weight:300; color:#222; } 
 .main .visual .hero .cau { display:none; margin-bottom:20px; line-height:1.4; font-size:14px; font-weight:300; color:#596170; text-align:center; } 
 .main .visual .hero .cau.on { display:block; } 
 .main .visual .hero .estimate { margin-bottom:20px; } 
 .main .visual .hero .estimate .tit { margin-bottom:10px; line-height:1.1; font-size:16px; font-weight:700; color:#353a43; } 
 .main .visual .hero .estimate .txt { margin-bottom:20px; line-height:1.1; font-size:24px; font-weight:700; color:#4262e6; display:flex; align-items:center; flex-wrap:wrap; } 
 .main .visual .hero .estimate .txt span:first-child:before { display:none; } 
 .main .visual .hero .estimate .txt span:before { content:'·'; margin: 0 10px; color:#bdc0c6; } 
 .main .visual .hero .estimate .con { } 
 .main .visual .hero .estimate .con dl { margin-bottom:10px; display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-radius:4px; background:#F9FAFE; } 
 .main .visual .hero .estimate .con dl:last-child { margin:0; } 
 .main .visual .hero .estimate .con dt { line-height:1.4; font-size:15px; font-weight:500; color:#596170; } 
 .main .visual .hero .estimate .con dd { line-height:1.4; font-size:15px; font-weight:300; color:#4262e6; } 
 .main .visual .hero .button { } 
 .main .visual .hero .button button { position: relative; width: 100%; height: 60px; border: none; border-radius: 30px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 12px; overflow: hidden; background: linear-gradient(120deg, #3b82f6, #2563eb, #60a5fa, #1d4ed8, #3b82f6); background-size: 300% 300%; animation: gradientFlow 4s ease infinite; box-shadow: 0px 10px 10px 0px #0030A126; transition: transform 0.2s ease, box-shadow 0.2s ease; } 
 .main .visual .hero .button button:hover { transform: translateY(-2px); box-shadow: 0 12px 24px rgba(37, 99, 235, 0.45); } 
 .main .visual .hero .button button .txt { line-height: 1.1; font-size: 18px; font-weight: 500; color: #fff; } 
 .main .visual .hero .button .arw { display: flex; align-items: center; gap: 6px; } 
 .main .visual .hero .button .arw i { display: inline-block; width: 10px; height: 10px; border-top: 2px solid #ffffff; border-right: 2px solid #ffffff; opacity: 0.3; animation: arrowPulse 1.2s infinite; } 
 .main .visual .hero .button .arw.lt i { transform: rotate(-135deg); } 
 .main .visual .hero .button .arw.rt i { transform: rotate(45deg); } 
 .main .visual .hero .button .arw.lt i:nth-child(1) { animation-delay: 0s; } 
 .main .visual .hero .button .arw.lt i:nth-child(2) { animation-delay: 0.2s; } 
 .main .visual .hero .button .arw.lt i:nth-child(3) { animation-delay: 0.4s; } 
 .main .visual .hero .button .arw.rt i:nth-child(1) { animation-delay: 0.4s; } 
 .main .visual .hero .button .arw.rt i:nth-child(2) { animation-delay: 0.2s; } 
 .main .visual .hero .button .arw.rt i:nth-child(3) { animation-delay: 0s; } 
 .main .visual .hero .button .arw.lt { --rotation: 45deg; } 
 .main .visual .hero .button .arw.rt { --rotation: -135deg; } 
 .main .visual .hero .ad-box { margin-top:20px; margin-bottom: 6px; display:none; } 
 .main .visual .hero .ad-box.on { display: block; } 
 .main .visual .hero .ad-box .tit { display: block; padding: 16px 16px; line-height: 1.4; font-size: 14px; font-weight: 600; color: #121316; border-radius: 12px; background: #f9fafe; text-align: center; } 
.main .visual .text { margin: 0 0 10px; } 
 .main .visual .hero .ad-box .txt { margin-top: 10px; display: block; text-align: center; line-height: 1.4; font-size: 15px; font-weight: 400; color: #596170; } 
 .main .visual .background { position:absolute; inset:0; pointer-events:none; z-index: 0; } 
 .main .visual .background img { display: block; width:100%; height:100%; object-fit:cover; } 

 .main .main-banner { padding:0 20px; } 
 .main .main-banner img { border-radius:16px; } 
 .main .main-banner img.pc-only { display:none; } 
 .main .main-banner img.mo-only { display:block; } 
 .main .promotion { padding: 60px 20px; } 
 .main .promotion .cont { flex-direction:column; align-items:stretch; gap:32px; } 
 .main .promotion .cont + .cont { margin-top:48px; } 
 .main .promotion .title { margin-bottom:24px; } 
 .main .promotion .title .tit { font-size:28px; } 
 .main .promotion .title .txt { font-size:15px; } 
 .main .promotion .sub { margin-bottom:24px; font-size:16px; } 
 .main .promotion .button { margin-bottom:24px; } 
 .main .promotion .button a { width:100%; height:54px; font-size:16px; } 
 .main .promotion .etc { font-size:13px; } 
 .main .promotion .cont .image { flex:none; width:100%; } 
 .main .promotion .cont .image img { border-radius:16px; } 
 .main .promotion .list { } 
 .main .promotion .list:before { position:static; display: block; } 
 .main .promotion .list ul { gap: 20px; flex-direction:column; } 
 .main .promotion .list li { flex:none; width:100%; } 
 .main .promotion .list .box { } 
 .main .promotion .list .flex { min-height:138px; } 
 .main .promotion .list .num { } 
 .main .promotion .list .img { } 
 .main .promotion .list .text { margin-top: 10px; } 
 .main .promotion .list .text .sub { font-size:16px; } 
 .main .promotion .list .text .tit { font-size:24px; } 
 .main .promotion .list .text .txt { font-size:16px; } 
 .main.indexv4 .promotion .badge { height:32px; margin-bottom:14px; font-size:13px; } 
 .main.indexv4 .promotion .title .tit { font-size:30px; line-height:1.28; } 
 .main.indexv4 .promotion .sub { margin-bottom:20px; font-size:16px; } 
 .main.indexv4 .promotion .sub em:after { height:8px; } 
 .main.indexv4 .promotion .benefits { gap:12px 16px; margin-bottom:24px; } 
 .main.indexv4 .promotion .benefits li { font-size:14px; white-space:normal; } 
 .main.indexv4 .promotion .benefits .ico { flex-basis:32px; width:32px; height:32px; } 
 .main.indexv4 .promotion .cont .image { flex:none; width:100%; max-width:none; border-radius:16px; } 
 .main.indexv4 .promotion .cont .image img { aspect-ratio:auto; height:auto; object-fit:contain; border-radius:16px; } 
 .main.indexv4 .promotion .cont .image .tag { top:12px; right:12px; height:32px; font-size:13px; } 

 .main .compare { padding: 80px 20px; } 
 .main .compare .title { } 
 .main .compare .title .sub { font-size:20px; } 
 .main .compare .title .tit { font-size:32px; } 
 .main .compare .title .txt { font-size:15px; } 
 .main .compare .list { } 
 .main .compare .list ul { flex-direction:column; align-items:stretch; } 
 .main .compare .list li { width:100%; } 
 .main .compare .list li:nth-child(1) .item { border-radius:12px; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } 
 .main .compare .list li:nth-child(2) .item { border-radius:12px; border-top-left-radius: 0; border-top-right-radius: 0; } 
 .main .compare .list .item { margin: 0; width:100%; max-width:100%; box-sizing:border-box; } 
 .main .compare .list .item .it-sub { } 
 .main .compare .list .item .it-tit { font-size:24px; } 
 .main .compare .list .item .it-txt { font-size:16px; } 
 .main .compare .list .item .it-con { width: 100%; } 
 .main .compare .list .item .it-con p { } 
 .main .compare .list .item .it-pri { display:flex; flex-wrap:wrap; gap:6px; } 
 .main .compare .list .item .it-pri dl { gap:6px; padding:12px 10px; } 
 .main .compare .list .item .it-pri dt { min-width:0; } 
 .main .compare .list .item .it-pri dt .logo { width:64px; height:26px; padding:2px 4px; border-radius:4px; background:#fff; } 
 .main .compare .list .item .it-pri dd { font-size:13px; } 
 .main .compare .list .item.on { width:100%; max-width:100%; padding:28px 16px; box-sizing:border-box; } 
 .main .compare .list .item.on .it-sub { height:32px; } 

 .main .howto { padding:80px 20px; } 
 .main .howto .flex { position:relative; padding:0; padding-bottom:0; flex-direction: column; align-items: center; gap: 40px; } 
 .main .howto .flex > .rt { width:100%; } 
 .main .howto .title { text-align:center; } 
 .main .howto .title .sub { font-size:20px; } 
 .main .howto .title .tit { line-height:1.1; font-size:32px; } 
 .main .howto .brand { margin-bottom: 0; } 
 .main .howto .brand ul { } 
 .main .howto .brand li { width:calc(50% - 5px); } 
 .main .howto .button { position:static; margin-top:32px; width:100%; } 
 .main .howto .swiper { } 
 .main .howto .swiper .num { } 
 .main .howto .swiper .tit { } 

 .main .award { padding: 80px 20px 0; } 
 .main .award .title { } 
 .main .award .title .sub { font-size:20px; } 
 .main .award .title .tit { line-height:1.1; font-size:32px; } 

 .main .standard { padding: 80px 20px; } 
 .main .standard .title { } 
 .main .standard .title .tit { line-height:1.3; font-size:32px; } 
 .main .standard .cont { } 
 .main .standard .figure { } 
 .main .standard .figure dl { } 
 .main .standard .figure dt { line-height:1.1; font-size: 16px; } 
 .main .standard .figure dd { font-size: 24px; } 
 .main .standard .list { } 
 .main .standard .list ul { flex-wrap:wrap; } 
 .main .standard .list li { flex:0 0 auto; width:calc(50% - 5px); padding:16px 12px; } 
 .main .standard .list li .img { margin-bottom:20px; width:50px; } 
 .main .standard .list li .tit { font-size:16px; } 
 .main .standard .list li .txt { font-size:13px; } 

 .main .system { padding: 60px 20px; } 
 .main .system .title { position:relative; margin:0 0 80px; } 
 .main .system .title .tit { margin: 0 0 10px; font-size: 24px; } 
 .main .system .title .txt { margin: 0 0 20px; font-size: 14px; } 
 .main .system .title .con { margin: 0 0 20px; } 
 .main .system .title .con p { margin: 0 0 10px; font-size: 14px; font-weight: 300; } 
 .main .system .title .con p:before { content:''; flex:0 0 auto; width:24px; height:24px; background:url("/img/check-cc426fa49335fa8a2ff13f39ea825fa8.svg") no-repeat center / contain; } 
 .main .system .title .bts { display:flex; align-items:center; } 
 .main .system .title .bts a { padding: 0 24px; height: 40px; font-size: 14px; width: auto; } 
 .main .system .title .img { position: absolute; transform: unset; margin: 20px 0 0 0; top: 78px; right: 0; width: auto; } 
 .main .system .title .img img { width: 80px; } 
 .main .system .cont { flex-direction: column; gap: 24px; } 
 .main .system .cont .text { } 
 .main .system .cont .text .tit { margin: 0 0 10px; font-size: 24px; } 
 .main .system .cont .text .txt { } 
 .main .system .cont .text .txt dl { padding: 10px 0; } 
 .main .system .cont .text .txt dt { margin: 0 0 10px; font-size: 16px; } 
 .main .system .cont .text .txt dt:before { content:''; width:5px; height:5px; border-radius:5px; margin:0 10px; background:var(--sub-color-2); } 
 .main .system .cont .text .txt dd { font-size: 14px; font-weight: 300; } 
 .main .system .cont .text .txt dd:before { content:''; flex:0 0 auto; width:24px; height:24px; background:url("/img/check-cc426fa49335fa8a2ff13f39ea825fa8.svg") no-repeat center / contain; } 
 .main .system .cont .image { width: 100%; max-width: 100%; } 
 .main .system .cont .image img { width: 100%; height: auto; max-width: 440px; margin: 0 auto; } 
 .main .system .cont .image img.pc-only { display:none !important; } 
 .main .system .cont .image img.mo-only { display:block !important; } 

 .main .case { padding: 40px 20px; background:#ffffff; } 
 .main .case .title { margin:0 0 40px; } 
 .main .case .title .tit { font-size: 24px; } 
 .main .case .tabs { margin: 0 0 20px; } 
 .main .case .tabs .tabs-btn { padding: 0 20px; height: 36px; font-size: 14px; } 
 .main .case .tabs .tabs-btn.is-active { background:var(--main-color); color:#fff; } 
 .main .case .list { } 
 .main .case .list ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; } 
 .main .case .list li { width: 100%; } 
 .main .case .list li .img { margin:0 0 16px; display:flex; aspect-ratio:44/32; border-radius:8px; overflow:hidden; } 
 .main .case .list li .img > span { flex:1; position:relative; } 
 .main .case .list li .img > span img { width:100%; height:100%; object-fit:cover; } 
 .main .case .list li .img > span em { height: 28px; padding: 0 10px; width: auto; font-size: 14px; white-space: nowrap; } 
 .main .case .list li .img > span:nth-child(1) em { background:var(--sub-color-3); } 
 .main .case .list li .img > span:nth-child(2) em { background:var(--sub-color); } 
 .main .case .list li .tit { margin: 0 0 10px; font-size: 16px; } 
 .main .case .list li .txt { gap: 4px; font-size: 16px; } 
 .main .case .list li .txt span { height: 28px; padding: 0 10px; font-size: 14px; } 
 .main .case .more { margin:40px 0 0; display:flex; align-items:center; justify-content:center; } 
 .main .case .more a { width: 100%; height: 50px; font-size: 16px; } 

 .main .process { padding: 80px 20px; } 
 .main .process .title { margin:0 0 40px; text-align:center; } 
 .main .process .title .tit { font-size: 32px; } 
 .main .process .title .txt { margin: 20px 0 0; font-size: 16px; } 
 .main .process .cont { } 
 .main .process .step { } 
 .main .process .step ul { flex-wrap: wrap; gap: 30px 10px; justify-content: center; } 
 .main .process .step li { flex: 0 0 auto; width: 100%; max-width: 264px; } 
 .main .process .step li .box { display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; height:auto; aspect-ratio:1/1; border-radius:100%; border:1px solid #c4c5c6; box-shadow:0 8px 40px var(--shadow-color-2); } 
 .main .process .step li .ico { width: 40px; height: 40px; } 
 .main .process .step li .ico img { width:100%; height:100%; object-fit:contain; } 
 .main .process .step li .num { margin: 0 0 10px; font-size: 20px; } 
 .main .process .step li .tit { font-size: 30px; } 
 .main .process .step li .txt { margin: 30px 0 0; font-size: 18px; } 
 .main .process .step li:last-child .box { background:var(--sub-color-5); } 
 .main .process .step li:last-child .num { color:#fff; } 
 .main .process .step li:last-child .tit { color:#fff; } 
 .main .process .step li:last-child .txt { margin: 12px 0 0; padding: 10px; font-size: 16px; } 
 .main .process .step li:last-child .txt strong { font-size: 24px; word-break: keep-all; } 
 .main .process .text { margin: 40px 0 0; line-height: 1.4; font-size: 16px; word-break: keep-all; } 
 .main .process .counsel { margin: 60px 0 0 0; padding: 60px 20px; border-radius: 15px; } 
 .main .process .counsel:before { content:''; position:absolute; z-index:0; inset:0; background:#000; opacity:0.3; } 
 .main .process .counsel .sub { font-size: 15px; } 
 .main .process .counsel .tit { font-size: 24px; word-break: keep-all; } 
 .main .process .counsel .bts { position:relative; z-index:1; margin:0 0 20px; display: flex; align-items: center; justify-content: center; text-align: center; } 
 .main .process .counsel .bts a { font-size: 15px; padding: 10px 20px; } 
 .main .process .counsel .bts a br { display:none; } 
 .main .process .counsel .tel { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; } 
 .main .process .counsel .tel dl { padding: 0 20px; height: 50px; gap: 6px; } 
 .main .process .counsel .tel dl:before { width: 20px; height: 20px; } 
 .main .process .counsel .tel dl dt { font-size: 14px; } 
 .main .process .counsel .tel dl dd { font-size: 18px; } 
  }



@media (max-width:768px){
 .main .visual .text .brand li { width:calc(50% - 5px); } 
 .main .visual .text .btn dl { flex:1 1 calc(50% - 5px); width:calc(50% - 5px); } 
}


/* header 수정 */
/* =========================
 메인페이지 헤더 - 스크롤 전
========================= */
#header.home-header:not(.fixed) { border-bottom: 1px solid rgb(0 0 0 / 10%); } 

/* 메인페이지 - GNB 블랙 */
#header.home-header:not(.fixed) .gnb .da1 { color: #222; } 

/* 메인페이지 - 블랙 로고 */
#header.home-header:not(.fixed) .logo a { aspect-ratio: 230/38; background: url(/img/indexv3/logo_on-489712ac2417a63a8834a638dfecf91a.svg) no-repeat center / contain; } 

/* 메인페이지 - 상담버튼 */
#header.home-header:not(.fixed) .button a.btn-counsel { color: #222; border-color: #222; } 
@media (max-width : 1024px){
 #header.home-header:not(.fixed) .button a.btn-menu:before { content: ''; width: 24px; height: 24px; background: url("/img/menu_on-567d8ef5b0cd6f7fa8f3c979c7b16273.svg") no-repeat center / contain; } 
 }


 /* 상담신청 완료 추가 */
 .main.newmain .rocket-wrap.complete .complete-area .title { margin: 0px 0 20px; } 
 .main.newmain .rocket-wrap.complete .complete-area .title .tit { font-size: 32px; } 
 .main.newmain .complete-area .contents .progress { gap: 0px; } 
 .main.newmain .complete-area .contents .receipt .receipt-info .row dt {
  text-align: left;
}
.main.newmain .rocket-wrap.complete .complete-area .image {
  margin: 0 0 10px;
}
#container .main.newmain .rocket-wrap {
  padding: 0px !important;
}

/* step-4 방문상담 예약 */
.main.newmain .visit-consult {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 8px;
}
.main.newmain .visit-consult-top {
  display: flex;
  gap: 16px;
  align-items: stretch;
  width: 100%;
  padding: 20px;
  border-radius: 16px;
  background: #f5f6f8;
  box-sizing: border-box;
}
.main.newmain .visit-calendar-card {
  flex: 0 0 46%;
  max-width: 280px;
  min-width: 0;
  padding: 16px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
}
.main.newmain .visit-calendar-card .cal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.main.newmain .visit-calendar-card .cal-title {
  font-size: 16px;
  font-weight: 700;
  color: #121316;
  letter-spacing: -0.04em;
}
.main.newmain .visit-calendar-card .cal-nav {
  display: flex;
  gap: 4px;
}
.main.newmain .visit-calendar-card .cal-nav button {
  position: relative;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  cursor: pointer;
}
.main.newmain .visit-calendar-card .cal-nav button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  border-top: 2px solid #596170;
  border-right: 2px solid #596170;
  box-sizing: border-box;
}
.main.newmain .visit-calendar-card .cal-nav .cal-prev::before {
  transform: translate(-40%, -50%) rotate(-135deg);
}
.main.newmain .visit-calendar-card .cal-nav .cal-next::before {
  transform: translate(-60%, -50%) rotate(45deg);
}
.main.newmain .visit-calendar-card .cal-nav button:hover::before { border-color: #121316; }
.main.newmain .visit-calendar-card .cal-week {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  margin-bottom: 4px;
  text-align: center;
}
.main.newmain .visit-calendar-card .cal-week span {
  font-size: 12px;
  font-weight: 500;
  color: #596170;
  line-height: 28px;
}
.main.newmain .visit-calendar-card .cal-week .sun { color: #e55; }
.main.newmain .visit-calendar-card .cal-week .sat { color: #4262E6; }
.main.newmain .visit-calendar-card .cal-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px 0;
  text-align: center;
}
.main.newmain .visit-calendar-card .cal-days button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1;
  max-height: 34px;
  margin: 0 auto;
  border: 0;
  border-radius: 50%;
  background: transparent;
  font-size: 13px;
  font-weight: 500;
  color: #121316;
  cursor: pointer;
  padding: 0;
}
.main.newmain .visit-calendar-card .cal-days button.sun { color: #e55; }
.main.newmain .visit-calendar-card .cal-days button.sat { color: #4262E6; }
.main.newmain .visit-calendar-card .cal-days button.other { color: #bdc0c6; }
.main.newmain .visit-calendar-card .cal-days button.disabled,
.main.newmain .visit-calendar-card .cal-days button.disabled.sun,
.main.newmain .visit-calendar-card .cal-days button.disabled.sat,
.main.newmain .visit-calendar-card .cal-days button.disabled.other {
  background: none !important;
  color: #c8cad0;
  cursor: default;
  pointer-events: none;
}
.main.newmain .visit-calendar-card .cal-days button.selected {
  background: #4262E6;
  color: #fff !important;
  font-weight: 700;
}
.main.newmain .visit-calendar-card .cal-days button:not(.disabled):not(.selected):hover {
  background: #eef1fc;
}
.main.newmain .visit-calendar-card .cal-note {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #f0f4ff;
}
.main.newmain .visit-calendar-card .cal-note .ico {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin-top: 1px;
}
.main.newmain .visit-calendar-card .cal-note .ico img { width: 100%; height: 100%; display: block; }
.main.newmain .visit-calendar-card .cal-note p {
  margin: 0;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.45;
  color: #4262E6;
  letter-spacing: -0.03em;
  word-break: keep-all;
}
.main.newmain .visit-info-card {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.main.newmain .visit-info-head {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.main.newmain .visit-info-head .ico {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
}
.main.newmain .visit-info-head .ico img { width: 100%; height: 100%; display: block; object-fit: contain; }
.main.newmain .visit-info-head .tit {
  font-size: 18px;
  font-weight: 700;
  color: #4262E6;
  line-height: 1.3;
  letter-spacing: -0.04em;
}
.main.newmain .visit-info-head .sub {
  margin-top: 2px;
  font-size: 13px;
  font-weight: 400;
  color: #596170;
  line-height: 1.4;
  letter-spacing: -0.03em;
}
.main.newmain .visit-info-desc {
  margin: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  color: #353a43;
  letter-spacing: -0.03em;
  word-break: keep-all;
}
.main.newmain .visit-info-check {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
}
.main.newmain .visit-info-check li {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 500;
  color: #353a43;
  letter-spacing: -0.03em;
  white-space: nowrap;
}
.main.newmain .visit-info-check li::before {
  content: "";
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  background: url("/img/indexv3/check_circle_fill-0d358fadb98507b11e8c909667e25ecd.svg") no-repeat center / contain;
}
.main.newmain .visit-reserve-box {
  margin-top: auto;
  padding: 16px;
  border-radius: 12px;
  border: 1px solid #dedfe2;
  background: #fff;
  box-sizing: border-box;
}
.main.newmain .visit-reserve-box .tit {
  margin-bottom: 12px;
  font-size: 15px;
  font-weight: 700;
  color: #121316;
  letter-spacing: -0.04em;
}
.main.newmain .visit-reserve-box .reserve-date {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #f9fafe;
}
.main.newmain .visit-reserve-box .reserve-date dt {
  font-size: 13px;
  font-weight: 400;
  color: #596170;
}
.main.newmain .visit-reserve-box .reserve-date dd {
  font-size: 14px;
  font-weight: 600;
  color: #121316;
  letter-spacing: -0.03em;
}
.main.newmain .visit-reserve-box .btn-visit-apply {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 48px;
  border: 0;
  border-radius: 8px;
  background: #4262E6;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  cursor: pointer;
  letter-spacing: -0.03em;
}
.main.newmain .visit-reserve-box .btn-visit-apply:hover { background: #2A47BF; }
.main.newmain .visit-reserve-box .cite {
  margin: 10px 0 0;
  text-align: center;
  font-size: 12px;
  font-weight: 400;
  color: #7a818d;
  letter-spacing: -0.03em;
}
.main.newmain .visit-feature {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  width: 100%;
}
.main.newmain .visit-feature li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 8px;
  border-radius: 12px;
  border: 1px solid #dedfe2;
  background: #fff;
  text-align: center;
  box-sizing: border-box;
}
.main.newmain .visit-feature .ico {
  width: 38px;
  height: 38px;
}
.main.newmain .visit-feature .ico img { width: 100%; height: 100%; display: block; object-fit: contain; }
.main.newmain .visit-feature p {
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  color: #353a43;
  letter-spacing: -0.03em;
  word-break: keep-all;
}
.main.newmain .visit-feature p span { font-weight: 700; color: #4262E6; }
.main.newmain .visit-tel {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 28px 16px;
  border-radius: 12px;
  background: #eef3ff;
  box-sizing: border-box;
}
.main.newmain .visit-tel .ico {
  width: 56px;
  height: 56px;
}
.main.newmain .visit-tel .ico img { width: 100%; height: 100%; display: block; object-fit: contain; }
.main.newmain .visit-tel .txt {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  color: #353a43;
  text-align: center;
  letter-spacing: -0.03em;
  word-break: keep-all;
}
.main.newmain .visit-tel .num {
  font-size: 24px;
  font-weight: 700;
  color: #121316;
  letter-spacing: -0.04em;
  text-decoration: none;
}
.main.newmain .visit-main-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 20px;
  border: 1px solid #DEDFE2;
  border-radius: 12px;
  box-sizing: border-box;
}
.main.newmain .visit-main-link .desc {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  color: #596170;
  letter-spacing: -0.03em;
  word-break: keep-all;
  text-align: left;
}
.main.newmain .visit-main-link .btn-main {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 10px 16px;
  border-radius: 999px;
  background: #FAFAFA;
  font-size: 16px;
  font-weight: 600;
  color: #2A47BF;
  text-decoration: none;
  letter-spacing: -0.03em;
  white-space: nowrap;
}
.main.newmain .visit-main-link .btn-main::after {
  content: "";
  width: 14px;
  height: 14px;
  background: url("/img/arrow-right-8e5540cb01a359e7d7ea9ea80e324596.svg") no-repeat center / contain;
}
@media (max-width: 1024px) {
  .main.newmain .visit-consult-top { flex-direction: column; padding: 14px; }
  .main.newmain .visit-calendar-card { flex: none; max-width: none; width: 100%; }
  .main.newmain .visit-feature { grid-template-columns: repeat(2, 1fr); }
  .main.newmain .visit-main-link { flex-direction: column; align-items: flex-start; }
  .main.newmain .visit-info-check { flex-direction: column; gap: 8px; }
}
@media (max-width: 768px) {
  .main.newmain .visit-feature { grid-template-columns: 1fr 1fr; }
  .main.newmain .visit-tel .num { font-size: 20px; }
  .main.newmain .visit-info-head .tit { font-size: 16px; }
}