body {
    font-family: Roboto, sans-serif;
    font-size: 15px;
    font-weight: 300;
}


.section-wrap {
    padding:100px 0;
}
.sec-01,
.sec-04{
    background-color:#f8f8f8 !important;
}
.sec-02 {
    border-bottom:1px solid #ccc;
}
.about-title {
    font-size:35px;
    font-weight: 500;
    letter-spacing:-0.05em;
}
@media screen and (min-width: 768px) {
    .about-title {
        font-size: 40px;
    }
}
.about-subtitle {
    margin:30px 0 40px;
    font-size:30px;
    font-weight: 300;
    letter-spacing:-0.05em;
    color:#222;
}
@media screen and (min-width: 768px) {
    .about-subtitle {
        font-size: 35px;
    }
}
.about-subtitle b{
    font-weight: 500;
}
.about-txt {
    margin-bottom:25px;
    line-height:1.5;
    font-size:14px;
    letter-spacing:-0.05em;
    color:#666;
}
@media screen and (min-width: 768px) {
    .about-txt {
        font-size: 15px;
    }
}
.about-txt:last-child{
    margin-bottom:0;
}

.sec-02 .about-txt {
    color:#555;
}
.sec-02 .wavelength-wrap {
    margin-top:100px;
}
.sec-02 .wavelength-wrap .part {
    float:none;
    width: 100%;
    padding-top:1px;
    margin-bottom:80px;
}

@media screen and (min-width: 544px) {
    .sec-02 .wavelength-wrap .part {
        float:left;
        width: 30%;
        margin-right:5%;
    }
}
.sec-02 .wavelength-wrap .part:last-child{
    margin-right:0;
}
.sec-02 .purpose {
    background:url(../../res/imgs/page/img_about_01.png) no-repeat left top;
}
.sec-02 .satisfaction {
    background:url(../../res/imgs/page/img_about_02.png) no-repeat left top;
}
.sec-02 .quality {
    background:url(../../res/imgs/page/img_about_03.png) no-repeat left top;
}
.sec-02 .part::before {
    display:block;
    content:'';
    width:100%;
    margin-top:39px;
    padding-top:15px;
    border-top:1px solid #ddd;
}

.sec-02 .wavelength-eng {
    width:100%;
    font-size:14px;
    font-weight: 600;
    color:#222;
}
.sec-02 .wavelength-title {
    margin:10px 0 25px;
    font-size:26px;
    font-weight: 700;
    color:#357de5;
    letter-spacing:-0.06em;
}
.sec-02 .wavelength-txt {
    line-height:1.5;
    font-size:15px;
    letter-spacing:-0.06em;
    color:#555;
}

.sec-02 .area{
    opacity:0;
    transition:opacity 2s;
}
.sec-02 .area.scroll {
    opacity:1;
}

.sec-02 .part {
    opacity:0;
    transition:animation 5s;
}

.sec-02 .purpose.show{
    animation:opacityAni 1.5s forwards;
}
.sec-02 .satisfaction.show{
    animation:opacityAni 1.5s .8s forwards;
}
.sec-02 .quality.show{
    animation:opacityAni 1.5s 1.6s forwards;
}

@keyframes opacityAni {
    from {opacity:0;}
    to {opacity:1;}
}

/* section 03 CSS */
.sec-03 {
    overflow:hidden;
}
.sec-03 .solution {
    left:15px;
    top:15px;
    width:280px;
    height:280px;
    border-radius:50%;
    border:1px solid #dfdfdf;
    background-color:#fff;
    text-align:center;

    -webkit-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    backface-visibility: hidden;

    -webkit-transform-style: preserve-3d;
    -o-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    -ms-transform-style: preserve-3d;
    transform-style: preserve-3d;

    -webkit-transition:all 1.2s ease;
    -o-transition:all 1.2s ease;
    -moz-transition:all 1.2s ease;
    /* IE를 제외한 transition 효과 */
}

.sec-03 .surface-wrap {
    -webkit-perspective:10000px;
    -moz-perspective:10000px;
    -ms-perspective:10000px;
    -o-perspective:10000px;
    perspective:10000px;
    transition:all 2s ease;
    perspective-origin: 50% 50%;
}

.sec-03 .marketing-wrap.on .surface-wrap .front { /*  호버  */
    transform:rotateY(180deg);
}
.sec-03 .marketing-wrap.on .surface-wrap .back { /*  호버  */
    transform:rotateY(0deg);
}

/* 크로스 브라우징에서 텍스트가 바로 사라지게 처리 */
.sec-03 .solution > div {
    -webkit-transition:opacity 1s;
    -moz-transition:opacity 1s;
    -o-transition:opacity 1s;
}
.sec-03 .front > div {
    opacity:1;
}
.sec-03 .marketing-wrap.on .surface-wrap .front > div {
    opacity:0;
}
.sec-03 .back > div {
    opacity:0;
}
.sec-03 .marketing-wrap.on .surface-wrap .back > div {
    opacity:1;
}

.sec-03 .back {
    border:1px solid #357de5;
    background-color:#357de5;
    transform:rotateY(-180deg);
}
.sec-03 .solution-back-title {
    margin-bottom:15px;
    font-size:25px;
    color:#fff;
    letter-spacing:-0.11em;
}
.sec-03 .solution-back-title:after {
    display:block;
    content: '';
    width:20px;
    height:1px;
    background-color: #fff;
    margin:8px auto 10px;

}
.sec-03 .solution-back {
    min-width:190px;
    line-height:1.6;
    font-size:15px;
    color:#fff;
    letter-spacing:-0.05em;
}
.sec-03 .solution-subtitle {
    margin-bottom:10px;
    font-size:15px;
    font-weight: 500;
    color:#555;
    letter-spacing:0.2em;
    text-transform: uppercase;
}

