@charset "utf-8";

.doc-tit {margin-bottom:20px;}
.doc-tit h3 {position:relative; font-size:20px; color:#2c2c2c; font-weight:500; letter-spacing:-.03em; line-height:1.3em; padding-left:30px;}
.doc-tit h3:before {position:absolute; content:""; width:20px; height:20px; background:url('../images/sub/doc-tit.png')50% 50% no-repeat; background-size:contain; top:50%; margin-top:-10px; left:0;}


.table01 {width:100%; border-collapse:collapse; border-spacing:0px; border-top:2px solid #a8a8a8;}
.table01 a {display:block; width:100%; height:100%;}
.table01 th {padding:12px 15px; border:1px solid #dfdfdf; border-top:0; background:#fff; font-size:18px; font-weight:500; color:#2c2c2c; background:#fafafa;}
.table01 td {padding:12px 30px; border:1px solid #dfdfdf; text-align:center; border-top:0; background:#fff; font-size:16px; color:#505050;}
.table01 tr th:first-child,
.table01 tr td:first-child {border-left:0;}
.table01 tr th:last-child,
.table01 tr td:last-child {border-right:0;}
.table01 tr td ul li{color:#878787;}
.table01 .bold {font-size:18px; color:#2c2c2c; font-weight:500;}

.greetings .txt-box {margin-left:50px;}
.greetings .tit {font-size:30px; color:#333; line-height:1.400em; font-weight:500; letter-spacing:-.04em; margin-top:-120px;}
.greetings .tit span {color:#a40b5d; font-weight:700;}
.greetings .txt {font-size:18px; color:#505050; line-height:1.556em; font-weight:300; letter-spacing:-.03em; margin-top:30px;}
.greetings .lg-txt {font-size:22px; color:#2c2c2c; font-weight:500; line-height:1.273em; letter-spacing:-.03em; margin-top:30px;}
.greetings .lg-txt strong {color:#a40b5d; font-weight:500;}
.greetings .sign {font-size:18px; font-weight:700; letter-spacing:-.03em; color:#2c2c2c; margin-top:30px;}
 
.management .img {text-align:center;}

.organization .img {text-align:center;}

.map-flex {display:flex; align-items:center;}
.map-flex.mg {margin-top:60px;}
.map-flex .map {width:50%;}
.map-flex .location {width:50%; padding-left:60px;}
.map-flex .location h3 {font-size:20px; font-weight:500; color:#a40b5d; letter-spacing:-.03em; line-height:1.3em;}
.map-flex .location .txt {font-size:18px; letter-spacing:-.03em; line-height:1.778em; padding:10px 0 15px; border-bottom:1px solid #ddd;}
.map-flex .location-flex {display:flex; margin-top:15px;}
.map-flex .location-flex dl {display:flex; align-items:center; margin-right:40px;}
.map-flex .location-flex dl dd {color:#505050; font-weight:300; padding-left:10px;}
.map-flex .location-flex dl dd .txts {font-weight:500; letter-spacing:-.03em; line-height:1.375em; color:#a40b5d;}
.map-flex .root_daum_roughmap {width:100% !important; height:450px !important;}
.map-flex .root_daum_roughmap .wrap_map {height:450px !important;}

.safety {display:flex; align-items:center;}
.safety .txt-box {min-height:337px; display:flex; flex-direction:column; justify-content:center; width:50%; background:#fafafa; padding-left:50px;}
.safety .txt-box .txt {margin-top:10px;}
.safety-table {margin-top:30px;}
.color-txt {font-size:18px; font-weight:500; color:#a40b5d; letter-spacing:-.03em; line-height:1.3em; margin-bottom:10px;}
.color-txt.font {font-size:24px;}

.show .safety-table {margin-bottom:60px;}

.stage.mg { margin-bottom: 100px;}
.stage h2 { margin-bottom: 50px; text-align: center; position:relative; color:#2c2c2c; font-size:38px; font-weight:700; line-height:1.3em; letter-spacing:-.03em;}
.stage .cnt {margin-bottom:60px;}
.stage .cnt.none {margin-bottom:0;}
.stage-list {border-top:1px solid #a8a8a8; min-height:260px; border-bottom:1px solid #ddd; display:flex; flex-direction:column; justify-content:center;}
.stage-list ul {display:flex; justify-content:center;}
.stage-list ul li {text-align:center; width:20%;}
.stage-list ul li .tit {margin-top:20px;}
.stage-list-wrap ul li {font-size:18px; color:#505050; letter-spacing:-.03em; line-height:1.556em;}
.stage-list-wrap ul li strong {color:#c03770; font-weight:500;}

.reference h4 {color:#a40b5d; font-weight:500; letter-spacing:-.03em; line-height:1.3em; margin:20px 0 5px;}
.reference ol li {line-height:1.750em;}
.reference ol li strong {color:#c03770;}

.standard-list ul {border-top:1px solid #a8a8a8; border-bottom:1px solid #ddd;}
.standard-list ul li {position:relative; height:58px; line-height:58px; border-top:1px solid #ddd; padding-left:20px;}
.standard-list ul li a {position:relative;}
.standard-list ul li:hover {color:#c03770; background:#fafafa;}
.standard-list ul li:hover a:before {position:absolute; content:""; left:0; bottom:-5px; width:100%; height:2px; background:#d793ab;}

.works {display:flex; flex-wrap:wrap; margin-left:-20px; margin-bottom:-20px;}
.works .works-list {position:relative; width:calc(50% - 20px); margin-left:20px; border:1px solid #ddd; margin-bottom:20px; padding:50px 50px; min-height:370px;}
.works .works-list .img {position:absolute; bottom:0; right:60px;}
.works .works-list .tit {font-size:20px; font-weight:500; letter-spacing:-.03em; color:#a40b5d; line-height:1.900em;}
.works .works-list ul li {padding-left:0.5em; text-indent:-0.5em;}

.maintenance ul {display:flex; flex-wrap:wrap; margin-left:-20px; margin-bottom:-20px;}
.tech .maintenance ul {flex-wrap:nowrap;}
.maintenance ul li {display:flex; flex-direction:column; justify-content:center; width:calc(50% - 20px); margin-left:20px; border:1px solid #ddd; background:#fafafa; margin-bottom:20px; text-align:center; min-height:200px;}
.maintenance ul li .num {font-size:20px; font-weight:700; letter-spacing:-.03em; margin:0 auto; width:52px; height:52px; line-height:50px; background:#a40b5d; border-radius:100%; color:#fff; margin-bottom:10px;}
.maintenance ul li .txt {font-size:17px; letter-spacing:-.03em; line-height:1.647em;}
.maintenance ul li .txt strong {font-weight:500; color:#a40b5d;}

.introduce {display:flex;}
.introduce .txt-box {position:relative; width:50%; border:1px solid #ddd; padding:50px;}
.introduce .txt-box .tit {font-size:20px; font-weight:500; letter-spacing:-.03em; color:#a40b5d; line-height:1.900em;}
.introduce .txt-box .img {position:absolute; bottom:0; right:60px;}

.order-wrap {margin-bottom:-100px;}
.order-wrap .order-list {position:relative; display:flex; margin-bottom:100px;}
.order-wrap .order-list:nth-child(even) {flex-direction:row-reverse;}
.order-wrap .order-list:nth-child(even) .txt-box {border-left:1px solid #ddd; border-right:0;}
.order-wrap .order-list:before {position:absolute; content:""; background:url('../images/sub/down.png')50% 50% no-repeat; background-size:contain; width:29px; height:48px; left:50%; margin-left:-14.5px; bottom:-80px;}
.order-wrap .order-list:last-child:before {display:none;}
.order-wrap .order-list .img {display:flex; align-items:center; justify-content:center; width:50%; border:1px solid #ddd; text-align:center;}
.order-wrap .order-list .txt-box {display:flex; align-items:center; justify-content:center; width:50%; border:1px solid #ddd; background:#fafafa; min-height:360px; border-left:0;}
.order-wrap .order-list .txt-box ul li {font-size:17px; letter-spacing:-.04em; line-height:1.647em; padding-left:0.5em; text-indent:-0.5em;}

.performance-list {display:flex; justify-content:center; margin:0 -5px; margin-bottom:30px;}
.performance-list li {flex:1; padding:0 5px;}
.performance-list li.active a {background-color:#a40b5d; border-color:#a40b5d; color:#fff;}
.performance-list li a {display:block; text-align:center; font-size:16px; color:#505050; letter-spacing:-.03em; width:auto; height:45px; line-height:43px; border:1px solid #ddd;}

.btn-wrap {text-align:center; margin-top:50px;}
.btn-wrap .btn {display:inline-block; padding:0 30px; background:#a40b5d; height:50px; line-height:50px; color:#fff; font-size:18px; font-weight:500; letter-spacing:-.03em; text-align:center;}

.tech-table .table01 td {text-align:left;}
.tech-table .table01 td ul li {color:#505050;}
.tech-table .table01 td .txts {font-weight:500;}
.color {font-weight:500; color:#a40b5d;}

.tech .cnt {margin-bottom:60px;}
.tech .imgs {margin-top:30px;}

.tech-bg {background:#fafafa; padding:100px 0; margin-bottom:100px;}
.tech-bg .cnt {margin-bottom:60px;}
.tech-bg .tech-bg-flex ul {display:flex;}
.tech-bg .tech-bg-flex ul li {margin-right:20px;}
.tech-bg .tech-bg-list ul {display:flex; margin:0 -10px;}
.tech-bg .tech-bg-list ul li {padding:0 10px; text-align:center;}
.tech-bg .tech-bg-list .txt {font-size:17px; letter-spacing:-.03em; line-height:1.3em; text-align:center; margin-top:15px;}

.opera {display:flex; align-items:center;}
.opera .txt-box {margin-left:60px;}
.opera .txt-box h3 {font-size:20px; color:#2c2c2c; font-weight:500; letter-spacing:-.03em; line-height:1.3em;}
.opera .txt-box p {color:#878787; letter-spacing:-.03em; line-height:1.3em; margin:5px 0 20px;}
.opera .txt-box .txt {font-size:17px; color:#505050; letter-spacing:-.03em; line-height:1.647em;}


.lnb-wrap {position:relative; color:#333; margin-bottom:30px;}	
.lnb-wrap .slide-btn {position:absolute; top:50%; margin-top:-22.5px; width:45px; height:45px; border:none; overflow:hidden; text-indent:-999em; background-color:transparent; background-position:50% 50%; background-repeat:no-repeat; z-index:50; background-size:contain;}
.lnb-wrap .slide-btn.prev {left:0; background-image:url("../images/sub/slide-prev.png");}
.lnb-wrap .slide-btn.prev:hover {left:0; background-image:url("../images/sub/slide-prev_w.png");}
.lnb-wrap .slide-btn.next {right:0; background-image:url("../images/sub/slide-next.png");}
.lnb-wrap .slide-btn.next:hover {background-image:url("../images/sub/slide-next_w.png");}

/* .main-visual .slick-arrow {position:absolute; top:50%; margin-top:-28px; width:31px; height:61px; border:none; overflow:hidden; text-indent:-999em; background-color:transparent; background-position:50% 50%; background-repeat:no-repeat; z-index:50; background-size:contain;}
.main-visual .slick-prev {left:100px; background-image:url("../images/main/main-prev.png");}
.main-visual .slick-prev:hover {background-image:url("../images/main/main-prev_w.png");}
.main-visual .slick-next {right:100px; background-image:url("../images/main/main-next.png");}
.main-visual .slick-next:hover {background-image:url("../images/main/main-next_w.png");} */

.lnb2 {margin:0 auto; text-align:center; background:#fff; margin-top:40px; width:100%; max-width:1090px;}
.lnb2 ul {display:flex;}
.lnb2 ul li {flex:1; padding:0 5px;}
.lnb2 ul li:first-child::before {display:none;}
.lnb2 ul li a {display:block; text-align:center; font-size:16px; color:#505050; letter-spacing:-.03em; width:auto; height:45px; line-height:43px; border:1px solid #ddd;}
.lnb2 ul li:first-child a {border-left:1px solid #ddd;}
.lnb2 ul li:last-child:after {display:none;}
.lnb2 ul li.active a {background-color:#a40b5d; border-color:#a40b5d; color:#fff;}
.lnb2 ul li.active + li:before {display:none;}