@charset "utf-8";
/* CSS Document */


/* ------------------------- Reset : Start ------------------------- */
html {font-size:10px;}
html,body {width:100%;height:100%;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,textarea,p,blockquote,th,td,input,select,textarea,button {padding:0;margin:0;}
body {overflow-x:hidden;position:relative;background:#fff;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;}
body,th,td,input,select,textarea,button,pre {font-weight:400;line-height:1;font-family:'Apple SD Gothic Neo', 'MalgunGothic', sans-serif;letter-spacing:0;}
table {border-collapse:collapse;}
fieldset,img {border:none;}
img {max-width:100%;vertical-align:top;}
dl,ul,ol,menu,li {list-style:none;}
input,select,textarea,button {vertical-align:middle;}
input, input:focus, button:focus, textarea:focus {outline:none;}
button {border:0 none;background-color:transparent;cursor:pointer;}
a {text-decoration:none;cursor:pointer;color:#a3a4a6;-webkit-tap-highlight-color:transparent;}
address,caption,cite,code,dfn,em,var,strong,b {font-style:normal;font-weight:400;}
blockquote::before, blockquote::after,q::before, q::after {content:'';content:none;}
blockquote, q {quotes:none;}
figure {line-height:0;}
br {font-family:'Dotum';}
*,*::before,*::after {box-sizing:border-box;}

/* ------------------------- Reset : End ------------------------- */





/* ------------------------- Wrap : Start ------------------------- */
.blind {
    font-size: 0;
}
/* ------------------------- Wrap : End ------------------------- */





/* ------------------------- Header : Start ------------------------- */
.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 13.47vw;
    padding: 1.60vw 4vw;
    font-size: 0;
    background: #fff;
}
.header .logo {
    display: block;
    width: 39.60vw;
    height: 10.40vw;
    margin: auto;
    background: url(../images/logo.jpg) no-repeat 0 0 / contain;
}
.header .btn-back {
    width: 3.2vw;
    height: 4.27vw;
    background: url(../images/ico-btn-back.png) no-repeat center / contain;
}
.header .btn-close {
    width: 6.27vw;
    height: 6.27vw;
    background: url(../images/ico-btn-close.png) no-repeat center / contain;
}
/* ------------------------- Header : End ------------------------- */





/* ------------------------- Visual : Start ------------------------- */
.visual {
    display: flex;
    height: 162.67vw;
    font-size: 0;
    background: url(../images/visual-bg.jpg) no-repeat 0 0 / cover;
}
.btn {
    display: block;
    width: 91.9vw;
    height: 20.5vw;
    margin: auto auto 3.33vw auto;
    background: url(../images/btn.png) no-repeat 0 0 / contain;
}
.btn.fixed {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 5.3vw;
    z-index: 20;
    margin: auto;
}
/* ------------------------- Visual : End ------------------------- */





/* ------------------------- Section : Start ------------------------- */
.section-01 {
    height: 52.67vw;
    font-size: 0;
    background: url(../images/sec01-cont.jpg) no-repeat 0 0 / cover;
}



.section-02 {
    position: relative;
    z-index: 10;
    padding: 0 5.3vw 7.3vw;
    background: #ececec;
    border: 1px solid transparent;
}
.section-02 .comp-accordion {
    margin-top: -11.47vw;
}



.section-03 {
    padding: 0 5.3vw 8.8vw;
    background-color: #ececec;
}
.section-03 h3.title {
    width: 89.3vw;
    height: 21.2vw;
    margin-bottom: 2.8vw;
    background: url(../images/sec03-title.png) no-repeat 0 0 / contain;
    font-size: 0;
}




/* Accordion (Bootstrap) : Start */
.collapse {
    display: none;
}
.collapse.in {
    display: block;
}
tr.collapse.in {
    display: table-row;
}
tbody.collapse.in {
    display: table-row-group;
}
.collapsing {
    overflow: hidden;
    position: relative;
    height: 0;
    transition-timing-function: ease;
    transition-duration: .3s;
    transition-property: height, visibility;
}
.comp-accordion .panel {
    margin-bottom: 5.3vw;
}
.comp-accordion .panel:last-child {
    margin-bottom: 0;
}
.comp-accordion .panel-title {
    overflow: hidden;
    min-height: auto;
    padding: 0;
    border: none;
    text-align: left;
    border-radius: 1.3vw;
    box-shadow: 0px 14px 20px 0px rgba(0,0,0,0.15);
}
.comp-accordion .panel-title > a > .title {
    font-size: 0;
}
.comp-accordion .panel-title > a {
    display: block;
    position: relative;
    vertical-align: middle;
}
.comp-accordion .panel-body {
    overflow: hidden;
    border-radius: 1.3vw;
    box-shadow: 0px 14px 20px 0px rgba(0,0,0,0.15);
    transition: box-shadow 0 ease-in-out 0s;
}



.comp-accordion .panel-body .blind {
    width: 89.2vw;
}


.comp-accordion .acc-panel-01 .panel-title > a {
    height: 22.27vw;
    background: url(../images/acc-01-title.png) no-repeat 0 0 / cover;
}
.comp-accordion .acc-panel-01 .panel-body .blind {
    height: 49.73vw;
    background: url(../images/acc-01-cont.png) no-repeat 0 0 / cover;
}

.comp-accordion .acc-panel-02 .panel-title > a {
    height: 22.3vw;
    background: url(../images/acc-02-title.png) no-repeat 0 0 / cover;
}
.comp-accordion .acc-panel-02 .panel-body .blind {
    height: 45.6vw;
    background: url(../images/acc-02-cont.png) no-repeat 0 0 / cover;
}



.comp-accordion .acc-panel-03 .panel-title > a {
    height: 16.7vw;
    background: url(../images/acc-03-title.png) no-repeat 0 0 / cover;
}
.comp-accordion .acc-panel-03 .panel-body .blind {
    height: 67.20vw;
    background: url(../images/acc-03-cont.png) no-repeat 0 0 / cover;
}

.comp-accordion .acc-panel-04 .panel-title > a {
    height: 16.7vw;
    background: url(../images/acc-04-title.png) no-repeat 0 0 / cover;
}
.comp-accordion .acc-panel-04 .panel-body .blind {
    height: 34.80vw;
    background: url(../images/acc-04-cont.png) no-repeat 0 0 / cover;
}

.comp-accordion .acc-panel-05 .panel-title > a {
    height: 16.7vw;
    background: url(../images/acc-05-title.png) no-repeat 0 0 / cover;
}
.comp-accordion .acc-panel-05 .panel-body .blind {
    height: 35.3vw;
    background: url(../images/acc-05-cont.png) no-repeat 0 0 / cover;
}

.comp-accordion .acc-panel-06 .panel-title > a {
    height: 16.7vw;
    background: url(../images/acc-06-title.png) no-repeat 0 0 / cover;
}
.comp-accordion .acc-panel-06 .panel-body .blind {
    height: 101.47vw;
    background: url(../images/acc-06-cont.png) no-repeat 0 0 / cover;
}

.comp-accordion .acc-panel-07 .panel-title > a {
    height: 16.7vw;
    background: url(../images/acc-07-title.png) no-repeat 0 0 / cover;
}
.comp-accordion .acc-panel-07 .panel-body .blind {
    height: 191.07vw;
    background: url(../images/acc-07-cont.png) no-repeat 0 0 / cover;
}

.comp-accordion .acc-panel-08 .panel-title > a {
    height: 16.7vw;
    background: url(../images/acc-08-title.png) no-repeat 0 0 / cover;
}
.comp-accordion .acc-panel-08 .panel-body .blind {
    height: 87.07vw;
    background: url(../images/acc-08-cont.png) no-repeat 0 0 / cover;
}



.comp-accordion .panel-title > a > .ico-arrow {
    display: inline-block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2.9vw;
    width: 6.1vw;
    height: 6.1vw;
    margin: auto;
    background: url(../images/ico-arrow.png) no-repeat 0 0 / 100%;
}
.comp-accordion .panel-title > a[aria-expanded="true"]:not([class]) > .ico-arrow,
.comp-accordion .panel-title > a[aria-expanded="true"][class] > .ico-arrow {
    transform: rotate(180deg);
}
/* Accordion (Bootstrap) : End */
/* ------------------------- Section : End ------------------------- */





/* ------------------------- Footer : Start ------------------------- */
.footer {
    background-color: #f5f5f5;
}
.footer .inner {
    padding: 8vw 5.3vw 31vw;
}
.footer .top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2.4vw;
}
.footer .title {
    flex-shrink: 0;
    font-weight: 800;
    font-size: 4vw;
    color: #47484e;
    vertical-align: middle;
    letter-spacing: -0.05em;
}
.footer .top .number {
    font-weight: 400;
    font-size: 2.5vw;
    color: #838383;
    letter-spacing: -0.05em;
    vertical-align: middle;
}
.footer .dot {
    position: relative;
    padding-left: 1.8vw;
    margin: 2vw 0;
    font-weight: 500;
    font-size: 2.7vw;
    line-height: 5vw;
    color: #47484e;
    letter-spacing: -0.05em;
}
.footer .dot::after {
    content: "";
    display: block;
    position: absolute;
    top: 2.3vw;
    left: 0;
    width: 0.3vw;
    height: 0.3vw;
    background-color: #47484e;
    border-radius: 50%;
}
.footer .bottom {
    padding-top: 8vw;
}
.footer .bottom > strong {
    font-weight: 800;
    font-size: 4vw;
    color: #47484e;
}
.footer .bottom p {
    margin-top: 2.8vw;
    font-weight: 400;
    font-size: 2.7vw;
    line-height: 4.5vw;
    color: #47484e;
    letter-spacing: -0.05em;
}
.footer .bottom .text-list {
    margin-top: 4.2vw;
}
.footer .bottom .text-list span {
    display: inline-block;
    margin: 0.5vw 0;
    font-weight: 400;
    font-size: 2.7vw;
    line-height: 4.5vw;
    letter-spacing: -0.05em;
    color: #47484e;
}
.footer .bottom .text-list span.bold {
    font-weight: 800;
    font-size: 3.3vw;
    color: #575757;
}
.footer .bottom .text-list span + span {
    margin-left: 2.7vw;
}
.footer .bottom .text-list span:last-child {
    margin: 0;
}
/* ------------------------- Footer : End ------------------------- */