.sec-03 .solution-title {
    font-size:38px;
    font-weight: 600;
    color:#357de5;
    letter-spacing:-0.05em;
}


/* svg circle */
.sec-03 ul{
    width:310px;
    margin:80px auto;
    margin-bottom:194px;
    text-align: center;
}
.sec-03 ul:after{
    content:"";
    display: block;
    width: 100%;
}
.sec-03 .marketing-wrap{
    display: block;
}
@media screen and (min-width:992px){
    .sec-03 ul{
        width:auto;
        margin-bottom:0;
        text-align: justify;
    }
    .sec-03 ul:after{
        display: inline-block;
    }
    .sec-03 .marketing-wrap{
        display: inline-block;
    }
}
.marketing-wrap .border {
    fill: #fff; /*transparent;*/
    stroke: #ddd;
}

.marketing-wrap .circle-inner{
    stroke-width: 1;
}

.marketing-wrap .circle-outer{
    stroke:#357de5;
    stroke-width: 1;
    stroke-dasharray: 943;
    stroke-dashoffset: 943;
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    -o-transform-origin: 50% 50%;
    -moz-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    transform: rotate(-90deg);
    transition: stroke-dashoffset 600ms .3s linear;
}

.marketing-wrap.on .circle-outer { /*  호버  */
    stroke-dashoffset: 0;
    transition: stroke-dashoffset 600ms .3s linear;
}

@keyframes aniDashoffset{
    to {
        stroke-dashoffset:0;
    }
}
.sec-03 ul li:nth-child(2){
    top:100px;
}
.sec-03 ul li:nth-child(3){
    top:200px;
}
/*.sec-03 .line {*/
.sec-03 .line {
    position:absolute;
    top: 280px;
    left:50%;
    /*z-index:-1;*/
    height: 100%;
    max-height: 160px;
    width: 1px;
    background-color:#ddd;
}

.arrow-left::after {
    display: inline-block;
    content:'';
    position:absolute;
    bottom: -9px;
    left: 149px;
    width: 13px;
    height: 13px;
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
    transform: rotate(45deg);
}
.arrow-right::before {
    display: inline-block;
    content:'';
    position:absolute;
    top: -10px;
    left: 149px;
    width: 13px;
    height: 13px;
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
    transform: rotate(-135deg);
}
@media screen and (min-width:992px){
    .sec-03 ul li:nth-child(2),
    .sec-03 ul li:nth-child(3){
        top:0;
    }
    .sec-03 .line {
        top:50%;
        left:100%;
        width:100%;
        max-width:190px;
        right: -187px;
        height:1px;
    }
    .arrow-left::after {
        top: 48%;
        left: 100%;
        transform:rotate(-45deg);
    }
    .arrow-right::before {
        top: 48%;
        left:-11px;
        transform:rotate(135deg);

    }
}
/* section 04 */
.sec-04 dl {
    padding:40px 0;
}
.sec-04 dt:before {
    display:block;
    content:'';
    position: absolute;
    top: -10px;
    width:97%;
    height:1px;
    background: #ebebeb;
    margin-bottom:10px;
}
@media screen and (min-width:768px) {
    .sec-04 dt:before {
        width:85%;
    }
}
.sec-04 dt:after {
    display:block;
    content:'';
    position: absolute;
    top: -10px;
    width:7%;
    height:1px;
    background: #000;
    margin-bottom:10px;
}
.sec-04 dt {
    line-height:1.47;
    padding-right:50px;
    font-size:19px;
    font-weight: 500;
    color:#222;
    letter-spacing: -0.09em;
    word-break: keep-all;
}
.sec-04 dd {
    line-height:1.66;
    padding-top:20px;
    font-size:15px;
    color:#555;
    letter-spacing: -0.07em;
}
@media screen and (min-width:768px) {
    .sec-04 dd {
        padding-top:0;
        padding-left:30px;
    }
}
.sec-04 dd .about-hashtag span {
    margin-right:10px;
    margin-top:10px;
    font-size:14px;
    font-weight: 500;
    color:#2573e5;
    letter-spacing:-0.06em;
}

.sec-05.section-wrap {
    padding:50px 0 100px;
}

.sec-05 ul li {
    width:50%;
    margin-top:70px;
}
@media screen and (min-width:768px) {
    .sec-05 ul li {
        width:33.3333%;
    }
}
@media screen and (min-width:992px) {
    .sec-05 ul li {
        width:20%;
    }
}

.sec-05 ul li p {
    margin-top:20px;
    font-size:15px;
    font-weight: 500;
    letter-spacing:-0.08em;
}

.sec-06 {
    background:url(../../res/imgs/about/bg_about_bottom1.jpg) no-repeat center;
    background-size:cover;
    text-align:center;
}
@media screen and (min-width:544px) {
    .sec-06 {
        background-attachment:fixed;
    }
}
.sec-06 > div {
    margin:0 auto;
}
.sec-06 .about-subtitle {
    margin:0 0 40px;
    color:#fff;
}
.sec-06 .about-txt{
    line-height:1.56;
    margin-bottom:20px;
    color:#fff;
}
.sec-06 .about-txt:last-child{
    padding-top:20px;
    margin-bottom:0;
    font-size:20px;
}

