@charset "utf-8";

/* main visual */
.main_visual .top_box {padding: 155px 0; position: relative; background: url(/img/main_visual_top_bg.jpg) no-repeat bottom right; background-size: contain;}
.main_visual .top_box::before {content: ''; position: absolute;}
.main_visual .top_box h2 {font-size: 90px; line-height: 1em; letter-spacing: 0; font-weight: 700;}
.main_visual .top_box h2 br.mobile_on {display: none;}
.main_visual .top_box h2 span {color: #00b050; position: relative; z-index: 1;}
.main_visual .bot_box .inner {display: table; height: 100%;}
.main_visual .bot_box .tc_box {display: table-cell; vertical-align: middle;}
.main_visual .bot_box .tc_box span {font-size: 22px; line-height: 4.45em; font-weight: 700; letter-spacing: 0.6em; color: #fff;}
.main_visual .bot_box .tc_box h2 {font-size: 60px; line-height: 1.23em; letter-spacing: -0.025em; color: #fff; font-weight: 700; margin-bottom: 53px;}

@media all and (max-width: 1250px) {
  .main_visual .top_box h2 br.mobile_on {display: block;}
}

@media all and (max-width: 1000px) {
  .main_visual .top_box h2 {font-size: 65px;}
  .main_visual .bot_box .tc_box h2 {font-size: 50px; margin-bottom: 0; word-break: keep-all; text-align: center;}
  .main_visual .bot_box .tc_box h2 br.mobile_off {display: none;}
}

/* 스와이퍼 */
.main_visual .swiper {overflow: hidden; position: relative;}
.main_visual .swiper-slide {width: 100%; height: 800px; position: relative; box-sizing: border-box;}
.main_visual .swiper-slide .bg_box {width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -1;}
.main_visual .swiper-slide .bg_box img {width: 100%; height: 100%; object-fit: cover; object-position: center center;}
.main_visual .swiper-slide .txt_box {height: 100%;}

/* 스와이퍼 페이지네이션 */
.main_visual .swiper-pagination {width: auto !important; left: calc((100% - 1400px)/2) !important; bottom: 280px !important; top:auto;}

@media all and (max-width:1400px) {
  .main_visual .swiper-pagination {left: 3.125% !important;}
}

@media all and (max-width:1000px) {
  .main_visual .swiper-pagination {bottom: 10px !important; width: 100% !important; left: 0 !important;}
}

/* 스와이퍼 불릿 */
.main_visual .swiper-pagination-bullet {opacity: 1; background-color: #fff; height: 10px; width: 10px; margin: 0 5px !important;}
.main_visual .swiper-pagination-bullet-active {width: 40px; border-radius: 20px;}

/* 공통사항 */
.main_tit {text-align: center;}
.main_tit h3 {font-size: 52px; line-height: 1em; letter-spacing: -0.025em; color: #000; font-weight: 700;}
.main_tit h3 br.mobile_on {display: none;}
.main_tit h3 span {color: #00b050;}
.main_tit h3.type02 {letter-spacing: 0em;}
.main_tit > span {font-size: 22px; line-height: 1em; letter-spacing: -0.025em; color: #444; font-weight: 300; margin-top: 30px; display: block;}

@media all and (max-width: 1000px) {
  .main_tit h3 {line-height: 1.2em;}
  .main_tit h3 br.mobile_on {display: block;}
}

/* main_con01 */
.main_con01 {padding: 160px 0 0;}
.main_con01 .content_box {font-size: 0; letter-spacing: -4px; margin-top: 138px; border-radius: 20px; overflow: hidden; box-shadow: 10px 0 40px rgba(152, 168, 158, 0.25); width: 100%; height: 800px;}
.main_con01 .content_box > * {display: inline-block; vertical-align: top; width: 50%; height: 100%;}
.main_con01 .img_box img {width: 100%; height: 100%; object-fit: cover; object-position: top center;}
.main_con01 .t_box {display: table; width: 100%; height: 100%;}
.main_con01 .tc_box {display: table-cell; vertical-align: middle; padding: 0 100px; word-break: keep-all;}
.main_con01 .txt_box h4 {font-size: 44px; line-height: 1.223em; letter-spacing: -0.025em; font-weight: 700; margin-top: 0; margin-bottom: 60px;}
.main_con01 .txt_box span {display: block; font-size: 20px; line-height: 1.4em; letter-spacing: 0.2em; font-weight: 700; color: #00b050; margin: 35px 0 53px;}
.main_con01 .txt_box p {font-size: 18px; line-height: 1.78em; letter-spacing: -0.025em; font-weight: 300; color: #444;}

@media all and (max-width: 1400px) {
  .main_con01 .tc_box {padding-left: 40px; padding-right: 40px;}
  .main_con01 .txt_box h4 {word-break: keep-all;}
  .main_con01 .txt_box h4 br.mobile_off {display: none;}
}

@media all and (max-width: 1000px) {
  .main_con01 .content_box {height: auto;}
  .main_con01 .content_box > * {display: block; width: 100%;}
  .main_con01 .txt_box {padding: 50px 0;}
  .main_con01 .txt_box h4 {font-size: 35px;}
}

/* main_con02 */
.main_con02 {padding: 160px 0 0;}
.main_con02 ul {font-size: 0; letter-spacing: -4px; text-align: center; margin-top: 60px;}
.main_con02 ul li {display: inline-block; position: relative; vertical-align: top; max-width: 382px; width: calc(100%/3); text-align: center;}
.main_con02 ul li::after {content: ''; position: absolute; top: 10px; right: 0; height: 140px; width: 1px; background-color: #dedede;}
.main_con02 ul li:last-of-type::after {display: none;}
.main_con02 ul li .img_box {max-width: 185px; width: 100%; margin: auto;}
.main_con02 ul li .img_box img {width: 100%;}
.main_con02 .line {width: 30px; height: 2px; background-color: #00b050; margin: 20px auto;}
.main_con02 ul li b {display: inline-block; font-size: 20px; line-height: 1em; font-weight: 700; letter-spacing: -0.025em;}

@media all and (max-width: 1000px) {
  .main_con02 ul li {display: block; width: 100%; margin: 40px auto 0;}
  .main_con02 ul li:first-of-type {margin-top: 0;}
  .main_con02 ul li::after {display: none;}
}

/* main_con03 */
.main_con03 {padding: 160px 0 180px;}
.main_con03 ul {font-size: 0; letter-spacing: -4px; margin-top: 60px;}
.main_con03 ul li {display: inline-block; vertical-align: top; width: calc((100% - 80px) / 3); box-sizing: border-box; margin-right: 40px; border-radius: 20px; box-shadow: 10px 0 40px rgba(152, 168, 158, 0.25); overflow: hidden; padding: 63px 40px 60px; position: relative; min-height: 900px;}
.main_con03 ul li:last-of-type {margin-right: 0;}
.main_con03 ul li i {font-size: 16px; line-height: 1em; letter-spacing: -0.025em; font-weight: 700; font-style: normal; position: absolute; top: 10px; left: 50%; transform: translateX(-50%); color: #fff;}
.main_con03 ul li i::before {content: ''; position: absolute; width: 66px; height: 66px; background-color: #00b050; border-radius: 15px; z-index: -1; top: calc(50% - 17px); left: 50%; transform: translate(-50%, -50%) rotate(45deg);}
.main_con03 ul li h4 { font-size: 0; letter-spacing: -4px; border-bottom: 1px solid #dedede; padding-bottom: 13px; margin-bottom: 20px; margin-top: 0;}
.main_con03 ul li h4 > * {display: inline-block; vertical-align: top; font-size: 22px; line-height: 1.64em; letter-spacing: -0.025em; font-weight: 700; box-sizing: border-box;}
.main_con03 ul li h4 span { width: 21px; color: #00b050;}
.main_con03 ul li h4 b {width: calc(100% - 21px); padding-left: 4px; word-break: keep-all;}
.main_con03 ul li .txt_box {font-size: 0; letter-spacing: -4px;}
.main_con03 ul li .txt_box > * {display: inline-block; vertical-align: top;}
.main_con03 ul li .txt_box p {width: calc(100% - 15px); font-size: 18px; font-weight: 300; line-height: 1.78em; letter-spacing: -0.025em; word-break: keep-all; padding-left: 4px; box-sizing: border-box; }
.main_con03 ul li .txt_box span {width: 15px; font-size: 18px; font-weight: 300; line-height: 1.78em; letter-spacing: -0.025em; color: #00b050;}


.main_con03 ul li .img_box {position: absolute; bottom: 65px; left: 50%; transform: translateX(-50%);}
.main_con03 ul li .img_box {max-width: 290px; width: 100%; margin: auto;}
.main_con03 ul li .img_box img {width: 100%;}

@media all and (max-width: 1400px) {
  .main_con03 ul li {min-height: 1000px;}
  .main_con03 ul li .img_box {width: calc(100% - 80px);}
}

@media all and (max-width: 1200px) {
  .main_con03 ul li {padding: 63px 20px 60px;}
}

@media all and (max-width: 1000px) {
  .main_con03 ul li {display: block; width: 100%; min-height: 900px; margin-bottom: 20px;}
  .main_con03 ul li:last-of-type {margin-bottom: 0;}
  .main_con03 ul li p {min-height: auto;}
}

/* main_con04 */
.main_con04 {position: relative; height: 868px;}
.main_con04 .bg_box {position: absolute; width: calc(50% - 20px); height: 100%; top: 0; left: 0; background: url(/img/main_con04_bg.jpg) no-repeat center center / cover;}
.main_con04 .inner { position: relative; z-index: 1; height: 100%;}
.main_con04 .txt_box {display: table; width: calc(50% + 20px); height: 100%; margin: 0 0 0 auto; box-sizing: border-box;}
.main_con04 .txt_box .tc_box {display: table-cell; vertical-align: middle; padding-left: 120px;}
.main_con04 .txt_box .tc_box h3 {font-size: 52px; line-height: 1.2em; font-weight: 700; letter-spacing: 0;}
.main_con04 .txt_box .tc_box table {width: 100%; border-spacing: 14px 0; margin: 50px 0 30px;}
.main_con04 .txt_box .tc_box th {text-align: left; vertical-align: top; font-size: 18px; line-height: 1em; font-weight: 700; letter-spacing: -0.025em; padding: 23px 0;}
.main_con04 .txt_box .tc_box td {padding: 7px 0;}
.main_con04 .txt_box .tc_box td + td {padding-left: 7px;}
.main_con04 .txt_box .tc_box td input,
.main_con04 .txt_box .tc_box td textarea,
.main_con04 .txt_box .tc_box td select {width: 100%; box-sizing: border-box; border: 1px solid #dedede; font-size: 16px; line-height: 1.88em; font-weight: 300; letter-spacing: -0.025em; border-radius: 10px;}
.main_con04 .txt_box .tc_box td input {height: 50px; padding: 0 20px;}
.main_con04 .txt_box .tc_box td select {height: 50px; padding: 0 5px;}
.main_con04 .txt_box .tc_box td textarea {height: 200px; padding: 11px 20px; resize: none;}
.main_con04 .txt_box .tc_box button {width: 100%; height: 70px; border-radius: 10px; border: none; background-color: #00b050; font-size: 22px; line-height: 1.27em; font-weight: 700; letter-spacing: -0.025em; color: #fff;}

@media all and (max-width: 1400px) {
  .main_con04 .txt_box .tc_box {padding-left: 30px;}
}

@media all and (max-width: 1000px) {
  .main_con04 {height: auto;}
  .main_con04 .bg_box {position: static; height: 640px; width: 100%;}
  .main_con04 .inner {position: static;}
  .main_con04 .txt_box {width: 100%;}
  .main_con04 .txt_box .tc_box {padding: 50px 0;}
}

@media all and (max-width: 767px) {
  .main_con04 .bg_box {height: 480px;}
}