@charset "utf-8";

.sub-tab {margin-bottom: 60px;}
.sub-tab ul {display:flex;flex-wrap:wrap;} 
.sub-tab ul li {position: relative; display: table; width: 25%; min-height: 60px; background: #fafafa; top: 1px; left: 1px; margin-top: -1px; margin-left: -1px;}
.sub-tab ul li a {display:table-cell; vertical-align:middle; padding:5px 65px 5px 40px; color:#505050; line-height:1.3em; letter-spacing: -.04em;}
.sub-tab ul li a:before {content:''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border: 1px solid #ddd;}
.sub-tab ul li:hover a {color: #011f5b;}
.sub-tab ul li.active {z-index: 1;}
.sub-tab ul li.active a {color: #011f5b; font-weight: 500; opacity: 1;}
.sub-tab ul li.active a:before {border: 2px solid #435882;}
.sub-tab ul li.active a:after {content:""; position:absolute; right:40px; top:50%; margin-top: -9px; display:inline-block; width:11px; height:11px; border-right:2px solid #011f5b; border-bottom:2px solid #011f5b; transform:rotate(45deg);}

.table-wrap {overflow-x: auto; -webkit-overflow-scrolling: touch; border-top: 1px solid #a8a8a8;}
.sub-table {width:100%; border-collapse:collapse; border-spacing:0px; line-height:1.75em; letter-spacing:-.03em;}
.sub-table.layuout-fixed {table-layout: fixed;}
.sub-table th {padding:18px 8px; background:#fafafa; border:1px solid #ddd; color:#2c2c2c; font-weight: 500;}
.sub-table td {padding:18px 8px; border:1px solid #ddd; color:#505050; text-align:center;}
.sub-table td.left {text-align: left; padding-left: 20px;}
.sub-table td a:hover {color: #0066b2; text-decoration: underline;}
.sub-table tr th:first-child,
.sub-table tr td:first-child {border-left:0;}
.sub-table tr th:last-child,
.sub-table tr td:last-child {border-right:0;}

.doc-group-wrap {display: flex;flex-wrap: wrap;}
.doc-group-wrap .doc-group {width: 50%; border-bottom: 1px solid #ddd; margin-bottom: 55px;}
.doc-tit {color: #011f5b; font-size: 28px; font-weight: 700; line-height: 1.5; letter-spacing: -.04em; margin-bottom: 16px;}
.doc-tit.ty2 {color: #0066b2; margin-bottom: 55px;}
.doc-cnt {margin-bottom: 55px; color: #505050;}
.doc-cnt.line {border-bottom: 1px solid #ddd; padding-bottom: 55px;}

.pic-list {}
.pic-list ul {display: flex; margin: -10px;}
.pic-list ul.wrap {flex-wrap:wrap;}
.pic-list ul li {width: 33.3333333%; padding: 10px;}

.square-list {}
.square-list li {position: relative; color: #505050; padding-left: 16px;}
.square-list li:before {content:''; position: absolute; top: 11px; left: 0; width: 6px; height: 6px; background-color: #0066b2;}

.dot-list > li{position:relative; padding-left:12px;}
.dot-list > li:last-child{margin-bottom:0;}
.dot-list > li:before{content:''; position: absolute; top: 12px; left: 0; width: 4px; height: 4px; border-radius:4px; background-color: #0066b2;}

.underline {position: relative; box-shadow: inset 0 -.6em 0 #f9f5e4; z-index: 1;}
.txt-blue {color: #0066b2;}

.edit-view {}
.edit-view-tit {padding: 15px 25px 15px 30px; background-color: #fafafa; border-top: 1px solid #a8a8a8; border-bottom: 1px solid #ddd;}
.edit-view-tit h3 {color: #2c2c2c; font-size: 1.125em; font-weight: 500; line-height: 1.65; letter-spacing: -.03em;}
.edit-view-tit .date {float: right; color: #505050; font-size: 0.889em; font-weight: 300;}
.edit-view-cnt {padding-top: 30px;}
.edit-view-cnt img {width:auto !important; height:auto !important; max-width:100%;}
.edit-view-cnt table {width:100% !important; overflow-x:auto; -webkit-overflow-scrolling:touch;}

.editBox {padding: 22px 30px 25px; background-color: #fafafa; border-bottom: 1px solid #ddd; border-top: 3px solid #0066b2; color: #505050; letter-spacing: -.03em;}

.certify-view {display: table; width: 100%; height: 340px; border-top: 3px solid #005bab; border-bottom: 1px solid #ddd; background: #fafafa no-repeat url("../images/sub/bg_certify_view.png") center center;}
.certify-view .cell {display: table-cell; vertical-align:middle; padding: 30px; text-align: center; color: #2c2c2c; font-size: 1.25em; font-weight: 500; line-height: 1.4;}
.certify-view .cell strong {display: block; color: #011f5b; font-size: 1.6em;}

/* greetings */
.greetings {}
.greetings .img {position: relative; float: right; transform: translateY(-50%); margin-right: 60px; margin-top: -50px; border-radius:100%;}
.greetings .img:before {content:''; position: absolute; top: 0; left: 12px; width: 100%; height: 100%; border-radius:inherit; background: linear-gradient(180deg, rgba(237,28,36,.75) 0%, rgba(0,102,178,.75) 100%); z-index: -1;}
.greetings h4 {font-size: 26px; font-weight: 400; line-height: 1.5; letter-spacing: -.04em; margin-bottom: 18px;}
.greetings h4 strong {color: #ed1c24;}
.greetings .cnt {color: #505050; font-size: 1.125em; line-height: 1.778em; letter-spacing: -.04em; margin-bottom: 1.333em;}
.greetings .cnt:last-child {margin-bottom: 0;}
.greetings .cnt span {font-weight: 500; color: #0066b2;}
.greetings .sign {margin-top: 3em; text-align: right;}
.greetings .sign img {margin: -.2em 0 0 20px;}
.greetings .sm {color: #878787; font-size: 0.889em;}

/* CI */
.color-palette {display: flex;flex-wrap:wrap; margin: -10px;}
.color-palette .box {width: 215px; margin: 10px; padding: 15px 28px; height: 100%; color: #fff; font-size: 1.125em; font-weight: 200; line-height: 1.625; letter-spacing: -.04em;}
.color-palette .bg1 {background-color: #ed1c24;}
.color-palette .bg2 {background-color: #0066b2;}
.color-palette .bg3 {background-color: #231f20;}
.color-palette .bg4 {background-color: #fff; color: #505050; font-weight: 400; border: 1px solid #ddd;}
.color-palette .box p {margin: 0.556em -3px;}
.color-palette .box p span {display: inline-block; margin: 0 3px;}
.color-palette .box .tt {font-weight: 400;}
.color-palette .bg4 .tt {font-weight: 500;}
.color-palette .box .line {width: 100%; height: 1px; background-color: #fff; opacity: .5; margin: -.1em -3px -.2em;}
.color-palette .bg4 .line {background-color: #ddd; opacity: 1;}

/* service */
.service {}
.service .group {display: flex;align-items:center; margin-bottom: 65px;}
.service .group:last-child {margin-bottom: 0;}
.service .group .img {width: 56.3%;}
.service .group .txt {flex: 1 1 auto; min-width: 0; width: 1%;}
.service .group .txt strong {display: block; color: #0066b2; font-size: 1.5em; line-height: 1.4; letter-spacing: -.04em; margin-bottom: 12px;}

.service .group:nth-child(odd) .img {padding-right: 30px;}
.service .group:nth-child(even) .img {order: 2; text-align: right; padding-left: 30px;}

/* history */
.history {position: relative;}
.history:before {content:''; position: absolute; top: 10px; left: 5px; bottom: 10px; width: 1px; background-color: #ddd;}
.history .group {position: relative; display: flex; padding-left: 40px; margin-bottom: 48px;}
.history .group:before {content:''; position: absolute; top: 9px; left: 0; width: 10px; height: 10px; background-color: #0066b2; border-radius:100%;}
.history .group:last-child {margin-bottom: 0;}
.history .group .year {min-width: 135px; color: #0066b2; font-size: 34px; letter-spacing: -.04em; }
.history .group .list {}
.history .group .list li {position: relative; padding-left: 100px; color: #505050; line-height: 1.75; letter-spacing: -.04em; margin-bottom: 0.4em;}
.history .group .list .month {position: absolute; top: 0; left: 0; color: #011f5b; font-size: 1.125em; font-weight: 700;}


/* location */
.root_daum_roughmap {width:100% !important;}
.location h3 {color: #2c2c2c; font-size: 40px; line-height: 1.3; letter-spacing: -.04em; margin-bottom: 45px;}
.loc-info {display: flex;flex-wrap:wrap; margin: 45px 0 70px;}
.loc-info dl {position: relative; width: 25%; padding-left: 95px; font-size: 1.125em; line-height: 1.5; letter-spacing: -.03em;}
.loc-info dl.x2 {width: 50%;}
.loc-info dl:after {content:''; position: absolute; top: 50%; left: 0; margin-top: -37px; width: 75px; height: 74px; background-position:50% 50%; background-repeat:no-repeat; background-size:contain;}
.loc-info dl.addr:after {background-image:url("../images/sub/icon_location1.png");}
.loc-info dl.tel:after {background-image:url("../images/sub/icon_location2.png");}
.loc-info dl.mail:after {background-image:url("../images/sub/icon_location3.png");}
.loc-info dl dt {color: #0066b2; font-weight: 700;}
.loc-info dl dd {color: #505050;}

.traffic-info .bus p {margin: 1.25em 0;}
.traffic-info .bus-type {display: inline-block; padding: 0 8px; min-width: 58px; border-radius:50vh; margin-right: 6px; text-align: center; color: #fff; font-size: 0.875em; font-weight: 300; letter-spacing: -.03em; line-height: 28px;}
.traffic-info .bus-type.ty1 {background-color: #44ba42;}
.traffic-info .bus-type.ty2 {background-color: #ed1c24;}

.traffic-info .bus-stop {display: flex;flex-wrap:wrap; margin: -10px;}
.traffic-info .bus-stop p {width: 33.3333333%; padding: 10px;}
.traffic-info .bus-stop .num {display: inline-block; width: 27px; line-height: 27px; border-radius:100%; margin-right: 6px; color: #fff; font-size: 0.875em; font-weight: 300; letter-spacing: -.03em; text-align: center; background-color: #0066b2;}


/* AT */
.AT-intro {display: flex;align-items:center;}
.AT-intro .txt {flex: 1 1 auto; min-width: 0; width: 1%; padding-right: 30px;}
.AT-intro .img {width: 50%;}

.AT-service {}
.AT-service ul {text-align: center; margin-left: -30px;}
.AT-service ul li {float: left; width: 160px; margin-left: 30px; margin-top: 30px;}
.AT-service ul li .in {position: relative; padding-bottom: 100%; border: 1px solid #0066b2; border-radius:100%;}
.AT-service ul li:nth-child(odd) .in {background-color: #0066b2; color: #fff;}
.AT-service ul li:nth-child(even) .in {background-color: #fff; color: #505050;}
.AT-service ul li p {position: absolute; top: 50%; left: 0; width: 100%; transform:translateY(-50%);}

.AT-job .pic-list {margin: 50px 0;}
.AT-job .square-list {display: flex;flex-wrap:wrap; margin: -10px 0;}
.AT-job .square-list li {width: 25%; margin: 10px 0;}

.AT-course {}
.AT-course .group {margin-bottom: 60px;}
.AT-course .group.flex {display: flex;align-items:center}
.AT-course .group:last-child {margin-bottom: 0;}
.AT-course .group.flex .txt {flex: 1 1 auto; min-width: 0; width: 1%;}
.AT-course .group .txt strong {display: block; color: #011f5b; font-size: 1.5em; line-height: 1.4; letter-spacing: -.04em; margin-bottom: 14px;}
.AT-course .group .txt p {}
.AT-course .group.flex .img {width: 56.52%;}

.AT-course .group.ty1 .img {order: -1; padding-right: 30px;}
.AT-course .group.ty2 .img {padding-left: 30px; text-align: right;}
.AT-course .group.ty3 .txt {margin-bottom: 25px;}

.AT-mission {}
.AT-mission .row {position: relative; display: table; width: 100%; margin-bottom: 10px; min-height: 106px; border: 1px solid #ddd;}
.AT-mission .row:last-child {margin-bottom: 0;}
.AT-mission .cell {display: table-cell; vertical-align:middle; padding: 10px 30px 10px 135px;}
.AT-mission .num {position: absolute; top: 0; left: 0; width: 106px; height: 100%; display: flex;justify-content: center;align-items: center; font-size: 26px; font-weight: 700; letter-spacing: -.04em; color: #fff; background-color: #0066b2; text-align: center;}

.rnd {font-size: 1.125em; line-height: 1.778em; letter-spacing: -.04em;}
.rnd h3 {color: #2c2c2c; font-size: 1.889em; font-weight: 400; line-height: 1.4; letter-spacing: -.04em; margin-bottom: 20px;}
.rnd h3 strong {color: #011f5b;}
.rnd .sm {font-size: 0.889em; color: #878787;}

.rnd-biz {padding: 55px 0; border-top: 1px solid #a8a8a8; border-bottom: 1px solid #ddd;}
.rnd-biz .square-list {display: flex;flex-wrap:wrap; margin: -10px 0;}
.rnd-biz .square-list li {width: 50%; margin: 10px 0;}

