@charset "utf-8";

@import url("default.css"); /* 기본설정 */
@import url("layout.css"); /* 사이트 세부설정 */

#container { margin-top: 130px; }

h2 { font-size: 50px; font-weight: 700; color: #000; line-height: 64px; text-align: center; }
h2 span { color: #2966bd; }

.quote_inquiry { position: fixed; bottom: 0; left: 0; width: 100%; padding: 19px 0 22px 0; background-color: #24305b; box-shadow: 0 -10px 10px rgba(0,0,0,0.1); z-index: 999; }
.quote_inquiry h2 { font-size: 24px; font-weight: 600; color: #fff; line-height: 33px; text-align: left; }
.quote_inquiry .cont { position: relative; margin-top: 15px; padding-right: 310px; font-size: 0; line-height: 0; }
.quote_inquiry .cont select { width: calc((100% - 50px) / 5); height: 51px; margin-right: 10px; padding-left: 20px; font-size: 20px; font-weight: 500; color: #747474; border-radius: 8px; border: none; }
.quote_inquiry .cont input { width: calc((100% - 50px) / 5); height: 51px; margin-right: 10px; padding-left: 20px; font-size: 20px; font-weight: 500; color: #747474; border-radius: 8px; border: none; }
.quote_inquiry .cont a { position: absolute; top: 0; right: 0; width: 310px; font-size: 22px; font-weight: 600; color: #fff; border-radius: 8px; line-height: 51px; text-align: center; background-color: #2966bd; }
.quote_inquiry .cont button { position: absolute; top: 0; right: 0; width: 310px; font-size: 22px; font-weight: 600; color: #fff; border-radius: 8px; line-height: 51px; text-align: center; background-color: #2966bd; border: none; }

.mg_foot { margin-bottom: 140px; }

.main_visual { width: 100%; }
.main_visual .pc { font-size: 0; line-height: 0; text-align: center; }
.main_visual .pc img { max-width: 100%; }
.main_visual .mobile { display: none; position: relative; font-size: 0; line-height: 0; text-align: center; }
.main_visual .mobile img { max-width: 100%; }

/*.main_visual { position: relative; background: url("../images/main/visual_bg.jpg") no-repeat right center #eff4fc; }
.main_visual .no1 { position: absolute; top: 0; left: 0; width: 100%; font-size: 22px; font-weight: 500; color: #fff; line-height: 45px; text-align: center; background-color: #24305b; }
.main_visual .wrap { display: flex; flex-direction: row-reverse; align-items: center; }
.main_visual .cont { width: 46%; margin: 0 7%; }
.main_visual .cont .txt { font-size: 56px; font-weight: 700; color: #282828; line-height: 75px; text-align: center; }
.main_visual .cont .txt span { display: block; color: #2966bd; }
.main_visual .cont ul { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 40px; }
.main_visual .cont ul li { width: calc((100% - 24px) / 3); }
.main_visual .cont ul li a { display: block; font-size: 22px; font-weight: 600; color: #fff; line-height: 55px; text-align: center; border-radius: 12px; background-color: #547fc5; box-shadow: 5px 8px 10px rgba(0, 0, 0, 0.25); }
.main_visual .man { width: 40%; font-size: 0; line-height: 0; }*/

.menu_icon { display: flex; flex-wrap: wrap; width: 80%; margin: 80px auto; }
.menu_icon li { width: 20%; text-align: center; }
.menu_icon li a { display: block; }
.menu_icon li a .icon { font-size: 0; line-height: 0; }
.menu_icon li a p { margin-top: 15px; font-size: 24px; font-weight: 500; color: #000; line-height: 33px; }

.video { padding-top: 120px; font-size: 0; line-height: 0; background-color: #000; }
.video video { width: 100%; }

.technical_service { padding: 115px 0 80px 0; background-color: #f3f3f3; }
.technical_service .service { display: flex; margin: 55px -36px 0 -36px; }
.technical_service .service li { width: calc(100% / 3); }
.technical_service .service li a { display: block; padding: 34px; }
.technical_service .service li a:hover { box-shadow: 0 6px 26px rgba(0, 0, 0, 0.4); }
.technical_service .service li .img { font-size: 0; line-height: 0; border: 2px solid #d2d2d2; }
.technical_service .service li h3 { position: relative; width: 77%; margin: -30px auto 0 auto; font-size: 35px; font-weight: 600; color: #fff; line-height: 58px; text-align: center; border-radius: 50px; background: #2966bd; }
.technical_service .service li .txt { margin-top: 25px; font-size: 24px; font-weight: 500; color: #000; line-height: 33px; text-align: center; }
.technical_service .service li .txt strong { font-weight: 700; }

.specialized { padding: 100px 0 120px 0; background-image: linear-gradient(-180deg,#000,#070f2e); }
.specialized .prize { font-size: 0; line-height: 0; text-align: center; }
.specialized .prize img { max-width: 100%; }
.specialized h2 { margin-top: 55px; color: #fff; }
.specialized h2 span { background: -webkit-linear-gradient(left, #d0a255, #ffefb5, #d0a255); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.specialized .explain { margin-top: 25px; font-size: 28px; font-weight: 400; color: #fff; line-height: 37px; text-align: center; }
.specialized .specialty { display: flex; flex-wrap: wrap; gap: 30px; margin-top: 95px; }
.specialized .specialty li { width: calc((100% - 30px) / 2); display: flex; align-items: center; }
.specialized .specialty li .img { width: 202px; }
.specialized .specialty li .cont { width: calc(100% - 240px); margin-left: 38px; color: #fff; }
.specialized .specialty li .cont h3 { position: relative; padding-left: 27px; font-size: 30px; font-weight: 700; line-height: 39px; }
.specialized .specialty li .cont h3:before { content: ""; position: absolute; top: 14px; left: 0; width: 12px; height: 12px; border-radius: 50%; background: #2966bd; }
.specialized .specialty li .cont p { margin-top: 15px; font-size: 22px; font-weight: 400; line-height: 31px; }
.specialized .img2 { margin-top: 75px; font-size: 0; line-height: 0; }
.specialized .img2 img { max-width: 100%; }

.knowhow { padding: 120px 0 115px 0; background: url("../images/main/knowhow_bg.jpg") no-repeat center center; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
.knowhow .img { display: flex; flex-wrap: wrap; gap: 30px; }
.knowhow .img li { width: calc((100% - 30px) / 2); }
.knowhow .img li img { max-width: 100%; }
.knowhow .txt { margin-top: 95px; font-size: 50px; font-weight: 700; color: #fff; line-height: 64px; text-align: center; }
.knowhow .txt span { color: #ffde02; }
.knowhow .txt em { display: block; margin-top: 20px; font-size: 30px; font-weight: 500; line-height: 39px; }

.branch { padding: 120px 0; background: #5b88c7; }
.branch .wrap { display: flex; align-items: center; }
.branch .cont { width: 46%; text-align: center; }
.branch .cont h2 { position: relative; padding-top: 110px; color: #fff; }
.branch .cont h2:before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 68px; background: url("../images/main/location_icon.png") no-repeat center top; }
.branch .cont p { margin-top: 30px; font-size: 28px; font-weight: 500; color: #fff000; line-height: 39px; }
.branch .map { position: relative; width: 67%; margin-right: -13%; }
.branch .map img { max-width: 100%; }
.branch .map span { position: absolute; top: 18%; left: 28%; }

.review { padding: 175px 0 80px 0; }
.review .explain { margin-top: 20px; font-size: 18px; font-weight: 300; color: #ababab; line-height: 33px; text-align: center; }
.review .explain2 { margin-top: 20px; font-size: 21px; font-weight: 300; color: #cb180a; line-height: 33px; text-align: center; }
.review .list { display: flex; flex-wrap: wrap; gap: 30px; margin-top: 75px; }
.review .list li { width: calc((100% - 60px) / 3); padding: 25px 19px 19px 19px; border-radius: 20px; border: 1px solid #c7c7c7; background-color: #f4f4f4; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
.review .list li .tit_work { display: inline-block; padding: 0 30px; font-size: 20px; font-weight: 600; color: #fff; line-height: 39px; border-radius: 30px; background-color: #2966bd; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:80%; }
.review .list li .tit { margin: 25px 0 0 8px; font-size: 28px; font-weight: 700; color: #000; line-height: 37px; overflow: hidden; display: -webkit-box; white-space: initial; text-overflow: ellipsis; -webkit-line-clamp: 3; -webkit-box-orient: vertical; word-break: break-word; }
.review .list li .name { margin: 15px 0 20px 8px; font-size: 17px; font-weight: 500; color: #555; line-height: 26px; }
.review .list li .img { position:relative; width:100%; aspect-ratio: 390/266; overflow: hidden; font-size: 0; line-height: 0; border-radius: 18px; }
.review .list li .img img { width:100%; height:100%; object-fit:cover; display:block; }
.review .more { margin-top: 80px; font-size: 0; line-height: 0; text-align: center; }
.review .more a { display: inline-block; padding: 0 30px; font-size: 22px; font-weight: 600; color: #6b6b6b; line-height: 51px; border-radius: 30px; border: 1px solid #6b6b6b; }
.review .more a:hover { background-color: #fff; }

.construction { padding: 115px 0 80px 0; background: #eee; }
.construction .explain { margin-top: 20px; font-size: 28px; font-weight: 500; color: #373737; line-height: 37px; text-align: center; }
.construction .list { display: flex; flex-wrap: wrap; gap: 50px 30px; margin-top: 75px; }
.construction .list li { width: calc((100% - 60px) / 3); font-size: 0; line-height: 0; }
.construction .list li a { display:block; width: 100%; aspect-ratio: 430/ 290; overflow:hidden; }
.construction .list li a img { width: 100%; height: 100%; object-fit: cover; display: block; }
.construction .list li p { position: relative; margin-top: -37px; padding: 10px 0; font-size: 28px; font-weight: 400; color: #fff; line-height: 37px; text-align: center; background-color: #252525; }
.construction .more { margin-top: 80px; font-size: 0; line-height: 0; text-align: center; }
.construction .more a { display: inline-block; padding: 0 30px; font-size: 22px; font-weight: 600; color: #6b6b6b; line-height: 51px; border-radius: 30px; border: 1px solid #6b6b6b; }
.construction .more a:hover { background-color: #fff; }
.construction .slide_page { margin-top: 80px; font-size: 0; line-height: 0; text-align: center; }
.construction .slide_page a { display: inline-block; width: 12px; height: 12px; margin: 0 5px; border-radius: 20px; background-color: #b9b9b9; }
.construction .slide_page a.on { width: 20px; background-color: #4785e2; }
.construction .swiper { width:100%; max-width: 1500px; margin:0 auto; }

.construction2 { padding: 100px 0 80px 0; background: #eee; }
.construction2 h2 { font-size: 72px; font-weight: 700; line-height: 80px; }
.construction2 h2 em { display: block; margin-bottom: 30px; font-size: 0; line-height: 0; }
.construction2 .explain { margin-top: 30px; font-size: 40px; font-weight: 500; color: #0e1b37; line-height: 49px; text-align: center; }
.construction2 .tap { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 95px; }
.construction2 .tap a { display: block; width: calc((100% - 46% - 60px) / 4); padding: 10px 0; font-size: 22px; font-weight: 500; color: #707070; line-height: 30px; text-align: center; border-radius: 10px; border: 1px solid #9c9c9c; background-color: #fff; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
.construction2 .tap a.long { width: 46%; }
.construction2 .tap a.on, .construction2 .tap a:hover { background-color: #ecf7ff; box-shadow: 0 4px 9px rgba(0, 0, 0, 0.2); }
.construction2 .tap_loc { display: flex; align-items: center;  justify-content: space-between; margin-top: 95px; padding-bottom: 15px; border-bottom: 1px solid #adadad; }
.construction2 .tap_loc em { font-size: 22px; font-weight: 500; color: #868686; line-height: 30px; }
.construction2 .tap_loc span { font-size: 32px; font-weight: 500; color: #2966bd; line-height: 40px; }
.construction2 .list { display: flex; flex-wrap: wrap; gap: 65px 38px; margin-top: 50px; }
.construction2 .list li { width: calc((100% - 114px) / 4); font-size: 0; line-height: 0; }
.construction2 .list li a { display: block; position: relative; }
.construction2 .list li a span.badge { position: absolute; display: block; top:10px; left: 10px; width: 61px; height: 61px; background: url("../images/common/sg_bt.png") no-repeat center center; z-index: 1; }
.construction2 .list li a div { display: block; width: 100%; aspect-ratio: 1; overflow: hidden; }
.construction2 .list li a div img { width: 100%; height: 100%; object-fit: cover; display: block; }
.construction2 .list li a p { margin-top: 15px; font-size: 22px; font-weight: 600; color: #181818; line-height: 31px; overflow: hidden; display: -webkit-box; white-space: initial; text-overflow: ellipsis; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-break: break-word; }
.construction2 .list li a:hover p { text-decoration: underline; }
.construction2 .slide_page { margin-top: 80px; font-size: 0; line-height: 0; text-align: center; }
.construction2 .slide_page a { display: inline-block; width: 33px; margin: 0 3px; font-size: 16px; font-weight: 500; color: #181818; line-height: 33px; text-align: center; border: 1px solid #eee; }
.construction2 .slide_page a.on { font-weight: 600; color: #2966bd; border: 1px solid #2966bd; background-color: #fff; }
.construction2 .slide_page a.arrow { width: auto; margin: 0 10px; }

.promise { padding: 115px 0 120px 0; background: url("../images/main/promise_bg.jpg") no-repeat center center; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
.promise h2 { color: #fff; }
.promise h2 span { color: #fff82f; }
.promise .process { display: flex; flex-wrap: wrap; gap: 30px; margin-top: 95px; }
.promise .process li { position: relative; width: calc((100% - 150px) / 6); padding: 60px 0 25px 0; text-align: center; border-radius: 10px; background-color: #fff; }
.promise .process li .number { position: absolute; top: -33px; left: 50%; border: 5px solid #fff; border-radius: 50%; transform: translatex(-50%); }
.promise .process li .number span { display: block; width: 56px; font-size: 35px; font-weight: 800; color: #fff; line-height: 56px; text-align: center; border-radius: 50%; background-color: #5586f4; }
.promise .process li .icon { font-size: 0; line-height: 0; }
.promise .process li .tit { margin-top: 25px; font-size: 26px; font-weight: 500; color: #000; line-height: 33px; }
.promise .process li .tit span { font-weight: 700; color: #5586f4; }

.cons_view .tit1 { padding: 20px 0; font-size: 22px; font-weight: 500; color: #868686; line-height: 31px; border-bottom: 1px solid #aaa; }
.cons_view .tit2 { margin-top: 115px; font-size: 48px; font-weight: 500; color: #1f1f1f; line-height: 57px; text-align: center; }
.cons_view .img { font-size: 0; line-height: 0; }
.cons_view .img img { width: 100%; margin-top: 55px; }
.cons_view .contents { padding: 50px 20px; overflow: hidden; }
.cons_view .contents img { max-width: 100%; }
.cons_view .txt { margin: 115px 0; font-size: 32px; font-weight: 500; color: #484848; line-height: 43px; text-align: center; }

.construction3 { padding: 80px 0 120px 0; background: #eee; }
.construction3 .top { display: flex; align-items: center; justify-content: space-between; flex-direction: row-reverse; }
.construction3 .top .txt { font-size: 36px; font-weight: 500; color: #000; line-height: 51px; }
.construction3 .step1 { padding: 70px 0 65px 0 !important; border-top: 1px solid #aaa; border-bottom: 1px solid #aaa; }
.construction3 .step5 { padding: 70px 0 65px 0 !important; border-top: 1px solid #aaa; border-bottom: 1px solid #aaa; }
.construction3 .list { display: flex; flex-wrap: wrap; gap: 65px 38px; }
.construction3 .list li { width: calc((100% - 114px) / 4); font-size: 0; line-height: 0; }
.construction3 .list li a { display: block; }
.construction3 .list li a div { display: block; width: 100%; aspect-ratio: 1; overflow: hidden; }
.construction3 .list li a div img { width: 100%; height: 100%; object-fit: cover; display: block; }
.construction3 .list li a p { margin-top: 15px; font-size: 22px; font-weight: 600; color: #181818; line-height: 31px; overflow: hidden; display: -webkit-box; white-space: initial; text-overflow: ellipsis; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-break: break-word; }
.construction3 .list li a:hover p { text-decoration: underline; }
.construction3 .btn { margin-top: 40px; font-size: 0; line-height: 0; text-align: right; }
.construction3 .btn a { display: inline-block; width: 100px; margin-left: 15px; font-size: 18px; font-weight: 500; color: #303030; line-height: 37px; text-align: center; border-radius: 10px; background-color: #d8d8d8; }

.mySwiper.step5 .swiper-wrapper {
  display: flex !important;     /* 한 줄 배치 */
  flex-wrap: nowrap !important; /* 여러 줄로 줄바꿈 방지 */
}
.mySwiper.step5 .swiper-slide {
  flex-shrink: 0; /* 줄어들지 않게 */
}

.banner { margin: 80px 0; }
.banner .img { font-size: 0; line-height: 0; }
.banner .img img { max-width: 100%; }
.banner .img_m { display: none; font-size: 0; line-height: 0; }
.banner .img_m img { width: 100%; }

.cost_guide { padding: 115px 0 120px 0; background: url("../images/main/cost_bg.jpg") no-repeat center center; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
.cost_guide h2 { color: #fff; }
.cost_guide h2 span { color: #ffee32; }
.cost_guide .explain { margin-top: 20px; font-size: 28px; font-weight: 400; color: #fff; line-height: 37px; text-align: center; }
.cost_guide .explain span { color: #ffee32; }
.cost_guide .btn { position: relative; display: flex; margin-top: 75px; padding-right: 46%; }
.cost_guide .btn a { width: calc((100% - 30px) / 3); margin-right: 10px; font-size: 28px; font-weight: 500; color: #000; line-height: 69px; text-align: center; border-radius: 10px; background-color: #e9e9e9; }
.cost_guide .btn a:hover { color: #fff; background-color: #466ded; }
.cost_guide .apply { position: absolute; bottom: 0; right: 0; width: 46%; }
.cost_guide .apply a { display: block; width: 100%; margin: 0; font-size: 30px; font-weight: 500; color: #fff; line-height: 69px; text-align: center; border-radius: 10px; background-color: #466ded; }
.cost_guide .apply a { transition: background-color .3s; }

.greeting { padding: 115px 0 120px 0; }
.greeting .hello { margin-top: 55px; padding-top: 50px; font-size: 26px; font-weight: 500; color: #525252; line-height: 40px; text-align: center; background: url("../images/company/greeting_bullet.png") no-repeat center top; }
.greeting .hello strong { display: block; margin-bottom: 45px; font-size: 42px; font-weight: 700; color: #2b2b2b; line-height: 56px; }
.greeting .hello span { color: #2966bd; }
.greeting .man { display: none; font-size: 0; line-height: 0; text-align: center; }
.greeting .team { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 120px; }
.greeting .team li { position: relative; width: calc((100% - 48px) / 3); padding: 35px 21px; text-align: center; border: 1px solid #bbb; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
.greeting .team li:hover { box-shadow: 0 9px 16px rgba(0, 0, 0, 0.3); }
.greeting .team li .number { position: absolute; top: -28px; left: 50%; width: 55px; height: 55px; font-size: 26px; font-weight: 600; color: #fff; line-height: 55px; border-radius: 50%; background-color: #628ecd; transform: translatex(-50%); }
.greeting .team li h3 { margin-top: 25px; font-size: 28px; font-weight: 600; color: #222; line-height: 37px; }
.greeting .team li .img { margin-top: 25px; }
.greeting .team li .txt { margin-top: 25px; font-size: 22px; font-weight: 500; color: #3b3b3b; line-height: 31px; }
.greeting .team li .txt span { font-weight: 700; color: #2966bd; }

.awards { padding: 120px 0; text-align: center; background-color: #24305b; }
.awards h2 { position: relative; display: inline-block; padding: 65px 0 0 140px; font-size: 65px; color: #fff; line-height: 79px; }
.awards h2 span { color: #f6e661; }
.awards h2:before { content: ""; position: absolute; top: 0; left: 0; width: 114px; height: 158px; background: url("../images/company/grand_prize.png") no-repeat left top; }
.awards .explain { position: absolute; top: 15px; left: 29%; font-size: 28px; font-weight: 500; color: #fff; line-height: 37px; }
.awards .list { display: flex; flex-wrap: wrap; gap: 20px 50px; max-width: 1198px; margin: 100px auto 0 auto; }
.awards .list li { width: calc((100% - 150px) / 4); }

.result { padding: 120px 0; border-bottom: 12px solid #303030; }
.result h2 { font-size: 40px; font-weight: 600; line-height: 54px; }
.result h2 span { font-weight: 700; color: #2966bd; }
.result h2 img { margin: 0 15px; }
.result .list { display: flex; margin-top: 75px; }
.result .list li { width: 25%; padding: 22px 0 20px 0; font-size: 0; line-height: 0; text-align: center; background: url("../images/company/result_line.png") no-repeat left top; }
.result .list li:first-child { background: none; }
.result .list li .img img { max-width: 70%; }
.result .list li p { margin-top: 20px; font-size: 22px; font-weight: 500; color: #333; line-height: 29px; }

.problem { padding: 95px 0 100px 0; background-color: #eee; }
.problem h2 { font-size: 40px; font-weight: 700; color: #262626; line-height: 49px; }
.problem .list { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 75px; }
.problem .list li { position: relative; width: calc((100% - 20px) / 2); padding: 35px 0; font-size: 22px; font-weight: 500; color: #525252; line-height: 33px; text-align: center; background-color: #fff; box-shadow: 0 9px 16px rgba(0, 0, 0, 0.15); }
.problem .list li:nth-child(1) { border-top-left-radius: 30px; }
.problem .list li:nth-child(1) span { bottom: 0; right: 0; }
.problem .list li:nth-child(2) { border-top-right-radius: 30px; }
.problem .list li:nth-child(2) span { bottom: 0; left: 0; }
.problem .list li:nth-child(3) { border-bottom-left-radius: 30px; }
.problem .list li:nth-child(3) span { top: 0; right: 0; }
.problem .list li:nth-child(4) { border-bottom-right-radius: 30px; }
.problem .list li:nth-child(4) span { top: 0; left: 0; }
.problem .list li span { position: absolute; display: block; width: 58px; font-weight: 600; color: #fff; line-height: 58px; background-color: #628ecd; }

.perfect_service { padding: 115px 0 120px 0; }
.perfect_service h2 span { color: #2966bd; }
.perfect_service .explain { width: 750px; margin: 35px auto 0 auto; font-size: 32px; font-weight: 500; color: #fff; line-height: 61px; text-align: center; border-radius: 50px; background-color: #628ecd; }
.perfect_service .specialty { display: flex; flex-wrap: wrap; margin-top: 80px; }
.perfect_service .specialty li { width: 50%; padding: 30px; display: flex; align-items: center; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
.perfect_service .specialty li:hover { box-shadow: 0 9px 16px rgba(0, 0, 0, 0.2); }
.perfect_service .specialty li .img { overflow: hidden; width: 200px; border-radius: 20px; border: 1px solid #9cafc0; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
.perfect_service .specialty li .cont { width: calc(100% - 230px); margin-left: 30px; color: #373737; }
.perfect_service .specialty li .cont h3 { position: relative; padding: 0 0 10px 27px; font-size: 30px; font-weight: 700; line-height: 39px; border-bottom: 1px solid #373737; }
.perfect_service .specialty li .cont h3:before { content: ""; position: absolute; top: 14px; left: 0; width: 12px; height: 12px; background: #2966bd; }
.perfect_service .specialty li .cont p { margin-top: 25px; font-size: 22px; font-weight: 400; line-height: 31px; }
.perfect_service .service { display: flex; margin-top: 100px; }
.perfect_service .service li { width: calc(100% / 3); box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
.perfect_service .service li:nth-child(1) { background-color: #2966bd; }
.perfect_service .service li:nth-child(2) { background-color: #4b76b3; }
.perfect_service .service li:nth-child(3) { background-color: #628ecd; }
.perfect_service .service li a { display: block; padding: 60px 60px 55px 60px; }
.perfect_service .service li a .icon { font-size: 0; line-height: 0; text-align: center; }
.perfect_service .service li a h3 { margin-top: 40px; padding: 10px 0; font-size: 30px; font-weight: 600; color: #fff; line-height: 39px; text-align: center; border-radius: 50px; border: 1px solid #fff; }
.perfect_service .service li a .txt { margin-top: 25px; font-size: 22px; font-weight: 500; color: #fff; line-height: 31px; text-align: center; }
.perfect_service .service li a .txt strong { font-weight: 700; color: #f2f5a6; }

.perfect_service2 { padding: 115px 0 120px 0; background: url("../images/leak/service_bg.jpg") no-repeat center center; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
.perfect_service2 h2 { margin-top: 45px; color: #fff; }
.perfect_service2 h2 span { color: #e8e965; }
.perfect_service2 .flower { padding: 20px 0 2px 0; font-size: 32px; font-weight: 700; color: #ececec; line-height: 61px; text-align: center; background: url("../images/leak/title_flower.png") no-repeat center top; }
.perfect_service2 .specialty { display: flex; flex-wrap: wrap; gap: 60px 40px; margin-top: 95px; }
.perfect_service2 .specialty li { width: calc((100% - 40px) / 2); padding: 0; display: flex; align-items: center; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
.perfect_service2 .specialty li .img { overflow: hidden; width: 200px; border-radius: 20px; border: 1px solid #9cafc0; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
.perfect_service2 .specialty li .cont { width: calc(100% - 230px); margin-left: 30px; color: #fff; }
.perfect_service2 .specialty li .cont h3 { position: relative; padding: 0 0 10px 27px; font-size: 30px; font-weight: 700; line-height: 39px; border-bottom: 1px solid #fff; }
.perfect_service2 .specialty li .cont h3:before { content: ""; position: absolute; top: 14px; left: 0; width: 12px; height: 12px; background: #fff; }
.perfect_service2 .specialty li .cont p { margin-top: 25px; font-size: 22px; font-weight: 400; line-height: 31px; }

.leak_visual { position: relative; }
.leak_visual .wrap { display: flex; flex-direction: row-reverse; align-items: center; }
.leak_visual .cont { position: relative; width: 53%; margin-left: -3%; }
.leak_visual .cont .txt { font-size: 28px; font-weight: 600; color: #000; line-height: 37px; }
.leak_visual .cont .txt span { display: inline-block; padding: 0 12px; color: #fff; background-color: #c42323; }
.leak_visual .cont .tit { margin-top: 25px; font-size: 56px; font-weight: 700; color: #2d2d2d; line-height: 70px; }
.leak_visual .cont .tit span { display: block; color: #2966bd; }
.leak_visual .cont a { display: block; width: 520px; margin-top: 70px; font-size: 28px; font-weight: 600; color: #fff; line-height: 77px; text-align: center; border-radius: 15px; background-color: #194779; box-shadow: 0 9px 16px rgba(0, 0, 0, 0.3); }
.leak_visual .man { width: 50%; font-size: 0; line-height: 0; }

.leak_water { padding: 80px 0 75px 0; background-color: #2966bd; }
.leak_water .list { display: flex; flex-wrap: wrap; }
.leak_water .list li { width: 20%; margin: 0 2.5%; text-align: center; }
.leak_water .list li .img { font-size: 0; line-height: 0; }
.leak_water .list li .img img { max-width: 100%; }
.leak_water .list li h3 { margin-top: 25px; font-size: 30px; font-weight: 700; color: #fff; line-height: 39px; }
.leak_water .list li h3 span { color: #f2f5a6; }
.leak_water .list li p { margin-top: 20px; font-size: 20px; font-weight: 500; color: #fff; line-height: 29px; }
.leak_water .list li p span { color: #f2f5a6; }

.phenomenon { padding: 115px 0; background: url("../images/leak/phenomenon_bg.jpg") no-repeat center center; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
.phenomenon h2 { color: #fff; }
.phenomenon .list { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 95px; }
.phenomenon .list li { width: calc((100% - 60px) / 6); text-align: center; }
.phenomenon .list li .img { font-size: 0; line-height: 0; }
.phenomenon .list li .tit { margin-top: 20px; font-size: 24px; font-weight: 500; color: #fff; line-height: 33px; }

.leak_cause { padding: 115px 0 120px 0; background-color: #162647; }
.leak_cause h2 { color: #fff; }
.leak_cause h2 span { color: #ebe389; }
.leak_cause .list { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 95px; }
.leak_cause .list li { width: calc((100% - 66px) / 4); text-align: center; }
.leak_cause .list li .img { font-size: 0; line-height: 0; }
.leak_cause .list li .tit { padding: 15px 0; font-size: 24px; font-weight: 700; color: #313131; line-height: 33px; background-color: #ebe389; }

.damage { padding: 120px 0; }
.damage h2 { margin-top: 30px; padding-bottom: 20px; background: url("../images/leak/tit_point.png") no-repeat center top; background-size: auto 100%; }
.damage .icon { font-size: 0; line-height: 0; text-align: center; }
.damage .icon img { height: 110px; }
.damage .img { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 80px; }
.damage .img li { width: calc((100% - 36px) / 3); font-size: 0; line-height: 0; }

.inspect { padding: 115px 0 120px 0; background-color: #e3e3e3; }
.inspect h2 { font-size: 40px; line-height: 54px; }
.inspect h2 span { color: #2966bd; }
.inspect .img { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 80px; }
.inspect .img li { overflow: hidden; width: calc((100% - 66px) / 4); font-size: 0; line-height: 0; border-radius: 30px; }

.dispute .wrap { padding: 115px 0 60px 0; background: url("../images/leak/dispute_img.png") no-repeat right bottom; }
.dispute .tit { font-size: 40px; font-weight: 600; color: #000; line-height: 49px; }
.dispute .tit strong { display: block; margin-top: 10px; font-size: 56px; font-weight: 800; line-height: 70px; }
.dispute .tit span { color: #f35b18; }
.dispute .txt { margin-top: 40px; font-size: 22px; font-weight: 600; color: #000; line-height: 31px; }
.dispute .care { display: inline-block; margin-top: 45px; padding: 10px 60px; font-size: 28px; font-weight: 700; color: #fff; line-height: 37px; border-radius: 10px; background-color: #ad1212; }
.dispute .img_m { display: none; font-size: 0; line-height: 0; }
.dispute .img_m img { max-width: 100%; }

.leave { padding: 115px 0; background-color: #fff; }
.leave h2 { line-height: 76px; }
.leave h2 .slide-texts { position: relative; display: inline-block; width: 400px; height: 76px; margin-right: 10px; padding-right: 66px; background: url("../images/leak/search.png") no-repeat left top; vertical-align: top; overflow: hidden; }
.leave h2 .slide-texts .swiper-slide { display: block; width: 100%; height: 100%; font-size: 48px; color: #466ded; }
.leave .list { display: flex; flex-wrap: wrap; gap: 70px; margin-top: 95px; }
.leave .list li { width: calc((100% - 210px) / 4); text-align: center; }
.leave .list li .icon { overflow: hidden; font-size: 0; line-height: 0; border-radius: 40px; background-color: #fff; }
.leave .list li .tit { margin-top: 20px; font-size: 22px; font-weight: 500; color: #3c3c3c; line-height: 31px; }
.leave .list li .number { margin-top: 20px; font-size: 100px; font-weight: 800; color: #2966bd; line-height: 110px; letter-spacing: -3px; }

.solve { padding: 120px 0; }
.solve h2 { font-size: 56px; font-weight: 700; color: #000; line-height: 70px; }
.solve h2 span { display: inline-block; margin-right: 20px; padding: 0 20px; color: #fff; background-color: #c42323; }
.solve .explain { margin-top: 35px; font-size: 38px; font-weight: 400; color: #000; line-height: 47px; text-align: center; }
.solve .list { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 90px; }
.solve .list li { position: relative; width: calc((100% - 36px) / 3); text-align: center; }
.solve .list li:hover .img { box-shadow: 0 15px 15px rgba(0, 0, 0, 0.4); }
.solve .list li .img { overflow: hidden; font-size: 0; line-height: 0; border-radius: 20px; }
.solve .list li .cont { position: absolute; top: 50%; left: 0; width: 100%; text-align: center; transform: translate(0, -50%); }
.solve .list li .cont .tit { font-size: 28px; font-weight: 600; color: #fff; line-height: 66px; background: url("../images/leak/tit_line.png") no-repeat center top; }
.solve .list li .cont .txt { margin-top: 25px; font-size: 22px; font-weight: 600; color: #fff; line-height: 33px; }

.water_visual { position: relative; background: url("../images/waterproof/visual_bg.jpg") no-repeat right center #ededed; }
.water_visual .wrap { display: flex; align-items: flex-end; }
.water_visual .man { width: 50%; font-size: 0; line-height: 0; }
.water_visual .cont { position: relative; width: 56%; margin-left: -6%; }
.water_visual .cont .top { font-size: 28px; font-weight: 600; color: #000; line-height: 37px; }
.water_visual .cont .top span { display: inline-block; padding: 0 12px; color: #fff; background-color: #c42323; }
.water_visual .cont .tit { margin-top: 25px; font-size: 56px; font-weight: 700; color: #2d2d2d; line-height: 70px; }
.water_visual .cont .tit span { color: #2966bd; }
.water_visual .cont .txt { margin-top: 25px; font-size: 22px; font-weight: 600; color: #4f4f4f; line-height: 31px; }
.water_visual .man_m { display: none; font-size: 0; line-height: 0; }
.water_visual .request { max-width: 660px; margin: 35px 0 60px 0; padding: 35px 30px 30px 30px; text-align: center; border-radius: 30px; border: 3px solid #0a6feb; background-color: #fff; }
.water_visual .request .subject { font-size: 32px; font-weight: 600; line-height: 41px; background: -webkit-linear-gradient(left, #199ea3, #0a6feb); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.water_visual .request ul { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 35px; }
.water_visual .request ul li { width: 100%; }
.water_visual .request ul li:nth-child(1) { width: calc(70% - 10px); }
.water_visual .request ul li:nth-child(2) { width: 30%; }
.water_visual .request ul li input { width: 100%; height: 61px; font-size: 22px; font-weight: 500; color: #111; text-align: center; border-radius: 10px; border: 1px solid #ccc; }
.water_visual .request ul li input::placeholder { color: #9b9b9b; }
.water_visual .request ul li a { display: block; width: 100%; font-size: 24px; font-weight: 600; color: #fff; line-height: 61px; text-align: center; border-radius: 10px; background-color: #2966bd; }
.water_visual .request ul li button { display: block; width: 100%; font-size: 24px; font-weight: 600; color: #fff; line-height: 61px; text-align: center; border-radius: 10px; background-color: #2966bd; border: none; }

.specialty2 { display: flex; flex-wrap: wrap; gap: 30px; margin: 120px 0; }
.specialty2 li { width: calc((100% - 90px) / 4); padding: 30px 24px 40px 24px; text-align: center; border-radius: 30px; border: 1px solid #999; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2); }
.specialty2 li .img { overflow: hidden; font-size: 0; line-height: 0; border-radius: 20px; }
.specialty2 li h3 { position: relative; display: inline-block; margin-top: 35px; padding-left: 18px; font-size: 24px; font-weight: 700; color: #2d2d2d; line-height: 31px; text-align: center; }
.specialty2 li h3:before { content: ""; position: absolute; top: 12px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: #2966bd; }
.specialty2 li p { margin-top: 15px; font-size: 20px; font-weight: 400; line-height: 29px; }

.awards2 { background: url("../images/waterproof/awards_bg.jpg") no-repeat center center; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
.awards2 h2 { color: #000; }
.awards2 h2 span { color: #2966bd; }
.awards2 .explain { color: #0e1b37; }

.resolve { padding: 115px 0 120px 0; }
.resolve h2 span { color: #2966bd; }
.resolve .list { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 95px; }
.resolve .list li { width: calc((100% - 90px) / 6); padding: 30px 0 45px 0; text-align: center; border-radius: 30px; border: 1px solid #474747; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
.resolve .list li:hover { box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3); }
.resolve .list li .icon { font-size: 0; line-height: 0; }
.resolve .list li .icon img { width: 130px; }
.resolve .list li h3 { margin-top: 25px; font-size: 24px; font-weight: 600; color: #1e4782; line-height: 33px; }
.resolve .list li p { margin-top: 10px; font-size: 20px; font-weight: 500; color: #2d2d2d; line-height: 29px; }

.estimate { padding: 115px 0 120px 0; background-color: #f5f5f5; }
.estimate h2 { padding-bottom: 35px; border-bottom: 1px solid #1d1d1d; }
.estimate .explain { margin-top: 25px; font-size: 28px; font-weight: 500; color: #2d2d2d; line-height: 37px; text-align: center; }
.estimate .space { display: flex; flex-wrap: wrap; gap: 25px 18px; margin-top: 95px; }
.estimate .space li { width: calc((100% - 90px) / 6); }
.estimate .space li a { display: block; }
.estimate .space li a.on .icon,
.estimate .space li a:hover .icon { background-color: #628ecd; }
.estimate .space li a .icon { font-size: 0; line-height: 0; border-radius: 50%; background-color: #d9dfe7; }
.estimate .space li a .tit { margin-top: 20px; font-size: 26px; font-weight: 500; color: #2d2d2d; line-height: 35px; text-align: center; }
.estimate .input_form { display: flex; flex-wrap: wrap; gap: 40px; margin-top: 110px; }
.estimate .input_form li { width: calc((100% - 40px) / 2); }
.estimate .input_form li.all { width: 100%; }
.estimate .input_form li .tit { position: relative; margin-bottom: 20px; padding-left: 55px; font-size: 30px; font-weight: 500; color: #000; line-height: 39px; }
.estimate .input_form li .tit:before { content: ""; position: absolute; top: 15px; left: 25px; width: 9px; height: 9px; border-radius: 50%; background: #5d8fff; }
.estimate .input_form li input[type="text"], .estimate .input_form li input[type="tel"] { width: 100%; height: 97px; padding-left: 55px; font-size: 28px; font-weight: 500; color: #111; border-radius: 30px; border: none; background-color: #dedcdc; }
.estimate .input_form li input[type="radio"] { width: 47px; height: 47px; margin: 25px 15px 25px 25px; }
.estimate .input_form li input[type="radio"] ~ input[type="radio"] { margin-left: 80px; }
.estimate .input_form li input::placeholder { color: #c2c2c2; }
.estimate .input_form li label { font-size: 28px; font-weight: 500; color: #000; line-height: 97px; }
.estimate .input_form li textarea { width: 100%; height: 260px; padding: 30px 55px; font-size: 28px; font-weight: 500; color: #111; line-height: 37px; border-radius: 30px; border: 2px solid #e0e0e0; background-color: #fff; }
.estimate .input_form li textarea::placeholder { color: #c2c2c2; }
.estimate .privacy { position: relative; margin-top: 40px; padding-left: 55px; font-size: 28px; font-weight: 500; color: #111; line-height: 97px; border-radius: 30px; background-color: #dedcdc; }
.estimate .privacy input[type="checkbox"] { width: 37px; height: 37px; margin: 30px 15px 30px 0; }
.estimate .privacy a { position: absolute; top: 0; right: 55px; color: #b4b4b4; }
.estimate .privacy a:hover { color: #111; }
.estimate .white { border: 2px solid #e0e0e0 !important; background-color: #fff !important; }
.estimate .btn { margin-top: 40px; }
.estimate .btn a { display: block; font-size: 40px; font-weight: 500; color: #fff; line-height: 119px; text-align: center; border-radius: 30px; background-color: #2966bd; }
.estimate .btn button { width: 100%; display: block; font-size: 40px; font-weight: 500; color: #fff; line-height: 119px; text-align: center; border-radius: 30px; background-color: #2966bd; border: none; }

.branch2 { background-color: #24305b; }

.shortcut { padding: 120px 0; }
.shortcut .service { display: flex; flex-wrap: wrap; gap: 2px; border: 2px solid #6997d9; background-color: #6997d9; }
.shortcut .service li { width: calc((100% - 4px) / 3); background-color: #fff; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
.shortcut .service li a { display: block; padding: 60px 60px 55px 60px; }
.shortcut .service li a .icon { font-size: 0; line-height: 0; text-align: center; }
.shortcut .service li a h3 { margin-top: 40px; padding: 10px 0; font-size: 30px; font-weight: 600; color: #2c67ba; line-height: 39px; text-align: center; border-radius: 50px; border: 1px solid #2c67ba; }
.shortcut .service li a .txt { margin-top: 25px; font-size: 22px; font-weight: 500; color: #333; line-height: 31px; text-align: center; }
.shortcut .service li a .txt strong { font-weight: 700; }

.back1 { background: #fff !important; }

.restore_visual { padding: 155px 0; font-size: 56px; font-weight: 700; color: #2d2d2d; line-height: 70px; text-align: center; background: url("../images/restore/visual_bg.jpg") no-repeat center center; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
.restore_visual span { color: #2966bd; }
.restore_visual em { display: block; margin-bottom: 20px; font-size: 36px; line-height: 45px; }

.slide_img { display: flex; flex-wrap: wrap; }
.slide_img li { width: calc(100% / 6); font-size: 0; line-height: 0; }
.slide_img li img { width: 100%; }

.cleaning { padding: 80px 0 120px 0; background-color: #24305b; }
.cleaning .wrap { padding-bottom: 444px; }
.cleaning h2 { padding-left: 44%; color: #fff; text-align: left; }
.cleaning h2 span { color: #fff287; }
.cleaning h2 p { margin-bottom: 30px; }
.cleaning h2 p em { display: inline-block; padding: 0 50px; font-size: 36px; line-height: 65px; border-radius: 50px; vertical-align: top; background-color: #2966bd; }
.cleaning .man { position: absolute; top: -270px; left: 0; font-size: 0; line-height: 0; z-index: 111; }
.cleaning .list { position: absolute; bottom: 0; left: 0; display: flex; flex-wrap: wrap; gap: 12px; z-index: 222; }
.cleaning .list li { width: calc((100% - 24px) / 3); font-size: 0; line-height: 0; }

.interior { padding: 115px 0; }
.interior h2 { font-size: 48px; line-height: 70px; }
.interior h2 p { margin-top: 30px; }
.interior h2 p span { display: inline-block; padding: 0 50px; color: #fff; line-height: 70px; border-radius: 35px; background-color: #2966bd; }
.interior .list { display: flex; flex-wrap: wrap; gap: 110px; margin-top: 100px; background: url("../images/leak/leave_line.jpg") no-repeat center 116px; }
.interior .list li { width: calc((100% - 330px) / 4); text-align: center; }
.interior .list li .icon { overflow: hidden; font-size: 0; line-height: 0; border-radius: 40px; border: 1px solid #24305b; background-color: #eee; box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3); }
.interior .list li .tit { margin-top: 25px; font-size: 26px; font-weight: 600; color: #2f2f2f; line-height: 35px; }

.suggestion { padding: 115px 0 120px 0; background: url("../images/restore/suggestion_bg.jpg") no-repeat center center; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
.suggestion .logo { font-size: 0; line-height: 0; text-align: center; }
.suggestion h2 { margin-top: 35px; font-size: 46px; color: #fff; line-height: 70px; }
.suggestion h2 span { color: #ffec69; }
.suggestion .txt_box { display: flex; flex-wrap: wrap; gap: 40px; margin-top: 75px; }
.suggestion .txt_box li { width: calc((100% - 40px) / 2); padding: 40px; font-size: 26px; font-weight: 600; color: #fff; line-height: 41px; text-align: center; border-radius: 30px; background-color: rgba(56, 113, 195, 0.84); box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
.suggestion .list { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 80px; }
.suggestion .list li { position: relative; width: calc((100% - 30px) / 3); text-align: center; }
.suggestion .list li .img { font-size: 0; line-height: 0; }
.suggestion .list li .cont { position: absolute; top: 50%; left: 0; width: 100%; text-align: center; transform: translate(0, -50%); }
.suggestion .list li .cont .tit { width: 222px; margin: 0 auto; font-size: 28px; font-weight: 600; color: #fff; line-height: 57px; border: 3px solid #fff; }
.suggestion .list li .cont .txt { margin-top: 25px; font-size: 20px; font-weight: 500; color: #fff; line-height: 29px; }
.suggestion .list li .cont .txt strong { font-weight: 700; }

.solution { padding: 115px 0; }
.solution h2 { font-size: 48px; line-height: 70px; }
.solution h2 em { display: block; margin-bottom: 20px; font-size: 32px; font-weight: 600; color: #2f2f2f; line-height: 41px; }
.solution .img { margin-top: 75px; font-size: 0; line-height: 0; }
.solution p { padding: 35px; font-size: 32px; font-weight: 600; color: #fff; line-height: 41px; text-align: center; border-bottom-left-radius: 30px; border-bottom-right-radius: 30px; background-color: #24305b; }
.solution p span { color: #f4f194; }

.field { background: #171717; }
.field .wrap { padding: 115px 0; background: url("../images/restore/field_person.png") no-repeat right bottom; }
.field h2 { color: #fff; text-align: left; }
.field h2 span { color: #feffab; }
.field h2 em { display: block; margin-bottom: 10px; font-size: 32px; font-weight: 500; color: #fff; line-height: 41px; }

.review2 { padding: 115px 0; }
.review2 .list { display: flex; flex-wrap: wrap; gap: 50px; margin-top: 75px; }
.review2 .list li { position: relative; width: calc((100% - 50px) / 2); }
.review2 .list li:hover .cont { background: rgba(30, 71, 130, 0.66); }
.review2 .list li .cont { position: absolute; bottom: 60px; left: 0; width: 80%; padding: 35px 30px 30px 30px; background: rgba(55, 55, 55, 0.66); box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; z-index: 2; }
.review2 .list li .tit_work { display: inline-block; padding: 0 30px; font-size: 20px; font-weight: 600; color: #fff; line-height: 39px; border-radius: 30px; background-color: #171717; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:80%; }
.review2 .list li .tit { margin: 25px 0 0 8px; font-size: 28px; font-weight: 700; color: #fff; line-height: 37px; overflow: hidden; display: -webkit-box; white-space: initial; text-overflow: ellipsis; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-break: break-word; }
.review2 .list li .name { margin: 15px 0 0 8px; font-size: 17px; font-weight: 500; color: #fff; line-height: 26px; }
.review2 .list li .img { position:relative; width:100%; aspect-ratio: 650/590; overflow: hidden; font-size: 0; line-height: 0; }
.review2 .list li .img img { width: 100%; height:100%; object-fit:cover; display:block; }

.restore_case { padding: 75px 0 80px 0; background: url("../images/restore/case_bg.jpg") no-repeat left center #e7e7e7; }
.restore_case h3 { font-size: 44px; font-weight: 500; color: #000; line-height: 53px; text-align: center; }
.restore_case .list { display: flex; flex-wrap: wrap; gap: 30px; margin-top: 75px; }
.restore_case .list li { width: calc((100% - 90px) / 4); text-align: center; }
.restore_case .list li .img { font-size: 0; line-height: 0; }
.restore_case .list li .tit { position: relative; margin-top: -5px; padding: 10px 0; font-size: 22px; font-weight: 500; color: #fff; line-height: 31px; background-color: #24305b; }

.phrase { padding: 115px 0 120px 0; font-size: 32px; font-weight: 500; color: #fff; line-height: 51px; text-align: center; background: url("../images/insurance/phrase_bg.jpg") no-repeat center center; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
.phrase span { font-weight: 700; color: #fafba2; }
.phrase em { display: block; margin-top: 70px; font-size: 0; line-height: 0; }

.treatment { padding: 115px 0 120px 0; background-color: #f0f1fd; }
.treatment .explain { margin: 25px 0 95px 0; font-size: 28px; font-weight: 500; color: #000; line-height: 37px; text-align: center; }
.treatment ul li:nth-child(1) { position: relative; z-index: 3; }
.treatment ul li:nth-child(2) { position: relative; z-index: 2; }
.treatment .step_box { padding: 75px 0; text-align: center; border-radius: 30px; border: 1px solid #c1c1c1; background-color: #fff; }
.treatment .step_box:hover { box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2); }
.treatment .step_box .icon { font-size: 0; line-height: 0; }
.treatment .step_box .tit { margin-top: 50px; font-size: 45px; font-weight: 700; color: #000; line-height: 59px; }
.treatment .step_box .tit span { color: #1c79f7; }
.treatment .step_box .txt { margin-top: 25px; font-size: 22px; font-weight: 500; color: #000; line-height: 31px; }
.treatment .step_arrow { margin: -15px 0; font-size: 0; line-height: 0; text-align: center; }

.document { padding: 115px 0 120px 0; background-color: #24305b; }
.document .wrap { display: flex; align-items: flex-end; justify-content: space-between; }
.document .document1 { width: 640px; }
.document .document1 .img { display: flex; flex-wrap: wrap; gap: 80px; margin-top: 55px; }
.document .document1 .img li { width: calc((100% - 80px) / 2); font-size: 0; line-height: 0; border: 1px solid #6e7788; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
.document .document2 { width: 630px; }
.document .document2 .img { display: flex; flex-wrap: wrap; gap: 51px; margin-top: 55px; }
.document .document2 .img li { width: calc((100% - 102px) / 3); font-size: 0; line-height: 0; border: 1px solid #6e7788; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
.document .tit { font-size: 28px; font-weight: 600; color: #fff; line-height: 37px; text-align: center; }

.request2 { padding: 120px 0; }
.request2 .request_box { padding: 8px; border-radius: 30px; background-image: linear-gradient(-180deg, #0f7cfe, #199ea3); box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2); }
.request2 .request_box h2 { margin-top: 35px; font-size: 45px; font-weight: 700; color: #fff; line-height: 54px; }
.request2 .request_box h2 span { color: #ece763; }
.request2 .form { margin-top: 35px; padding: 60px 80px; border-bottom-left-radius: 25px; border-bottom-right-radius: 25px; background-color: #fff; }
.request2 .form li { width: 100%; text-align: center; }
.request2 .form li ~ li { margin-top: 20px; }
.request2 .form li input { width: 100%; height: 71px; font-size: 22px; font-weight: 500; color: #000; text-align: center; border-radius: 10px; border: 1px solid #ccc; background-color: #f1f1f1; }
.request2 .form li input::placeholder { color: #9b9b9b; }
.request2 .form li textarea { width: 100%; height: 180px; padding: 20px; font-size: 22px; font-weight: 500; color: #000; line-height: 31px; text-align: center; border-radius: 10px; border: 1px solid #ccc; background-color: #f1f1f1; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
.request2 .form li textarea::placeholder { color: #9b9b9b; }
.request2 .form li p { margin-top: 45px; font-size: 20px; font-weight: 500; color: #888; line-height: 29px; }
.request2 .form li a { display: block; margin-top: 25px; font-size: 32px; font-weight: 700; color: #fff; line-height: 81px; border-radius: 10px; background-image: linear-gradient(90deg, #25a4cb, #2473a8); }
.request2 .form li button { width: 100%; display: block; margin-top: 25px; font-size: 32px; font-weight: 700; color: #fff; line-height: 81px; border-radius: 10px; background-image: linear-gradient(90deg, #25a4cb, #2473a8); border: none; }

.final_step { padding: 115px 0; background-color: #eee; }
.final_step .step { display: flex; margin-top: 95px; }
.final_step .step li { width: 33.33333%; text-align: center; }
.final_step .step li .no { position: relative; width: 136px; margin: 0 auto -25px auto; font-size: 30px; font-weight: 700; color: #fff; line-height: 49px; text-align: center; border-radius: 15px; background-color: #2966bd; }
.final_step .step li .icon { display: inline-block; overflow: hidden; font-size: 0; line-height: 0; border-radius: 20px; border: 1px solid #346ec0; background-color: #fff; }
.final_step .step li h3 { margin-top: 30px; font-size: 30px; font-weight: 600; color: #000; line-height: 39px; }
.final_step .step li h3 span { font-weight: 800; color: #2966bd; }
.final_step .step li p { margin-top: 20px; font-size: 24px; font-weight: 500; color: #555; line-height: 33px; }

.as_visual { width: 100%; height: 600px; background: url("../images/as/visual.jpg") no-repeat center center; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }

.as_receipt { padding: 120px 0; }
.as_receipt .top { margin-top: 35px; margin-bottom:20px; font-size: 33px; font-weight: 600; color: #000; line-height: 42px; text-align: center; }
.as_receipt .top span { display: inline-block; padding: 0 12px; color: #fff; background-color: #c42323; }
.as_receipt h2 { font-size: 56px; line-height: 70px; }
.as_receipt .form { width: 1100px; margin: 95px auto 0 auto; }
.as_receipt .form li { width: 100%; text-align: center; }
.as_receipt .form li ~ li { margin-top: 20px; }
.as_receipt .form li input { width: 100%; height: 81px; font-size: 22px; font-weight: 500; color: #000; text-align: center; border-radius: 20px; border: 2px solid #ccc; background-color: #f1f1f1; }
.as_receipt .form li input::placeholder { color: #9b9b9b; }
.as_receipt .form li textarea { width: 100%; height: 240px; padding: 25px; font-size: 22px; font-weight: 500; color: #000; line-height: 31px; text-align: center; border-radius: 20px; border: 2px solid #ccc; background-color: #f1f1f1; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
.as_receipt .form li textarea::placeholder { color: #9b9b9b; }
.as_receipt .form li p { margin-top: 55px; font-size: 20px; font-weight: 500; color: #888; line-height: 29px; }
.as_receipt .form li p.care { margin-top: 35px; font-size: 24px; font-weight: 500; color: #a51d1d; line-height: 31px; }
.as_receipt .form li a { display: block; width: 64%; margin: 25px auto 0 auto; font-size: 32px; font-weight: 700; color: #fff; line-height: 91px; border-radius: 20px; background-color: #628ecd; }
.as_receipt .form li button { display: block; width: 64%; margin: 25px auto 0 auto; font-size: 32px; font-weight: 700; color: #fff; line-height: 91px; border-radius: 20px; background-color: #628ecd; border: none; }

.department { padding: 120px 0 115px 0; background: #eee; }
.department .list { display: flex; flex-wrap: wrap; gap: 15px; }
.department .list li { position: relative; width: calc((100% - 30px) / 3); text-align: center; }
.department .list li .img { position: relative; font-size: 0; line-height: 0; }
.department .list li .img span { position: absolute; top: 50%; left: 50%; width: 216px; margin: 0 auto; font-size: 28px; font-weight: 600; color: #fff; line-height: 57px; border: 3px solid #fff; transform: translate(-50%, -50%); }
.department .list li .txt { margin-top: 25px; font-size: 22px; font-weight: 500; color: #000; line-height: 31px; }
.department .list li .txt strong { font-weight: 700; }

.advice { padding: 40px 0 120px 0; border-top: 1px solid #b3b3b3; }
.advice .form { width: 880px; margin: 0 auto; }
.advice .form li { padding: 55px 150px; border-bottom: 1px solid #e2e2e2; }
.advice .form li .tit { font-size: 28px; font-weight: 700; color: #000; line-height: 37px; }
.advice .form li .tit span { display: inline-block; margin-left: 12px; font-size: 22px; font-weight: 500; color: #be2828; vertical-align: bottom; }
.advice .form li .tit img { margin-right: 12px; vertical-align: top; }
.advice .form li .input { position: relative; margin-top: 20px; }
.advice .form li .input a { position: absolute; top: 0; right: 0; font-size: 0; line-height: 0; }
.advice .form li .input input { width: 100%; height: 71px; padding-left: 30px; font-size: 20px; font-weight: 500; color: #3e3e3e; border-radius: 15px; border: 1px solid #b8b8b8; background-color: #f7f7f7; }
.advice .form li .radio { margin: 35px 0 0 49px; }
.advice .form li .radio input { width: 31px; height: 31px; border: none; }
.advice .form li .radio label { margin-left: 12px; font-size: 22px; font-weight: 600; color: #000; line-height: 31px; }
.advice .form li .radio p ~ p { margin-top: 20px; }
.advice .form li .month { display: flex; justify-content: space-between; margin-top: 50px; font-size: 24px; font-weight: 600; color: #000; line-height: 33px; }
.advice .form li button { width: 100%; font-size: 28px; font-weight: 700; color: #fff; line-height: 87px; text-align: center; border-radius: 15px; background-color: #6993ca; border: none; }
.advice .accept_btn { width: 580px; margin: 60px auto 0 auto; }
.advice .accept_btn a { display: block; font-size: 28px; font-weight: 700; color: #fff; line-height: 87px; text-align: center; border-radius: 15px; background-color: #6993ca; }
.advice .accept_btn button { display: block; width: 100%; font-size: 28px; font-weight: 700; color: #fff; line-height: 87px; text-align: center; border-radius: 15px; background-color: #6993ca; border: none; }

.advice .privacy { width: 880px; position: relative; margin: 40px auto 0 auto; font-size: 28px; font-weight: 500; color: #111; line-height: 97px; border-radius: 30px; border: 1px solid #e0e0e0 }
.advice .privacy input[type="checkbox"] { width: 37px; height: 37px; margin: 30px 15px 30px 55px; }
.advice .privacy a { position: absolute; top: 0; right: 55px; color: #b4b4b4; }
.advice .privacy a:hover { color: #111; }

.calendar { width: 100%; margin-top: 40px; }
.calendar th { height: 80px; font-size: 20px; font-weight: 500; color: #3e3e3e; line-height: 49px; text-align: center; vertical-align: top; }
.calendar td { height: 80px; font-size: 20px; font-weight: 500; color: #bbb; line-height: 49px; text-align: center; vertical-align: top; }
.calendar td em { display: block; font-size: 18px; line-height: 25px; }
.calendar td a { display: block; width: 49px; margin:0 auto; font-size: 22px; color: #3e3e3e; line-height: 49px; border-radius: 50%; background-color: #fff; }
.calendar td a:hover, .calendar td a.on { color: #fff; background-color: #6993ca; }

.policy { margin-bottom: 115px; font-size: 18px; font-weight: 400; color: #555; line-height: 29px; }
.policy strong { display: block; font-size: 20px; color: #222; line-height: 31px; }
.policy h1 { display: block; padding: 95px 0 70px 0; font-size: 40px; color: #222; line-height: 49px; text-align: center; }

.consultation1 { display: none; margin-bottom: 50px; font-size: 0; line-height: 0; }
.consultation1 img { width: 100%; }

.consultation2 { display: none; margin: 30px 0 50px 0; font-size: 0; line-height: 0; }
.consultation2 img { width: 100%; }

.consultation3 { display: none; margin: 50px 0 0 0; font-size: 0; line-height: 0; }
.consultation3 img { width: 100%; }

#inquiry-name, #adv-name, #w-name, #i-name, #is-name, #as-name { ime-mode: active; }
#inquiry-phone, #adv-phone, #w-phone, #i-phone, #is-phone, #as-phone { ime-mode: disabled; }
#inquiry-area, #adv-area, #w-area, #i-area { ime-mode: active; }

.review { padding: 100px 0 120px 0; border-top: 1px solid #b3b3b3; }

.board-list { margin-top: 55px; width:100%; border-top:2px solid #130b06; }
.board-list th { padding:20px 0; font-size:16px; font-weight:600; color:#000; line-height:25px; border-bottom:1px solid #d5d5d5; }
.board-list td { padding:20px 0; font-size:16px; color:#333; line-height:25px; text-align:center; border-bottom:1px solid #d5d5d5; }
.board-list td span { font-weight: 600; color: #bf7602; }
.board-list td.subject { padding:20px 0 20px 20px; text-align:left; }
.board-list td a { display:block; color:#333; line-height:25px; }
.board-list td a:hover { color:#000; text-decoration:underline; }

.board-write { margin-top: 55px; border-top:2px solid #130b06; }
.board-write li { position:relative; min-height:45px; padding:15px 0 15px 250px; font-size:0; line-height:0; border-bottom:1px solid #d5d5d5; }
/*.board-write li div { position:absolute; top:15px; left:50px; font-size:16px; font-weight:600; color:#333; line-height:45px; }*/
.board-write li label.tit { position:absolute; top:15px; left:50px; font-size:16px; font-weight:600; color:#333; line-height:45px; }
.board-write li em { display:inline-block; width:30px; font-size:20px; color:#888; line-height:45px; text-align:center; vertical-align:top; }
.board-write li input[type="text"], .board-write li input[type="tel"], .board-write li input[type="password"] { width:450px; height:45px; padding:0 0 0 20px; font-size:16px; color:#555; border-radius:5px; border:1px solid #d5d5d5; }
.board-write li input[type="checkbox"], .board-write li input[type="radio"] { margin:3px 8px 0 0; padding:0; vertical-align:top; }
.board-write li input.tel { width:130px; }
.board-write li input.w100 { width:100%; height:45px; padding:0 0 0 20px; font-size:16px; color:#555; border-radius:5px; border:1px solid #d5d5d5; }
.board-write li input.file { line-height:43px; padding-left:0; }
.board-write li select { width:450px; height:45px; padding:0 0 0 20px; font-size:16px; color:#555; border-radius:5px; border:1px solid #d5d5d5; }
.board-write li select.tel { width:130px; }
.board-write li textarea { width:100%; height:200px; padding:15px 20px; font-size:16px; color:#555; line-height:25px; border-radius:5px; border:1px solid #d5d5d5; }
.board-write li div.form input[type="checkbox"] { vertical-align:middle; height:30px; }
.board-write li div.form label { font-weight: 400; font-size:16px; color: #555; line-height:35px; }
.board-write li div.form a { position: absolute; top: 15px; right: 55px; color: #b4b4b4; font-size: 16px; line-height:35px; }
.board-write li div.form a:hover { color: #111; }
.board-write li div.form strong { display:block; padding-top:5px; height: 20px; font-size: 0.825rem; }

.paging { position: relative; margin-top:60px; font-size:0; line-height:0; text-align:center; }
.paging a { display:inline-block; width:37px; margin:0 5px; font-size:16px; font-weight:600; color:#666; line-height:37px; text-align:center; transition: none; }
.paging a.on, .paging a:hover { color:#fff; border-radius:20px; background-color:#2966bd; }
.paging a.btn { margin:0 4px; }
.paging a.btn img { font-size:0; line-height:0; vertical-align:top; }
.paging a.btn.on, .paging a.btn:hover { background:none; }
.paging a.write { position: absolute; top: -4px; right: 0; width: 150px; margin: 0; font-size:16px; font-weight:600; color:#fff; line-height:45px; border-radius:30px; background-color:#2966bd; }

.search { position:relative; margin-top:60px; padding: 20px 0; font-size:0; line-height:0; text-align:center; background-color: #f5f5f5; }
.search select { width:140px; height:38px; padding-left:15px; font-size:15px; color:#666; border-radius: 0; border:1px solid #d5d5d5; box-sizing:border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; }
.search input { width:300px; height:38px; margin-left:10px; padding-left:15px; font-size:15px; color:#666; border:1px solid #d5d5d5; box-sizing:border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; }
.search a { display:inline-block; width:80px; margin-left:10px; font-size:15px; font-weight:600; color:#fff; line-height:38px; text-align:center; background-color:#555; }
.search button { display:inline-block; width:80px; margin-left:10px; font-size:15px; font-weight:600; color:#fff; line-height:38px; text-align:center; background-color:#555;  border:none; }

.viewtop { margin-top: 55px; padding:25px 50px; font-size:18px; font-weight:600; color:#333; line-height:27px; border-top:2px solid #130b06; border-bottom:1px solid #d5d5d5; }
.viewtop .hit { float:right; }
.viewcont { padding:50px; border-bottom:1px solid #130b06; font-size:16px; color:#555; line-height:25px; }
.viewcont .img { margin-bottom: 45px; font-size:0; line-height:0; text-align:center; }
.viewcont .img img { max-width:100%; }
.viewcont  img { max-width:100%; }
.viewcont p { font-size:16px; color:#555; line-height:25px; }
.button { margin-top:60px; font-size:0; line-height:0; text-align:center; }
.button a { display:inline-block; width:200px; margin:0 10px; font-size:16px; font-weight:600; color:#fff; line-height:55px; border-radius:30px; background-color:#999; }
.button a.on { background-color:#2966bd; }
.button button { display:inline-block; width:200px; margin:0 10px; font-size:16px; font-weight:600; color:#fff; line-height:55px; border-radius:30px; background-color:#999; border: none; }
.button button.on { background-color:#2966bd; }
.post { margin-top:60px; border-top:1px solid #d5d5d5; }
.post li { display: flex; align-items: center; border-bottom:1px solid #d5d5d5; background-color:#f8f8f8; }
.post li div { width:200px; font-size:16px; color:#555; line-height:25px; text-align:center; }
.post li a { width: calc(100% - 200px); padding:15px 40px; font-size:16px; color:#333; line-height:25px; background-color: #fff; }
.post li a:hover { color:#2966bd; text-decoration:underline; }

.topRealTimeEstimate{ padding: 20px 0; background:#3f68ad; }
.topRealTimeEstimate .realTimeEstInner { width: 1350px; margin:0 auto; }
.topRealTimeEstimate .realTimeEstInner:after { clear:both; display:block; content:""; }
.topRealTimeEstimate .realTimeEstInner dl { float:left; width: 170px; }
.topRealTimeEstimate .realTimeEstInner dl dt { float:left; font-size:24px; font-weight: 500; color:#fdf175; line-height:31px; }

.topRealTimeEstimate .realTimeEstInner .estimateList{position:relative;;float:left; width: calc(100% - 170px); overflow:hidden; font-size: 16px; color: #fff; line-height: 31px; }
.topRealTimeEstimate .realTimeEstInner .estimateList a{color:#6b6b6b;}
.topRealTimeEstimate .realTimeEstInner .estimateList a:after{content:"";display:block;position:absolute;width:25px;height:31px;top:5px;right:0;}
.topRealTimeEstimate .realTimeEstInner .estimateList ul{width:2000px;white-space:nowrap;}
.topRealTimeEstimate .realTimeEstInner .estimateList li{float:left;margin-left:30px;line-height:31px;}
.topRealTimeEstimate .realTimeEstInner .estimateList li .cabox{ display: inline-block; margin: 5px 5px 5px 0; padding: 0 6px; border-radius:4px; top:0; font-size:14px; font-weight: 600; color:#3f68ad; line-height: 21px; background:#fdf175; vertical-align: top;}

.estimateList { width:100%; overflow:hidden; }
.estimate-scroll-list { display:flex; align-items:center; }

.board_wrap { padding: 115px 0 120px 0; }
.board_wrap .board { display: flex; flex-wrap: wrap; gap: 60px; }
.board_wrap .board > li { position: relative; width: calc((100% - 60px) / 2); }
.board_wrap .board > li h3 { margin-left: 20px; font-size: 30px; font-weight: 700; color: #111; line-height: 39px; }
.board_wrap .board > li .list { margin-top: 35px; padding: 25px 40px 40px 40px; border-radius: 20px; border: 1px solid #c0c0c0; }
.board_wrap .board > li .list li { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 20px; padding-bottom: 15px; border-bottom: 1px solid #d5d5d5; }
.board_wrap .board > li .list li a { width: calc(100% - 140px); display: block; font-size: 18px; font-weight: 500; color: #111; line-height: 27px; overflow: hidden; display: block; white-space: nowrap; text-overflow: ellipsis; }
.board_wrap .board > li .list li a:hover { color: #0a6feb; }
.board_wrap .board > li .list li em { width: 120px; font-family: "SUIT"; font-size: 18px; font-weight: 400; color: #777; line-height: 27px; text-align: right; }
.board_wrap .board > li .more { position: absolute; top: 5px; right: 20px; }
.board_wrap .board > li .more a { position: relative; display: block; font-family: "SUIT"; font-size: 20px; font-weight: 500; color: #777; line-height: 29px; }
.board_wrap .board > li .more a:before { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 1px; background: #777; transition: all 0.3s; }
.board_wrap .board > li .more a:hover:before { width: 100%; }

@media screen and (max-width: 1350px) {
	.wrap { width: 980px; margin: 0 auto; }

	.main_visual .cont .txt { font-size: 45px; line-height: 64px; }
	.main_visual .cont ul { gap: 8px; }
	.main_visual .cont ul li { width: calc((100% - 16px) / 3); }
	.main_visual .man { width: 40%; padding-top: 20px; }
	.main_visual .man img { max-width: 100%; }

	.menu_icon { width: 100%; }

	.technical_service .service li .img img { width: 100%; }
	.technical_service .service li h3 { margin: -24px auto 0 auto; font-size: 26px; line-height: 47px; }

	.specialized .specialty li { width: 100%; }

	.review .list li .img img { width: 100%; }

	.construction .list li img { width: 100%; }

	.cost_guide .btn a { font-size: 26px; }
	.cost_guide .apply { font-size: 30px; }

	.greeting .team li .img img { width: 100%; }

	.awards .list li img { width: 100%; }

	.result h2 br { display: none; }

	.perfect_service .explain { width: 100%; }
	.perfect_service .specialty li { width: 100%; }
	.perfect_service .service li a { padding: 60px 30px 55px 30px; }
	.perfect_service .service li a .icon img { max-width: 50%; }

	.perfect_service2 .specialty li { width: 100%; }

	.leak_visual .cont a { width: 70%; }
	.leak_visual .man img { max-width: 100%; }

	.phenomenon .list li .img img { width: 100%; }

	.leak_cause .list { gap: 20px; }
	.leak_cause .list li { width: calc((100% - 60px) / 4); }
	.leak_cause .list li .img img { width: 100%; }

	.damage .img li img { width: 100%; }

	.inspect .img { gap: 20px; }
	.inspect .img li img { width: 100%; }

	.leave .list { gap: 60px; background: url("../images/leak/leave_line.jpg") no-repeat center 90px; }
	.leave .list li { width: calc((100% - 180px) / 4); }
	.leave .list li .icon img { width: 100%; }
	.leave .list li .number { margin-top: 10px; font-size: 74px; line-height: 75px; }

	.solve .list li .img img { width: 100%; }

	.water_visual .man img { max-width: 100%; }
	.water_visual .cont .tit { font-size: 48px; line-height: 57px; }
	.water_visual .request { margin: 25px 0 30px 0; padding: 25px 20px 20px 20px; }
	.water_visual .request .subject { font-size: 28px; line-height: 37px; }
	.water_visual .request ul { margin-top: 25px; }

	.specialty2 li { width: calc((100% - 30px) / 2); }
	.specialty2 li .img img { width: 100%; }

	.resolve .list li { width: calc((100% - 36px) / 3); }

	.estimate .space li a .icon img { max-width: 100%; }

	.shortcut .service li a { padding: 60px 30px 55px 30px; }
	.shortcut .service li a .icon img { max-width: 55%; }
	.shortcut .service li a h3 { margin-top: 40px; padding: 10px 0; font-size: 30px; line-height: 39px; }
	.shortcut .service li a .txt { font-size: 24px; line-height: 33px; }
	.shortcut .service li a .txt br { display: none; }

	.cleaning { padding: 60px 0 120px 0; }
	.cleaning .wrap { padding-bottom: 310px; }
	.cleaning h2 { padding-left: 44%; font-size: 45px; }
	.cleaning h2 p em { padding: 0 40px; }
	.cleaning .man { top: -200px; width: 36%; }
	.cleaning .man img { width: 100%; }
	.cleaning .list li img { width: 100%; }

	.interior { padding: 115px 0; }
	.interior .list { gap: 60px; background: url("../images/leak/leave_line.jpg") no-repeat center 90px; }
	.interior .list li { width: calc((100% - 180px) / 4); }
	.interior .list li .icon img { max-width: 100%; }

	.suggestion .list li .img img { width: 100%; }
	.suggestion .list li .cont .tit { width: 180px; }

	.solution .img img { width: 100%; }

	.restore_case .list li .img img { width: 100%; }

	.treatment .step_box .tit { font-size: 50px; line-height: 61px; }
	.treatment .step_box .txt { font-size: 24px; line-height: 33px; }

	.document .document1 { width: 47%; }
	.document .document1 .img li img { width: 100%; }
	.document .document2 { width: 47%; }
	.document .document2 .img li img { width: 100%; }

	.final_step .step li .icon { width: 70%; }
	.final_step .step li .icon img { width: 100%; }

	.as_receipt .form { width: 100%; }

	.department .list li .img img { width: 100%; }

	.paging a.write { position: static; display: block; width: 150px; margin: 0 auto 50px auto; }

	.topRealTimeEstimate .realTimeEstInner { width: 980px; }
}

@media screen and (max-width: 980px) {
	.wrap { width: 750px; margin: 0 auto; }

	#container { margin-top: 183px; }

	.quote_inquiry { display: none; }

	.mg_foot { margin-bottom: 0; }

	.main_visual { -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
	.main_visual .wrap { display: block; }
	.main_visual .cont { width: 100%; margin: 0; padding-top: 115px; }
	.main_visual .man { width: 100%; text-align: center; }

	.technical_service .service { display: block; }
	.technical_service .service li { width: 100%; }

	.specialized h2 span { display: block; }

	.knowhow .txt span { display: block; }

	.branch .wrap { display: block; }
	.branch .cont { width: 100%; }
	.branch .map { width: 100%; margin: 95px 0 0 0; }
	.branch .map img { max-width: 100%; }
	.branch .map span img { max-width: 80%; }

	.review .list { display: block; }
	.review .list li { width: 70%; margin: 0 auto; }
	.review .list li:nth-child(2),
	.review .list li:nth-child(3) { display: none; }

	.construction .list { gap: 30px 20px; margin-top: 75px; }
	.construction .list li { width: calc((100% - 20px) / 2); }

	.construction2 h2 span { display: block; }
	.construction2 .tap a { width: calc((100% - 45px) / 4); }
	.construction2 .tap a.long { width: 100%; }
	.construction2 .tap_loc span { display: none; }
	.construction2 .step1 { width: 100% !important; }
	.construction2 .list { gap: 30px 20px; }
	.construction2 .list li { width: calc((100% - 20px) / 2); }

	.promise .process { gap: 70px 30px; }
	.promise .process li { width: calc((100% - 60px) / 3); }

	.construction3 { padding: 80px 0 120px 0; background: #eee; }
	.construction3 .top { display: block; text-align: center; }
	.construction3 .top .txt { margin-top: 25px; }
	.construction3 .step1 { width: 100% !important; margin-top: 55px; }
	.construction3 .step5 { width: 100% !important; margin-top: 55px; }
	.construction3 .list { gap: 30px 20px; }
	.construction3 .list li { width: calc((100% - 20px) / 2); }

	.banner .img { display: none; }
	.banner .img_m { display: block; }

	.cost_guide h2 span { display: block; }
	.cost_guide .btn { display: flex; flex-wrap: wrap; gap: 8px; padding-right: 0; }
	.cost_guide .btn a { width: calc((100% - 16px) / 3); margin-right: 0; }
	.cost_guide .apply { position: static; width: 100%; margin-top: 20px; }

	.greeting .hello strong br { display: none; }
	.greeting .man { display: block; margin-top: 55px; }
	.greeting .man img { max-width: 50%; }
	.greeting .team { gap: 80px; margin-top: 100px; }
	.greeting .team li { width: 100%; }

	.awards h2 { padding: 0 0 0 140px; text-align: left; }
	.awards h2 span { display: block; }
	.awards .explain { position: static; width: 100%; margin-top: 30px; }
	.awards .list { gap: 10px 20px; }
	.awards .list li { width: calc((100% - 60px) / 4); }

	.problem .list li { width: 100%; }

	.perfect_service .service li a .txt br { display: none; }

	.leak_visual .wrap { display: block; }
	.leak_visual .cont { width: 100%; margin-left: 0; padding-top: 120px; text-align: center; }
	.leak_visual .cont a { margin: 70px auto 0 auto; }
	.leak_visual .man { width: 100%; margin-top: 50px; font-size: 0; line-height: 0; text-align: center; }

	.leak_water .list li { width: 45%; }
	.leak_water .list li:nth-child(3) { margin-top: 55px; }
	.leak_water .list li:nth-child(4) { margin-top: 55px; }

	.phenomenon .list { gap: 50px 10px; }
	.phenomenon .list li { width: calc((100% - 20px) / 3); }

	.leak_cause .list { gap: 20px; }
	.leak_cause .list li { width: calc((100% - 20px) / 2); }

	.inspect .img { gap: 20px; }
	.inspect .img li { width: calc((100% - 20px) / 2); }

	.dispute .wrap { padding: 115px 0 0 0; text-align: center; background: none; }
	.dispute .care { display: block; padding: 10px 0; }
	.dispute .img_m { display: block; margin-top: 60px; }

	.leave .list { gap: 60px; background: none; }
	.leave .list li { width: calc((100% - 60px) / 2); }

	.solve .list { gap: 20px; }
	.solve .list li { width: 100%; }

	.water_visual { padding: 120px 0 60px 0; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
	.water_visual .wrap { display: block; }
	.water_visual .man { display: none; }
	.water_visual .cont { width: 100%; margin-left: 0; text-align: center; }
	.water_visual .man_m { display: block; margin-top: 60px; font-size: 0; line-height: 0; }
	.water_visual .request { max-width: 100%; margin: 0; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }

	.estimate .space { gap: 25px 18px; }
	.estimate .space li { width: calc((100% - 54px) / 4); }
	.estimate .input_form li { width: 100%; }
	.estimate .input_form li.all { width: 100%; }

	.slide_img li { width: calc(100% / 3); }

	.cleaning .wrap { padding-bottom: 250px; }
	.cleaning .man { top: -60px; }

	.interior .list { gap: 60px; background: none; }
	.interior .list li { width: calc((100% - 60px) / 2); }
	.suggestion .txt_box { gap: 20px; }
	.suggestion .txt_box li { width: calc((100% - 20px) / 2); padding: 25px 0; }
	.suggestion .list { gap: 20px; }
	.suggestion .list li { width: 100%; }

	.solution h2 span { display: block; }

	.field .wrap { padding: 115px 0 360px 0; }

	.review2 .list li { width: 100%; }
	.review2 .list li:nth-child(2) { display: none; }

	.restore_case { -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; }
	.restore_case .list { gap: 20px; }
	.restore_case .list li { width: calc((100% - 20px) / 2); }

	.document .wrap { display: block; }
	.document .document1 { width: 100%; }
	.document .document2 { width: 100%; margin-top: 100px; }

	.request2 .request_box h2 span { display: block; }

	.department .list { gap: 25px; }
	.department .list li { width: 100%; }

	.advice { border-top: none; }
	.advice .form { width: 100%; }
	.advice .form li { padding: 55px 0; }
	.advice .accept_btn { width: 100%; }
    .advice .privacy { width: 100%; border-radius: 20px; }
    .advice .privacy input[type="checkbox"] { margin-left: 45px; }

	.review { border-top: none; }

	.topRealTimeEstimate .realTimeEstInner { width: 750px; }

	.board_wrap .board > li { width: 100%; }
}

@media screen and (max-width: 750px) {
	.wrap { width: auto; margin: 0 20px; }

	#container { margin-top: 102px; }

	h2 { font-size: 22px; line-height: 31px; letter-spacing: -0.5px; }

	.main_visual .pc { display: none; }
	.main_visual .mobile { display: block; }

	/*.main_visual .no1 { font-size: 15px; line-height: 36px; }
	.main_visual .cont { padding-top: 80px; }
	.main_visual .cont .txt { font-size: 27px; line-height: 36px; }
	.main_visual .cont ul { margin-top: 20px; }
	.main_visual .cont ul li a { font-size: 13px; line-height: 32px; border-radius: 8px; }
	.main_visual .man { padding-top: 0; }
	.main_visual .man img { max-width: 250px; }*/

	.menu_icon { margin: 40px auto 35px auto; }
	.menu_icon li a { display: block; }
	.menu_icon li a .icon img { height: 50px; }
	.menu_icon li a p { margin-top: 5px; font-size: 12px; line-height: 21px; }

	.video { padding-top: 50px; }

	.technical_service { padding: 45px 0; }
	.technical_service .service { margin: 35px -20px 0 -20px; }
	.technical_service .service li ~ li { margin-top: 25px; }
	.technical_service .service li a { padding: 0; }
	.technical_service .service li a:hover { box-shadow: none; }
	.technical_service .service li .img { border: none; }
	.technical_service .service li h3 { margin: -21px auto 0 auto; font-size: 18px; line-height: 41px; }
	.technical_service .service li .txt { margin-top: 15px; font-size: 16px; line-height: 23px; }

	.specialized { padding: 40px 0 50px 0; }
	.specialized h2 { margin-top: 35px; }
	.specialized .explain { margin-top: 15px; font-size: 16px; line-height: 23px; }
	.specialized .specialty { gap: 20px; margin-top: 35px; }
	.specialized .specialty li .img { width: 110px; }
	.specialized .specialty li .img img { width: 100%; }
	.specialized .specialty li .cont { width: calc(100% - 110px); margin-left: 20px; }
	.specialized .specialty li .cont h3 { padding-left: 15px; font-size: 17px; line-height: 24px; }
	.specialized .specialty li .cont h3:before { top: 9px; width: 7px; height: 7px; }
	.specialized .specialty li .cont p { margin-top: 5px; font-size: 13px; line-height: 20px; }
	.specialized .specialty li .cont br { display: none; }
	.specialized .img2 { margin-top: 35px; }

	.knowhow { padding: 50px 0 45px 0; }
	.knowhow .img { gap: 10px; }
	.knowhow .img li { width: calc((100% - 10px) / 2); }
	.knowhow .txt { margin-top: 35px; font-size: 24px; line-height: 31px; }
	.knowhow .txt em { margin-top: 10px; font-size: 16px; line-height: 23px; }

	.branch { padding: 50px 0; }
	.branch .cont h2 { padding-top: 45px; }
	.branch .cont h2:before { height: 30px; background-size: auto 30px; }
	.branch .cont p { margin-top: 15px; font-size: 16px; line-height: 23px; }
	.branch .map { margin-top: 35px; }
	.branch .map span img { max-width: 66%; }

	.review { padding: 75px 0 30px 0; }
	.review .explain { margin-top: 15px; font-size: 12px; line-height: 19px; }
	.review .explain2 { margin-top: 15px; font-size: 14px; line-height: 20px; }
	.review .list { margin-top: 35px; }
	.review .list li { padding: 15px; border-radius: 12px; }
	.review .list li .tit_work { padding: 0 15px; font-size: 13px; line-height: 30px; }
	.review .list li .tit { margin: 15px 0 0 5px; font-size: 14px; line-height: 21px; }
	.review .list li .name { margin: 10px 0 15px 5px; font-size: 12px; line-height: 19px; }
	.review .list li .img { border-radius: 10px; }
	.review .more { margin-top: 30px; }
	.review .more a { padding: 0 25px; font-size: 13px; line-height: 30px; }

	.construction { padding: 45px 0 30px 0; }
	.construction h2 em { display: block; }
	.construction .explain { margin-top: 15px; font-size: 16px; line-height: 23px; }
	.construction .list { gap: 20px 10px; margin-top: 35px; }
	.construction .list li { width: calc((100% - 10px) / 2); }
	.construction .list li p { position: relative; margin-top: -10px; padding: 8px 0; font-size: 13px; line-height: 20px; }
	.construction .more { margin-top: 30px; }
	.construction .more a { padding: 0 25px; font-size: 13px; line-height: 30px; }
	.construction .step1 { width: 100% !important; }
	.construction .slide_page { margin-top: 30px; }
	.construction .slide_page a { width: 8px; height: 8px; margin: 0 4px; }
	.construction .slide_page a.on { width: 16px; }

	.construction2 { padding: 40px 0; }
	.construction2 h2 { font-size: 32px; line-height: 41px; }
	.construction2 h2 em { margin-bottom: 15px; }
	.construction2 h2 em img { height: 85px; }
	.construction2 .explain { margin-top: 10px; font-size: 18px; line-height: 27px; }
	.construction2 .tap { gap: 10px; margin-top: 35px; }
	.construction2 .tap a { width: calc((100% - 30px) / 4); padding: 8px 0; font-size: 14px; line-height: 21px; }
	.construction2 .tap_loc { margin-top: 35px; padding-bottom: 10px; border-bottom: 1px solid #adadad; }
	.construction2 .tap_loc em { font-size: 14px; line-height: 23px; }
	.construction2 .step1 { width: 100% !important; }
	.construction2 .list { gap: 20px 10px; margin-top: 20px; }
	.construction2 .list li { width: calc((100% - 10px) / 2); }
	.construction2 .list li a p { margin-top: 10px; font-size: 13px; line-height: 18px; }
	.construction2 .slide_page { margin-top: 40px; }
	.construction2 .slide_page a { width: 21px; margin: 0 1px; font-size: 12px; line-height: 21px; }
	.construction2 .slide_page a.arrow { margin: 0 4px; }

	.promise { padding: 45px 0 50px 0; }
	.promise .process { gap: 40px 10px; margin-top: 55px; }
	.promise .process li { width: calc((100% - 20px) / 3); padding: 40px 0 15px 0; }
	.promise .process li .number { top: -20px; border: 2px solid #fff; }
	.promise .process li .number span { width: 38px; font-size: 20px; line-height: 38px; }
	.promise .process li .icon img { height: 50px; }
	.promise .process li .tit { margin-top: 15px; font-size: 14px; line-height: 19px; }

	.cons_view .tit1 { display: none; font-size: 14px; line-height: 21px; }
	.cons_view .tit2 { margin-top: 45px; font-size: 20px; line-height: 27px; }
	.cons_view .img img { margin-top: 25px; }
    .cons_view .contents { padding: 25px 10px; }
	.cons_view .txt { margin: 45px 0; font-size: 16px; line-height: 25px; }

	.construction3 { padding: 40px 0 50px 0; }
	.construction3 .top .img img { height: 85px; }
	.construction3 .top .txt { margin-top: 15px; font-size: 18px; line-height: 27px; }
	.construction3 .step1 { width: 100% !important; margin-top: 25px; padding: 30px 0 !important; }
	.construction3 .step5 { width: 100% !important; margin-top: 25px; padding: 30px 0 !important; }
	.construction3 .list { gap: 20px 10px; }
	.construction3 .list li { width: calc((100% - 10px) / 2); }
	.construction3 .list li a p { margin-top: 10px; font-size: 13px; line-height: 18px; }
	.construction3 .btn { margin-top: 30px; text-align: center; }
	.construction3 .btn a { width: 80px; margin-left: 10px; font-size: 14px; line-height: 33px; }

	.banner { margin: 30px 0; }

	.cost_guide { padding: 45px 0 50px 0; }
	.cost_guide .explain { margin-top: 15px; font-size: 16px; line-height: 23px; }
	.cost_guide .explain em { display: block; }
	.cost_guide .btn { margin-top: 35px; }
	.cost_guide .btn a { font-size: 14px; line-height: 41px; }
	.cost_guide .apply { margin-top: 10px; }
	.cost_guide .apply a { font-size: 15px; line-height: 42px; }

	.greeting { padding: 45px 0 50px 0; }
	.greeting .hello { margin-top: 16px; padding-top: 25px; font-size: 13px; line-height: 22px; background-size: auto 8px; }
	.greeting .hello strong { margin-bottom: 20px; font-size: 17px; line-height: 24px; }
	.greeting .hello br { display: none; }
	.greeting .man { margin-top: 35px; }
	.greeting .man img { max-width: 220px; }
	.greeting .team { gap: 40px; margin-top: 50px; }
	.greeting .team li { padding: 25px 20px; }
	.greeting .team li .number { top: -20px; width: 40px; height: 40px; font-size: 17px; line-height: 40px; }
	.greeting .team li h3 { margin-top: 10px; font-size: 20px; line-height: 29px; }
	.greeting .team li .img { margin-top: 15px; }
	.greeting .team li .txt { margin-top: 15px; font-size: 16px; line-height: 23px; }

	.awards { padding: 50px 0; }
	.awards h2 { padding: 0 0 0 70px; font-size: 28px; line-height: 37px; }
	.awards h2:before { width: 100%; height: 80px; background-size: auto 80px; }
	.awards .explain { margin-top: 20px; font-size: 16px; line-height: 23px; }
	.awards .list { gap: 10px; margin: 35px auto 0 auto; }
	.awards .list li { width: calc((100% - 30px) / 4); }

	.result { padding: 45px 0 40px 0; border-bottom: 6px solid #303030; }
	.result h2 { font-size: 18px; line-height: 27px; }
	.result h2 img { height: 12px; margin: 0 10px; }
	.result .list { margin: 30px -20px 0 -20px; }
	.result .list li { padding: 15px 0 10px 0; background-size: auto 100%; }
	.result .list li .img img { max-width: 70%; }
	.result .list li p { margin-top: 15px; font-size: 13px; line-height: 18px; }

	.problem { padding: 45px 0 50px 0; }
	.problem h2 { font-size: 20px; line-height: 29px; }
	.problem .list { gap: 20px; margin-top: 35px; }
	.problem .list li { padding: 20px 0; font-size: 14px; line-height: 21px; }
	.problem .list li:nth-child(1) { border-top-left-radius: 15px; }
	.problem .list li:nth-child(2) { border-top-right-radius: 15px; }
	.problem .list li:nth-child(3) { border-bottom-left-radius: 15px; }
	.problem .list li:nth-child(4) { border-bottom-right-radius: 15px; }
	.problem .list li span { width: 30px; line-height: 30px; }

	.perfect_service { padding: 45px 0 0 0; }
	.perfect_service .explain { margin: 15px auto 0 auto; padding: 8px 0; font-size: 17px; line-height: 24px; }
	.perfect_service .specialty { margin: 30px -20px 0 -20px; }
	.perfect_service .specialty li { padding: 20px; }
	.perfect_service .specialty li .img { width: 110px; border-radius: 10px; }
	.perfect_service .specialty li .img img { width: 100%; }
	.perfect_service .specialty li .cont { width: calc(100% - 110px); margin-left: 20px; }
	.perfect_service .specialty li .cont h3 { padding-left: 15px; font-size: 17px; line-height: 24px; }
	.perfect_service .specialty li .cont h3:before { top: 9px; width: 6px; height: 6px; }
	.perfect_service .specialty li .cont p { margin-top: 5px; font-size: 13px; line-height: 20px; }
	.perfect_service .service { margin: 30px -20px 0 -20px; }
	.perfect_service .service li a { display: block; padding: 30px 10px 25px 10px; }
	.perfect_service .service li a h3 { margin-top: 20px; padding: 5px 0; font-size: 14px; line-height: 21px; }
	.perfect_service .service li a .txt { margin-top: 15px; font-size: 12px; line-height: 19px; }

	.perfect_service2 { padding: 45px 0 50px 0; }
	.perfect_service2 h2 { margin-top: 25px; }
	.perfect_service2 .flower { padding: 8px 0 0 0; font-size: 17px; line-height: 42px; background-size: auto 50px; }
	.perfect_service2 .specialty { gap: 20px; margin-top: 35px; }
	.perfect_service2 .specialty li .img { width: 110px; border-radius: 10px; }
	.perfect_service2 .specialty li .img img { width: 100%; }
	.perfect_service2 .specialty li .cont { width: calc(100% - 110px); margin-left: 20px; }
	.perfect_service2 .specialty li .cont h3 { padding-left: 15px; font-size: 17px; line-height: 24px; }
	.perfect_service2 .specialty li .cont h3:before { top: 9px; width: 6px; height: 6px; }
	.perfect_service2 .specialty li .cont p { margin-top: 5px; font-size: 13px; line-height: 20px; }

	.leak_visual .cont { padding-top: 50px; }
	.leak_visual .cont .txt { font-size: 16px; line-height: 25px; }
	.leak_visual .cont .txt span { padding: 0 10px; }
	.leak_visual .cont .tit { margin-top: 15px; font-size: 26px; line-height: 35px; }
	.leak_visual .cont a { width: 85%; margin-top: 35px; font-size: 14px; line-height: 43px; border-radius: 8px; }
	.leak_visual .man { margin-top: 30px; }
	.leak_visual .man img { width: 250px; }

	.leak_water { padding: 50px 0 45px 0; }
	.leak_water .list li { width: 50%; margin: 0; }
	.leak_water .list li:nth-child(3) { margin-top: 25px; }
	.leak_water .list li:nth-child(4) { margin-top: 25px; }
	.leak_water .list li .img img { width: 120px; }
	.leak_water .list li h3 { margin-top: 15px; font-size: 17px; line-height: 26px; }
	.leak_water .list li p { margin-top: 5px; font-size: 14px; line-height: 21px; }

	.phenomenon { padding: 45px 0; }
	.phenomenon .list { gap: 25px 10px; margin-top: 35px; }
	.phenomenon .list li .tit { margin-top: 10px; font-size: 14px; line-height: 21px; }

	.leak_cause { padding: 45px 0 50px 0; }
	.leak_cause .list { margin-top: 35px; }
	.leak_cause .list li .tit { padding: 8px 0; font-size: 15px; line-height: 22px; }

	.damage { padding: 45px 0 50px 0; }
	.damage h2 { margin-top: 20px; padding-bottom: 5px; }
	.damage .icon img { height: 45px; }
	.damage .img { gap: 10px; margin-top: 35px; }
	.damage .img li { width: calc((100% - 20px) / 3); }

	.inspect { padding: 45px 0 50px 0; }
	.inspect h2 { font-size: 18px; line-height: 27px; }
	.inspect .img { margin-top: 35px; }
	.inspect .img li { border-radius: 15px; }

	.dispute .wrap { padding: 45px 0 0 0; }
	.dispute .tit { font-size: 18px; line-height: 25px; }
	.dispute .tit strong { margin-top: 5px; font-size: 24px; line-height: 33px; }
	.dispute .txt { margin-top: 20px; font-size: 13px; line-height: 20px; }
	.dispute .care { margin-top: 25px; padding: 10px 0; font-size: 15px; line-height: 22px; }
	.dispute .img_m { margin-top: 25px; }
	.dispute .img_m img { max-width: 90%; }

	.leave { padding: 45px 0; }
	.leave h2 { line-height: 38px; }
	.leave h2 .slide-texts { width: 195px; height: 38px; margin-right: 0; padding-right: 38px; background-size: auto 38px; }
	.leave h2 .slide-texts .swiper-slide { font-size: 20px; }

	.leave .list { gap: 25px 30px; margin: 35px 10px 0 10px; }
	.leave .list li { width: calc((100% - 30px) / 2); }
	.leave .list li .icon { padding: 0 10px; border-radius: 20px; }
	.leave .list li .tit { margin-top: 15px; font-size: 14px; line-height: 21px; }
	.leave .list li .number { font-size: 40px; line-height: 49px; }

	.solve { padding: 50px 0; }
	.solve h2 { font-size: 24px; line-height: 33px; }
	.solve h2 span { display: inline-block; margin-right: 10px; padding: 0 10px; }
	.solve .explain { margin-top: 15px; font-size: 16px; line-height: 23px; }
	.solve .list { margin-top: 35px; }
	.solve .list li .img { border-radius: 10px; }
	.solve .list li .cont .tit { font-size: 18px; line-height: 45px; background-size: auto 45px; }
	.solve .list li .cont .txt { margin-top: 15px; font-size: 15px; line-height: 24px; }

	.water_visual { padding: 50px 0; }
	.water_visual .cont .top { font-size: 16px; line-height: 23px; }
	.water_visual .cont .top span { padding: 0 10px; }
	.water_visual .cont .tit { margin-top: 15px; font-size: 26px; line-height: 35px; }
	.water_visual .cont .txt { margin-top: 10px; font-size: 14px; line-height: 21px; }
	.water_visual .man_m { margin-top: 35px; }
	.water_visual .man_m img { width: 280px; }
	.water_visual .request { border-radius: 15px; border: 2px solid #0a6feb; }
	.water_visual .request .subject { font-size: 18px; line-height: 25px; }
	.water_visual .request ul li input { height: 43px; font-size: 14px; }
	.water_visual .request ul li a { font-size: 16px; line-height: 43px; }
	.water_visual .request ul li button { font-size: 16px; line-height: 43px; }

	.specialty2 { gap: 20px; margin: 50px 0; }
	.specialty2 li { width: 100%; padding: 20px; border-radius: 15px; }
	.specialty2 li .img { border-radius: 10px; }
	.specialty2 li h3 { margin-top: 20px; padding-left: 14px; font-size: 16px; line-height: 23px; }
	.specialty2 li h3:before { top: 9px; left: 0; width: 5px; height: 5px; }
	.specialty2 li p { margin-top: 10px; font-size: 14px; line-height: 21px; }

	.resolve { padding: 45px 0 50px 0; }
	.resolve .list { gap: 20px; margin-top: 35px; }
	.resolve .list li { width: calc((100% - 20px) / 2); padding: 25px 0 20px 0; border-radius: 15px; }
	.resolve .list li .icon img { width: 70px; }
	.resolve .list li h3 { margin-top: 15px; font-size: 16px; line-height: 23px; }
	.resolve .list li p { margin-top: 5px; font-size: 14px; line-height: 21px; }

	.estimate { padding: 45px 0 50px 0; }
	.estimate h2 { padding-bottom: 15px; font-size: 20px; line-height: 29px; }
	.estimate .explain { margin-top: 15px; font-size: 16px; line-height: 23px; }
	.estimate .space { gap: 15px 10px; margin-top: 35px; }
	.estimate .space li { width: calc((100% - 30px) / 4); }
	.estimate .space li a .icon { font-size: 0; line-height: 0; border-radius: 50%; background-color: #d9dfe7; }
	.estimate .space li a .tit { margin-top: 10px; font-size: 15px; line-height: 24px; }
	.estimate .input_form { gap: 20px; margin-top: 30px; }
	.estimate .input_form li .tit { margin-bottom: 10px; padding-left: 22px; font-size: 16px; line-height: 23px; }
	.estimate .input_form li .tit:before { top: 8px; left: 5px; width: 7px; height: 7px; }
	.estimate .input_form li input[type="text"], .estimate .input_form li input[type="tel"] { height: 48px; padding-left: 22px; font-size: 15px; border-radius: 10px; }
	.estimate .input_form li input[type="radio"] { width: 20px; height: 20px; margin: 2px 10px 2px 22px; }
	.estimate .input_form li input[type="radio"] ~ input[type="radio"] { margin-left: 40px; }
	.estimate .input_form li label { font-size: 15px; line-height: 24px; }
	.estimate .input_form li textarea { height: 200px; padding: 15px 22px; font-size: 15px; line-height: 22px; border-radius: 10px; border: 1px solid #e0e0e0; }
	.estimate .privacy { margin-top: 15px; padding-left: 22px; font-size: 15px; line-height: 48px; border-radius: 10px; }
	.estimate .privacy input[type="checkbox"] { width: 18px; height: 18px; margin: 15px 8px 15px 0; }
	.estimate .privacy a { right: 20px; }
	.estimate .white { border: 1px solid #e0e0e0 !important; }
	.estimate .btn { margin-top: 15px; }
	.estimate .btn a { font-size: 17px; line-height: 56px; border-radius: 10px; }
	.estimate .btn button { font-size: 17px; line-height: 56px; border-radius: 10px; }

	.shortcut { padding: 0; }
	.shortcut .wrap { margin: 0; }
	.shortcut .service { gap: 1px; border: none; }
	.shortcut .service li { width: calc((100% - 2px) / 3); }
	.shortcut .service li a { display: block; padding: 30px 10px 25px 10px; }
	.shortcut .service li a h3 { margin-top: 20px; padding: 5px 0; font-size: 15px; line-height: 24px; }
	.shortcut .service li a .txt { margin-top: 15px; font-size: 12px; line-height: 19px; }

	.restore_visual { padding: 75px 0; font-size: 24px; line-height: 33px; }
	.restore_visual em { margin-bottom: 10px; font-size: 16px; line-height: 23px; }

	.cleaning { padding: 20px 0 50px 0; }
	.cleaning .wrap { padding-bottom: 28vw; }
	.cleaning h2 { padding-left: 50%; font-size: 18px; line-height: 25px; }
	.cleaning h2 p { margin-bottom: 10px; }
	.cleaning h2 p em { margin-left: -5px; padding: 0 15px; font-size: 14px; line-height: 31px; }
	.cleaning .man { top: -20%; width: 44%; }
	.cleaning .list { gap: 10px; }
	.cleaning .list li { width: calc((100% - 20px) / 3); }

	.interior { padding: 45px 0; }
	.interior h2 { font-size: 20px; line-height: 29px; }
	.interior h2 p { margin-top: 15px; }
	.interior h2 p span { padding: 0 30px; line-height: 39px; }
	.interior .list { gap: 25px 30px; margin: 40px 10px 0 10px; }
	.interior .list li { width: calc((100% - 30px) / 2); }
	.interior .list li .icon { padding: 0 10px; border-radius: 20px; }
	.interior .list li .tit { margin-top: 15px; font-size: 15px; line-height: 22px; }

	.suggestion { padding: 50px 0; }
	.suggestion .logo img { height: 28px; }
	.suggestion h2 { margin-top: 20px; font-size: 20px; line-height: 29px; }
	.suggestion .txt_box { gap: 10px; margin-top: 35px; }
	.suggestion .txt_box li { width: calc((100% - 20px) / 2); padding: 12px 0; font-size: 14px; line-height: 21px; border-radius: 10px; }
	.suggestion .list { margin-top: 40px; }
	.suggestion .list li .cont .tit { width: 116px; font-size: 17px; line-height: 36px; border: 2px solid #fff; }
	.suggestion .list li .cont .txt { margin-top: 15px; font-size: 15px; line-height: 24px; }

	.solution { padding: 45px 0; }
	.solution h2 { font-size: 20px; line-height: 29px; }
	.solution h2 em { margin-bottom: 10px; font-size: 16px; line-height: 23px; }
	.solution .img { margin-top: 35px; }
	.solution p { padding: 15px; font-size: 16px; line-height: 23px; border-bottom-left-radius: 15px; border-bottom-right-radius: 15px; }
	.solution p span { display: block; }

	.field .wrap { padding: 45px 0 180px 0; background-size: 280px auto; }
	.field h2 em { margin-bottom: 5px; font-size: 16px; line-height: 23px; }

	.review2 { padding: 45px 0 50px 0; }
	.review2 .list { margin-top: 35px; }
	.review2 .list li .cont { bottom: 30px; padding: 20px 20px 20px 20px; }
	.review2 .list li .tit_work { padding: 0 15px; font-size: 13px; line-height: 30px; }
	.review2 .list li .tit { margin: 15px 0 0 5px; font-size: 14px; line-height: 21px; }
	.review2 .list li .name { margin: 10px 0 0 5px; font-size: 12px; line-height: 19px; }

	.restore_case { padding: 45px 0 50px 0; }
	.restore_case h3 { font-size: 20px; line-height: 29px; }
	.restore_case .list { margin-top: 35px; }
	.restore_case .list li .tit { padding: 8px 0; font-size: 13px; line-height: 20px; }

	.phrase { padding: 45px 0 50px 0; font-size: 14px; line-height: 23px; }
	.phrase span { display: block;  }
	.phrase em { margin-top: 35px; }
	.phrase em img { height: 30px; }

	.treatment { padding: 45px 0 50px 0; }
	.treatment .explain { margin: 15px 0 35px 0; font-size: 16px; line-height: 23px; }
	.treatment .step_box { padding: 35px 20px; border-radius: 15px; }
	.treatment .step_box .icon img { height: 80px; }
	.treatment .step_box .tit { margin-top: 20px; font-size: 18px; line-height: 25px; }
	.treatment .step_box .txt { margin-top: 15px; font-size: 14px; line-height: 21px; }
	.treatment .step_arrow { margin: -10px 0; }
	.treatment .step_arrow img { height: 50px; }

	.document { padding: 45px 0 50px 0; }
	.document .document1 .img { gap: 20px; margin-top: 25px; }
	.document .document1 .img li { width: calc((100% - 20px) / 2); }
	.document .document2 { margin-top: 45px; }
	.document .document2 .img { gap: 20px; margin-top: 25px; }
	.document .document2 .img li { width: calc((100% - 40px) / 3); }
	.document .tit { font-size: 16px; line-height: 25px; }

	.request2 { padding: 50px 0; }
	.request2 .request_box { padding: 4px; border-radius: 15px; }
	.request2 .request_box h2 { margin-top: 15px; font-size: 18px; line-height: 25px; }
	.request2 .form { margin-top: 15px; padding: 20px; border-bottom-left-radius: 12px; border-bottom-right-radius: 12px; }
	.request2 .form li ~ li { margin-top: 10px; }
	.request2 .form li input { height: 47px; font-size: 14px; }
	.request2 .form li textarea { height: 120px; padding: 15px; font-size: 14px; line-height: 21px; }
	.request2 .form li p { margin-top: 20px; font-size: 13px; line-height: 20px; }
	.request2 .form li a { margin-top: 15px; font-size: 16px; line-height: 45px; }
	.request2 .form li button { margin-top: 15px; font-size: 16px; line-height: 45px; }

	.final_step { padding: 45px 0; }
	.final_step .step { margin-top: 35px; }
	.final_step .step li .no { width: 60px; margin: 0 auto -12px auto; font-size: 14px; line-height: 24px; border-radius: 5px; }
	.final_step .step li .icon { width: auto; border-radius: 10px; }
	.final_step .step li .icon img { width: 88px; }
	.final_step .step li h3 { margin-top: 15px; font-size: 15px; line-height: 22px; }
	.final_step .step li p { margin-top: 10px; font-size: 13px; line-height: 20px; }

	.as_visual { height: 240px; }

	.as_receipt { padding: 50px 0; }
	.as_receipt .top { margin-bottom: 15px; font-size: 16px; line-height: 23px; }
	.as_receipt .top span { padding: 0 10px; }
	.as_receipt h2 { font-size: 20px; line-height: 29px; }
	.as_receipt .form { margin: 35px auto 0 auto; }
	.as_receipt .form li ~ li { margin-top: 10px; }
	.as_receipt .form li input { height: 47px; font-size: 14px; border-radius: 10px; border: 1px solid #ccc; }
	.as_receipt .form li textarea { height: 120px; padding: 15px; font-size: 14px; line-height: 21px; border-radius: 10px; border: 1px solid #ccc; }
	.as_receipt .form li p { margin-top: 20px; font-size: 13px; line-height: 20px; }
	.as_receipt .form li p.care { margin-top: 15px; font-size: 14px; line-height: 21px; }
	.as_receipt .form li a { width: 100%; margin-top: 15px; font-size: 16px; line-height: 45px; border-radius: 10px; }
	.as_receipt .form li button { width: 100%; margin-top: 15px; font-size: 16px; line-height: 45px; border-radius: 10px; }

	.department { padding: 50px 0 45px 0; }
	.department .list { gap: 25px; }
	.department .list li .img span { width: 136px; font-size: 16px; line-height: 35px; border: 2px solid #fff; }
	.department .list li .txt { margin-top: 15px; font-size: 14px; line-height: 21px; }

	.advice { padding: 15px 0 50px 0; }
	.advice .form li { padding: 20px 0 25px 0; }
	.advice .form li .tit { font-size: 15px; line-height: 24px; }
	.advice .form li .tit span { margin-left: 8px; font-size: 13px; }
	.advice .form li .tit img { height: 20px; margin: 2px 8px 0 0; }
	.advice .form li .input { margin-top: 15px; }
	.advice .form li .input a img { height: 45px; }
	.advice .form li .input input { height: 45px; padding-left: 15px; font-size: 14px; border-radius: 10px; }
	.advice .form li .radio { margin: 15px 0 0 28px; }
	.advice .form li .radio input { width: 19px; height: 19px; }
	.advice .form li .radio label { margin-left: 8px; font-size: 14px; line-height: 19px; }
	.advice .form li .radio p ~ p { margin-top: 10px; }
	.advice .form li .month { margin-top: 20px; font-size: 15px; line-height: 24px; }
	.advice .form li .month a img { height: 24px; }
    .advice .form li button { font-size: 16px; line-height: 49px; border-radius: 10px; }
    
	.advice .accept_btn { margin: 30px auto 0 auto; }
	.advice .accept_btn a { font-size: 16px; line-height: 49px; border-radius: 10px; }
	.advice .accept_btn button { font-size: 16px; line-height: 49px; border-radius: 10px; }

	.advice .privacy { margin-top: 15px; font-size: 15px; line-height: 48px; border-radius: 10px; }
	.advice .privacy input[type="checkbox"] { width: 18px; height: 18px; margin: 15px 8px 15px 20px; }
	.advice .privacy a { right: 20px; }

	.calendar { margin-top: 20px; }
	.calendar th { height: 50px; font-size: 13px; line-height: 30px; }
	.calendar td { height: 50px; font-size: 13px; line-height: 30px; }
	.calendar td em { font-size: 12px; line-height: 20px; }
	.calendar td a { width: 30px; font-size: 14px; line-height: 30px; }

	.policy { margin-bottom: 55px; font-size: 13px; line-height: 22px; }
	.policy strong { font-size: 14px; line-height: 23px; }
	.policy h1 { padding: 35px 0 30px 0; font-size: 20px; line-height: 29px; }

	.consultation1 { display: block; }
	.consultation2 { display: block; }
	.consultation3 { display: block; }

	.review { padding: 50px 0; }

	.board-list { margin-top: 15px; }
	.board-list th { padding:12px 5px; font-size:13px; line-height:18px; }
	.board-list td { padding:12px 5px; font-size:13px; line-height:18px; }
	.board-list td.subject { padding:12px 0 12px 10px; }
	.board-list td a { line-height:18px; }

	.board-write { margin-top: 15px; }
	.board-write li { min-height:36px; padding:10px 10px 10px 100px; }
	/*.board-write li div { top:10px; left:10px; font-size:13px; line-height:36px; }*/
	.board-write li label.tit { top:10px; left:10px; font-size:13px; line-height:36px; }
	.board-write li em { width:5%; font-size:15px; line-height:36px; }
	.board-write li input[type="text"], .board-write li input[type="tel"], .board-write li input[type="password"] { width:100%; height:36px; padding:0 0 0 10px; font-size:13px; }
	.board-write li input.tel { width:30%; }
	.board-write li input.w100 { width:100%; height:36px; padding:0 0 0 10px; font-size:13px; }
	.board-write li input.file { line-height:33px; padding-left:0; }
	.board-write li select { width:100%; height:36px; padding:0 0 0 10px; font-size:13px; }
	.board-write li select.tel { width:30%; }
	.board-write li textarea { height:150px; padding:10px; font-size:13px; line-height:22px; }
	.board-write li div.form input[type="checkbox"] { height:32px; }
	.board-write li div.form label { font-size:13px; line-height:40px; }
    .board-write li div.form a { right: 20px; }

	.paging { margin-top:30px; }
	.paging a { width:30px; margin:0 3px; font-size:13px; line-height:30px; }
	.paging a.btn { margin:0; }
	.paging a.btn img { width: 30px; }
	.paging a.write { width: 120px; margin: 0 auto 30px auto; font-size:13px; line-height:32px; }

	.search { margin-top:30px; padding: 0; background: none; }
	.search select { width:28%; height:32px; font-size:13px; }
	.search input { width:46%; height:32px; margin-left:2%; font-size:13px; }
	.search a { width:22%; margin-left:2%; font-size:13px; line-height:32px; }
	.search button { width:22%; margin-left:2%; font-size:13px; line-height:32px; }

	.viewtop { margin-top: 15px; padding:15px 20px; font-size:15px; line-height:22px; }
	.viewcont { padding: 25px 20px; font-size:13px; line-height:20px; }
	.viewcont .img { margin-bottom: 25px; }
	.viewcont p { font-size:13px; line-height:20px; }
	.button { margin-top:30px; }
	.button a { width:120px; margin:0 5px; font-size:13px; line-height:40px; }
	.button button { width:120px; margin:0 5px; font-size:13px; line-height:40px; }
	.post { margin-top:30px; }
	.post li div { width:100px; font-size:13px; line-height:20px; }
	.post li a { width: calc(100% - 100px); padding:10px 20px; font-size:13px; line-height:20px; }

	.topRealTimeEstimate{ padding: 15px 0; }
	.topRealTimeEstimate .realTimeEstInner { width: auto; margin: 0 20px; }
	.topRealTimeEstimate .realTimeEstInner dl { width: 110px; }
	.topRealTimeEstimate .realTimeEstInner dl dt { font-size:15px; line-height:26px; }

	.topRealTimeEstimate .realTimeEstInner .estimateList{ width: calc(100% - 110px); font-size: 13px; line-height: 26px; }
	.topRealTimeEstimate .realTimeEstInner .estimateList li{ margin-left:15px;line-height:26px;}
	.topRealTimeEstimate .realTimeEstInner .estimateList li .cabox{ margin: 4px 4px 4px 0; padding: 0 5px; border-radius:3px; font-size:11px; line-height: 18px; }

	.board_wrap { padding: 55px 0 60px 0; }
	.board_wrap .board { gap: 35px; }
	.board_wrap .board > li h3 { margin-left: 10px; font-size: 18px; line-height: 27px; }
	.board_wrap .board > li .list { margin-top: 15px; padding: 10px 20px 20px 20px; border-radius: 10px; }
	.board_wrap .board > li .list li { margin-top: 10px; padding-bottom: 10px; }
	.board_wrap .board > li .list li a { width: calc(100% - 100px); font-size: 14px; line-height: 23px; }
	.board_wrap .board > li .list li em { width: 80px; font-size: 14px; line-height: 23px; }
	.board_wrap .board > li .more { top: 2px; right: 10px; }
	.board_wrap .board > li .more a { font-size: 14px; line-height: 23px; }
}

@media screen and (max-width: 480px) {
	.wrap { width: auto; margin: 0 20px; }

    .main-review { padding: 0 45px !important; margin: 0 auto; }
}



.pc_only {
  display: none;
}


@media screen and (min-width: 768px) {
  .pc_only {
    display: block;
  }
}