@charset "utf-8"; 

@font-face {
	font-family: "Pretendard";
	font-weight: 100;
	src: url("/fonts/Pretendard-Regular.woff2") format("woff2")
}

@font-face {
	font-family: "Pretendard";
	font-weight: 400;
	src: url("/fonts/Pretendard-Medium.woff2") format("woff2")
}

@font-face {
	font-family: "Pretendard";
	font-weight: 500;
	src: url("/fonts/Pretendard-SemiBold.woff2") format("woff2")
}

@font-face {
	font-family: "Pretendard";
	font-weight: 700;
	src: url("/fonts/Pretendard-Bold.woff2") format("woff2")
}

* { margin: 0; padding: 0; position: relative; box-sizing: border-box; outline: none; border: none; word-break: keep-all; letter-spacing: -0.5px; -webkit-tap-highlight-color : transparent !important; }
body, html { overflow-x: hidden; font-size: 13px; font-family: "Pretendard", sans-serif; font-weight: 400; color: #000; }
a { color: inherit; }
label, button, input, textarea, select { font-size: 13px; font-family: "Pretendard", sans-serif; }
label, button { cursor: pointer; }
*::placeholder { color: #CCC; }
img { max-width: 100%; }

:root { --main: #9E2834; }

.sec { width: 100%; float: left; }
.sec > div { width: 1200px; margin: 0 auto; }
.sec > div > div { width: 100%; float: left; }
.sec.full { width: 100vw; left: 50%; transform: translateX(-50%); }

.moOnly { display: none !important; }
.pcOnly { display: inline-block !important; }

#hd { width: 100%; float: left; }
#hd > .logo { width: 100%; float: left; background-color: var(--main); text-align: center; height: 140px; line-height: 140px; }
#hd > .menu { width: 100%; float: left; background-color: #FFF; text-align: center; height: 100px; line-height: 100px; transition: box-shadow 0.35s; box-shadow: 0 0 10px rgba(0, 0, 0, 0); left: 0; top: 0; z-index: 10; }
#hd > .menu > a { margin: 0 25px; color: #3E3A3A; font-size: 28px; }

#ft { background-color: #F7F7F7; padding-top: 50px; padding-bottom: 70px; margin-top: 100px; }
#ft .logo { position: absolute; right: 0; top: 50%; transform: translateY(-50%); z-index: 2; }
#ft .logo img { height: 50px; }
#ft .logo p { text-align: right; margin-bottom: 10px; }
#ft .logo p > a { font-size: 28px; color: #111; margin-left: 5px; }
#ft .logo p > a:first-of-type { margin-left: 0; }
#ft .info { width: 100%; float: left; }
#ft .info > p { width: 100%; float: left; color: #808080; margin-top: 30px; font-weight: 100; font-size: 13px; line-height: 21px; }
#ft .info > p:first-of-type { margin-top: 0; }
#ft .info > p.small { line-height: 15px; font-size: 11px; }
#ft .info > p > b { color: #000; font-size: 24px; font-weight: 700; line-height: 24px; }
#ft .info > p > span { display: inline-block; margin: 0 15px; }

#callBtn { position: fixed; width: 70px; height: 70px; right: 30px; bottom: 30px; z-index: 10; background-color: var(--main); border-radius: 100%; box-shadow: 0 4px 5px rgba(0, 0, 0, 0.3); }
#callBtn > img { position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); }
#callBtn > i { font-size: 32px; color: #FFF; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); position: absolute; }

#wrap { min-height: calc(100vh - 240px); }

body.on > #wrap { padding-top: 100px; }
body.on > #hd > .menu { position: fixed; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }

#topConsulting { background-color: #f4ece3; margin-bottom: 100px; }
#topConsulting a { width: 100%; float: left; overflow: hidden; height: 125px; line-height: 125px; padding-left: 180px; font-size: 26px; font-weight: 700; color: var(--main); }
#topConsulting a > img { position: absolute; right: 0; top: 50%; transform: translateY(-50%); }

.clearfix { width: 100%; clear: both; }

#moFoot { position: fixed; z-index: 10; left: 0; bottom: 0; background-color: #FFF; border-top: 1px solid #DDD; width: 100%; padding: 0 10px; }
#moFoot > a { width: calc(100% / 4); float: left; height: 60px; text-align: center; font-size: 12px; font-weight: 500; color: #202020; padding: 8px 0; }
#moFoot > a > i { width: 100%; float: left; font-size: 20px; margin-top: 4px; }
#moFoot > a > span { width: 100%; float: left; margin-top: 5px; }

#moHeader { width: 100%; float: left; padding: 20px; }
#moHeader > .logo { float: left; }
#moHeader > .logo > img { float: left; height: 38px; }
#moHeader > .call { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); font-size: 16px; font-weight: 700; }
#moHeader > .call > i { margin-right: 5px; top: 1px; }

#topTitleBox { width: 100%; float: left; text-align: center; margin-bottom: 60px; }
#topTitleBox > p { width: 100%; float: left; }
#topTitleBox > .title { font-size: 56px; font-weight: 700; color: var(--main); }
#topTitleBox > .txt { font-size: 17px; font-weight: 100; line-height: 24px; margin-top: 20px; }
#topTitleBox > .img { margin-bottom: 5px; }

.pg_wrap { width: 100%; float: left; text-align: center; }
.pg_wrap > .pg > * { display: inline-block; width: 40px; height: 40px; line-height: 40px; background: #FFF; border: 0; color: #000; font-size: 18px; text-align: center; text-indent: 0; border-radius: 0; }
.pg_wrap > .pg > .sound_only { display: none !important; }
.pg_wrap .pg_current { color: var(--main); border-bottom: 2px solid var(--main); }

#consultingBox { width: 100%; float: left; padding: 0 25%; }
#consultingBox > .tit { width: 100%; float: left; border-bottom: 1px solid #ECECEC; text-align: right; padding-bottom: 15px; color: var(--main); font-weight: 500; font-size: 14px; }
#consultingBox > ul { width: 100%; float: left; margin-bottom: 40px; }
#consultingBox > ul > li { width: 100%; float: left; margin-top: 50px; }
#consultingBox > ul > li > .title { width: 100%; float: left; font-weight: 500; font-size: 21px; margin-bottom: 10px; }
#consultingBox > ul > li .req::after { content: "*"; color: var(--main); position: relative; top: -2px; }
#consultingBox > ul > li > .noti { width: 100%; float: left; font-weight: 500; font-size: 13px; margin-top: 10px; color: var(--main); }
#consultingBox > ul > li select { -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; }
#consultingBox > ul > li > .textbox { width: calc(calc(100% - 15px) / 2); float: left; border-radius: 5px; overflow: hidden; margin-right: 15px; background-color: #ECECEC; }
#consultingBox > ul > li > .textbox > .frmbox { width: 100%; float: left; background-color: rgba(0, 0, 0, 0); font-size: 15px; padding: 0 15px; height: 50px; z-index: 2; }
#consultingBox > ul > li > .textbox.half { margin-right: 0; }
#consultingBox > ul > li > .textbox > i { position: absolute; right: 0; top: 0; height: 50px; width: 50px; background-color: var(--main); color: #FFF; font-size: 21px; text-align: center; line-height: 50px; z-index: 1; }
#consultingBox > ul > li > .radioChk { float: left; margin-right: 30px; line-height: 25px; }
#consultingBox > ul > li > .radioChk:last-of-type { margin-right: 0; }
#consultingBox > ul > li > .radioChk > input { display: none; }
#consultingBox > ul > li > .radioChk > b { float: left; width: 25px; height: 25px; border-radius: 100%; background-color: #ECECEC; margin-right: 10px; }
#consultingBox > ul > li > .radioChk.chk > b { border-radius: 5px; }
#consultingBox > ul > li > .radioChk > b > b { position: absolute; width: 60%; height: 60%; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); background-color: var(--main); border-radius: 100%; opacity: 0; }
#consultingBox > ul > li > .radioChk > b > i { position: absolute; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); color: var(--main); opacity: 0; font-size: 18px; }
#consultingBox > ul > li > .radioChk > input:checked ~ b > b { opacity: 1; }
#consultingBox > ul > li > .radioChk > input:checked ~ b > i { opacity: 1; }
#consultingBox > ul > li > .radioChk > span { font-weight: 400; font-size: 15px; }
#consultingBox > ul > li.line { border-top: 1px solid #ECECEC; border-bottom: 1px solid #ECECEC; padding: 20px 0; margin-top: 30px; }
#consultingBox > ul > li.line > a { position: absolute; right: 0; top: 50%; line-height: 40px; background-color: var(--main); color: #FFF; font-size: 15px; text-align: center; z-index: 1; transform: translateY(-50%); padding: 0 15px; border-radius: 5px; }
#consultingBox > .btnBox { width: 100%; float: left; padding: 0 20%; }
#consultingBox > .btnBox > button { width: 100%; float: left; height: 60px; border-radius: 50px; border: 1px solid #000; background-color: #000; color: #FFF; font-weight: 700; font-size: 18px; transition: background-color 0.35s, color 0.35s; }
#consultingBox > .btnBox > button:hover { color: #000; background-color: #FFF; }

#consultingVisual { width: 100%; float: left; }
#consultingVisual > .title { width: 100%; float: left; margin-top: 100px; margin-bottom: 50px; font-size: 28px; font-weight: 500; }
#consultingVisual > .img { width: 100%; float: left; text-align: center; }
#consultingVisual > .noti { width: 100%; float: left; font-size: 12px; margin-top: 20px; font-weight: 500; text-align: center; }
#consultingVisual > .noti.center { text-align: left; padding-left: 12px; }
#consultingVisual > .noti.center::before { content: "※"; position: absolute; top: 0; left: 0; font-size: 12px; font-weight: 500; }
#consultingVisual > ul { width: 100%; float: left; }
#consultingVisual > ul > li { width: calc(calc(100% - 80px) / 3); float: left; margin-right: 40px; }
#consultingVisual > ul > li:nth-of-type(3n) { margin-right: 0; }
#consultingVisual > ul > li > .tit { width: 100%; float: left; font-weight: 500; font-size: 21px; }
#consultingVisual > ul > li > p { width: 100%; float: left; font-weight: 500; font-size: 18px; }
#consultingVisual > ul > li > img { width: 100%; float: left; margin: 20px 0; }

.videoBox > video { width: 100%; float: left; }
.videoBox > img { position: absolute; left: 50%; z-index: 2; bottom: 10%; transform: translateX(-50%); max-height: 80%; }
.videoBox::after { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 3; }

#main01 { width: 100%; float: left; margin-top: 70px; text-align: center; padding: 0 20%; }
#main01 > .title { width: 100%; float: left; font-weight: 500; color: var(--main); font-size: 32px; margin-bottom: 40px; }
#main01 > ul { width: 100%; float: left; }
#main01 > ul > li { width: calc(calc(100% - 120px) / 3); float: left; margin-right: 60px; }
#main01 > ul > li:nth-of-type(3n) { margin-right: 0; }
#main01 > ul > li > a { width: 100%; float: left; }
#main01 > ul > li > a > .img { width: 100%; float: left; border-radius: 30px; overflow: hidden; margin-bottom: 20px; }
#main01 > ul > li > a > .img > img { width: 100%; float: left; }
#main01 > ul > li > a > b { width: 100%; float: left; font-size: 16px; font-weight: 500; }
#main01 > ul > li > a > b > span { font-size: 13px; font-weight: 100; }

#main02 { width: 100%; float: left; margin-top: 70px; text-align: center;; padding: 0 20%; }
#main02 > .title { width: 100%; float: left; text-align: left; color: var(--main); font-weight: 700; font-size: 20px; margin-bottom: 20px; }
#main02 > ul { width: 100%; float: left; }
#main02 > ul > li { width: 100%; float: left; display: table; table-layout: fixed; font-size: 14px; }
#main02 > ul > li > span { height: 60px; display: table-cell; vertical-align: middle; width: 200px; }
#main02 > ul > li > span:nth-of-type(2) { width: auto; text-align: left; }
#main02 > ul > li > span > span { display: inline-block; color: var(--main); border: 1px solid var(--main); border-radius: 5px; padding: 0 20px; line-height: 30px; }
#main02 > ul > li.th { color: #FFF; background-color: var(--main); }
#main02 > ul > li.th > span:nth-of-type(2) { text-align: center; }
#main02 > ul > li.td { border-bottom: 1px solid #ECECEC; }

#main03 { width: 100%; float: left; margin-top: 140px; margin-bottom: 50px; }
#main03 > .title { width: 100%; float: left; margin-bottom: 40px; }
#main03 > .title > b { position: absolute; left: 0; top: 0; font-size: 28px; font-weight: 500; }
#main03 > .title > p { width: 100%; float: left; padding-left: 250px; font-size: 15px; font-weight: 400; line-height: 24px; }
#main03 > ul { width: 100%; float: left; }
#main03 > ul > li { width: calc(calc(100% - 60px) / 3); margin-right: 30px; margin-bottom: 50px; float: left; }
#main03 > ul > li:nth-of-type(3n) { margin-right: 0; }
#main03 > ul > li > a { width: 100%; float: left; }
#main03 > ul > li > a > p { width: 100%; float: left; }
#main03 > ul > li > a > .img { padding-bottom: 100%; background-size: cover; background-position: center; }
#main03 > ul > li > a > .tit { font-weight: 400; font-size: 18px; margin-top: 20px; line-height: 28px; height: 58px; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; display: -webkit-box; }
#main03 > .btns { width: 100%; float: left; text-align: right; }

#main04 { background-color: #F7F7F7; padding: 140px 0; }
#main04 .title { width: 100%; float: left; margin-bottom: 40px; text-align: center; }
#main04 .title > b { width: 100%; float: left; font-size: 32px; font-weight: 500; margin-bottom: 20px; }
#main04 .title > p { width: 100%; float: left; font-size: 15px; font-weight: 400; line-height: 24px; }
#main04 .title > a { position: absolute; right: 0; bottom: 0; }
#main04 .title > a > img { mix-blend-mode: multiply; }
#main04 .swiper { width: 100vw; left: 50%; transform: translateX(-50%); float: left; padding: 0 30px; }
#main04 .swiper > ul > li { width: 300px; float: left; }
#main04 .swiper > ul > li > a { width: 100%; float: left; }
#main04 .swiper > ul > li > a > p { width: 100%; float: left; }
#main04 .swiper > ul > li > a > .img { padding-bottom: 100%; background-size: cover; background-position: center; }
#main04 .swiper > ul > li > a > .tit { font-weight: 400; font-size: 21px; margin-top: 15px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
#main04 .swiper > ul > li > a > .subtit { font-weight: 100; font-size: 15px; margin-top: 5px; color: #656565; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

@media (max-width: 1240px){
	.sec > div { width: 100%; float: left; }
	#wrap { padding: 0 20px; }
	.sec.moBlank { padding-left: 20px; padding-right: 20px; }
}

@media (max-width: 800px){
	.moOnly { display: inline-block !important; }
	.pcOnly { display: none !important; }
	
	#hd { display: none; }
	
	#ft { margin-top: 40px; padding-bottom: 120px; padding-top: 20px; }
	#ft .logo { transform: none; top: 0; text-align: left; width: 100%; float: left; position: relative; margin-bottom: 20px; }
	#ft .logo img { height: 40px; }
	#ft .logo > p { text-align: left; margin-bottom: 5px; }
	#ft .logo > p > a { font-size: 18px; }
	#ft .info > p { margin-top: 20px; font-size: 12px; line-height: 18px; }
	#ft .info > p > span { margin: 0 5px; }
	
	#callBtn { display: none; }
	#topConsulting { display: none; }
	
	#topTitleBox { margin: 40px 0; }
	#topTitleBox > .title { font-size: 38px; }
	#topTitleBox > .txt { font-size: 14px; line-height: 18px; margin-top: 10px; }
	
	.pg_wrap > .pg > * { width: 30px; height: 30px; line-height: 30px; font-size: 14px; }
	
	#consultingBox { padding: 0; }
	#consultingBox > .tit { padding-bottom: 10px; font-size: 12px; }
	#consultingBox > ul { margin-bottom: 20px; }
	#consultingBox > ul > li { margin-top: 20px; }
	#consultingBox > ul > li > .title { font-size: 16px; margin-bottom: 10px; }
	#consultingBox > ul > li > .noti { font-size: 12px; margin-top: 5px; }
	#consultingBox > ul > li > .textbox { width: calc(calc(100% - 10px) / 2); margin-right: 10px; }
	#consultingBox > ul > li > .radioChk { margin-right: 20px; margin-bottom: 10px; }
	#consultingBox > ul > li > .radioChk:last-of-type { margin-bottom: 0; }
	#consultingBox > ul > li.line > a { line-height: 30px; font-size: 13px; }
	#consultingBox > .btnBox { padding: 0 10%; }

	#consultingVisual > .title { margin-top: 40px; margin-bottom: 20px; font-size: 21px; }
	#consultingVisual > .noti { margin-top: 15px; }
	#consultingVisual > ul > li { width: 100%; margin-right: 0; margin-bottom: 40px; }
	#consultingVisual > ul > li:last-of-type { margin-bottom: 0; }
	#consultingVisual > ul > li > .tit { font-size: 16px; }
	#consultingVisual > ul > li > p { font-size: 13px; }
	#consultingVisual > ul > li > img { margin: 15px 0; }
	
	#main01 { margin-top: 40px; padding: 0; }
	#main01 > .title { font-size: 24px; margin-bottom: 20px; }
	#main01 > ul > li { width: calc(calc(100% - 20px) / 3); margin-right: 10px; }
	#main01 > ul > li > a > .img { margin-bottom: 10px; border-radius: 15px; }
	#main01 > ul > li > a > b { font-size: 14px; }
	#main01 > ul > li > a > b > span { font-size: 11px; }

	#main02 { margin-top: 40px; padding: 0; }
	#main02 > .title { font-size: 18px; margin-bottom: 15px; }
	#main02 > ul > li { font-size: 13px; }
	#main02 > ul > li > span { height: 50px; width: 100px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
	#main02 > ul > li > span:nth-of-type(2) { width: auto; }
	#main02 > ul > li > span > span { padding: 0 5px; line-height: 20px; font-size: 12px; }

	#main03 { margin-top: 40px; margin-bottom: 40px; }
	#main03 > .title { margin-bottom: 20px; }
	#main03 > .title > b { font-size: 21px; position: relative; width: 100%; float: left; margin-bottom: 10px; }
	#main03 > .title > p { padding-left: 0; font-size: 13px; line-height: 18px; }
	#main03 > ul > li { width: 100%; margin-right: 0; margin-bottom: 40px; }
	#main03 > .btns img { width: 55px; }

	#main04 { padding: 40px 0; }
	#main04 .title { margin-bottom: 20px; }
	#main04 .title > b { font-size: 26px; margin-bottom: 10px; }
	#main04 .title > p { font-size: 13px; line-height: 21px; margin-bottom: 30px; }
	#main04 .title > a { bottom: 5px; right: 10px; }
	#main04 .title > a img { width: 55px; }
	#main04 .swiper > ul > li { width: 280px; }
	
}